README.md
ASCII text
Panorama panel
The Panorama panel provides a configurable and traditional desktop panel (taskbar) for traditional environments, especially the upcoming "Panorama DE". It only runs correctly in Wayland compositors with layer-shell support, and is designed specifically for Wayfire.
One can set up this program to display one or multiple panels on the screen, each panel is set to display on a particular edge of a particular monitor, it has a configurable size, can hide itself unless the mouse is over it and holds applets in the left, centre or right areas.
Every widget you see on the panels is an applet provided by a dynamically loaded Python module.
Dependencies
GTK 4.6 or newer
libwayland
Python 3.10 or newer
For Debian and Ubuntu, this can be executed in the command:
sudo apt install libgtk-4-dev libgtk4-layer-shell-dev libwayland-dev python3 python3-gi python3-ruamel.yaml
Alternatively you can use venv. You also need a Wayland compositor that supports the wlr-layer-shell protocol, which is supported by most reasonably popular compositors except GNOME, Weston and Cage.
To use the included wf-window-list
applet you need a Wayland compositor that
supports wlr-foreign-toplevel-management, that is, one based on wlroots,
Hyprland, Louvre or Mir.
Usage
Unless you're installing from a hypothetical package which would create a
system-wide directory for applets, it is recommended to store them
in the user-specific location. These are
~/.local/share/panorama-panel/applets
for applets and
~/.config/panorama-panel/config.yaml
for config. For development purposes, it
is recommended that you make them symbolic links to the corresponding location
in the repository.
After creating these directories, simply run the code and the panels should appear on your screen.
Writing applets
Configuration
The configuration is in ~/.config/panorama-panel/config.yaml
. See
configuration.md for information.
A configuration GUI is supported by right-clicking an empty area of the panel and choosing "Open manager". Not all settings can be currently changed there. The panel you're currently editing will flash when it is selected. The toggle "Panel editing mode" makes applets draggable for you to reorder them.
1Panorama panel 2============== 3 4The Panorama panel provides a configurable and traditional desktop panel 5(taskbar) for traditional environments, especially the upcoming "Panorama DE". 6It only runs correctly in Wayland compositors with layer-shell support, and is 7designed specifically for Wayfire. 8 9One can set up this program to display one or multiple panels on the screen, 10each panel is set to display on a particular edge of a particular monitor, it 11has a configurable size, can hide itself unless the mouse is over it and holds 12applets in the left, centre or right areas. 13 14Every widget you see on the panels is an applet provided by a dynamically loaded 15Python module. 16 17Dependencies 18------------ 19 20* GTK 4.6 or newer 21* [GTK4 Layer Shell](https://github.com/wmww/gtk4-layer-shell) 22* libwayland 23* Python 3.10 or newer 24* [pywayland](https://pypi.org/project/pywayland/) 25* [PyGObject](https://pygobject.gnome.org/) 26* [ruamel.yaml](https://yaml.dev/doc/ruamel.yaml/) 27 28For Debian and Ubuntu, this can be executed in the command: 29 30~~~ 31sudo apt install libgtk-4-dev libgtk4-layer-shell-dev libwayland-dev python3 python3-gi python3-ruamel.yaml 32~~~ 33 34Alternatively you can use venv. You also need a Wayland compositor that supports 35the wlr-layer-shell protocol, which is supported by most reasonably popular 36compositors except GNOME, Weston and Cage. 37 38To use the included `wf-window-list` applet you need a Wayland compositor that 39supports wlr-foreign-toplevel-management, that is, one based on wlroots, 40Hyprland, Louvre or Mir. 41 42Usage 43----- 44 45Unless you're installing from a hypothetical package which would create a 46system-wide directory for applets, it is recommended to store them 47in the user-specific location. These are 48`~/.local/share/panorama-panel/applets` for applets and 49`~/.config/panorama-panel/config.yaml` for config. For development purposes, it 50is recommended that you make them symbolic links to the corresponding location 51in the repository. 52 53After creating these directories, simply run the code and the panels should 54appear on your screen. 55 56Writing applets 57--------------- 58 59See [implementing-applets.md](docs/applet-api/implementing-applets.md). 60 61Configuration 62------------- 63 64The configuration is in `~/.config/panorama-panel/config.yaml`. See 65[configuration.md](docs/configuration.md) for information. 66 67A configuration GUI is supported by right-clicking an empty area of the panel 68and choosing "Open manager". Not all settings can be currently changed there. 69The panel you're currently editing will flash when it is selected. The toggle 70"Panel editing mode" makes applets draggable for you to reorder them. 71