From b211b4fb2891d1a693e7b79bf5e5079d2ce4fc81 Mon Sep 17 00:00:00 2001 From: Viyurz <128215328+Viyurz@users.noreply.github.com> Date: Fri, 9 Feb 2024 10:13:38 +0100 Subject: [PATCH] Split Hyprland config into multiple files + add Mailspring. --- .config/hypr/hyprland.conf | 151 +----------------- .config/hypr/hyprland.d/animations.conf | 10 ++ .../bindings.conf} | 0 .config/hypr/hyprland.d/colors.conf | 17 ++ .config/hypr/hyprland.d/decoration.conf | 14 ++ .config/hypr/hyprland.d/device.conf | 8 + .config/hypr/hyprland.d/env.conf | 14 ++ .config/hypr/hyprland.d/exec.conf | 50 ++++++ .config/hypr/hyprland.d/general.conf | 7 + .config/hypr/hyprland.d/gestures.conf | 3 + .config/hypr/hyprland.d/input.conf | 17 ++ .config/hypr/hyprland.d/layout.conf | 10 ++ .config/hypr/hyprland.d/misc.conf | 8 + .config/hypr/{ => hyprland.d}/monitors.conf | 0 .../hypr/{ => hyprland.d}/windowrules.conf | 3 +- .scripts/set-wallpaper.sh | 6 +- 16 files changed, 164 insertions(+), 154 deletions(-) create mode 100644 .config/hypr/hyprland.d/animations.conf rename .config/hypr/{keybindings.conf => hyprland.d/bindings.conf} (100%) create mode 100644 .config/hypr/hyprland.d/colors.conf create mode 100644 .config/hypr/hyprland.d/decoration.conf create mode 100644 .config/hypr/hyprland.d/device.conf create mode 100644 .config/hypr/hyprland.d/env.conf create mode 100644 .config/hypr/hyprland.d/exec.conf create mode 100644 .config/hypr/hyprland.d/general.conf create mode 100644 .config/hypr/hyprland.d/gestures.conf create mode 100644 .config/hypr/hyprland.d/input.conf create mode 100644 .config/hypr/hyprland.d/layout.conf create mode 100644 .config/hypr/hyprland.d/misc.conf rename .config/hypr/{ => hyprland.d}/monitors.conf (100%) rename .config/hypr/{ => hyprland.d}/windowrules.conf (92%) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index a719edd..3fdf5be 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -1,151 +1,4 @@ # Jaaj Hyprland config -# Source colors variables -source = ~/.config/hypr/colors.conf - - -# Monitors config in separate file to allow multiple configs -source = ~/.config/hypr/monitors.conf - - -# Keybindings -source = ~/.config/hypr/keybindings.conf - - -# Window rules -source = ~/.config/hypr/windowrules.conf - - -# Exec once -exec-once = waybar -exec-once = artix-pipewire-launcher restart -exec-once = nm-applet -exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 -exec-once = $HOME/.scripts/swayidle.sh -exec-once = swayosd-server -exec-once = udiskie - - -# XWayland -exec-once = xprop -root -f _XWAYLAND_GLOBAL_OUTPUT_SCALE 32c -set _XWAYLAND_GLOBAL_OUTPUT_SCALE 2 - -# Clipboard -exec-once = wl-paste -w wl-copy -p -exec-once = cliphist wipe && wl-paste --watch cliphist store - -# Discord -exec-once = discord --start-minimized --enable-features=UseOzonePlatform --ozone-platform=wayland -# exec-once = xwaylandvideobridge - -# Element -exec-once = element-desktop --hidden - -# Syncthing -exec-once = syncthing --no-browser --gui-address=http://127.0.0.1:8384 - -# Theming -exec-once = echo 1 > "$HOME/.cache/weeb-mode" -exec-once = $HOME/.scripts/set-wallpaper.sh -r - -# Prevent hidden Wine System Tray window from keeping workspace existing -exec-once = $HOME/.scripts/kill-wine-explorer.sh - - - -# Environement variables -env = XDG_CURRENT_DESKTOP,Hyprland -env = XDG_SESSION_TYPE,wayland -env = XDG_SESSION_DESKTOP,Hyprland -env = QT_AUTO_SCREEN_SCALE_FACTOR,1 -env = QT_QPA_PLATFORM,wayland;xcb -env = SDL_VIDEODRIVER,wayland -env = _JAVA_AWT_WM_NONEREPARENTING,1 -env = CLUTTER_BACKEND,wayland -env = GRIM_DEFAULT_DIR,$HOME/Images/grim-screenshots -env = DXVK_LOG_LEVEL,none -env = MOZ_ENABLE_WAYLAND,1 -env = GDK_BACKEND,wayland -env = GDK_SCALE,1 -env = XCURSOR_SIZE,24 - - - -# Variables -general { - border_size = $border_size - gaps_in = $gaps_in - gaps_out = $gaps_out - col.active_border = $accent1 $accent2 45deg - col.inactive_border = $background1 $background2 45deg -} - -input { - kb_layout = fr - kb_variant = latin9 - numlock_by_default = true - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. - follow_mouse = 2 - float_switch_override_focus = 0 - touchpad { - disable_while_typing = false - natural_scroll = yes - } -} - -device:asus-rog-sica { - sensitivity = -0.55 -} - -device:logitech-g203-lightsync-gaming-mouse { - sensitivity = -0.55 -} - - -decoration { - rounding = $border_radius - active_opacity = 0.85 - inactive_opacity = 0.65 - blur { - enabled = true - size = 2 - passes = 1 - ignore_opacity = true - new_optimizations = on - xray = true - } -} - -animations { - enabled = yes - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - animation = windows, 1, 7, myBezier - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default -} - -gestures { - workspace_swipe = on -} - -dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = yes # you probably want this -} - -master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - new_is_master = true -} - -misc { - vfr = true - vrr = 2 - disable_autoreload = true - mouse_move_enables_dpms = true - key_press_enables_dpms = true - force_default_wallpaper = 0 -} +# Source config files +source = hyprland.d/*.conf diff --git a/.config/hypr/hyprland.d/animations.conf b/.config/hypr/hyprland.d/animations.conf new file mode 100644 index 0000000..8a9a184 --- /dev/null +++ b/.config/hypr/hyprland.d/animations.conf @@ -0,0 +1,10 @@ +animations { + enabled = yes + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} diff --git a/.config/hypr/keybindings.conf b/.config/hypr/hyprland.d/bindings.conf similarity index 100% rename from .config/hypr/keybindings.conf rename to .config/hypr/hyprland.d/bindings.conf diff --git a/.config/hypr/hyprland.d/colors.conf b/.config/hypr/hyprland.d/colors.conf new file mode 100644 index 0000000..df3d138 --- /dev/null +++ b/.config/hypr/hyprland.d/colors.conf @@ -0,0 +1,17 @@ +$foreground=rgb(e8e0e5) +$disabled=rgb(9c1797) +$accent1=rgb(f099ed) +$accent2=rgb(abb5f3) +$disabled2=rgb(16289c) +$bad=rgb(AA2222) +$selected=rgb(9c1797) +$urgent=rgb(9289ee) +$background2=rgb(0d1759) +$background1=rgb(590d56) +$good=rgb(00BB66) +$hovered=rgb(6f106c) +$border_radius=4 +$gaps_in=8 +$border_size=2 +$font='JetBrainsMono NF' +$gaps_out=15 diff --git a/.config/hypr/hyprland.d/decoration.conf b/.config/hypr/hyprland.d/decoration.conf new file mode 100644 index 0000000..0c1dbc6 --- /dev/null +++ b/.config/hypr/hyprland.d/decoration.conf @@ -0,0 +1,14 @@ +decoration { + rounding = $border_radius + active_opacity = 0.85 + inactive_opacity = 0.65 + + blur { + enabled = true + size = 2 + passes = 1 + ignore_opacity = true + new_optimizations = on + xray = true + } +} diff --git a/.config/hypr/hyprland.d/device.conf b/.config/hypr/hyprland.d/device.conf new file mode 100644 index 0000000..4ce8037 --- /dev/null +++ b/.config/hypr/hyprland.d/device.conf @@ -0,0 +1,8 @@ +# Change the sensibility per device to keep the default one on touchpad +device:asus-rog-sica { + sensitivity = -0.55 +} + +device:logitech-g203-lightsync-gaming-mouse { + sensitivity = -0.55 +} diff --git a/.config/hypr/hyprland.d/env.conf b/.config/hypr/hyprland.d/env.conf new file mode 100644 index 0000000..e83f216 --- /dev/null +++ b/.config/hypr/hyprland.d/env.conf @@ -0,0 +1,14 @@ +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_TYPE,wayland +env = XDG_SESSION_DESKTOP,Hyprland +env = QT_AUTO_SCREEN_SCALE_FACTOR,1 +env = QT_QPA_PLATFORM,wayland;xcb +env = SDL_VIDEODRIVER,wayland +env = _JAVA_AWT_WM_NONEREPARENTING,1 +env = CLUTTER_BACKEND,wayland +env = GRIM_DEFAULT_DIR,$HOME/Images/grim-screenshots +env = DXVK_LOG_LEVEL,none +env = MOZ_ENABLE_WAYLAND,1 +env = GDK_BACKEND,wayland +env = GDK_SCALE,1 +env = XCURSOR_SIZE,24 diff --git a/.config/hypr/hyprland.d/exec.conf b/.config/hypr/hyprland.d/exec.conf new file mode 100644 index 0000000..8551194 --- /dev/null +++ b/.config/hypr/hyprland.d/exec.conf @@ -0,0 +1,50 @@ +# Clipboard +exec-once = wl-paste -w wl-copy -p +exec-once = cliphist wipe && wl-paste --watch cliphist store + +# Discord +exec-once = discord --start-minimized --enable-features=UseOzonePlatform --ozone-platform=wayland +# exec-once = xwaylandvideobridge + +# Element +exec-once = element-desktop --hidden + +# Gnome keyring (for Mailspring) +exec-once = gnome-keyring + +# Mailspring +exec-once = mailspring --background --password-store="gnome-libsecret" + +# NetworkManager applet +exec-once = nm-applet + +# Pipewire +exec-once = artix-pipewire-launcher restart + +# Polkit +exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 + +# Swayidle +exec-once = $HOME/.scripts/swayidle.sh + +# Swayosd +exec-once = swayosd-server + +# Syncthing +exec-once = syncthing --no-browser --gui-address=http://127.0.0.1:8384 + +# Theming +exec-once = echo 1 > "$HOME/.cache/weeb-mode" +exec-once = $HOME/.scripts/set-wallpaper.sh -r + +# Udiskie +exec-once = udiskie + +# Waybar +exec-once = waybar + +# XWayland +exec-once = xprop -root -f _XWAYLAND_GLOBAL_OUTPUT_SCALE 32c -set _XWAYLAND_GLOBAL_OUTPUT_SCALE 2 + +# Prevent hidden Wine System Tray window from keeping workspace existing +exec-once = $HOME/.scripts/kill-wine-explorer.sh diff --git a/.config/hypr/hyprland.d/general.conf b/.config/hypr/hyprland.d/general.conf new file mode 100644 index 0000000..fcadae9 --- /dev/null +++ b/.config/hypr/hyprland.d/general.conf @@ -0,0 +1,7 @@ +general { + border_size = $border_size + gaps_in = $gaps_in + gaps_out = $gaps_out + col.active_border = $accent1 $accent2 45deg + col.inactive_border = $background1 $background2 45deg +} diff --git a/.config/hypr/hyprland.d/gestures.conf b/.config/hypr/hyprland.d/gestures.conf new file mode 100644 index 0000000..b78db51 --- /dev/null +++ b/.config/hypr/hyprland.d/gestures.conf @@ -0,0 +1,3 @@ +gestures { + workspace_swipe = on +} diff --git a/.config/hypr/hyprland.d/input.conf b/.config/hypr/hyprland.d/input.conf new file mode 100644 index 0000000..a7628a0 --- /dev/null +++ b/.config/hypr/hyprland.d/input.conf @@ -0,0 +1,17 @@ +input { + # Keyboard + kb_layout = fr + kb_variant = latin9 + numlock_by_default = true + + # Mouse + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + follow_mouse = 2 + float_switch_override_focus = 0 + + # Touchpad + touchpad { + disable_while_typing = false + natural_scroll = yes + } +} diff --git a/.config/hypr/hyprland.d/layout.conf b/.config/hypr/hyprland.d/layout.conf new file mode 100644 index 0000000..f34d951 --- /dev/null +++ b/.config/hypr/hyprland.d/layout.conf @@ -0,0 +1,10 @@ +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true +} diff --git a/.config/hypr/hyprland.d/misc.conf b/.config/hypr/hyprland.d/misc.conf new file mode 100644 index 0000000..e023456 --- /dev/null +++ b/.config/hypr/hyprland.d/misc.conf @@ -0,0 +1,8 @@ +misc { + vfr = true + vrr = 2 + disable_autoreload = true + mouse_move_enables_dpms = true + key_press_enables_dpms = true + force_default_wallpaper = 0 +} diff --git a/.config/hypr/monitors.conf b/.config/hypr/hyprland.d/monitors.conf similarity index 100% rename from .config/hypr/monitors.conf rename to .config/hypr/hyprland.d/monitors.conf diff --git a/.config/hypr/windowrules.conf b/.config/hypr/hyprland.d/windowrules.conf similarity index 92% rename from .config/hypr/windowrules.conf rename to .config/hypr/hyprland.d/windowrules.conf index 21c39a7..62f3ebc 100644 --- a/.config/hypr/windowrules.conf +++ b/.config/hypr/hyprland.d/windowrules.conf @@ -1,10 +1,9 @@ # Opaque windows -windowrule = opaque,^(firefox|libreoffice-writer|virt-manager)$ +windowrule = opaque,^(firefox|libreoffice-writer|virt-manager|jetbrains-idea-ce)$ # Idle Inhibit windowrule = idleinhibit focus, class:^(vlc|zoom)$ - # Winecfg windowrule = float,^(winecfg.exe)$ windowrulev2 = size 410 462,class:^(winecfg.exe)$,xwayland:1 diff --git a/.scripts/set-wallpaper.sh b/.scripts/set-wallpaper.sh index 9eaacbd..bf863c0 100755 --- a/.scripts/set-wallpaper.sh +++ b/.scripts/set-wallpaper.sh @@ -152,7 +152,7 @@ declare -A params=( # Clear colors/params files echo -n '' > "$HOME/.config/gtk-3.0/colors-gtk.css" -echo -n '' > "$HOME/.config/hypr/colors.conf" +echo -n '' > "$HOME/.config/hypr/hyprland.d/colors.conf" echo "wallpaper=\"$wallpaper\"" > "$HOME/.cache/colors.sh" @@ -162,7 +162,7 @@ echo "Writing theme colors in files." for key in "${!colors[@]}"; do value="${colors[$key]}" # Hyprland - echo '$'"$key=rgb(${value:1})" >> "$HOME/.config/hypr/colors.conf" + echo '$'"$key=rgb(${value:1})" >> "$HOME/.config/hypr/hyprland.d/colors.conf" # GTK echo "@define-color $key $value;" >> "$HOME/.config/gtk-3.0/colors-gtk.css" # Shell @@ -176,7 +176,7 @@ echo "Writing parameters to Hyprland & i3 files." for key in "${!params[@]}"; do value="${params[$key]}" # Hyprland - echo '$'"$key=$value" >> "$HOME/.config/hypr/colors.conf" + echo '$'"$key=$value" >> "$HOME/.config/hypr/hyprland.d/colors.conf" # i3 sed -i "s/^set \$$key.*/set \$$key $value/" "$HOME/.config/i3/config" done