nwg-piotr / nwg-panel

GTK3-based panel for sway and Hyprland Wayland compositors
MIT License
591 stars 42 forks source link
nwg-shell logo

nwg-panel


This application is a part of the [nwg-shell](https://nwg-piotr.github.io/nwg-shell) project. **Nwg-panel** is a GTK3-based panel for [sway](https://github.com/swaywm/sway) and [Hyprland](https://github.com/hyprwm/Hyprland) Wayland compositors. The panel is equipped with a graphical configuration program that frees the user from the need to manually edit configuration files.

Currently, we have a dozen of modules, and we don't plan on many more. Many minor tasks that users request a module for, may be easily done with [executors](https://github.com/nwg-piotr/nwg-panel/wiki/modules:-Executor). - **Controls module**: basis system controls like brightness slider, volume slider (w/ per-app sliders), battery level w/ low level notification, system processes viewer, user-defined custom items, user-defined drop-down menu (which is the power menu by default) - **Brightness slider**: a separate brightness slider for use per monitor; features backlight via ddcutil. - **Clock**: system clock w/ a calendar popup built in - **Custom button**: a user-defined graphical/textual button you could bind an action to. By default, we use one as the application launcher button - **DWL tags**: deprecated and no longer supported; will be deleted in the future - **Executor**: a useful module that executes user-provided code and displays the output in the panel as an icon and text; see Wiki for more info - **Sway taskbar & Hyprland taskbar**: highly customizable modules to display a label with an icon for every running window, together with some more info (workspace number, split orientation on sway, X-widows marker); right click opens a menu that allows to move windows between workspaces, toggle floating and fullscreen, and also close windows. - **Sway & Hyprland workspaces**: display labels to navigate between workspaces with a marker for non-empty ones; next to the labels there's a field with currently focused window details - **Menu Start**: module provides integration of the XGD-style [nwg-menu](https://github.com/nwg-piotr/nwg-menu) - **Openweather**: displays weather forcast from OpenWeatherMap and weather alerts from weatherbit.io for given locations. - **Playerctl**: displays an icon and a label of the currently played tune, together with back / play-pause / forward buttons - **Scratchpad**: displays info on current scratchpad content and allows to open scratchpad windows - **SwayMode**: a simple indicator of a sway mode other than "default" - **Tray**: SNI system tray module - **KeyboardLayout**: keyboard layout switcher, between values defined as `xkb_layout` (sway) or `kb_layout` (Hyprland). Use commas to separate values, e.g. `pl,us,de`. ## Installation [![Packaging status](https://repology.org/badge/vertical-allrepos/nwg-panel.svg)](https://repology.org/project/nwg-panel/versions) If nwg-panel has not yet been packaged for your Linux distribution, you may install it by cloning this repository and running the `install.sh` script. See [Wiki](https://github.com/nwg-piotr/nwg-panel/wiki) for more information. You'll also find some useful executor examples there.