This repository is a collection of configuration files that improve the handling of some applications for me personally.
Its aim is to provide an efficient keyboard-centric workflow, while not being too hard on the eye.
Probably one of the highlights is the small desktop environment that it builds with sway
, including the following features:
- Nord theme
- Background image straight from the Tyrolean Alps
- Keyboard-centric operation (including moving the cursor via hotkeys)
- Hotkeys for managing multiple monitors
- Hotkeys for connecting to Wi-Fi or VPN
- Screenshots
- Screen locking
- Night-time color correction
- etc.
Even though some of the configurations are meant to be used together (e.g. sway
and waybar
), others can be used completely stand-alone (e.g. tmux
and vim
).
I've been using sway
(Wayland) over i3
(X11) for quite a while now, so the configuration for the latter has become a bit stale.
At some point these outdated configs might fall victim to some clean-up operation.
This repository is designed to be easily usable with GNU Stow.
To install the dotfiles for any of the applications, simply issue the command:
$ stow -t ~ <TARGET>
Before installing the zsh
dotfiles, make sure that Oh My Zsh is installed.
Many of the following hotkeys work with i3
as well as sway
, but the former has been
neglected for quite a while now.
Note: For many of these hotkeys, both Win
and Alt
can be used as modifier.
Win+d
: Application launcherWin+Shift+d
: Executable launcherWin+Enter
: Launch terminal emulatorWin+e
: Launch file explorer (viaxdg-open
)
Alt+h/j/k/l
: Select window to the left/up/down/rightAlt+Tab
: Select next windowAlt+Shift+Tab
: Select previous windowAlt+Shift+h/j/k/l
: Move selected window to the left/up/down/rightAlt+a
: Focus parent containerAlt+Shift+a
: Focus child containerAlt+Shift+f
: Toggle fullscreenCtrl+Alt+Shift+f
: Toggle fullscreen (over all screens)Alt+Shift+q
: Kill window
Alt+[1-9]
: Select workspace by numberWin+[1-9]
: Select workspace by number (with no auto-back-and-forth)Alt+Shift+[1-9]
: Move selected window to workspaceAlt+n
: Select next workspace on focused monitorAlt+p
: Select previous workspace on focused monitorAlt+Shift+n
: Create new workspace
Control+Shift+Comma
: Dismiss current notificationControl+Shift+Grave
: Restore previous notificationControl+Shift+Period
: Choose action for current notification
Print
: Current screen (to new file)Control+Print
: All screens (to clipboard)Shift+Print
: Selected area (to new file)Alt+Print
: All screens (to new file)Control+Shift+Print
: Selected area (to clipboard)Control+Alt+Print
: All screens (to clipboard)
Alt+r
: Resize windows (withh/j/k/l
)Alt+m
: Monitor management (move focused monitor, ...)Alt+Shift+m
: Mouse management (move cursor, click, ...)Alt+Esc
: Power/Session management (logout, lock screen, power off, ...)Alt+Shift+v
: Simple VPN managementControl+Alt+Shift+v
: Manual VPN managementControl+Alt+Shift+w
: Select wi-fi connection
Alt+Shift+s
: Stacking layoutAlt+Shift+w
: Tabbed layoutAlt+Shift+e
: Split layout (toggle horizontal/vertical split)Ctrl+Alt+i
: Split orientation: horizontalCtrl+Alt+o
: Split orientation: verticalCtrl+Alt+p
: Split orientation: toggle (horizontal/vertical)
Alt+Space
: Toggle focus floating windowsAlt+Shift+Space
: Toggle floating layout for current window
Alt+Shift+p
: Select an output and mirror/present it
foot
: Terminal Emulatormako
: Notification Daemonkanshi
: Multihead Profile Managerwaybar
: Status Barrofi
: Application Launcherswaylock
: Screen Lockerswayidle
: Automatic Screen Lockingpulseaudio
: Audio Controlplayerctl
: Audio Player Controlbrightnessctl
: Backlight Controlgammastep
: Color Correctiondex
: Autostart applications launcher
bash
: Interpreter for scriptspython3
: Scripting Languageimagemagick
: Image manipulation (screen locking)python-pillow
: Imaging Library (for splitting screenshots for swaylock)grim
: Screen Capture Utilityslurp
: Screen Area Selection Utility (screenshots)wl-copy
(wl-clipboard
): Clipboard Utility (screenshots)jq
: JSON Processor (for parsing IPC messages)polkit
: Authorization Manager (for allowing normal users to reboot, etc.)geoclue
: Geoinformation service (for color correction)wl-mirror
: Tool for mirroring outputs
pavucontrol
: PulseAudio GUIbrightnessctl
: Backlight Controlnetworkmanager
: Network Manager
To install the Nordic (bluish accent) GTK theme, the packaged files have to be extracted into ~/.themes
:
$ mkdir ~/.themes
$ tar -xf Nordic-bluish-accent.tar.xf -C ~/.themes
Note: To install the theme system-wide, extract it into /usr/share/themes
instead.
Then, the GTK settings for both GTK 2 and 3 have to be updated:
gtk-theme-name="Nordic-bluish-accent"
[Settings]
gtk-application-prefer-dark-theme = true
gtk-theme-name = Nordic-bluish-accent