diff options
Diffstat (limited to 'common/home/mosder/.config/hypr')
| -rw-r--r-- | common/home/mosder/.config/hypr/conf/vars.lua | 30 | ||||
| -rw-r--r-- | common/home/mosder/.config/hypr/hyprland.conf | 280 | ||||
| -rw-r--r-- | common/home/mosder/.config/hypr/hyprland.lua | 274 | ||||
| -rwxr-xr-x | common/home/mosder/.config/hypr/scripts/equalize-windows.sh | 87 | ||||
| -rwxr-xr-x | common/home/mosder/.config/hypr/scripts/zoom.sh | 4 |
5 files changed, 306 insertions, 369 deletions
diff --git a/common/home/mosder/.config/hypr/conf/vars.lua b/common/home/mosder/.config/hypr/conf/vars.lua new file mode 100644 index 0000000..5489d35 --- /dev/null +++ b/common/home/mosder/.config/hypr/conf/vars.lua @@ -0,0 +1,30 @@ +------------------- +---- VARIABLES ---- +------------------- + +-- Shared between hyprland.lua and every file it requires. +-- Get them with: local vars = require("conf.vars") + +return { + -- Files and locations + scripts_dir = os.getenv("HOME") .. "/.config/hypr/scripts", + log_file = os.getenv("HOME") .. "/.hypr.log", + + -- Used programs + browser = "brave --enable-features=UseOzonePlatform --ozone-platform=wayland --disable-features=UseChromeOSDirectVideoDecoder", + discord = "discord --enable-features=UseOzonePlatform --ozone-platform=wayland", + terminal = "wezterm", + editor = "nvim", + steam = "steam", + file_manager = "thunar", + menu = "wofi", + lockscreen = "hyprlock", + status_bar = "waybar", + wallpaper_manager = "hyprpaper", + idle_manager = "hypridle", + automount = "udiskie", + osd = "swayosd", + notification_daemon = "dunst", + color_picker = "hyprpicker", + screenshot = "hyprshot", +} diff --git a/common/home/mosder/.config/hypr/hyprland.conf b/common/home/mosder/.config/hypr/hyprland.conf deleted file mode 100644 index 05b8a49..0000000 --- a/common/home/mosder/.config/hypr/hyprland.conf +++ /dev/null @@ -1,280 +0,0 @@ -################# -### VARIABLES ### -################# - -# Files and locations -$SCRIPTS_DIR = $HOME/.config/hypr/scripts -$LOG_FILE = $HOME/.hypr.log - -# Used programs -$BROWSER = brave --enable-features=UseOzonePlatform --ozone-platform=wayland --disable-features=UseChromeOSDirectVideoDecoder -$DISCORD = discord --enable-features=UseOzonePlatform --ozone-platform=wayland -$TERMINAL = wezterm -$EDITOR = nvim -$STEAM = steam -$FILE_MANAGER = thunar -$MENU = wofi -$LOCKSCREEN = hyprlock -$STATUS_BAR = waybar -$WALLPAPER_MANAGER = hyprpaper -$IDLE_MANAGER = hypridle -$AUTOMOUNT = udiskie -$OSD = swayosd -$NOTIFICATION_DAEMON = dunst -$COLOR_PICKER = hyprpicker -$SCREENSHOT = hyprshot - -##################### -### ENV VARIABLES ### -##################### - -source = ~/.config/hypr/conf/env.conf - -# Gtk - nwglook -env = GTK_THEME, catppuccin-mocha-mauve-standard+default - -# Qt - adwaita dark -env = QT_QPA_PLATFORM, wayland -env = QT_QPA_PLATFORMTHEME, qt5ct - -# Cursor -env = XCURSOR_THEME, rose-pine-cursor -env = XCURSOR_SIZE, 24 -env = HYPRCURSOR_THEME, rose-pine-hyprcursor -env = HYPRCURSOR_SIZE, 24 - -# Misc -env = EDITOR, $EDITOR -env = MAX_ZOOM, 3 - -################ -### MONITORS ### -################ - -source = ~/.config/hypr/conf/monitors.conf - -################# -### AUTOSTART ### -################# - -source = ~/.config/hypr/conf/autostart.conf - -# Utils -exec-once = systemctl --user start hyprpolkitagent -exec-once = $STATUS_BAR -exec-once = $WALLPAPER_MANAGER -exec-once = $IDLE_MANAGER -exec-once = $AUTOMOUNT -exec-once = $OSD-server - -# Programs -exec-once = [workspace 1 silent] $BROWSER -exec-once = [workspace 2 silent] $DISCORD -exec-once = [workspace 3 silent] $TERMINAL - -# Use lockscreen as login -exec-once = $LOCKSCREEN - -################## -### CATEGORIES ### -################## - -general { - gaps_in = 1 - gaps_out = 1 - - col.active_border = rgb(df00ff) rgb(ff10f0) 45deg - col.inactive_border = rgba(595959aa) - - no_focus_fallback = true -} - -animations { - 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 - bezier = quick, 0.15, 0, 0.1, 1 - - animation = global, 1, 7.5, default - animation = border, 1, 4.04, easeOutQuint - animation = windows, 1, 3.59, easeOutQuint - animation = windowsIn, 1, 3.07, easeOutQuint, popin 87% - animation = windowsOut, 1, 1.11, linear, popin 87% - animation = fadeIn, 1, 1.29, almostLinear - animation = fadeOut, 1, 1.09, almostLinear - animation = fade, 1, 2.27, quick - animation = layers, 1, 2.85, easeOutQuint - animation = layersIn, 1, 3, easeOutQuint, fade - animation = layersOut, 1, 1.12, linear, fade - animation = fadeLayersIn, 1, 1.34, almostLinear - animation = fadeLayersOut, 1, 1.04, almostLinear - animation = workspaces, 1, 1.45, almostLinear, fade - animation = workspacesIn, 1, 0.9, almostLinear, fade - animation = workspacesOut, 1, 1.45, almostLinear, fade - animation = zoomFactor, 1, 5.25, quick -} - -input { - kb_layout = pl - - kb_options = caps:escape - - numlock_by_default = true - - repeat_rate = 40 - repeat_delay = 400 - - follow_mouse = 2 -} - -misc { - disable_hyprland_logo = true - - focus_on_activate = false - - middle_click_paste = false -} - -cursor:zoom_rigid = true - -ecosystem:no_donation_nag = true - -dwindle { - force_split = 2 - preserve_split = true -} - -source = ~/.config/hypr/conf/categories.conf - -############# -### BINDS ### -############# - -# General -bind = SUPER, Q, killactive, -bind = SUPER, V, layoutmsg, togglesplit -bind = SUPER SHIFT, F, togglefloating -bindm = SUPER, mouse:273, resizewindow -bind = SUPER, N, exec, dunstctl close-all -bind = SUPER, slash, exec, $LOCKSCREEN -bind = ALT, SPACE, exec, pkill $MENU || $MENU - -# Launch programs -bind = SUPER, T, exec, $TERMINAL -bind = SUPER, F, exec, $FILE_MANAGER -bind = SUPER, C, exec, $TERMINAL start -- $EDITOR -bind = SUPER, B, exec, $BROWSER -bind = SUPER, D, exec, $DISCORD -bind = SUPER, S, exec, $STEAM -bind = SUPER SHIFT, P, exec, $COLOR_PICKER -a -bind = SUPER SHIFT, M, exec, $SCRIPTS_DIR/zoom.sh - -# Take screenshots -bind = SUPER SHIFT, S, exec, $SCREENSHOT -m region --clipboard-only - -# Passthru keybinds to VMs -bind = SUPER, P, exec, notify-send "Entered passthru submap" -bind = SUPER, P, submap, passthru -submap = passthru -bind = SUPER, P, submap, reset -submap = reset - -# Move focus -bind = ALT, Tab, cyclenext -bind = SUPER, left, movefocus, l -bind = SUPER, down, movefocus, d -bind = SUPER, up, movefocus, u -bind = SUPER, right, movefocus, r -bind = SUPER, H, movefocus, l -bind = SUPER, J, movefocus, d -bind = SUPER, K, movefocus, u -bind = SUPER, L, movefocus, r - -# Swap windows -bind = SUPER SHIFT, left, swapwindow, l -bind = SUPER SHIFT, down, swapwindow, d -bind = SUPER SHIFT, up, swapwindow, u -bind = SUPER SHIFT, right, swapwindow, r -bind = SUPER SHIFT, H, swapwindow, l -bind = SUPER SHIFT, J, swapwindow, d -bind = SUPER SHIFT, K, swapwindow, u -bind = SUPER SHIFT, L, swapwindow, r - -# Equalize windows -bind = SUPER ALT, H, exec, $SCRIPTS_DIR/equalize-windows.sh l -bind = SUPER ALT, V, exec, $SCRIPTS_DIR/equalize-windows.sh u - -# Resize windows manually -bind = SUPER, R, exec, notify-send "Entered resize submap" -bind = SUPER, R, submap, resize -submap = resize -binde = , left, resizeactive, -10 0 -binde = , down, resizeactive, 0 10 -binde = , up, resizeactive, 0 -10 -binde = , right, resizeactive, 10 0 -binde = , H, resizeactive, -10 0 -binde = , J, resizeactive, 0 10 -binde = , K, resizeactive, 0 -10 -binde = , L, resizeactive, 10 0 -bind = , Escape, submap, reset -bind = , Return, submap, reset -bind = CTRL_L, C, submap, reset -bind = SUPER, R, submap, reset -submap = reset - -# Switch workspaces -bind = SUPER, 1, workspace, 1 -bind = SUPER, 2, workspace, 2 -bind = SUPER, 3, workspace, 3 -bind = SUPER, 4, workspace, 4 -bind = SUPER, 5, workspace, 5 -bind = SUPER, 6, workspace, 6 -bind = SUPER, 7, workspace, 7 -bind = SUPER, 8, workspace, 8 -bind = SUPER, 9, workspace, 9 -bind = SUPER, 0, workspace, 10 - -# Move active window to a workspace -bind = SUPER SHIFT, 1, movetoworkspace, 1 -bind = SUPER SHIFT, 2, movetoworkspace, 2 -bind = SUPER SHIFT, 3, movetoworkspace, 3 -bind = SUPER SHIFT, 4, movetoworkspace, 4 -bind = SUPER SHIFT, 5, movetoworkspace, 5 -bind = SUPER SHIFT, 6, movetoworkspace, 6 -bind = SUPER SHIFT, 7, movetoworkspace, 7 -bind = SUPER SHIFT, 8, movetoworkspace, 8 -bind = SUPER SHIFT, 9, movetoworkspace, 9 -bind = SUPER SHIFT, 0, movetoworkspace, 10 - -# Move current workspace to another monitor -bind = SUPER, M, movecurrentworkspacetomonitor, +1 - -# Volume controls -bindel = , XF86AudioRaiseVolume, exec, $OSD-client --output-volume raise --max-volume 95 -bindel = , XF86AudioLowerVolume, exec, $OSD-client --output-volume lower -bindel = , XF86AudioMute, exec, $OSD-client --output-volume mute-toggle -bindel = , XF86AudioMicMute, exec, $OSD-client --input-volume mute-toggle - -# Player controls -bindl = , XF86AudioNext, exec, $OSD-client --playerctl next -bindl = , XF86AudioPause, exec, $OSD-client --playerctl play-pause -bindl = , XF86AudioPlay, exec, $OSD-client --playerctl play-pause -bindl = , XF86AudioPrev, exec, $OSD-client --playerctl previous - -source = ~/.config/hypr/conf/binds.conf - -############################## -### WINDOWS AND WORKSPACES ### -############################## - -source = ~/.config/hypr/conf/rules.conf - -# Force discord to stay at 2nd workspace -windowrule = workspace 2 silent, match:class ^(discord)$ - -# Force steam to stay at 5th workspace -windowrule = workspace 5 silent, match:class ^(steam)$ - -# Ignore maximize requests from apps -windowrule = suppress_event maximize, match:class .* diff --git a/common/home/mosder/.config/hypr/hyprland.lua b/common/home/mosder/.config/hypr/hyprland.lua new file mode 100644 index 0000000..4e54a39 --- /dev/null +++ b/common/home/mosder/.config/hypr/hyprland.lua @@ -0,0 +1,274 @@ +------------------- +---- VARIABLES ---- +------------------- + +-- Files, locations and used programs live in conf/vars.lua so that every +-- required file can get to them as well. +local vars = require("conf.vars") + +----------------------- +---- ENV VARIABLES ---- +----------------------- + +require("conf.env") + +-- Gtk - nwglook +hl.env("GTK_THEME", "catppuccin-mocha-mauve-standard+default") + +-- Qt - adwaita dark +hl.env("QT_QPA_PLATFORM", "wayland") +hl.env("QT_QPA_PLATFORMTHEME", "qt5ct") + +-- Cursor +hl.env("XCURSOR_THEME", "rose-pine-cursor") +hl.env("XCURSOR_SIZE", "24") +hl.env("HYPRCURSOR_THEME", "rose-pine-hyprcursor") +hl.env("HYPRCURSOR_SIZE", "24") + +-- Misc +hl.env("EDITOR", vars.editor) +hl.env("MAX_ZOOM", "3") + +------------------ +---- MONITORS ---- +------------------ + +require("conf.monitors") + +------------------- +---- AUTOSTART ---- +------------------- + +require("conf.autostart") + +hl.on("hyprland.start", function() + -- Utils + hl.exec_cmd("systemctl --user start hyprpolkitagent") + hl.exec_cmd(vars.status_bar) + hl.exec_cmd(vars.wallpaper_manager) + hl.exec_cmd(vars.idle_manager) + hl.exec_cmd(vars.automount) + hl.exec_cmd(vars.osd .. "-server") + + -- Programs + hl.dispatch(hl.dsp.exec_cmd(vars.browser, { workspace = "1 silent" })) + hl.dispatch(hl.dsp.exec_cmd(vars.discord, { workspace = "2 silent" })) + hl.dispatch(hl.dsp.exec_cmd(vars.terminal, { workspace = "3 silent" })) + + -- Use lockscreen as login + hl.exec_cmd(vars.lockscreen) +end) + +-------------------- +---- CATEGORIES ---- +-------------------- + +hl.config({ + general = { + gaps_in = 1, + gaps_out = 1, + + col = { + active_border = { colors = { "rgb(df00ff)", "rgb(ff10f0)" }, angle = 45 }, + inactive_border = "rgba(595959aa)", + }, + + no_focus_fallback = true, + }, + + animations = { + enabled = true, + }, + + input = { + kb_layout = "pl", + + kb_options = "caps:escape", + + numlock_by_default = true, + + repeat_rate = 40, + repeat_delay = 400, + + follow_mouse = 2, + }, + + misc = { + disable_hyprland_logo = true, + + focus_on_activate = false, + + middle_click_paste = false, + }, + + cursor = { + zoom_rigid = true, + }, + + ecosystem = { + no_donation_nag = true, + }, + + dwindle = { + force_split = 2, + preserve_split = true, + }, +}) + +hl.curve("easeOutQuint", { type = "bezier", points = { { 0.23, 1 }, { 0.32, 1 } } }) +hl.curve("easeInOutCubic", { type = "bezier", points = { { 0.65, 0.05 }, { 0.36, 1 } } }) +hl.curve("linear", { type = "bezier", points = { { 0, 0 }, { 1, 1 } } }) +hl.curve("almostLinear", { type = "bezier", points = { { 0.5, 0.5 }, { 0.75, 1 } } }) +hl.curve("quick", { type = "bezier", points = { { 0.15, 0 }, { 0.1, 1 } } }) + +hl.animation({ leaf = "global", enabled = true, speed = 7.5, bezier = "default" }) +hl.animation({ leaf = "border", enabled = true, speed = 4.04, bezier = "easeOutQuint" }) +hl.animation({ leaf = "windows", enabled = true, speed = 3.59, bezier = "easeOutQuint" }) +hl.animation({ leaf = "windowsIn", enabled = true, speed = 3.07, bezier = "easeOutQuint", style = "popin 87%" }) +hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.11, bezier = "linear", style = "popin 87%" }) +hl.animation({ leaf = "fadeIn", enabled = true, speed = 1.29, bezier = "almostLinear" }) +hl.animation({ leaf = "fadeOut", enabled = true, speed = 1.09, bezier = "almostLinear" }) +hl.animation({ leaf = "fade", enabled = true, speed = 2.27, bezier = "quick" }) +hl.animation({ leaf = "layers", enabled = true, speed = 2.85, bezier = "easeOutQuint" }) +hl.animation({ leaf = "layersIn", enabled = true, speed = 3, bezier = "easeOutQuint", style = "fade" }) +hl.animation({ leaf = "layersOut", enabled = true, speed = 1.12, bezier = "linear", style = "fade" }) +hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 1.34, bezier = "almostLinear" }) +hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 1.04, bezier = "almostLinear" }) +hl.animation({ leaf = "workspaces", enabled = true, speed = 1.45, bezier = "almostLinear", style = "fade" }) +hl.animation({ leaf = "workspacesIn", enabled = true, speed = 0.9, bezier = "almostLinear", style = "fade" }) +hl.animation({ leaf = "workspacesOut", enabled = true, speed = 1.45, bezier = "almostLinear", style = "fade" }) +hl.animation({ leaf = "zoomFactor", enabled = true, speed = 5.25, bezier = "quick" }) + +require("conf.categories") + +--------------- +---- BINDS ---- +--------------- + +-- General +hl.bind("SUPER + Q", hl.dsp.window.close()) +hl.bind("SUPER + V", hl.dsp.layout("togglesplit")) +hl.bind("SUPER + SHIFT + F", hl.dsp.window.float({ action = "toggle" })) +hl.bind("SUPER + mouse:273", hl.dsp.window.resize(), { mouse = true }) +hl.bind("SUPER + N", hl.dsp.exec_cmd("dunstctl close-all")) +hl.bind("SUPER + slash", hl.dsp.exec_cmd(vars.lockscreen)) +hl.bind("ALT + space", hl.dsp.exec_cmd("pkill " .. vars.menu .. " || " .. vars.menu)) + +-- Launch programs +hl.bind("SUPER + T", hl.dsp.exec_cmd(vars.terminal)) +hl.bind("SUPER + F", hl.dsp.exec_cmd(vars.file_manager)) +hl.bind("SUPER + C", hl.dsp.exec_cmd(vars.terminal .. " start -- " .. vars.editor)) +hl.bind("SUPER + B", hl.dsp.exec_cmd(vars.browser)) +hl.bind("SUPER + D", hl.dsp.exec_cmd(vars.discord)) +hl.bind("SUPER + S", hl.dsp.exec_cmd(vars.steam)) +hl.bind("SUPER + SHIFT + P", hl.dsp.exec_cmd(vars.color_picker .. " -a")) +hl.bind("SUPER + SHIFT + M", hl.dsp.exec_cmd(vars.scripts_dir .. "/zoom.sh")) + +-- Take screenshots +hl.bind("SUPER + SHIFT + S", hl.dsp.exec_cmd(vars.screenshot .. " -m region --clipboard-only")) + +-- Passthru keybinds to VMs +hl.bind("SUPER + P", function() + hl.dispatch(hl.dsp.exec_cmd('notify-send "Entered passthru submap"')) + hl.dispatch(hl.dsp.submap("passthru")) +end) +hl.define_submap("passthru", function() + hl.bind("SUPER + P", hl.dsp.submap("reset")) +end) + +-- Move focus +hl.bind("ALT + Tab", hl.dsp.window.cycle_next()) +hl.bind("SUPER + left", hl.dsp.focus({ direction = "l" })) +hl.bind("SUPER + down", hl.dsp.focus({ direction = "d" })) +hl.bind("SUPER + up", hl.dsp.focus({ direction = "u" })) +hl.bind("SUPER + right", hl.dsp.focus({ direction = "r" })) +hl.bind("SUPER + H", hl.dsp.focus({ direction = "l" })) +hl.bind("SUPER + J", hl.dsp.focus({ direction = "d" })) +hl.bind("SUPER + K", hl.dsp.focus({ direction = "u" })) +hl.bind("SUPER + L", hl.dsp.focus({ direction = "r" })) + +-- Swap windows +hl.bind("SUPER + SHIFT + left", hl.dsp.window.swap({ direction = "l" })) +hl.bind("SUPER + SHIFT + down", hl.dsp.window.swap({ direction = "d" })) +hl.bind("SUPER + SHIFT + up", hl.dsp.window.swap({ direction = "u" })) +hl.bind("SUPER + SHIFT + right", hl.dsp.window.swap({ direction = "r" })) +hl.bind("SUPER + SHIFT + H", hl.dsp.window.swap({ direction = "l" })) +hl.bind("SUPER + SHIFT + J", hl.dsp.window.swap({ direction = "d" })) +hl.bind("SUPER + SHIFT + K", hl.dsp.window.swap({ direction = "u" })) +hl.bind("SUPER + SHIFT + L", hl.dsp.window.swap({ direction = "r" })) + +-- Resize windows manually +hl.bind("SUPER + R", function() + hl.dispatch(hl.dsp.exec_cmd('notify-send "Entered resize submap"')) + hl.dispatch(hl.dsp.submap("resize")) +end) +hl.define_submap("resize", function() + hl.bind("left", hl.dsp.window.resize({ x = -10, y = 0, relative = true }), { repeating = true }) + hl.bind("down", hl.dsp.window.resize({ x = 0, y = 10, relative = true }), { repeating = true }) + hl.bind("up", hl.dsp.window.resize({ x = 0, y = -10, relative = true }), { repeating = true }) + hl.bind("right", hl.dsp.window.resize({ x = 10, y = 0, relative = true }), { repeating = true }) + hl.bind("H", hl.dsp.window.resize({ x = -10, y = 0, relative = true }), { repeating = true }) + hl.bind("J", hl.dsp.window.resize({ x = 0, y = 10, relative = true }), { repeating = true }) + hl.bind("K", hl.dsp.window.resize({ x = 0, y = -10, relative = true }), { repeating = true }) + hl.bind("L", hl.dsp.window.resize({ x = 10, y = 0, relative = true }), { repeating = true }) + hl.bind("Escape", hl.dsp.submap("reset")) + hl.bind("Return", hl.dsp.submap("reset")) + hl.bind("CTRL + C", hl.dsp.submap("reset")) + hl.bind("SUPER + R", hl.dsp.submap("reset")) +end) + +-- Switch workspaces +-- Move active window to a workspace +for i = 1, 10 do + local key = i % 10 -- 10 maps to key 0 + hl.bind("SUPER + " .. key, hl.dsp.focus({ workspace = i })) + hl.bind("SUPER + SHIFT + " .. key, hl.dsp.window.move({ workspace = i })) +end + +-- Move current workspace to another monitor +hl.bind("SUPER + M", hl.dsp.workspace.move({ monitor = "+1" })) + +-- Volume controls +hl.bind( + "XF86AudioRaiseVolume", + hl.dsp.exec_cmd(vars.osd .. "-client --output-volume raise --max-volume 95"), + { locked = true, repeating = true } +) +hl.bind( + "XF86AudioLowerVolume", + hl.dsp.exec_cmd(vars.osd .. "-client --output-volume lower"), + { locked = true, repeating = true } +) +hl.bind( + "XF86AudioMute", + hl.dsp.exec_cmd(vars.osd .. "-client --output-volume mute-toggle"), + { locked = true, repeating = true } +) +hl.bind( + "XF86AudioMicMute", + hl.dsp.exec_cmd(vars.osd .. "-client --input-volume mute-toggle"), + { locked = true, repeating = true } +) + +-- Player controls +hl.bind("XF86AudioNext", hl.dsp.exec_cmd(vars.osd .. "-client --playerctl next"), { locked = true }) +hl.bind("XF86AudioPause", hl.dsp.exec_cmd(vars.osd .. "-client --playerctl play-pause"), { locked = true }) +hl.bind("XF86AudioPlay", hl.dsp.exec_cmd(vars.osd .. "-client --playerctl play-pause"), { locked = true }) +hl.bind("XF86AudioPrev", hl.dsp.exec_cmd(vars.osd .. "-client --playerctl previous"), { locked = true }) + +require("conf.binds") + +-------------------------------- +---- WINDOWS AND WORKSPACES ---- +-------------------------------- + +require("conf.rules") + +-- Force discord to stay at 2nd workspace +hl.window_rule({ match = { class = "^(discord)$" }, workspace = "2 silent" }) + +-- Force steam to stay at 5th workspace +hl.window_rule({ match = { class = "^(steam)$" }, workspace = "5 silent" }) + +-- Ignore maximize requests from apps +hl.window_rule({ match = { class = ".*" }, suppress_event = "maximize" }) diff --git a/common/home/mosder/.config/hypr/scripts/equalize-windows.sh b/common/home/mosder/.config/hypr/scripts/equalize-windows.sh deleted file mode 100755 index cd43729..0000000 --- a/common/home/mosder/.config/hypr/scripts/equalize-windows.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/bin/bash - -ITERS=3 - -# get address of the window to return to -address=$(hyprctl activewindow | awk -F" " 'NR==1 {print $2}') - -# define move directions -dir1=$1 -dir2=r -if [[ $dir1 == u ]]; then - dir2=d -fi - -# move max to the left/top -prev_window="" -window=$(hyprctl activewindow | awk -F" " 'NR==1 {print $2}') -while [[ $window != $prev_window ]]; do - hyprctl dispatch movefocus $dir1 - prev_window=$window - window=$(hyprctl activewindow | awk -F" " 'NR==1 {print $2}') -done - -# get start location -at=$(hyprctl activewindow | awk -F" " 'NR==4 {print $2}') -if [[ $dir1 == l ]]; then - start_location=$(echo $at | awk -F"," '{print $1}') -else - start_location=$(echo $at | awk -F"," '{print $2}') -fi - -# count windows in the line -window_count=0 -prev_window="" -while [[ $window != $prev_window ]]; do - hyprctl dispatch movefocus $dir2 - prev_window=$window - window=$(hyprctl activewindow | awk -F" " 'NR==1 {print $2}') - window_count=$(($window_count+1)) -done - -# get end location -at=$(hyprctl activewindow | awk -F" " 'NR==4 {print $2}') -size=$(hyprctl activewindow | awk -F" " 'NR==5 {print $2}') -if [[ $dir1 == l ]]; then - at=$(echo $at | awk -F"," '{print $1}') - size=$(echo $size | awk -F"," '{print $1}') -else - at=$(echo $at | awk -F"," '{print $2}') - size=$(echo $size | awk -F"," '{print $2}') -fi -end_location=$(($at+$size)) - -# calculate full size and size per window -full_size=$(($end_location - $start_location)) -size_per_window=$(($full_size / $window_count)) - -# set sizes -i=0 -while [[ $i -lt $ITERS ]]; do - i=$(($i+1)) - window=0 - while [[ $window -lt $window_count ]]; do - window=$(($window+1)) - size=$(hyprctl activewindow | awk -F" " 'NR==5 {print $2}') - if [[ $dir1 == l ]]; then - #other_side=$(echo $size | awk -F"," '{print $2}') - #hyprctl dispatch resizeactive exact $size_per_window $other_side - size=$(echo $size | awk -F"," '{print $1}') - diff=$(($size_per_window - $size)) - hyprctl dispatch resizeactive $diff 0 - else - #other_side=$(echo $size | awk -F"," '{print $1}') - #hyprctl dispatch resizeactive exact $other_side $size_per_window - size=$(echo $size | awk -F"," '{print $2}') - diff=$(($size_per_window - $size)) - hyprctl dispatch resizeactive 0 $diff - fi - hyprctl dispatch movefocus $dir1 - done - temp=$dir1 - dir1=$dir2 - dir2=$temp -done - -# return to starting window -hyprctl dispatch focuswindow address:0x$address diff --git a/common/home/mosder/.config/hypr/scripts/zoom.sh b/common/home/mosder/.config/hypr/scripts/zoom.sh index 433f899..1bb07f6 100755 --- a/common/home/mosder/.config/hypr/scripts/zoom.sh +++ b/common/home/mosder/.config/hypr/scripts/zoom.sh @@ -1,9 +1,9 @@ #!/bin/bash -ZOOM=$(hyprctl getoption cursor:zoom_factor | grep float | awk -F" " '{print $2}') +ZOOM=$(hyprctl repl 'hl.get_config("cursor.zoom_factor")') ZOOM=$(echo "scale=0; ($ZOOM+1)/1" | bc) if [[ $ZOOM -gt $MAX_ZOOM ]]; then ZOOM=1 fi -hyprctl -q keyword cursor:zoom_factor $ZOOM +hyprctl -q eval "hl.config({ cursor = { zoom_factor = $ZOOM } })" |
