kitten-panel - Use a command line program to draw a GPU
accelerated panel on your X11 desktop
You can use this kitten to draw a GPU accelerated panel on the
edge of your screen or as the desktop wallpaper, that shows the output from
an arbitrary terminal program.
It is useful for showing status information or notifications on
your desktop using terminal programs instead of GUI toolkits.
Screenshot, showing a sample panel (images not
supported)
The screenshot above shows a sample panel that displays the
current desktop and window title as well as miscellaneous system information
such as network activity, CPU load, date/time, etc.
Added in version 0.34.0: Support for Wayland
NOTE:
This kitten currently only works on X11 desktops and
Wayland compositors that support the wlr layer shell protocol (which is
almost all of them except the, as usual, crippled GNOME).
Using this kitten is simple, for example:
kitty +kitten panel sh -c 'printf "\n\n\nHello, world."; sleep 5s'
This will show Hello, world. at the top edge of your screen
for five seconds. Here, the terminal program we are running is sh
with a script to print out Hello, world!. You can make the terminal
program as complex as you like, as demonstrated in the screenshot above.
If you are on Wayland, you can, for instance run:
kitty +kitten panel --edge=background htop
to display htop as your desktop background. Remember this works in
everything but GNOME and also, in sway, you have to disable the background
wallpaper as sway renders that over the panel kitten surface.
The source code for this kitten is available on GitHub.
kitty +kitten panel [options] program-to-run
Use a command line program to draw a GPU accelerated panel on your
X11 desktop
- --lines
<LINES>
- The number of lines shown in the panel. Ignored for background and
vertical panels. Default: 1
- --columns
<COLUMNS>
- The number of columns shown in the panel. Ignored for background and
horizontal panels. Default: 1
- --margin-top
<MARGIN_TOP>
- Request a given top margin to the compositor. Only works on a Wayland
compositor that supports the wlr layer shell protocol. Default:
0
- --margin-left
<MARGIN_LEFT>
- Request a given left margin to the compositor. Only works on a Wayland
compositor that supports the wlr layer shell protocol. Default:
0
- --margin-bottom
<MARGIN_BOTTOM>
- Request a given bottom margin to the compositor. Only works on a Wayland
compositor that supports the wlr layer shell protocol. Default:
0
- --margin-right
<MARGIN_RIGHT>
- Request a given right margin to the compositor. Only works on a Wayland
compositor that supports the wlr layer shell protocol. Default:
0
- --edge
<EDGE>
- Which edge of the screen to place the panel on. Note that some window
managers (such as i3) do not support placing docked windows on the left
and right edges. The value background means make the panel the
"desktop wallpaper". This is only supported on Wayland, not X11
and note that when using sway if you set a background in your sway config
it will cover the background drawn using this kitten. The value
none anchors the panel to the top left corner by default and the
panel should be placed using margins parameters. Default: top
Choices: background, bottom, left, none,
right, top
- --layer
<LAYER>
- On a Wayland compositor that supports the wlr layer shell protocol,
specifies the layer on which the panel should be drawn. This parameter is
ignored and set to background if --edge is set to
background. Default: bottom Choices: background,
bottom, overlay, top
- --override
<OVERRIDE>, -o <OVERRIDE>
- Override individual kitty configuration options, can be specified multiple
times. Syntax: name=value. For example: kitty +kitten panel -o
font_size=20
- --output-name
<OUTPUT_NAME>
- On Wayland, the panel can only be displayed on a single monitor (output)
at a time. This allows you to specify which output is used, by name. If
not specified the compositor will choose an output automatically,
typically the last output the user interacted with or the primary
monitor.
- --class
<CLS>
- Set the class part of the WM_CLASS window property. On Wayland, it sets
the app id. Default: kitty-panel
- --name
<NAME>
- Set the name part of the WM_CLASS property (defaults to using the value
from kitty --class)
- --focus-policy
<FOCUS_POLICY>
- On a Wayland compositor that supports the wlr layer shell protocol,
specify the focus policy for keyboard interactivity with the panel. Please
refer to the wlr layer shell protocol documentation for more details.
Default: not-allowed Choices: exclusive, not-allowed,
on-demand
- --exclusive-zone
<EXCLUSIVE_ZONE>
- On a Wayland compositor that supports the wlr layer shell protocol,
request a given exclusive zone for the panel. Please refer to the wlr
layer shell documentation for more details on the meaning of exclusive and
its value. If --edge is set to anything else than none, this
flag will not have any effect unless the flag
--override-exclusive-zone is also set. If --edge is set to
background, this option has no effect. Default: -1
- --override-exclusive-zone
- On a Wayland compositor that supports the wlr layer shell protocol,
override the default exclusive zone. This has effect only if --edge
is set to top, left, bottom or right.