touchpad {
tap
// dwt
- natural-scroll
+ // natural-scroll
// accel-speed 0.2
// accel-profile "flat"
// tap-button-map "left-middle-right"
// Set the name of the output (see below) which the tablet will map to.
// If this is unset or the output doesn't exist, the tablet maps to one of the
// existing outputs.
- map-to-output "eDP-3"
+ // map-to-output "eDP-3"
}
// By default, niri will take over the power button to make it sleep
// by running `niri msg outputs` while inside a niri instance.
// The built-in laptop monitor is usually called "eDP-1".
// Remember to uncommend the node by removing "/-"!
-output "DP-1" {
+output "DP-2" {
// Uncomment this line to disable this output.
// off
// If you enable the border, you probably want to disable the focus ring.
//off
- width 1
+ width 2
active-color 255 200 127 255
//active-color 127 200 255 255
inactive-color 90 90 90 255
// Note that running niri as a session supports xdg-desktop-autostart,
// which may be more convenient to use.
// spawn-at-startup "alacritty" "-e" "fish"
-spawn-at-startup "~/.config/niri/startup.sh"
-spawn-at-startup "/usr/bin/foot -s"
+spawn-at-startup "sh" "-c" "~/.config/niri/startup.sh"
+spawn-at-startup "foot" "-s"
cursor {
// Change the theme and size of the cursor as well as set the
// `XCURSOR_THEME` and `XCURSOR_SIZE` env variables.
- xcursor-theme "breeze_cursors"
+ xcursor-theme "Bibata-Original-Amber"
xcursor-size 32
}
// You can change the path where screenshots are saved.
// A ~ at the front will be expanded to the home directory.
// The path is formatted with strftime(3) to give you the screenshot date and time.
-screenshot-path "~/Bilder/Screenshots//scrot niri %Y-%m-%d %H-%M-%S.png"
+screenshot-path "~/Bilder/Screenshots/scrot niri %Y-%m-%d %H-%M-%S.png"
// You can also set this to null to disable saving screenshots to disk.
// screenshot-path null
Mod+Shift+Slash { show-hotkey-overlay; }
// Suggested binds for running programs: terminal, app launcher, screen locker.
- Mod+Return { spawn "foot"; }
- Mod+R { spawn "fuzzel"; }
- Ctrl+Alt+L { spawn "swaylock" "-i" "/home/andy/Bilder/Wallpapers/deep-blue-sea-5120x1440.jpg"; }
+ Mod+Return { spawn "footclient"; }
+ Mod+Shift+Return { spawn "footclient" "-w" "1280x800" "-a" "popup"; }
+ Mod+Alt+Ctrl+Return { spawn "foot"; }
+ Mod+D { spawn "dolphin"; }
+ Mod+E { spawn "footclient -a lf lfrun"; }
+ Mod+Ctrl+Alt+I { spawn "keepassxc"; }
+ Mod+grave { spawn "~/.config/hypr/scripts/RofiEmoji.sh"; }
+ // Mod+Shift+grave { spawn "cliphist" "list" "|" "fuzzel" "--config=/home/andy/.config/fuzzel/fuzzel-centered.ini"; }
+ Mod+R { spawn "fuzzel" "--config=/home/andy/.config/fuzzel/fuzzel-centered.ini"; }
+ Super+Ctrl+Alt+L { spawn "swaylock" "-i" "/home/andy/Bilder/Wallpapers/deep-blue-sea-5120x1440.jpg"; }
// You can also use a shell:
// Mod+T { spawn "bash" "-c" "notify-send hello && exec foot"; }
// Example volume keys mappings for PipeWire & WirePlumber.
- XF86AudioRaiseVolume { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; }
- XF86AudioLowerVolume { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; }
+ XF86AudioRaiseVolume { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%+"; }
+ XF86AudioLowerVolume { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%-"; }
+ XF86AudioMute { spawn "~/.config/hypr/scripts/muteorunmute.sh"; }
+ XF86AudioPlay { spawn "playerctl play"; }
+ XF86AudioNext { spawn "playerctl next"; }
+ XF86AudioPrev { spawn "playerctl previous"; }
+ XF86AudioStop { spawn "playerctl stop"; }
- Mod+Q { close-window; }
+ Mod+Shift+Q { close-window; }
Mod+Left { focus-column-left; }
Mod+Down { focus-window-down; }
Mod+K { focus-window-up; }
Mod+L { focus-column-right; }
- Mod+Ctrl+Left { move-column-left; }
- Mod+Ctrl+Down { move-window-down; }
- Mod+Ctrl+Up { move-window-up; }
- Mod+Ctrl+Right { move-column-right; }
- Mod+Ctrl+H { move-column-left; }
- Mod+Ctrl+J { move-window-down; }
- Mod+Ctrl+K { move-window-up; }
- Mod+Ctrl+L { move-column-right; }
+ Mod+Shift+Left { move-column-left; }
+ Mod+Shift+Down { move-window-down; }
+ Mod+Shift+Up { move-window-up; }
+ Mod+Shift+Right { move-column-right; }
+ Mod+Shift+H { move-column-left; }
+ Mod+Shift+J { move-window-down; }
+ Mod+Shift+K { move-window-up; }
+ Mod+Shift+L { move-column-right; }
// Alternative commands that move across workspaces when reaching
// the first or last window in a column.
// Mod+J { focus-window-or-workspace-down; }
// Mod+K { focus-window-or-workspace-up; }
- // Mod+Ctrl+J { move-window-down-or-to-workspace-down; }
- // Mod+Ctrl+K { move-window-up-or-to-workspace-up; }
+ // Mod+Shift+J { move-window-down-or-to-workspace-down; }
+ // Mod+Shift+K { move-window-up-or-to-workspace-up; }
Mod+Home { focus-column-first; }
Mod+End { focus-column-last; }
- Mod+Ctrl+Home { move-column-to-first; }
- Mod+Ctrl+End { move-column-to-last; }
-
- Mod+Shift+Left { focus-monitor-left; }
- Mod+Shift+Down { focus-monitor-down; }
- Mod+Shift+Up { focus-monitor-up; }
- Mod+Shift+Right { focus-monitor-right; }
- Mod+Shift+H { focus-monitor-left; }
- Mod+Shift+J { focus-monitor-down; }
- Mod+Shift+K { focus-monitor-up; }
- Mod+Shift+L { focus-monitor-right; }
-
- Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
- Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
- Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
- Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
- Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
- Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
- Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
- Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
+ Mod+Shift+Home { move-column-to-first; }
+ Mod+Shift+End { move-column-to-last; }
+
+ // Mod+Alt+Left { focus-monitor-left; }
+ // Mod+Alt+Down { focus-monitor-down; }
+ // Mod+Alt+Up { focus-monitor-up; }
+ // Mod+Alt+Right { focus-monitor-right; }
+ // Mod+Alt+H { focus-monitor-left; }
+ // Mod+Alt+J { focus-monitor-down; }
+ // Mod+Alt+K { focus-monitor-up; }
+ // Mod+Alt+L { focus-monitor-right; }
+
+ // Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
+ // Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
+ // Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
+ // Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
+ // Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
+ // Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
+ // Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
+ // Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
// Alternatively, there are commands to move just a single window:
// Mod+Shift+Ctrl+Left { move-window-to-monitor-left; }
Mod+Page_Down { focus-workspace-down; }
Mod+Page_Up { focus-workspace-up; }
- Mod+U { focus-workspace-down; }
- Mod+I { focus-workspace-up; }
+ // Mod+U { focus-workspace-down; }
+ // Mod+I { focus-workspace-up; }
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
- Mod+Ctrl+U { move-column-to-workspace-down; }
- Mod+Ctrl+I { move-column-to-workspace-up; }
+ // Mod+Ctrl+U { move-column-to-workspace-down; }
+ // Mod+Ctrl+I { move-column-to-workspace-up; }
// Alternatively, there are commands to move just a single window:
// Mod+Ctrl+Page_Down { move-window-to-workspace-down; }
// ...
- Mod+Shift+Page_Down { move-workspace-down; }
- Mod+Shift+Page_Up { move-workspace-up; }
- Mod+Shift+U { move-workspace-down; }
- Mod+Shift+I { move-workspace-up; }
+ // Mod+Shift+Page_Down { move-workspace-down; }
+ // Mod+Shift+Page_Up { move-workspace-up; }
+ // Mod+Shift+U { move-workspace-down; }
+ // Mod+Shift+I { move-workspace-up; }
Mod+1 { focus-workspace 1; }
Mod+2 { focus-workspace 2; }
Mod+7 { focus-workspace 7; }
Mod+8 { focus-workspace 8; }
Mod+9 { focus-workspace 9; }
- Mod+Ctrl+1 { move-column-to-workspace 1; }
- Mod+Ctrl+2 { move-column-to-workspace 2; }
- Mod+Ctrl+3 { move-column-to-workspace 3; }
- Mod+Ctrl+4 { move-column-to-workspace 4; }
- Mod+Ctrl+5 { move-column-to-workspace 5; }
- Mod+Ctrl+6 { move-column-to-workspace 6; }
- Mod+Ctrl+7 { move-column-to-workspace 7; }
- Mod+Ctrl+8 { move-column-to-workspace 8; }
- Mod+Ctrl+9 { move-column-to-workspace 9; }
+ Mod+Shift+1 { move-column-to-workspace 1; }
+ Mod+Shift+2 { move-column-to-workspace 2; }
+ Mod+Shift+3 { move-column-to-workspace 3; }
+ Mod+Shift+4 { move-column-to-workspace 4; }
+ Mod+Shift+5 { move-column-to-workspace 5; }
+ Mod+Shift+6 { move-column-to-workspace 6; }
+ Mod+Shift+7 { move-column-to-workspace 7; }
+ Mod+Shift+8 { move-column-to-workspace 8; }
+ Mod+Shift+9 { move-column-to-workspace 9; }
// Alternatively, there are commands to move just a single window:
// Mod+Ctrl+1 { move-window-to-workspace 1; }
// Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0,
// set-column-width "100" will make the column occupy 200 physical screen pixels.
Mod+Minus { set-column-width "-10%"; }
- Mod+Equal { set-column-width "+10%"; }
+ Mod+Plus { set-column-width "+10%"; }
// Finer height adjustments when in column with other windows.
Mod+Shift+Minus { set-window-height "-10%"; }
- Mod+Shift+Equal { set-window-height "+10%"; }
+ Mod+Shift+Plus { set-window-height "+10%"; }
// Actions to switch layouts.
// Note: if you uncomment these, make sure you do NOT have
Ctrl+Print { screenshot-screen; }
Alt+Print { screenshot-window; }
- Mod+Shift+E { quit; }
- Mod+Shift+P { power-off-monitors; }
+ Mod+Alt+Ctrl+M { quit; }
+ Mod+Alt+Ctrl+P { power-off-monitors; }
- Mod+Shift+Ctrl+T { toggle-debug-tint; }
+ Mod+Alt+Ctrl+T { toggle-debug-tint; }
}
// Settings for debugging. Not meant for normal use.
#!/usr/bin/env bash
logger '============================'
-logger 'HYPRLAND MAIN STARTUP BEGIN'
+logger 'NIRI MAIN STARTUP BEGIN'
+
+# envs
+AMD_VULKAN_ICD=RADV
+XDG_CURRENT_DESKTOP=NIRI
+XDG_SESSION_DESKTOP=NIRI
+XDG_SESSION_TYPE=WAYLAND
+QT_QPA_PLATFORM="WAYLAND;XCB"
+QT_QPA_PLATFORMTHEME=KDE
+QT_WAYLAND_DISABLE_WINDOWDECORATION=TRUE
+GDK_BACKEND="WAYLAND,X11"
+GTK_USE_PORTAL=1
+MOZ_ENABLE_WAYLAND=TRUE
+SDL_VIDEODRIVER=WAYLAND
+
# shellcheck disable=SC2155
# shellcheck disable=SC2046
test ! -d "$XDG_RUNTIME_DIR" && export XDG_RUNTIME_DIR=$(mktemp -d /tmp/$(id -u)-runtime-dir.XXX) && logger 'xdg-runtime dir set NOW'
test ! "$DBUS_SESSION_BUS_ADDRESS" && dbus-daemon --session --address=unix:path="$XDG_RUNTIME_DIR"/bus && logger 'dbus session daemon started'
-dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENCT_DESKTOP
+dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
+
+export PATH="$HOME/.local/bin:$HOME/.cargo/bin:$HOME/go/bin:$HOME/Applications:$PATH"
#------------------------------------------------------ xdg-desktop-portal
killall -e xdg-desktop-portal-hyprland
killall -e xdg-desktop-portal-gnome
killall -e xdg-desktop-portal-wlr
killall xdg-desktop-portal
-logger 'killed all xdg-desktop'
+logger 'all xdg-desktop killed '
-# sleep 1 && test -f /usr/libexec/xdg-desktop-portal-kde && sleep 1 && /usr/libexec/xdg-desktop-portal-kde &
-sleep 1 && test -f /usr/libexec/xdg-desktop-portal-hyprland && sleep 1 && /usr/libexec/xdg-desktop-portal-hyprland &
-sleep 1 && test -f /usr/libexec/xdg-desktop-portal && sleep 1 && /usr/libexec/xdg-desktop-portal &
+sleep 1
+test -f /usr/libexec/xdg-desktop-portal-kde && sleep 1 && /usr/libexec/xdg-desktop-portal-kde &
+test -f /usr/libexec/xdg-desktop-portal && /usr/libexec/xdg-desktop-portal &
+echo "xdg desktop portal started"
#------------------------------------------------------ polkit-kde
if [[ ! $(pidof /usr/libexec/polkit-kde-authentication-agent-1) ]]; then
! pidof mpd-mpris && mpd-mpris > /dev/null 2>&1 &
! pidof waybar && waybar > /dev/null 2>&1 &
-logger 'waybar started'
until [[ $(pidof waybar) ]]; do
- sleep 0.5
+ sleep 1
+ logger "waiting for waybar to settle..."
done
corectrl --minimize-systray &
openrgb -p default --startminimized &
! pidof kwalletmanager5 && /usr/libexec/pam_kwallet_init &
! pidof swww-daemon && /usr/bin/swww-daemon > /dev/null 2>&1 &
-sleep 0.5 && /usr/bin/swww img ~/Bilder/Wallpapers/default.jpg
+sleep 0.5 && ~/.local/bin/rndwallpaper swww
-pkill -f 'python /home/andy/.config/hypr/scripts/gammarelay-auto-temp.py'
+pkill -f '/usr/lib/python-exec/python3.12/python /home/andy/.config/hypr/scripts/gammarelay-auto-temp.py'
sleep 1 && "/home/andy/.config/hypr/scripts/gammarelay-auto-temp.py" > /dev/null 2>&1 &
pidof wl-paste && killall wl-paste
wl-paste --type text --watch cliphist store &
wl-paste --type image --watch cliphist store &
-logger 'HYPRLAND MAIN STARTUP END'
+logger 'NIRI MAIN STARTUP END'
logger '============================'