Commit graph

1665 commits

Author SHA1 Message Date
Kovid Goyal
ce59ef8c6e
Export function to encode clipboard protocol chunk 2025-05-16 12:23:14 +05:30
Kovid Goyal
59c32d19cc
Simplify code 2025-05-16 12:17:00 +05:30
Kovid Goyal
4713cc29ad
make gofmt happy 2025-05-16 09:40:34 +05:30
Kovid Goyal
c861259e3b
Rename go module from kitty -> github.com/kovidgoyal/kitty
Makes the code more easily re-useable in other projects
2025-05-16 08:43:39 +05:30
Kovid Goyal
27a9db95af
Cleanup previous PR 2025-05-15 21:44:05 +05:30
Jin Liu
4c6c38929b panel kitten: on Wayland, use app-id for the LayerShellV1 namespace parameter
The Wayland LayerShellV1 protocol doesn't allow setting window class/name/role/type/appId.
Instead, it has a `namespace` parameter that we currently hardcode to `kitty`. It
seems suitable to use app-id for this parameter.

Example use case:
kwin use the `namespace` parameter and an undocumented mapping to set window type for
Layer Shell windows. E.g., "dock" maps to NET:Dock. So if we set `app_id dock` in
quick_access_terminal.conf, the panel would be considered a dock, and won't have the
normal scale in/out animation on shown/hidden.
2025-05-15 23:55:48 +08:00
Kovid Goyal
9a543c2370
Modify docs since --class and --name dont apply to panels on Wayland 2025-05-15 19:55:20 +05:30
Kovid Goyal
6282a46ff1
A new centered panel type that is sized 2025-05-13 16:38:57 +05:30
Kovid Goyal
88f4c829eb
Improve handling of output names
Now can use panel --output-name list to list available outputs.
Also, --output-name works on macOS
2025-05-13 15:29:37 +05:30
Kovid Goyal
a39b7eb7dd
Quick access terminal: Allow configuring the monitor to display the panel on in Wayland/X11
Fixes #8630
2025-05-13 11:52:52 +05:30
Kovid Goyal
53fd9892eb
Allow custom kitten names with hyphens in them
Apparently there is no way to have config filenames on
nixOS/home-manager without hyphens in them.

Fixes #8608
2025-05-06 22:16:28 +05:30
Kovid Goyal
b5cbb501a4
Use the base name of the named pipe for the created temp file 2025-05-03 16:03:06 +05:30
Kovid Goyal
7ef2fe53e0
Avoid extra stat() 2025-05-03 15:55:36 +05:30
Kovid Goyal
a59a347903
diff kitten: Allow diffing named pipes
Fixes #8597
2025-05-03 15:53:29 +05:30
Kovid Goyal
be9624bbdd
Fix px suffix for lines/columns not working 2025-05-02 08:11:49 +05:30
Kovid Goyal
f04fc251bf
Start work on full panel support in X11 2025-05-01 15:44:08 +05:30
Kovid Goyal
1ea7bbafd8
Add --debug-rendering to QAT 2025-05-01 06:56:34 +05:30
Kovid Goyal
8e6612765f
Also reload panel settings of overrides and config 2025-04-30 20:47:34 +05:30
Kovid Goyal
edcfd17ca9
Panel kitten: Add option to hide panel on focus loss 2025-04-30 07:46:41 +05:30
Kovid Goyal
2d1cddcc25
Update layer shell config when toggling visibility 2025-04-29 21:16:15 +05:30
Kovid Goyal
6ac1ccd378
... 2025-04-29 09:13:06 +05:30
Kovid Goyal
8c6181d233
Dont pass --app-id on macOS 2025-04-29 08:55:53 +05:30
Kovid Goyal
7788d6acc2
Document the new quick-access-terminal kitten 2025-04-29 08:01:59 +05:30
Kovid Goyal
08e2889a72
Use a conf file for the quick access terminal
This is needed on macOS where there is no good way to use command line
arguments when the terminal is triggerred via global shortcut key via
launch services.
2025-04-28 22:13:38 +05:30
Kovid Goyal
5683314784
Start work on quick-access-terminal kitten 2025-04-28 19:52:04 +05:30
Kovid Goyal
83bb1553f7
Allow changing panel CLI defaults 2025-04-28 16:25:53 +05:30
Kovid Goyal
9854068a59
Start work on panel kitten wrapper in Go
Needed because we need to use a special exe on macOS.
2025-04-28 16:07:09 +05:30
Kovid Goyal
b0ae88ada9
Wire up the codegen C cli parser 2025-04-28 09:20:11 +05:30
Kovid Goyal
d548a6fcf4
rename typing module to avoid conflicts with stdlib typing 2025-04-28 09:20:10 +05:30
Kovid Goyal
e42d410ee4
Move cli spec parsing code into simple module 2025-04-28 09:20:10 +05:30
Kovid Goyal
189d78283c
Get the quake terminal working on macOS 2025-04-25 20:27:26 +05:30
Kovid Goyal
9296bc3060
Speed up --detach
Also DRYer as well as more robust since single instance cleanup, binding
etc. happen in single process.
2025-04-24 08:13:58 +05:30
Kovid Goyal
867ec83bed
Fix use of single instance with detach 2025-04-24 07:17:55 +05:30
Kovid Goyal
bd0116b561
Update docs 2025-04-24 07:07:28 +05:30
Kovid Goyal
fc8cc9cb71
Fix instance group not being passed by panel wrapper 2025-04-24 07:00:50 +05:30
Kovid Goyal
559e8449c5
Allow redirecting to a log file in --detach mode 2025-04-24 06:46:46 +05:30
Kovid Goyal
18d58587fb
... 2025-04-24 06:31:18 +05:30
Kovid Goyal
0c3797ec90
Implement --detach for panel kitten 2025-04-24 06:30:33 +05:30
Kovid Goyal
983e570bbe
Update docs to note that macOS is supported by the panel kitten as well 2025-04-23 20:52:11 +05:30
Kovid Goyal
845fc30020
Allow running panel kitten without a cmdline to run 2025-04-23 20:08:54 +05:30
Kovid Goyal
c1b6b4494a
Implement starting kitty hidden
Fixes #3466
2025-04-23 08:50:02 +05:30
Kovid Goyal
e93338a81c
Start work on macOS support for panel kitten 2025-04-23 07:43:36 +05:30
Kovid Goyal
8b6a210ac1
Allow specifying --listen-on for panel kitten 2025-04-22 14:29:32 +05:30
Kovid Goyal
fc5fc7c9c4
Remote control: Allow modifying desktop panels and showing/hiding OS Windows using the kitten @ resize-os-window command
Also move the visibility toggle debounce into C code with a per OS
Window timer.

Fixes #8550
2025-04-22 13:34:09 +05:30
Kovid Goyal
53d8ca5d3e
Add a note for why debounce is needed 2025-04-22 09:06:13 +05:30
Kovid Goyal
604597dba1
... 2025-04-22 09:00:59 +05:30
Kovid Goyal
f319ef6cbb
Debounce visibility toggle events
Fixes #8557
2025-04-22 08:58:44 +05:30
Kovid Goyal
2566a79472
Fix #8558 2025-04-22 07:37:42 +05:30
Kovid Goyal
85d58de035
kitty can finally natively implement a quake like terminal dropdown
Currently Wayland (except for GNOME as usual) only.
2025-04-21 20:28:56 +05:30
Kovid Goyal
9b5d5bf678
Implement single-instance for panel kitten 2025-04-21 16:55:55 +05:30