Hide navigation sidebar
Hide table of contents sidebar
Back to top
Toggle table of contents sidebar

# Draw a GPU accelerated dock panel on your 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

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.

New 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.

## Source code for panel

The source code for this kitten is available on GitHub.

## Command Line Interface

    kitty +kitten panel [options] program-to-run

Use a command line program to draw a GPU accelerated panel on your X11 desktop

### Options

--columns <LINES>, --lines <LINES>

  The number of lines shown in the panel if horizontal otherwise the number of columns shown in the panel. Ignored for background panels. Default: `1`

--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. Default: `top` Choices: `background`, `bottom`, `left`, `right`, `top`

--config <CONFIG>, -c <CONFIG>

  Path to config file to use for kitty when drawing the panel.

--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`)

--debug-rendering

  For internal debugging use.