nwg-panel
This application is a part of the nwg-shell project.
Nwg-panel is a GTK3-based panel for sway and 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.
- 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 & Niri 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;
- 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;
- RandomWallpaper: provides you with random wallpapers from either a local folder, or the wallhaven.cc service. You can refresh them on startup, on demand or in a given time interval.
You can also see the remote image info, and save the image to a local folder of your choice.
- Scratchpad: displays info on current scratchpad content and allows to open scratchpad windows;
- SwayMode: a simple indicator of a sway bindings mode other than "default";
- HyprlandSubmap: a simple indicator of a Hyprland bindings submap 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;
- Pinned: displays buttons corresponding to pinned items from nwg-drawer/nwg-menu
Installation
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.
Known issues:
If kded6 is running (e.g., started by launching Dolphin), it may register org.kde.StatusNotifierWatcher and
prevent nwg-panel from owning the system tray. You can stop it using:
pkill kded6
See: https://github.com/nwg-piotr/nwg-panel/issues/396
See Wiki for more information. You'll also find some useful executor examples there.