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 ~/.themesNote: 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