diff --git a/hypr/base b/hypr/base.conf similarity index 91% rename from hypr/base rename to hypr/base.conf index f14d61b..a995220 100644 --- a/hypr/base +++ b/hypr/base.conf @@ -15,7 +15,7 @@ monitor=,preferred,auto,1 $terminal = kitty $fileManager = kitty -e ranger -$menu = wofi --show run +$menu = hyprlauncher ################### ### CURSOR ### @@ -25,22 +25,26 @@ env = XCURSOR_THEME,Miku Cursor env = XCURSOR_SIZE,48 env = HYPRCURSOR_SIZE,48 +# fcitx5 input method for Pinyin +env = GTK_IM_MODULE,fcitx +env = QT_IM_MODULE,fcitx +env = XMODIFIERS,@im=fcitx + ################# ### AUTOSTART ### ################# -exec-once = fcitx5 +exec-once = dex -a exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 -exec-once = nm-applet exec-once = wl-paste --watch cliphist store exec-once = dunst -exec-once = hypridle # replaces xautolock; configure lock in hypridle.conf +exec-once = hypridle +exec-once = hyprpaper +exec-once = hyprsunset +exec-once = hyprlauncher +exec-once = fcitx5 -d exec-once = waterfox -exec-once = steam -exec-once = surfshark exec-once = waybar -# exec-once = volctl # may need a Wayland-compatible tray volume tool -# exec-once = pamac-tray # check for Wayland support # NOTE: ff-theme-util and fix_xcursor are X11-specific; drop or find Wayland equivalents # Caps<->Escape swap is handled below via input config @@ -67,6 +71,15 @@ general { layout = master # closest to i3's stacking default; use dwindle for split } +render { + explicit_sync = true + explicit_sync_kms = true +} + +xwayland { + force_zero_scaling = true +} + decoration { rounding = 0 @@ -113,8 +126,8 @@ misc { ############# input { - kb_layout = gb - kb_options = caps:swapescape + kb_layout = gb,us + kb_options = caps:swapescape,grp:alt_shift_toggle follow_mouse = 1 sensitivity = 0 } @@ -132,11 +145,10 @@ bind = $mod, Return, exec, $terminal bind = $mod SHIFT, Q, killactive # Launcher (wofi replaces dmenu) -bind = $mod, D, exec, wofi --show run --style ~/scripts/wofi/style.css -# To approximate your dmenu colors, configure wofi's style.css +bind = $mod, D, exec, hyprlauncher # Pavucontrol -bind = $mod CTRL, M, exec, pavucontrol +bind = $mod CTRL, M, exec, hyprpwcenter # Applications bind = $mod, F2, exec, waterfox @@ -144,9 +156,8 @@ bind = $mod, F3, exec, $fileManager bind = $mod SHIFT, F3, exec, pcmanfm bind = $mod, F5, exec, kitty -e mocp -# Compositor toggle (picom → hyprland manages its own compositor; these are no-ops) -# bind = $mod, T, exec, pkill picom -# bind = $mod CTRL, T, exec, picom -b +# Toggle window layout between master and dwindle +bind = $mod, T, exec, hyprctl keyword general:layout "$([ "$(hyprctl getoption general:layout -j | grep -o '"str": "[^"]*"' | cut -d'"' -f4)" = "master" ] && echo dwindle || echo master)" # Restart dunst bind = $mod SHIFT, D, exec, killall dunst && notify-send 'restart dunst' @@ -169,7 +180,7 @@ bind = $mod, M, exec, pkill -SIGUSR1 waybar bind = $mod SHIFT, C, exec, hyprctl reload # Exit Hyprland -bind = $mod SHIFT, E, exec, hyprctl dispatch exit +bind = $mod SHIFT, E, exec, hyprshutdown # System mode (replaces i3's $mode_system) # Simple submap equivalent: @@ -185,7 +196,7 @@ bind = , R, exec, systemctl reboot bind = , R, submap, reset bind = SHIFT, S, exec, systemctl poweroff bind = SHIFT, S, submap, reset -bind = , E, exec, hyprctl dispatch exit +bind = , E, exec, hyprshutdown bind = , E, submap, reset bind = , Return, submap, reset bind = , Escape, submap, reset @@ -310,8 +321,8 @@ windowrule { } windowrule { - name = pavucontrol - match:class = ^(pavucontrol)$ + name = hyprpwcenter + match:class = ^(hyprpwcenter)$ float = on } diff --git a/hypr/build.sh b/hypr/build.sh index 436181b..4707bfe 100755 --- a/hypr/build.sh +++ b/hypr/build.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash set -euo pipefail cd "$(dirname "$0")" -cat colors.conf base > hyprland.conf +cat colors.conf base.conf >hyprland.conf diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index ace04c9..38f29e0 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -16,7 +16,7 @@ $color_white = rgb(FFFFFF) ### MONITORS ### ################ -monitor=,preferred,auto,1.33 +monitor=,preferred,auto,1 ################### @@ -25,7 +25,7 @@ monitor=,preferred,auto,1.33 $terminal = kitty $fileManager = kitty -e ranger -$menu = wofi --show run +$menu = hyprlauncher ################### ### CURSOR ### @@ -35,6 +35,11 @@ env = XCURSOR_THEME,Miku Cursor env = XCURSOR_SIZE,48 env = HYPRCURSOR_SIZE,48 +# fcitx5 input method for Pinyin +env = GTK_IM_MODULE,fcitx +env = QT_IM_MODULE,fcitx +env = XMODIFIERS,@im=fcitx + ################# ### AUTOSTART ### ################# @@ -44,6 +49,10 @@ exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = wl-paste --watch cliphist store exec-once = dunst exec-once = hypridle +exec-once = hyprpaper +exec-once = hyprsunset +exec-once = hyprlauncher +exec-once = fcitx5 -d exec-once = waterfox exec-once = waybar # NOTE: ff-theme-util and fix_xcursor are X11-specific; drop or find Wayland equivalents @@ -72,6 +81,15 @@ general { layout = master # closest to i3's stacking default; use dwindle for split } +render { + explicit_sync = true + explicit_sync_kms = true +} + +xwayland { + force_zero_scaling = true +} + decoration { rounding = 0 @@ -118,8 +136,8 @@ misc { ############# input { - kb_layout = gb - kb_options = caps:swapescape + kb_layout = gb,us + kb_options = caps:swapescape,grp:alt_shift_toggle follow_mouse = 1 sensitivity = 0 } @@ -137,11 +155,10 @@ bind = $mod, Return, exec, $terminal bind = $mod SHIFT, Q, killactive # Launcher (wofi replaces dmenu) -bind = $mod, D, exec, wofi --show run --style ~/scripts/wofi/style.css -# To approximate your dmenu colors, configure wofi's style.css +bind = $mod, D, exec, hyprlauncher # Pavucontrol -bind = $mod CTRL, M, exec, pavucontrol +bind = $mod CTRL, M, exec, hyprpwcenter # Applications bind = $mod, F2, exec, waterfox @@ -149,9 +166,8 @@ bind = $mod, F3, exec, $fileManager bind = $mod SHIFT, F3, exec, pcmanfm bind = $mod, F5, exec, kitty -e mocp -# Compositor toggle (picom → hyprland manages its own compositor; these are no-ops) -# bind = $mod, T, exec, pkill picom -# bind = $mod CTRL, T, exec, picom -b +# Toggle window layout between master and dwindle +bind = $mod, T, exec, hyprctl keyword general:layout "$([ "$(hyprctl getoption general:layout -j | grep -o '"str": "[^"]*"' | cut -d'"' -f4)" = "master" ] && echo dwindle || echo master)" # Restart dunst bind = $mod SHIFT, D, exec, killall dunst && notify-send 'restart dunst' @@ -174,7 +190,7 @@ bind = $mod, M, exec, pkill -SIGUSR1 waybar bind = $mod SHIFT, C, exec, hyprctl reload # Exit Hyprland -bind = $mod SHIFT, E, exec, hyprctl dispatch exit +bind = $mod SHIFT, E, exec, hyprshutdown # System mode (replaces i3's $mode_system) # Simple submap equivalent: @@ -190,7 +206,7 @@ bind = , R, exec, systemctl reboot bind = , R, submap, reset bind = SHIFT, S, exec, systemctl poweroff bind = SHIFT, S, submap, reset -bind = , E, exec, hyprctl dispatch exit +bind = , E, exec, hyprshutdown bind = , E, submap, reset bind = , Return, submap, reset bind = , Escape, submap, reset @@ -315,8 +331,8 @@ windowrule { } windowrule { - name = pavucontrol - match:class = ^(pavucontrol)$ + name = hyprpwcenter + match:class = ^(hyprpwcenter)$ float = on } diff --git a/i3/base b/i3/base index 66a0475..221ee50 100644 --- a/i3/base +++ b/i3/base @@ -21,7 +21,7 @@ exec --no-startup-id nm-applet exec --no-startup-id pamac-tray exec --no-startup-id clipit exec --no-startup-id dunst -exec --no-startup-id xautolock -time 30 -locker blurlock +exec --no-startup-id xautolock -time 90 -locker blurlock # exec --no-startup-id nitrogen ~/scripts/background.jpg # exec --no-startup-id blueman-applet # exec_always --no-startup-id sbxkb diff --git a/i3/config b/i3/config index 785c249..467613f 100644 --- a/i3/config +++ b/i3/config @@ -31,7 +31,7 @@ exec --no-startup-id nm-applet exec --no-startup-id pamac-tray exec --no-startup-id clipit exec --no-startup-id dunst -exec --no-startup-id xautolock -time 30 -locker blurlock +exec --no-startup-id xautolock -time 90 -locker blurlock # exec --no-startup-id nitrogen ~/scripts/background.jpg # exec --no-startup-id blueman-applet # exec_always --no-startup-id sbxkb