This program is a part of the nwg-shell project.
Nwg-shell-config utility provides a graphical user interface for configuring sway and Hyprland Wayland compositors in nwg-shell.
- desktop style (preset) selection
- night light settings (user location, day/night color temperature, gamma)
- help window (key binding cheat sheet) settings
- update notification tray icon settings
- other system tray icons on/off switches
- workspaces for autotiling to work on
- split depth limit
- split width, height
- system-wide or per device keyboard settings: layout, repeat settings, CapsLock & NumLock settings
- system-wide or per device pointer device settings: acceleration, scroll & other
- system-wide or per device touchpad settings: acceleration, scroll & tap behaviour
- window tiling layout selection (dwindle/Master)
- window border settings
- window gaps settings
- split settings
- smart resizing
- split settings
- keyboard layout & other settings
- mouse sensitivity, acceleration & other settings
- touchpad scroll factor & other settings
- disable Hyprland logo/background
- DMPS behavior
- focus settings
- screen locker selection: swaylock / gtklock, the latter on sway only
- lock screen background source (local wallpapers / unsplash.com images)
- screen locker timeouts
- modules settings (userinfo, powerbar, playertl)
- commands settings (reboot, power off, suspend, logout)
- time format
- idle timeout
For key bindings to work properly, you need to select some default applications, and those are:
- terminal
- file manager
- text editor
- web browser
- You'll find a backup / restore utility here. It allows to pack all nwg-shell-related configs into a
.tar.gz
file, and install them back from it.
- This tab gathers and displays some basic system info, including installed OS, Wayland compositor and nwg-shell-related packages versions.
It allows to select per-preset app settings for:
- application drawer
- dock
- exit menu
- notifications
- gtklock (sway only)
In the window footer you'll find the nwg-shell-translate button, in case you'd like to help at translations.
The nwg-shell-config module / package is also a home for several other utilities and scripts:
nwg-autotiling
: a version of the autotiling script modified for better integration w/ nwg-shellnwg-autotranslate
: during first run it translates panel and exit menu labels into user's locale - if we have this languagenwg-lock
: provides communication between the shell and the screen the locker of your choicenwg-update-indicator
: a script responsible for the system update tray indicator (Arch and Venom Linux only so far)nwg-screenshot-applet
: provides the tray icon and menu, that executes the/usr/local/bin/screenshot
script with appropriate arguments.nwg-shell-help
: provides the keyboard shortcuts help window, together with the system tray icon
This script displays a window containing a given icon and some text, and closes it on timeout.
Feature request: nwg-piotr/nwg-shell#450.
Example usage (Hyprland): display the workspace change notification. You need to launch the script after switching to a workspace or moving an active window to it. Modify your hyprland.conf file:
# SWITCH WORKSPACES with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 1, exec, nwg-hud -i xfce4-workspaces -m "WS 1"
(and so on)
# MOVE ACTIVE WINDOW TO A WORKSPACE with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 1, exec, nwg-hud -i xfce4-workspaces -m "WS 1"
(and so on)
Script arguments:
❯ nwg-hud -h
usage: nwg-hud [-h] [-i ICON] [-z ICON_SIZE] [-m MESSAGE] [-t TIMEOUT] [-ha HORIZONTAL_ALIGNMENT] [-va VERTICAL_ALIGNMENT] [-r MARGIN] [-o OUTPUT]
options:
-h, --help show this help message and exit
-i ICON, --icon ICON Icon name or path
-z ICON_SIZE, --icon_size ICON_SIZE
icon size
-m MESSAGE, --message MESSAGE
Message text to display
-t TIMEOUT, --timeout TIMEOUT
window Timeout in milliseconds
-ha HORIZONTAL_ALIGNMENT, --horizontal_alignment HORIZONTAL_ALIGNMENT
window Horizontal Alignment: 'left' or 'right', 'center' by default
-va VERTICAL_ALIGNMENT, --vertical_alignment VERTICAL_ALIGNMENT
window Vertical Alignment: 'top' or 'bottom', 'center' by default
-r MARGIN, --margin MARGIN
window margin in pixels
-o OUTPUT, --output OUTPUT
name of the Output to display HUD on
To avoid adding all the arguments every time the script is called, you can define some defaults in the
~/.config/nwg-hud/config.json
file. These settings will be overridden with arguments, if given.
{
"icon": "",
"icon-size": 48,
"message": "",
"timeout": 1000,
"horizontal-alignment": "",
"vertical-alignment": "",
"margin": 0,
"output": ""
}