From c6e09c2f08afaf24256cff1523a642d0d8ab0d67 Mon Sep 17 00:00:00 2001 From: Chris Date: Sat, 28 Feb 2026 16:19:58 +0000 Subject: [PATCH] Update Hyprland config --- .config/hypr/autostart.conf | 12 ++ .config/hypr/bind.conf | 56 -------- .config/hypr/bindings.conf | 271 +++++++++++++++++++++++++++++++++++ .config/hypr/envs.conf | 29 ++++ .config/hypr/exec.conf | 11 -- .config/hypr/hyprland.conf | 14 +- .config/hypr/hyprpaper.conf | 4 - .config/hypr/input.conf | 75 ++++++++-- .config/hypr/looknfeel.conf | 156 ++++++++++++++++++++ .config/hypr/monitor.conf | 1 - .config/hypr/monitors.conf | 23 +++ .config/hypr/window.conf | 55 ------- .config/hypr/windowrule.conf | 33 ----- .config/hypr/windows.conf | 15 ++ 14 files changed, 580 insertions(+), 175 deletions(-) create mode 100644 .config/hypr/autostart.conf delete mode 100644 .config/hypr/bind.conf create mode 100644 .config/hypr/bindings.conf create mode 100644 .config/hypr/envs.conf delete mode 100644 .config/hypr/exec.conf delete mode 100644 .config/hypr/hyprpaper.conf create mode 100644 .config/hypr/looknfeel.conf delete mode 100644 .config/hypr/monitor.conf create mode 100644 .config/hypr/monitors.conf delete mode 100644 .config/hypr/window.conf delete mode 100644 .config/hypr/windowrule.conf create mode 100644 .config/hypr/windows.conf diff --git a/.config/hypr/autostart.conf b/.config/hypr/autostart.conf new file mode 100644 index 0000000..e0cab70 --- /dev/null +++ b/.config/hypr/autostart.conf @@ -0,0 +1,12 @@ +# exec-once = uwsm-app -- hypridle +# exec-once = uwsm-app -- mako +# exec-once = uwsm-app -- waybar +# exec-once = uwsm-app -- fcitx5 --disable notificationitem +# exec-once = uwsm-app -- swaybg -i ~/.config/omarchy/current/background -m fill +# exec-once = uwsm-app -- swayosd-server +# exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 +# exec-once = omarchy-cmd-first-run + +# Slow app launch fix -- set systemd vars +# exec-once = systemctl --user import-environment $(env | cut -d'=' -f 1) +# exec-once = dbus-update-activation-environment --systemd --all diff --git a/.config/hypr/bind.conf b/.config/hypr/bind.conf deleted file mode 100644 index e5447c7..0000000 --- a/.config/hypr/bind.conf +++ /dev/null @@ -1,56 +0,0 @@ -$mainMod = SUPER - -bind = $mainMod, Return, exec, kitty -bind = $mainMod, Q, killactive, -bind = $mainMod, M, exec, wlogout --protocol layer-shell -bind = $mainMod, E, exec, thunar -bind = $mainMod, V, togglefloating -bind = $mainMod, D, exec, wofi --show drun -bind = $mainMod, P, pseudo, #dwindle -bind = $mainMod, S, togglesplit, #dwindle -bind = $mainMod SHIFT, Q, exec, swaylock -bind = , PRINT, exec, hyprshot -m region --clipboard-only - -bind = $mainMod, h, movefocus, l -bind = $mainMod, l, movefocus, r -bind = $mainMod, k, movefocus, u -bind = $mainMod, j, movefocus, d - -bind = $mainMod, 1, workspace, 1 -bind = $mainMod, 2, workspace, 2 -bind = $mainMod, 3, workspace, 3 -bind = $mainMod, 4, workspace, 4 -bind = $mainMod, 5, workspace, 5 -bind = $mainMod, 6, workspace, 6 -bind = $mainMod, 7, workspace, 7 -bind = $mainMod, 8, workspace, 8 -bind = $mainMod, 9, workspace, 9 -bind = $mainMod, 0, workspace, 10 - -bind = $mainMod SHIFT, 1, movetoworkspace, 1 -bind = $mainMod SHIFT, 2, movetoworkspace, 2 -bind = $mainMod SHIFT, 3, movetoworkspace, 3 -bind = $mainMod SHIFT, 4, movetoworkspace, 4 -bind = $mainMod SHIFT, 5, movetoworkspace, 5 -bind = $mainMod SHIFT, 6, movetoworkspace, 6 -bind = $mainMod SHIFT, 7, movetoworkspace, 7 -bind = $mainMod SHIFT, 8, movetoworkspace, 8 -bind = $mainMod SHIFT, 9, movetoworkspace, 9 -bind = $mainMod SHIFT, 0, movetoworkspace, 10 - -bind = $mainMod CTRL, l, resizeactive, 10 0 -bind = $mainMod CTRL, h, resizeactive, -10 0 -bind = $mainMod CTRL, k, resizeactive, 0 -10 -bind = $mainMod CTRL, j, resizeactive, 0 10 - -bind = $mainMod SHIFT, l, movewindow, r -bind = $mainMod SHIFT, h, movewindow, l -bind = $mainMod SHIFT, k, movewindow, u -bind = $mainMod SHIFT, j, movewindow, d - -bind = $mainMod, b, exec, firefox -bind = $mainMod, c, exec, thunderbird - -# Move/resize windws with mainMod + LMB/RMB and draggin -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow diff --git a/.config/hypr/bindings.conf b/.config/hypr/bindings.conf new file mode 100644 index 0000000..d74dfa5 --- /dev/null +++ b/.config/hypr/bindings.conf @@ -0,0 +1,271 @@ +# ========================== +# Media +# ========================== +# Only display the OSD on the currently focused monitor +# $osdclient = swayosd-client --monitor "$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')" + +# Laptop multimedia keys for volume and LCD brightness (with OSD) +# bindeld = ,XF86AudioRaiseVolume, Volume up, exec, $osdclient --output-volume raise +# bindeld = ,XF86AudioLowerVolume, Volume down, exec, $osdclient --output-volume lower +# bindeld = ,XF86AudioMute, Mute, exec, $osdclient --output-volume mute-toggle +# bindeld = ,XF86AudioMicMute, Mute microphone, exec, $osdclient --input-volume mute-toggle +# bindeld = ,XF86MonBrightnessUp, Brightness up, exec, omarchy-brightness-display +5% +# bindeld = ,XF86MonBrightnessDown, Brightness down, exec, omarchy-brightness-display 5%- +# bindeld = ,XF86KbdBrightnessUp, Keyboard brightness up, exec, omarchy-brightness-keyboard up +# bindeld = ,XF86KbdBrightnessDown, Keyboard brightness down, exec, omarchy-brightness-keyboard down +# bindld = ,XF86KbdLightOnOff, Keyboard backlight cycle, exec, omarchy-brightness-keyboard cycle + +# Precise 1% multimedia adjustments with Alt modifier +# bindeld = ALT, XF86AudioRaiseVolume, Volume up precise, exec, $osdclient --output-volume +1 +# bindeld = ALT, XF86AudioLowerVolume, Volume down precise, exec, $osdclient --output-volume -1 +# bindeld = ALT, XF86MonBrightnessUp, Brightness up precise, exec, omarchy-brightness-display +1% +# bindeld = ALT, XF86MonBrightnessDown, Brightness down precise, exec, omarchy-brightness-display 1%- + +# Requires playerctl +# bindld = , XF86AudioNext, Next track, exec, $osdclient --playerctl next +# bindld = , XF86AudioPause, Pause, exec, $osdclient --playerctl play-pause +# bindld = , XF86AudioPlay, Play, exec, $osdclient --playerctl play-pause +# bindld = , XF86AudioPrev, Previous track, exec, $osdclient --playerctl previous + +# Switch audio output with Super + Mute +# bindld = SUPER, XF86AudioMute, Switch audio output, exec, omarchy-cmd-audio-switch + +# ========================== +# Copy & Paste +# ========================== +bindd = SUPER, C, Universal copy, sendshortcut, CTRL, Insert, +bindd = SUPER, V, Universal paste, sendshortcut, SHIFT, Insert, +bindd = SUPER, X, Universal cut, sendshortcut, CTRL, X, +# bindd = SUPER CTRL, V, Clipboard manager, exec, omarchy-launch-walker -m clipboard + +# Close windows +bindd = SUPER, W, Close window, killactive, +# bindd = CTRL ALT, DELETE, Close all windows, exec, omarchy-hyprland-window-close-all + +# ========================== +# Tiling +# ========================== +bindd = SUPER, J, Toggle window split, togglesplit, # dwindle +bindd = SUPER, P, Pseudo window, pseudo, # dwindle +bindd = SUPER, T, Toggle window floating/tiling, togglefloating, +bindd = SUPER, F, Full screen, fullscreen, 0 +bindd = SUPER CTRL, F, Tiled full screen, fullscreenstate, 0 2 +bindd = SUPER ALT, F, Full width, fullscreen, 1 +# bindd = SUPER, O, Pop window out (float & pin), exec, omarchy-hyprland-window-pop +# bindd = SUPER, L, Toggle workspace layout, exec, omarchy-hyprland-workspace-layout-toggle + +# Move focus with SUPER + arrow keys +bindd = SUPER, LEFT, Move window focus left, movefocus, l +bindd = SUPER, RIGHT, Move window focus right, movefocus, r +bindd = SUPER, UP, Move window focus up, movefocus, u +bindd = SUPER, DOWN, Move window focus down, movefocus, d + +# Switch workspaces with SUPER + [1-9; 0] +bindd = SUPER, code:10, Switch to workspace 1, workspace, 1 +bindd = SUPER, code:11, Switch to workspace 2, workspace, 2 +bindd = SUPER, code:12, Switch to workspace 3, workspace, 3 +bindd = SUPER, code:13, Switch to workspace 4, workspace, 4 +bindd = SUPER, code:14, Switch to workspace 5, workspace, 5 +bindd = SUPER, code:15, Switch to workspace 6, workspace, 6 +bindd = SUPER, code:16, Switch to workspace 7, workspace, 7 +bindd = SUPER, code:17, Switch to workspace 8, workspace, 8 +bindd = SUPER, code:18, Switch to workspace 9, workspace, 9 +bindd = SUPER, code:19, Switch to workspace 10, workspace, 10 + +# Move active window to a workspace with SUPER + SHIFT + [1-9; 0] +bindd = SUPER SHIFT, code:10, Move window to workspace 1, movetoworkspace, 1 +bindd = SUPER SHIFT, code:11, Move window to workspace 2, movetoworkspace, 2 +bindd = SUPER SHIFT, code:12, Move window to workspace 3, movetoworkspace, 3 +bindd = SUPER SHIFT, code:13, Move window to workspace 4, movetoworkspace, 4 +bindd = SUPER SHIFT, code:14, Move window to workspace 5, movetoworkspace, 5 +bindd = SUPER SHIFT, code:15, Move window to workspace 6, movetoworkspace, 6 +bindd = SUPER SHIFT, code:16, Move window to workspace 7, movetoworkspace, 7 +bindd = SUPER SHIFT, code:17, Move window to workspace 8, movetoworkspace, 8 +bindd = SUPER SHIFT, code:18, Move window to workspace 9, movetoworkspace, 9 +bindd = SUPER SHIFT, code:19, Move window to workspace 10, movetoworkspace, 10 + +# Move active window silently to a workspace with SUPER + SHIFT + ALT + [1-9; 0] +bindd = SUPER SHIFT ALT, code:10, Move window silently to workspace 1, movetoworkspacesilent, 1 +bindd = SUPER SHIFT ALT, code:11, Move window silently to workspace 2, movetoworkspacesilent, 2 +bindd = SUPER SHIFT ALT, code:12, Move window silently to workspace 3, movetoworkspacesilent, 3 +bindd = SUPER SHIFT ALT, code:13, Move window silently to workspace 4, movetoworkspacesilent, 4 +bindd = SUPER SHIFT ALT, code:14, Move window silently to workspace 5, movetoworkspacesilent, 5 +bindd = SUPER SHIFT ALT, code:15, Move window silently to workspace 6, movetoworkspacesilent, 6 +bindd = SUPER SHIFT ALT, code:16, Move window silently to workspace 7, movetoworkspacesilent, 7 +bindd = SUPER SHIFT ALT, code:17, Move window silently to workspace 8, movetoworkspacesilent, 8 +bindd = SUPER SHIFT ALT, code:18, Move window silently to workspace 9, movetoworkspacesilent, 9 +bindd = SUPER SHIFT ALT, code:19, Move window silently to workspace 10, movetoworkspacesilent, 10 + +# Control scratchpad +bindd = SUPER, S, Toggle scratchpad, togglespecialworkspace, scratchpad +bindd = SUPER ALT, S, Move window to scratchpad, movetoworkspacesilent, special:scratchpad + +# TAB between workspaces +bindd = SUPER, TAB, Next workspace, workspace, e+1 +bindd = SUPER SHIFT, TAB, Previous workspace, workspace, e-1 +bindd = SUPER CTRL, TAB, Former workspace, workspace, previous + +# Move workspaces to other monitors +bindd = SUPER SHIFT ALT, LEFT, Move workspace to left monitor, movecurrentworkspacetomonitor, l +bindd = SUPER SHIFT ALT, RIGHT, Move workspace to right monitor, movecurrentworkspacetomonitor, r +bindd = SUPER SHIFT ALT, UP, Move workspace to up monitor, movecurrentworkspacetomonitor, u +bindd = SUPER SHIFT ALT, DOWN, Move workspace to down monitor, movecurrentworkspacetomonitor, d + +# Swap active window with the one next to it with SUPER + SHIFT + arrow keys +bindd = SUPER SHIFT, LEFT, Swap window to the left, swapwindow, l +bindd = SUPER SHIFT, RIGHT, Swap window to the right, swapwindow, r +bindd = SUPER SHIFT, UP, Swap window up, swapwindow, u +bindd = SUPER SHIFT, DOWN, Swap window down, swapwindow, d + +# Cycle through applications on active workspace +bindd = ALT, TAB, Cycle to next window, cyclenext +bindd = ALT SHIFT, TAB, Cycle to prev window, cyclenext, prev +bindd = ALT, TAB, Reveal active window on top, bringactivetotop +bindd = ALT SHIFT, TAB, Reveal active window on top, bringactivetotop + +# Resize active window +bindd = SUPER, code:20, Expand window left, resizeactive, -100 0 # - key +bindd = SUPER, code:21, Shrink window left, resizeactive, 100 0 # = key +bindd = SUPER SHIFT, code:20, Shrink window up, resizeactive, 0 -100 +bindd = SUPER SHIFT, code:21, Expand window down, resizeactive, 0 100 + +# Scroll through existing workspaces with SUPER + scroll +bindd = SUPER, mouse_down, Scroll active workspace forward, workspace, e+1 +bindd = SUPER, mouse_up, Scroll active workspace backward, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindmd = SUPER, mouse:272, Move window, movewindow +bindmd = SUPER, mouse:273, Resize window, resizewindow + +# Toggle groups +bindd = SUPER, G, Toggle window grouping, togglegroup +bindd = SUPER ALT, G, Move active window out of group, moveoutofgroup + +# Join groups +bindd = SUPER ALT, LEFT, Move window to group on left, moveintogroup, l +bindd = SUPER ALT, RIGHT, Move window to group on right, moveintogroup, r +bindd = SUPER ALT, UP, Move window to group on top, moveintogroup, u +bindd = SUPER ALT, DOWN, Move window to group on bottom, moveintogroup, d + +# Navigate a single set of grouped windows +bindd = SUPER ALT, TAB, Next window in group, changegroupactive, f +bindd = SUPER ALT SHIFT, TAB, Previous window in group, changegroupactive, b + +# Window navigation for grouped windows +bindd = SUPER CTRL, LEFT, Move grouped window focus left, changegroupactive, b +bindd = SUPER CTRL, RIGHT, Move grouped window focus right, changegroupactive, f + +# Scroll through a set of grouped windows with SUPER + ALT + scroll +bindd = SUPER ALT, mouse_down, Next window in group, changegroupactive, f +bindd = SUPER ALT, mouse_up, Previous window in group, changegroupactive, b + +# Activate window in a group by number +bindd = SUPER ALT, code:10, Switch to group window 1, changegroupactive, 1 +bindd = SUPER ALT, code:11, Switch to group window 2, changegroupactive, 2 +bindd = SUPER ALT, code:12, Switch to group window 3, changegroupactive, 3 +bindd = SUPER ALT, code:13, Switch to group window 4, changegroupactive, 4 +bindd = SUPER ALT, code:14, Switch to group window 5, changegroupactive, 5 + +# ========================== +# Utilities +# ========================== +# bindd = SUPER, Slash, Cycle monitor scaling, exec, omarchy-hyprland-monitor-scaling-cycle + +# Menus +# bindd = SUPER, SPACE, Launch apps, exec, omarchy-launch-walker +# bindd = SUPER CTRL, E, Emoji picker, exec, omarchy-launch-walker -m symbols +# bindd = SUPER CTRL, C, Capture menu, exec, omarchy-menu capture +# bindd = SUPER CTRL, O, Toggle menu, exec, omarchy-menu toggle +# bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu +# bindd = SUPER, ESCAPE, System menu, exec, omarchy-menu system +# bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system +# bindd = SUPER, K, Show key bindings, exec, omarchy-menu-keybindings +# bindd = , XF86Calculator, Calculator, exec, gnome-calculator + +# Aesthetics +# bindd = SUPER SHIFT, SPACE, Toggle top bar, exec, omarchy-toggle-waybar +# bindd = SUPER CTRL, SPACE, Theme background menu, exec, omarchy-menu background +# bindd = SUPER SHIFT CTRL, SPACE, Theme menu, exec, omarchy-menu theme +bindd = SUPER, BACKSPACE, Toggle window transparency, exec, hyprctl dispatch setprop "address:$(hyprctl activewindow -j | jq -r '.address')" opaque toggle +# bindd = SUPER SHIFT, BACKSPACE, Toggle window gaps, exec, omarchy-hyprland-window-gaps-toggle +# bindd = SUPER CTRL, Backspace, Toggle single-window square aspect, exec, omarchy-hyprland-window-single-square-aspect-toggle + +# Notifications +# bindd = SUPER, COMMA, Dismiss last notification, exec, makoctl dismiss +# bindd = SUPER SHIFT, COMMA, Dismiss all notifications, exec, makoctl dismiss --all +# bindd = SUPER CTRL, COMMA, Toggle silencing notifications, exec, omarchy-toggle-notification-silencing +# bindd = SUPER ALT, COMMA, Invoke last notification, exec, makoctl invoke +# bindd = SUPER SHIFT ALT, COMMA, Restore last notification, exec, makoctl restore + +# Toggles +# bindd = SUPER CTRL, I, Toggle locking on idle, exec, omarchy-toggle-idle +# bindd = SUPER CTRL, N, Toggle nightlight, exec, omarchy-toggle-nightlight + +# Control Apple Display brightness +# bindd = CTRL, F1, Apple Display brightness down, exec, omarchy-brightness-display-apple -5000 +# bindd = CTRL, F2, Apple Display brightness up, exec, omarchy-brightness-display-apple +5000 +# bindd = SHIFT CTRL, F2, Apple Display full brightness, exec, omarchy-brightness-display-apple +60000 + +# Captures +# bindd = , PRINT, Screenshot, exec, omarchy-cmd-screenshot +# bindd = ALT, PRINT, Screenrecording, exec, omarchy-menu screenrecord +# bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a + +# File sharing +# bindd = SUPER CTRL, S, Share, exec, omarchy-menu share + +# Waybar-less information +bindd = SUPER CTRL ALT, T, Show time, exec, notify-send " $(date +"%A %H:%M — %d %B W%V %Y")" +bindd = SUPER CTRL ALT, B, Show battery remaining, exec, notify-send "󰁹 Battery is at $(omarchy-battery-remaining)%" + +# Control panels +# bindd = SUPER CTRL, A, Audio controls, exec, omarchy-launch-audio +# bindd = SUPER CTRL, B, Bluetooth controls, exec, omarchy-launch-bluetooth +# bindd = SUPER CTRL, W, Wifi controls, exec, omarchy-launch-wifi +# bindd = SUPER CTRL, T, Activity, exec, omarchy-launch-tui btop + +# Dictation +# bindd = SUPER CTRL, X, Toggle dictation, exec, voxtype record toggle + +# Zoom +bindd = SUPER CTRL, Z, Zoom in, exec, hyprctl keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '.float + 1') +bindd = SUPER CTRL ALT, Z, Reset zoom, exec, hyprctl keyword cursor:zoom_factor 1 + +# Lock system +# bindd = SUPER CTRL, L, Lock system, exec, omarchy-lock-screen + +# ========================== +# Applications +# ========================== +bindd = SUPER, RETURN, Terminal, exec, uwsm-app -- xdg-terminal-exec # --dir="$(omarchy-cmd-terminal-cwd)" +# bindd = SUPER ALT, RETURN, Tmux, exec, uwsm-app -- xdg-terminal-exec --dir="$(omarchy-cmd-terminal-cwd)" tmux new +# bindd = SUPER SHIFT, F, File manager, exec, uwsm-app -- nautilus --new-window +# bindd = SUPER ALT SHIFT, F, File manager (cwd), exec, uwsm-app -- nautilus --new-window "$(omarchy-cmd-terminal-cwd)" +# bindd = SUPER SHIFT, B, Browser, exec, omarchy-launch-browser +# bindd = SUPER SHIFT ALT, B, Browser (private), exec, omarchy-launch-browser --private +# bindd = SUPER SHIFT, M, Music, exec, omarchy-launch-or-focus spotify +# bindd = SUPER SHIFT, N, Editor, exec, omarchy-launch-editor +# bindd = SUPER SHIFT, D, Docker, exec, omarchy-launch-tui lazydocker +# bindd = SUPER SHIFT, G, Signal, exec, omarchy-launch-or-focus ^signal$ "uwsm-app -- signal-desktop" +# bindd = SUPER SHIFT, O, Obsidian, exec, omarchy-launch-or-focus ^obsidian$ "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime" +# bindd = SUPER SHIFT, W, Typora, exec, uwsm-app -- typora --enable-wayland-ime +# bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm-app -- 1password + +# If your web app url contains #, type it as ## to prevent hyprland treating it as a comment +# bindd = SUPER SHIFT, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com" +# bindd = SUPER SHIFT ALT, A, Grok, exec, omarchy-launch-webapp "https://grok.com" +# bindd = SUPER SHIFT, C, Calendar, exec, omarchy-launch-webapp "https://app.hey.com/calendar/weeks/" +# bindd = SUPER SHIFT, E, Email, exec, omarchy-launch-webapp "https://app.hey.com" +# bindd = SUPER SHIFT, Y, YouTube, exec, omarchy-launch-webapp "https://youtube.com/" +# bindd = SUPER SHIFT ALT, G, WhatsApp, exec, omarchy-launch-or-focus-webapp WhatsApp "https://web.whatsapp.com/" +# bindd = SUPER SHIFT CTRL, G, Google Messages, exec, omarchy-launch-or-focus-webapp "Google Messages" "https://messages.google.com/web/conversations" +# bindd = SUPER SHIFT, P, Google Photos, exec, omarchy-launch-or-focus-webapp "Google Photos" "https://photos.google.com/" +# bindd = SUPER SHIFT, X, X, exec, omarchy-launch-webapp "https://x.com/" +# bindd = SUPER SHIFT ALT, X, X Post, exec, omarchy-launch-webapp "https://x.com/compose/post" + +# Add extra bindings +# bind = SUPER SHIFT, R, exec, alacritty -e ssh your-server + +# Overwrite existing bindings, like putting Omarchy Menu on Super + Space +# unbind = SUPER, SPACE +# bindd = SUPER, SPACE, Omarchy menu, exec, omarchy-menu diff --git a/.config/hypr/envs.conf b/.config/hypr/envs.conf new file mode 100644 index 0000000..6977ef2 --- /dev/null +++ b/.config/hypr/envs.conf @@ -0,0 +1,29 @@ +# Cursor size +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 + +# Force all apps to use Wayland +env = GDK_BACKEND,wayland,x11,* +env = QT_QPA_PLATFORM,wayland;xcb +env = QT_STYLE_OVERRIDE,kvantum +env = SDL_VIDEODRIVER,wayland,x11 +env = MOZ_ENABLE_WAYLAND,1 +env = ELECTRON_OZONE_PLATFORM_HINT,wayland +env = OZONE_PLATFORM,wayland +env = XDG_SESSION_TYPE,wayland + +# Allow better support for screen sharing (Google Meet, Discord, etc) +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_DESKTOP,Hyprland + +xwayland { + force_zero_scaling = true +} + +# Use XCompose file +env = XCOMPOSEFILE,~/.share/local/XCompose + +# Don't show update on first launch +ecosystem { + no_update_news = true +} diff --git a/.config/hypr/exec.conf b/.config/hypr/exec.conf deleted file mode 100644 index f492e72..0000000 --- a/.config/hypr/exec.conf +++ /dev/null @@ -1,11 +0,0 @@ -exec-once = dbus-update-activation-environment --systemd --all -exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP -exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 -exec-once = waybar & hyprpaper -exec-once = swayidle -w -exec-once = nwg-look -a -exec-once = [workspace 2 silent] firefox -exec-once = [workspace 10 silent] telegram-desktop -exec-once = [workspace 10 silent] vesktop -exec-once = [workspace 3 silent] thunderbird -exec-once = [workspace 5 silent] steam diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index b5a2417..b5695a7 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -1,6 +1,10 @@ -source = ~/.config/hypr/monitor.conf -source = ~/.config/hypr/exec.conf -source = ~/.config/hypr/bind.conf +source = ~/.config/hypr/autostart.conf +source = ~/.config/hypr/bindings.conf +source = ~/.config/hypr/envs.conf +source = ~/.config/hypr/looknfeel.conf source = ~/.config/hypr/input.conf -source = ~/.config/hypr/window.conf -source = ~/.config/hypr/windowrule.conf +source = ~/.config/hypr/windows.conf +source = ~/.config/hypr/monitors.conf +source = ~/.config/hypr/looknfeel.conf +source = ~/.config/hypr/autostart.conf +source = ~/.config/hypr/theme.conf diff --git a/.config/hypr/hyprpaper.conf b/.config/hypr/hyprpaper.conf deleted file mode 100644 index fac88b0..0000000 --- a/.config/hypr/hyprpaper.conf +++ /dev/null @@ -1,4 +0,0 @@ -#preload = ~/.config/wallpaper/wall.png -#wallpaper = HDMI-A-1, ~/.config/wallpapers/wall.png -splash = false - diff --git a/.config/hypr/input.conf b/.config/hypr/input.conf index 7933132..323ec76 100644 --- a/.config/hypr/input.conf +++ b/.config/hypr/input.conf @@ -1,16 +1,71 @@ +# https://wiki.hyprland.org/Configuring/Variables/#input input { - kb_layout = gb, us, ro + # Use multiple keyboard layouts and switch between them with Left Alt + Right Alt + kb_layout = gb,ro + # Use a specific keyboard variant if needed (e.g. intl for international keyboards) + # kb_variant = intl + # kb_model = + kb_options = compose:caps + # kb_rules = - kb_variant = - kb_model = - kb_options = grp:alt_shift_toggle, caps:swapescape - kb_rules = + # Change speed of keyboard repeat + repeat_rate = 40 + repeat_delay = 600 - follow_mouse = 1 + # Start with numlock on by default + numlock_by_default = true - touchpad { - natural_scroll = no - } - sensitivity = 0 # -1.0 -1.0, 0 means no modification + follow_mouse = 1 + + # Increase sensitivity for mouse/trackpad (default: 0) + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + + # Turn off mouse acceleration (default: false) + # force_no_accel = true + + # Use natural (inverse) scrolling + # natural_scroll = true + + # Use two-finger clicks for right-click instead of lower-right corner + # clickfinger_behavior = true + + # Control the speed of your scrolling + scroll_factor = 0.4 + + # Enable the touchpad while typing + # disable_while_typing = false + + # Left-click-and-drag with three fingers + # drag_3fg = 1 + + touchpad { + # Use natural (inverse) scrolling + natural_scroll = false + + # Use two-finger clicks for right-click instead of lower-right corner + # clickfinger_behavior = true + + # Control the speed of your scrolling + scroll_factor = 0.4 + + # Enable the touchpad while typing + # disable_while_typing = false + + # Left-click-and-drag with three fingers + # drag_3fg = 1 + } } + +misc { + key_press_enables_dpms = true # key press will trigger wake + mouse_move_enables_dpms = true # mouse move will trigger wake +} + +# Scroll nicely in the terminal +windowrule = match:class (Alacritty|kitty), scroll_touchpad 1.5 +windowrule = match:class com.mitchellh.ghostty, scroll_touchpad 0.2 + +# Enable touchpad gestures for changing workspaces +# See https://wiki.hyprland.org/Configuring/Gestures/ +# gesture = 3, horizontal, workspace diff --git a/.config/hypr/looknfeel.conf b/.config/hypr/looknfeel.conf new file mode 100644 index 0000000..e4232ce --- /dev/null +++ b/.config/hypr/looknfeel.conf @@ -0,0 +1,156 @@ +# Variables +$activeBorderColor = rgba(33ccffee) rgba(00ff99ee) 45deg +$inactiveBorderColor = rgba(595959aa) + +# https://wiki.hyprland.org/Configuring/Variables/#general +general { + gaps_in = 5 + gaps_out = 10 + + border_size = 2 + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + col.active_border = $activeBorderColor + col.inactive_border = $inactiveBorderColor + + # Set to true enable resizing windows by clicking and dragging on borders and gaps + resize_on_border = false + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false + + # layout = scrolling # Change to niri-like side-scrolling layout + layout = dwindle +} + +# https://wiki.hyprland.org/Configuring/Variables/#decoration +decoration { + # rounding = 8 # Use round window corners + rounding = 0 + + # Dim unfocused windows (0.0 = no dim, 1.0 = fully dimmed) + # dim_inactive = true + # dim_strength = 0.15 + + shadow { + enabled = true + range = 2 + render_power = 3 + color = rgba(1a1a1aee) + } + + # https://wiki.hyprland.org/Configuring/Variables/#blur + blur { + enabled = true + size = 2 + passes = 2 + special = true + brightness = 0.60 + contrast = 0.75 + } +} + +# https://wiki.hypr.land/Configuring/Variables/#group +group { + col.border_active = $activeBorderColor + col.border_inactive = $inactiveBorderColor + col.border_locked_active = -1 + col.border_locked_inactive = -1 + + groupbar { + font_size = 12 + font_family = monospace + font_weight_active = ultraheavy + font_weight_inactive = normal + + indicator_height = 0 + indicator_gap = 5 + height = 22 + gaps_in = 5 + gaps_out = 0 + + text_color = rgb(ffffff) + text_color_inactive = rgba(ffffff90) + col.active = rgba(00000040) + col.inactive = rgba(00000020) + + gradients = true + gradient_rounding = 0 + gradient_round_only_edges = false + } +} + + +# https://wiki.hyprland.org/Configuring/Variables/#animations +animations { + # enabled = no # Disable all animations + enabled = yes, please :) + + # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = easeOutQuint,0.23,1,0.32,1 + bezier = easeInOutCubic,0.65,0.05,0.36,1 + bezier = linear,0,0,1,1 + bezier = almostLinear,0.5,0.5,0.75,1.0 + bezier = quick,0.15,0,0.1,1 + + animation = global, 1, 10, default + animation = border, 1, 5.39, easeOutQuint + animation = windows, 1, 4.79, easeOutQuint + animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% + animation = windowsOut, 1, 1.49, linear, popin 87% + animation = fadeIn, 1, 1.73, almostLinear + animation = fadeOut, 1, 1.46, almostLinear + animation = fade, 1, 3.03, quick + animation = layers, 1, 3.81, easeOutQuint + animation = layersIn, 1, 4, easeOutQuint, fade + animation = layersOut, 1, 1.5, linear, fade + animation = fadeLayersIn, 1, 1.79, almostLinear + animation = fadeLayersOut, 1, 1.39, almostLinear + animation = workspaces, 0, 0, ease +} + +# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more +dwindle { + pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # You probably want this + force_split = 2 # Always split on the right +} + +# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more +master { + new_status = master +} + +# https://wiki.hyprland.org/Configuring/Variables/#misc +misc { + disable_hyprland_logo = true + disable_splash_rendering = true + focus_on_activate = true + anr_missed_pings = 3 + on_focus_under_fullscreen = 1 +} + +# https://wiki.hypr.land/Configuring/Variables/#cursor +cursor { + hide_on_key_press = true + warp_on_change_workspace = 1 +} + +# Auto toggle scratchpad on switching workspace from scratchpad +binds { + hide_special_on_workspace_change = true +} + +# https://wiki.hypr.land/Configuring/Variables/#layout +layout { + # Avoid overly wide single-window layouts on wide screens + # single_window_aspect_ratio = 1 1 +} + +# Style Gum confirm to match terminal theme +env = GUM_CONFIRM_PROMPT_FOREGROUND,6 # Cyan +env = GUM_CONFIRM_SELECTED_FOREGROUND,0 # Black +env = GUM_CONFIRM_SELECTED_BACKGROUND,2 # Green +env = GUM_CONFIRM_UNSELECTED_FOREGROUND,7 # White +env = GUM_CONFIRM_UNSELECTED_BACKGROUND,8 # Dark grey diff --git a/.config/hypr/monitor.conf b/.config/hypr/monitor.conf deleted file mode 100644 index 5fb209c..0000000 --- a/.config/hypr/monitor.conf +++ /dev/null @@ -1 +0,0 @@ -monitor=HDMI-A-1,2560x1440@164.835999, 0x0, 1 diff --git a/.config/hypr/monitors.conf b/.config/hypr/monitors.conf new file mode 100644 index 0000000..557c7ff --- /dev/null +++ b/.config/hypr/monitors.conf @@ -0,0 +1,23 @@ +# See https://wiki.hyprland.org/Configuring/Monitors/ +# List current monitors and resolutions possible: hyprctl monitors +# Format: monitor = [port], resolution, position, scale + +# Optimized for retina-class 2x displays, like 13" 2.8K, 27" 5K, 32" 6K. +env = GDK_SCALE,2 +monitor=,preferred,auto,auto + +# Good compromise for 27" or 32" 4K monitors (but fractional!) +# env = GDK_SCALE,1.75 +# monitor=,preferred,auto,1.6 + +# Straight 1x setup for low-resolution displays like 1080p or 1440p +# Or for ultrawide monitors like 34" 3440x1440 or 49" 5120x1440 +# env = GDK_SCALE,1 +# monitor=,preferred,auto,1 + +# Portrait/rotated secondary monitor (transform: 1 = 90°, 3 = 270°) +# monitor = DP-2, preferred, auto, 1, transform, 1 + +# Example for Framework 13 w/ 6K XDR Apple display +# monitor = DP-5, 6016x3384@60, auto, 2 +# monitor = eDP-1, 2880x1920@120, auto, 2 diff --git a/.config/hypr/window.conf b/.config/hypr/window.conf deleted file mode 100644 index ddb3289..0000000 --- a/.config/hypr/window.conf +++ /dev/null @@ -1,55 +0,0 @@ -general { - gaps_in = 5 - gaps_out = 10 - border_size = 1 - col.active_border = rgb(8aadf4) rgb(24273a) rgb(24273a) rgb(8aadf4) 45deg - col.inactive_border = rgb(24273a) rgb(24273a) rgb(24273a) rgb(24273a) 45deg - layout = dwindle - allow_tearing = false -} - -decoration { - rounding = 10 - blur { - enabled = true - size = 2 - passes = 2 - new_optimizations = true - xray = true - } - drop_shadow = yes - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) -} - -animations { - enabled = yes - bezier = overshot, 0.05, 0.9, 0.1, 1.05 - bezier = smoothOut, 0.3, 0, 0.66, -0.56 - bezier = smoothIn, 0.25, 1, 0.5, 1 - animation = windows, 1, 5, overshot, slide - animation = windowsOut, 1, 4, smoothOut, slide - animation = windowsMove, 1, 4, default - animation = border, 1, 10, default - animation = fade, 1, 10, smoothIn - animation = fadeDim, 1, 10, smoothIn - animation = workspaces, 1, 6, default -} - -dwindle { - pseudotile = yes - preserve_split = yes -} - -master { - new_is_master = true -} - -gestures { - workspace_swipe = off -} - -misc { - force_default_wallpaper = 0 -} diff --git a/.config/hypr/windowrule.conf b/.config/hypr/windowrule.conf deleted file mode 100644 index c19a2db..0000000 --- a/.config/hypr/windowrule.conf +++ /dev/null @@ -1,33 +0,0 @@ -windowrule = float, file_progress -windowrule = float, confirm -windowrule = float, dialog -windowrule = float, download -windowrule = float, notification -windowrule = float, error -windowrule = float, splash -windowrule = float, confirmreset -windowrule = float, title:Open File -windowrule = float, title:branchdialog -windowrule = float, viewnior -windowrule = float, pavucontrol-qt -windowrule = float, pavucontrol -windowrule = float, file-roller -windowrule = fullscreen, wlogout -windowrule = float, title:wlogout -windowrule = fullscreen, title:wlogout -windowrule = idleinhibit stayfocused, mpv -windowrulev2 = float, title:^(Media viewer)$ - -# Picture in picture windows -windowrulev2 = float, title:^(Picture-inPicture)$ -windowrulev2 = pin, title:^(Picture-inPicture)$ -windowrulev2 = float, class:^(vesktop)$,title:^(Discord Popout)$ -windowrulev2 = pin, class:^(vesktop)$,title:^(Discord Popout)$ -windowrulev2 = float, class:^(steam)$,title:^(Friends List)$ - -# Workspace assign -windowrulev2 = workspace: 1, class:^(kitty)$ -windowrulev2 = workspace: 2, class:^(firefox)$ -windowrulev2 = workspace: 5, class:^(steam)$ -windowrulev2 = workspace: 10, class:^(org.telegram.desktop)$ -windowrulev2 = workspace: 10, class:^(vesktop)$ diff --git a/.config/hypr/windows.conf b/.config/hypr/windows.conf new file mode 100644 index 0000000..f18f77e --- /dev/null +++ b/.config/hypr/windows.conf @@ -0,0 +1,15 @@ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +# Hyprland 0.53+ syntax +windowrule = suppress_event maximize, match:class .* + +# Tag all windows for default opacity (apps can override with -default-opacity tag) +windowrule = tag +default-opacity, match:class .* + +# Fix some dragging issues with XWayland +windowrule = no_focus on, match:class ^$, match:title ^$, match:xwayland 1, match:float 1, match:fullscreen 0, match:pin 0 + +# App-specific tweaks (may remove default-opacity tag) +source = ~/.config/hypr/apps.conf + +# Apply default opacity after apps have had a chance to opt out +windowrule = opacity 0.97 0.9, match:tag default-opacity