[Build] Start refactor
This commit is contained in:
33
configs/userland/hypr/hypridle.conf
Normal file
33
configs/userland/hypr/hypridle.conf
Normal file
@@ -0,0 +1,33 @@
|
||||
#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
#░ ░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░ ░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░
|
||||
#▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒
|
||||
#▒ ▒▒▒▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒ ▒ ▒▒▒▒▒▒▒▒▒▒ ▒▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒ ▒▒▒ ▒ ▒▒▒▒▒▒▒ ▒▒
|
||||
#▓ ▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓
|
||||
#▓ ▓▓▓▓ ▓▓▓▓ ▓▓▓ ▓▓▓ ▓▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓ ▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓
|
||||
#▓ ▓▓▓▓ ▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓ ▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓
|
||||
#█ ████ ████ ████ ██████ ████ ██ █ ██ ███ █████████████ ██████ █████ ██ ███ ████ █████ █
|
||||
#██████████████ █████ ████████████████████████████████████████████████████████████████████████████████████████████████ ██
|
||||
|
||||
general {
|
||||
lock_cmd = hyprlock
|
||||
unlock_cmd = loginctl unlock-session
|
||||
before_sleep_cmd = hyprlock
|
||||
after_sleep_cmd = hyprlock
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 300
|
||||
on-timeout = hyprlock --grace 15
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 360
|
||||
on-timeout = hyprctl dispatch dpms off
|
||||
on-resume = hyprctl dispatch dpms on
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 600
|
||||
on-timeout = systemctl suspend
|
||||
on-resume = hyprctl dispatch dpms on
|
||||
}
|
||||
239
configs/userland/hypr/hyprland/binds.conf
Normal file
239
configs/userland/hypr/hyprland/binds.conf
Normal file
@@ -0,0 +1,239 @@
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ KEYBINDS │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
|
||||
$mainMod = SUPER
|
||||
# These key-binds are non-specific, laptop config has a separate file that includes
|
||||
# extra config for it specifically
|
||||
bind = $mainMod, Q, killactive
|
||||
bind = $mainMod, Return, exec, kitty
|
||||
bind = $mainMod SHIFT, E, exec, thunar
|
||||
bind = $mainMod, E, exec, kitty --hold fish -c "y"
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $mainMod, F, fullscreen,
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ AGS │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
|
||||
# ┌ ┐
|
||||
# │ Notifications │
|
||||
# └ ┘
|
||||
bind = $mainMod, N, exec, astal -i notifier toggle
|
||||
bind = $mainMod, C, exec, astal -i notifier clear-newest
|
||||
bind = $mainMod SHIFT, C, exec, astal -i notifier clear
|
||||
bind = $mainMod SHIFT, N, exec, astal -i notifier show
|
||||
bind = $mainMod CTRL SHIFT, N, exec, astal -i notifier hide
|
||||
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ General │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
# │ Launch commands │
|
||||
# └ ┘
|
||||
bind = $mainMod SHIFT, L, exec, librewolf
|
||||
bind = $mainMod SHIFT, D, exec, vesktop
|
||||
bind = $mainMod SHIFT, V, exec, vscodium
|
||||
bind = $mainMod SHIFT, T, exec, thunderbird
|
||||
bind = $mainMod CTRL, H, exec, heroic
|
||||
bind = $mainMod SHIFT, Z, exec, zathura
|
||||
bind = $mainMod SHIFT, I, exec, notify-send 'AirPlay video server starting...' --app-name="AirPlay Video" && terminator -e "systemctl start avahi-daemon && sleep 5 && uxplay -n LinuxVideoPlay -nh"
|
||||
bind = $mainMod SHIFT, A, exec, notify-send 'AirPlay server starting...' --app-name="AirPlay Audio" && terminator -T "hidden-terminator" -e "systemctl start avahi-daemon && shairport-sync -a LinuxPlay"
|
||||
bind = $mainMod SHIFT, P, exec, notify-send 'Steam is launching...' --app-name="Steam" && steam
|
||||
bind = $mainMod CTRL, K, exec, notify-send 'Insta-Kill activated' --app-name="Hyprctl" && hyprctl kill
|
||||
bind = $mainMod SHIFT, O, exec, terminator -e "~/projects/dotfiles/ai.sh"
|
||||
|
||||
# ┌ ┐
|
||||
# │ Screenshots │
|
||||
# └ ┘
|
||||
bind = $mainMod SHIFT, S, exec, grimblast --notify copy area
|
||||
bind = $mainMod CTRL, S, exec, grimblast --notify copysave area
|
||||
bind = $mainMod ALT, S, exec, grimblast --notify save area
|
||||
bind = , PRINT, exec, grimblast --notify copy screen
|
||||
bind = CTRL, PRINT, exec, grimblast --notify copysave screen
|
||||
bind = SHIFT, PRINT, exec, grimblast --notify save screen
|
||||
|
||||
# ┌ ┐
|
||||
# │ Rofi commands │
|
||||
# └ ┘
|
||||
bind = $mainMod, Space, exec, killall rofi || rofi -show combi -modes combi -combi-modes "window,drun,run"
|
||||
bind = $mainMod SHIFT, H, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
|
||||
|
||||
# ┌ ┐
|
||||
# │ Logout commands │
|
||||
# └ ┘
|
||||
bind = $mainMod, escape, exec, wlogout
|
||||
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ Layout binds │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
# │ Same with vim-motions │
|
||||
# └ ┘
|
||||
bind = $mainMod, h, movefocus, l
|
||||
bind = $mainMod, l, movefocus, r
|
||||
bind = $mainMod, j, movefocus, d
|
||||
bind = $mainMod, k, movefocus, u
|
||||
|
||||
# ┌ ┐
|
||||
# │ Switch workspaces with mainMod + [0-9] │
|
||||
# └ ┘
|
||||
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 CTRL, left, workspace, e-1
|
||||
bind = $mainMod CTRL, right, workspace, e+1
|
||||
bind = $mainMod CTRL, h, workspace, e-1
|
||||
bind = $mainMod CTRL, l, workspace, e+1
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
# │ Move active window to a workspace with │
|
||||
# │ mainMod + SHIFT + [0-9] │
|
||||
# └ ┘
|
||||
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 SHIFT, left, movetoworkspace, e-1
|
||||
bind = $mainMod SHIFT, right, movetoworkspace, e+1
|
||||
bind = $mainMod SHIFT, j, movetoworkspace, e-1
|
||||
bind = $mainMod SHIFT, k, movetoworkspace, e+1
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
# │ Special workspace │
|
||||
# └ ┘
|
||||
bind = $mainMod SHIFT, M, movetoworkspace, special
|
||||
bind = $mainMod, M, togglespecialworkspace
|
||||
|
||||
# ┌ ┐
|
||||
# │ Scroll through existing workspaces with │
|
||||
# │ mainMod + scroll │
|
||||
# └ ┘
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
# │ move to next window / previous window with │
|
||||
# │ ALT + Tab / SHIFT + ALT + Tab │
|
||||
# └ ┘
|
||||
bind = ALT SHIFT, tab, cyclenext, prev
|
||||
bind = ALT, tab, focusurgentorlast
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
# │ Dwindle layout commands │
|
||||
# └ ┘
|
||||
bind = $mainMod CTRL, M, layoutmsg, swapsplit
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
# │ Move/resize windows with mainMod + LMB/RMB │
|
||||
# │ and dragging │
|
||||
# └ ┘
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
# │ Resize window with keybinds (change split) │
|
||||
# └ ┘
|
||||
bind = $mainMod ALT, T, submap, split
|
||||
|
||||
# Submap for split
|
||||
submap = split
|
||||
binde = , H, splitratio, -0.01
|
||||
binde = , L, splitratio, +0.01
|
||||
|
||||
# Reset bind
|
||||
bind = , escape, submap, reset
|
||||
|
||||
submap = reset
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
# │ Truly resize window with keybind (submap) │
|
||||
# └ ┘
|
||||
bind = $mainMod ALT, R, submap, resize
|
||||
|
||||
# Submap for resize
|
||||
submap = resize
|
||||
binde = , L, resizeactive, 10 0
|
||||
binde = , H, resizeactive, -10 0
|
||||
binde = , K, resizeactive, 0 -10
|
||||
binde = , J, resizeactive, 0 10
|
||||
|
||||
# Reset bind
|
||||
bind = , escape, submap, reset
|
||||
|
||||
submap = reset
|
||||
|
||||
# ┌ ┐
|
||||
# │ Freeze │
|
||||
# └ ┘
|
||||
bind = $mainMod SHIFT, escape, exec, hyprfreeze -a
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
# │ Volume control │
|
||||
# └ ┘
|
||||
bind = ,code:123, exec, pamixer -i 5
|
||||
bind = ,code:122, exec, pamixer -d 5
|
||||
bind = ,code:121, exec, pamixer -t
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
# │ Brightness-Control │
|
||||
# └ ┘
|
||||
bind = ,code:232, exec, light -U 5
|
||||
bind = ,code:233, exec, light -A 5
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
# │ Monitor config binds │
|
||||
# └ ┘
|
||||
bind = $mainMod CTRL, D, exec, hyprctl keyword monitor HDMI-A-1, 1280x720@60, 1920x0, 1, mirror, DP-1 && notify-send 'Set FPV goggles to mirror main screen' --app-name="Hyprctl"
|
||||
bind = $mainMod CTRL, E, exec, hyprctl keyword monitor HDMI-A-1, 1280x720@60, 3840x0, 1 && notify-send 'Set to expand FPV goggles' --app-name="Hyprctl"
|
||||
|
||||
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ Funny windows user trolling binds │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
bind = CTRL ALT, Delete, exec, notify-send 'I am not Windows' 'Did ya really think that was gonna do anything? Only an eternally broken OS could need such a stupid keybind'
|
||||
bind = ALT, F4, exec, notify-send 'I am not Windows' 'That just feels like a way too unergonomic keybind to be used for such a common action'
|
||||
bind = $mainMod, left, exec, notify-send 'I am not Windows' 'This is no inefficient stacking manager. Tiling happens automatically'
|
||||
bind = $mainMod, right, exec, notify-send 'I am not Windows' 'This is no inefficient stacking manager. Tiling happens automatically'
|
||||
bind = $mainMod, up, exec, notify-send 'I am not Windows' 'This is no inefficient stacking manager. Tiling happens automatically'
|
||||
bind = $mainMod, down, exec, notify-send 'I am not Windows' 'This is no inefficient stacking manager. Tiling happens automatically'
|
||||
18
configs/userland/hypr/hyprland/colors.conf
Normal file
18
configs/userland/hypr/hyprland/colors.conf
Normal file
@@ -0,0 +1,18 @@
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ COLOURS │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
|
||||
exec = swaybg -m fill -i /home/janis/NextCloud/Wallpapers/hypercar/ferrari_499p.jpg
|
||||
|
||||
general {
|
||||
col.active_border = rgba(ebc405cc) rgba(b81c15cc) rgba(673722cc) 45deg
|
||||
col.inactive_border = rgb(000000)
|
||||
}
|
||||
|
||||
decoration {
|
||||
shadow {
|
||||
color = rgb(282828)
|
||||
}
|
||||
}
|
||||
135
configs/userland/hypr/hyprland/general.conf
Normal file
135
configs/userland/hypr/hyprland/general.conf
Normal file
@@ -0,0 +1,135 @@
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ LAUNCHING OF PROGRAMS │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
|
||||
source = ./colors.conf
|
||||
exec-once = ~/.config/hypr/xdg-portal-hyprland
|
||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XAUTHORITY DISPLAY
|
||||
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
exec-once = hypridle
|
||||
exec-once = nm-applet
|
||||
exec-once = nextcloud --background
|
||||
exec-once = sleep 2 && bash -c "ags run -d ~/projects/dotfiles/config/astal/ --gtk 4 >> /tmp/runner-log 2>&1"
|
||||
exec-once = bash -c "ags run -d ~/projects/dotfiles/config/ags/notifications/ --gtk 3 >> /tmp/notifier-log 2>&1"
|
||||
|
||||
|
||||
# ── wlhist ──────────────────────────────────────────────────────────
|
||||
exec-once = wl-paste --type text --watch cliphist store # Stores only text data
|
||||
exec-once = wl-paste --type image --watch cliphist store # Stores only image data
|
||||
|
||||
|
||||
env = QT_QPA_PLATFORM,wayland
|
||||
env = QT_QPA_PLATFORM_THEME,qt6ct
|
||||
env = OLLAMA_HOST,0.0.0.0
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ INPUT │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant = altgr-intl
|
||||
natural_scroll = true
|
||||
|
||||
numlock_by_default = true
|
||||
repeat_delay = 400
|
||||
|
||||
follow_mouse = 2
|
||||
mouse_refocus = true
|
||||
scroll_factor = 2
|
||||
accel_profile = flat
|
||||
|
||||
touchpad {
|
||||
disable_while_typing = true
|
||||
natural_scroll = true
|
||||
scroll_factor = 4
|
||||
}
|
||||
|
||||
focus_on_close = 1
|
||||
|
||||
sensitivity = 0
|
||||
}
|
||||
|
||||
|
||||
# ── Cursors ─────────────────────────────────────────────────────────
|
||||
cursor {
|
||||
no_warps = false
|
||||
inactive_timeout = 5
|
||||
}
|
||||
|
||||
|
||||
# ── Bind config ─────────────────────────────────────────────────────
|
||||
binds {
|
||||
workspace_back_and_forth = true
|
||||
}
|
||||
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ GENERAL CONFIG │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
general {
|
||||
gaps_in = 3
|
||||
gaps_out = 4
|
||||
border_size = 2
|
||||
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ Style │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
decoration {
|
||||
inactive_opacity = 1
|
||||
rounding = 10
|
||||
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 4
|
||||
}
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
xray = true
|
||||
new_optimizations = true
|
||||
size = 1
|
||||
passes = 2
|
||||
}
|
||||
dim_inactive = true
|
||||
dim_strength = 0.1
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
|
||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
|
||||
animation = windows, 1, 4, myBezier
|
||||
animation = windowsOut, 1, 6, default, popin 80%
|
||||
animation = border, 1, 8, default
|
||||
animation = fade, 1, 3, default
|
||||
animation = workspaces, 1, 2, default
|
||||
animation = specialWorkspaceIn, 1, 2, default, fade
|
||||
animation = specialWorkspaceOut, 1, 2, default, fade
|
||||
}
|
||||
|
||||
misc {
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = false
|
||||
vrr = 3
|
||||
allow_session_lock_restore = true
|
||||
}
|
||||
|
||||
dwindle {
|
||||
pseudotile = true
|
||||
force_split = 2
|
||||
preserve_split = true
|
||||
}
|
||||
15
configs/userland/hypr/hyprland/gestures.conf
Normal file
15
configs/userland/hypr/hyprland/gestures.conf
Normal file
@@ -0,0 +1,15 @@
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ Gestures │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
gestures {
|
||||
workspace_swipe_distance = 200
|
||||
workspace_swipe_cancel_ratio = 0.3
|
||||
workspace_swipe_forever = true
|
||||
workspace_swipe_direction_lock = false
|
||||
}
|
||||
|
||||
gesture = 3, horizontal, workspace,
|
||||
gesture = 3, down, close
|
||||
gesture = 3, up, fullscreen
|
||||
14
configs/userland/hypr/hyprland/modal-binds/README.md
Normal file
14
configs/userland/hypr/hyprland/modal-binds/README.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# hyprvim
|
||||
Using Vim Motions and in general vim-style commands is really neat - so why not apply to the Window Manager as well?
|
||||
|
||||
## Mapping
|
||||
- `Super + W`: Manage windows (close windows, resize them, change split)
|
||||
- `Super + Y`: Workspace management (change workspace, move windows to workspaces)
|
||||
- `Super + C`: Notification management (dismiss notifications)
|
||||
- `Super + X`: Launch commands (for software)
|
||||
- `Super + D`: Device management (brightness, volume, media, etc)
|
||||
- `Super + S`: Screenshot
|
||||
|
||||
There are several quick binds available, such as `Super + [0-9]` to switch workspaces, `Super + Shift + [0-9]` to move windows as well as `Super + [hjkl]` to move focus.
|
||||
|
||||
Additionally, there are shortcuts to commonly used apps, such as `Super + Enter` for `kitty`, `Super + Shift + L` for `librewolf` and `Super + Space` for `rofi`
|
||||
56
configs/userland/hypr/hyprland/modal-binds/device.conf
Normal file
56
configs/userland/hypr/hyprland/modal-binds/device.conf
Normal file
@@ -0,0 +1,56 @@
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ device config │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
|
||||
# ── Brightness-Control ──────────────────────────────────────────────
|
||||
bind = ,code:232, exec, light -U 5 && notify-send 'Display brightness decreased by 5%'
|
||||
bind = ,code:233, exec, light -A 5 && notify-send 'Display brightness increased by 5%'
|
||||
|
||||
|
||||
# ── Volume control ──────────────────────────────────────────────────
|
||||
bind = ,code:123, exec, pamixer -i 5
|
||||
bind = ,code:122, exec, pamixer -d 5
|
||||
bind = ,code:121, exec, pamixer -t
|
||||
|
||||
|
||||
# ── Submap ──────────────────────────────────────────────────────────
|
||||
bind = $mainMod, D, submap, device
|
||||
submap = device
|
||||
|
||||
|
||||
# ── Swapescape ──────────────────────────────────────────────────────
|
||||
bind = , S, exec, fish -c "toggle-swapescape"
|
||||
bind = , S, submap, reset
|
||||
|
||||
|
||||
# ── FPV goggles binds ───────────────────────────────────────────────
|
||||
bind = CTRL, D, exec, hyprctl keyword monitor HDMI-A-1, 1280x720@60, 1920x0, 1, mirror, DP-1 && notify-send 'Set FPV goggles to mirror main screen' --app-name="Hyprctl"
|
||||
bind = CTRL, E, exec, hyprctl keyword monitor HDMI-A-1, 1280x720@60, 3840x0, 1 && notify-send 'Set to expand FPV goggles' --app-name="Hyprctl"
|
||||
|
||||
|
||||
# ── Monitor config binds ────────────────────────────────────────────
|
||||
bind = SHIFT, D, exec, hyprctl keyword monitor HDMI-A-1, 1920x1080@60, 1920x0, 1, mirror, eDP-1 && notify-send 'Set to mirror internal display' --app-name="Hyprctl"
|
||||
bind = SHIFT, E, exec, hyprctl keyword monitor HDMI-A-1, 1920x1080@60, 1920x0, 1 && notify-send 'Set to expand external display' --app-name="Hyprctl"
|
||||
|
||||
|
||||
# ── Internal display controls ───────────────────────────────────────
|
||||
bind = , E, exec, hyprctl keyword monitor eDP-1, 2880x1800@60, 0x0, 1.5 && cpupower-gui -b && notify-send 'Set to battery optimized settings' --app-name="PowerProfiles"
|
||||
bind = , B, exec, hyprctl keyword monitor eDP-1, 2880x1800@120, 0x0, 1.5 && cpupower-gui -b && notify-send 'Set to balanced performance settings' --app-name="PowerProfiles"
|
||||
bind = , P, exec, hyprctl keyword monitor eDP-1, 2880x1800@120, 0x0, 1.5 && cpupower-gui -p && notify-send 'Set to performance optimized settings' --app-name="PowerProfiles"
|
||||
|
||||
|
||||
# ── Using docked ────────────────────────────────────────────────────
|
||||
bind = , D, exec, hyprctl keyword monitor eDP-1, disable
|
||||
|
||||
# Keyboard layout
|
||||
bind = , U, exec, hyprctl keyword input:kb_layout us && hyprctl keyword input:kb_variant altgr-intl && notify-send 'Set to US keyboard layout' --app-name="Keyboard layout"
|
||||
bind = , U, submap, reset
|
||||
bind = , C, exec, hyprctl keyword input:kb_layout ch && hyprctl keyword input:kb_variant '' && notify-send 'Set to CH keyboard layout' --app-name="Keyboard layout"
|
||||
bind = , C, submap, reset
|
||||
|
||||
|
||||
# ── Exit submap ─────────────────────────────────────────────────────
|
||||
bind = , escape, submap, reset
|
||||
submap = reset
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
86
configs/userland/hypr/hyprland/modal-binds/launch.conf
Normal file
86
configs/userland/hypr/hyprland/modal-binds/launch.conf
Normal file
@@ -0,0 +1,86 @@
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ App launching │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
bind = $mainMod, Return, exec, kitty
|
||||
|
||||
|
||||
# ── Rofi ────────────────────────────────────────────────────────────
|
||||
bind = $mainMod, Space, exec, killall rofi || rofi -show combi -modes combi -combi-modes "window,drun,run"
|
||||
bind = $mainMod SHIFT, H, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
|
||||
|
||||
|
||||
# ── Power / logout ──────────────────────────────────────────────────
|
||||
bind = $mainMod, escape, exec, wlogout
|
||||
|
||||
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ Launch submap │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
bind = $mainMod, X, submap, launch
|
||||
submap = launch
|
||||
|
||||
|
||||
# ── Kitty ───────────────────────────────────────────────────────────
|
||||
bind = , K, exec, kitty
|
||||
bind = , K, submap, reset
|
||||
bind = , Return, exec, kitty
|
||||
bind = , Return, submap, reset
|
||||
|
||||
|
||||
# ── Others ──────────────────────────────────────────────────────────
|
||||
bind = , Q, exec, qutebrowser
|
||||
bind = , Q, submap, reset
|
||||
|
||||
bind = , L, exec, librewolf
|
||||
bind = , L, submap, reset
|
||||
|
||||
bind = , E, exec, thunar
|
||||
bind = , E, submap, reset
|
||||
|
||||
bind = , D, exec, vesktop
|
||||
bind = , D, submap, reset
|
||||
|
||||
bind = SHIFT, B, exec, brave
|
||||
bind = SHIFT, B, submap, reset
|
||||
|
||||
bind = , F, exec, filezilla
|
||||
bind = , F, submap, reset
|
||||
|
||||
bind = , V, exec, vscodium
|
||||
bind = , V, submap, reset
|
||||
|
||||
bind = , T, exec, thunderbird
|
||||
bind = , T, submap, reset
|
||||
|
||||
bind = , H, exec, heroic
|
||||
bind = , H, submap, reset
|
||||
|
||||
bind = , Z, exec, zathura
|
||||
bind = , Z, submap, reset
|
||||
|
||||
bind = , B, exec, /opt/bs-manager/bs-manager
|
||||
bind = , B, submap, reset
|
||||
|
||||
bind = , P, exec, alvr_dashboard
|
||||
bind = , P, submap, reset
|
||||
|
||||
bind = , C, exec, qalculate-qt
|
||||
bind = , C, submap, reset
|
||||
|
||||
bind = , A, exec, notify-send 'AirPlay server starting...' --app-name="AirPlay Audio" && terminator -T "hidden-terminator" -e "systemctl start avahi-daemon && shairport-sync -a LinuxPlay"
|
||||
bind = , A, submap, reset
|
||||
|
||||
bind = SHIFT, A, exec, notify-send 'AirPlay video server starting...' --app-name="AirPlay Video" && terminator -T "hidden-terminator" -e "systemctl start avahi-daemon && sleep 5 && uxplay -n LinuxVideoPlay -nh"
|
||||
bind = SHIFT, A, submap, reset
|
||||
|
||||
bind = , S, exec, notify-send 'Steam is launching...' --app-name="Steam" && steam
|
||||
bind = , S, submap, reset
|
||||
|
||||
|
||||
# ── Exit submap ─────────────────────────────────────────────────────
|
||||
bind = , escape, submap, reset
|
||||
submap = reset
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
@@ -0,0 +1,30 @@
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ Notifications │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
|
||||
# ── Submap ──────────────────────────────────────────────────────────
|
||||
bind = $mainMod, C, submap, notifications
|
||||
submap = notifications
|
||||
|
||||
|
||||
bind = , T, exec, astal -i notifier toggle
|
||||
bind = , T, submap, reset
|
||||
|
||||
bind = , D, exec, astal -i notifier clear-newest
|
||||
bind = , D, submap, reset
|
||||
|
||||
bind = , C, exec, astal -i notifier clear
|
||||
bind = , C, submap, reset
|
||||
|
||||
bind = , S, exec, astal -i notifier show
|
||||
bind = , S, submap, reset
|
||||
|
||||
bind = , H, exec, astal -i notifier hide
|
||||
bind = , H, submap, reset
|
||||
|
||||
|
||||
# ── Exit submap ─────────────────────────────────────────────────────
|
||||
bind = , escape, submap, reset
|
||||
submap = reset
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
25
configs/userland/hypr/hyprland/modal-binds/screenshot.conf
Normal file
25
configs/userland/hypr/hyprland/modal-binds/screenshot.conf
Normal file
@@ -0,0 +1,25 @@
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ Screenshotting binds │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
bind = $mainMod, S, submap, screenshotting
|
||||
submap = screenshotting
|
||||
|
||||
bind = , Y, exec, grimblast --notify copy area
|
||||
bind = , Y, submap, reset
|
||||
bind = , C, exec, grimblast --notify copysave area
|
||||
bind = , C, submap, reset
|
||||
bind = , S, exec, grimblast --notify save area
|
||||
bind = , S, submap, reset
|
||||
bind = SHIFT, Y, exec, grimblast --notify copy screen
|
||||
bind = SHIFT, Y, submap, reset
|
||||
bind = SHIFT, C, exec, grimblast --notify copysave screen
|
||||
bind = SHIFT, C, submap, reset
|
||||
bind = SHIFT, S, exec, grimblast --notify save screen
|
||||
bind = SHIFT, S, submap, reset
|
||||
|
||||
|
||||
# ── Exit submap ─────────────────────────────────────────────────────
|
||||
bind = , escape, submap, reset
|
||||
submap = reset
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
@@ -0,0 +1,40 @@
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ Window management submap │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
bind = $mainMod, Q, killactive
|
||||
|
||||
# ── Resize, move using mouse plus mainMod ───────────────────────────
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
|
||||
# ── Submap ──────────────────────────────────────────────────────────
|
||||
bind = $mainMod, W, submap, windowing
|
||||
submap = windowing
|
||||
|
||||
# ── Resize windows ──────────────────────────────────────────────────
|
||||
binde = , L, resizeactive, 10 0
|
||||
binde = , H, resizeactive, -10 0
|
||||
binde = , K, resizeactive, 0 -10
|
||||
binde = , J, resizeactive, 0 10
|
||||
|
||||
|
||||
# ── Change splitratio ───────────────────────────────────────────────
|
||||
binde = SHIFT, H, splitratio, -0.01
|
||||
binde = SHIFT, L, splitratio, +0.01
|
||||
|
||||
|
||||
# ── Kill, freeze, etc ───────────────────────────────────────────────
|
||||
bind = SHIFT, f, exec, hyprfreeze -a
|
||||
bind = , x, killactive
|
||||
bind = , q, killactive
|
||||
bind = , f, fullscreen
|
||||
bind = , v, togglefloating
|
||||
bind = SHIFT, k, exec, notify-send 'Insta-Kill activated' --app-name="Hyprctl" && hyprctl kill
|
||||
|
||||
|
||||
# ── Exit submap ─────────────────────────────────────────────────────
|
||||
bind = , escape, submap, reset
|
||||
submap = reset
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
118
configs/userland/hypr/hyprland/modal-binds/workspace.conf
Normal file
118
configs/userland/hypr/hyprland/modal-binds/workspace.conf
Normal file
@@ -0,0 +1,118 @@
|
||||
# ┌ ┐
|
||||
# │ Switch workspaces with mainMod + [0-9] │
|
||||
# └ ┘
|
||||
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
|
||||
|
||||
# ┌ ┐
|
||||
# │ Move active window to a workspace with │
|
||||
# │ mainMod + SHIFT + [0-9] │
|
||||
# └ ┘
|
||||
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
|
||||
|
||||
# ┌ ┐
|
||||
# │ Move focus with vim motions │
|
||||
# └ ┘
|
||||
bind = $mainMod, h, movefocus, l
|
||||
bind = $mainMod, l, movefocus, r
|
||||
bind = $mainMod, j, movefocus, d
|
||||
bind = $mainMod, k, movefocus, u
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
# │ Special workspace │
|
||||
# └ ┘
|
||||
bind = $mainMod SHIFT, M, movetoworkspace, special
|
||||
bind = $mainMod, M, togglespecialworkspace
|
||||
|
||||
# ┌ ┐
|
||||
# │ Scroll through existing workspaces with │
|
||||
# │ mainMod + scroll │
|
||||
# └ ┘
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# ┌ ┐
|
||||
# │ move to next window / previous window with │
|
||||
# │ ALT + Tab / SHIFT + ALT + Tab │
|
||||
# └ ┘
|
||||
bind = ALT SHIFT, tab, cyclenext, prev
|
||||
bind = ALT, tab, focusurgentorlast
|
||||
|
||||
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ Submap for workspace management │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
bind = $mainMod, A, submap, workspace
|
||||
submap = workspace
|
||||
|
||||
# ── Move to workspace ───────────────────────────────────────────────
|
||||
bind = , 1, workspace, 1
|
||||
bind = , 2, workspace, 2
|
||||
bind = , 3, workspace, 3
|
||||
bind = , 4, workspace, 4
|
||||
bind = , 5, workspace, 5
|
||||
bind = , 6, workspace, 6
|
||||
bind = , 7, workspace, 7
|
||||
bind = , 8, workspace, 8
|
||||
bind = , 9, workspace, 9
|
||||
bind = , 0, workspace, 10
|
||||
|
||||
|
||||
# ── Move active window to workspace ─────────────────────────────────
|
||||
bind = SHIFT, 1, movetoworkspace, 1
|
||||
bind = SHIFT, 2, movetoworkspace, 2
|
||||
bind = SHIFT, 3, movetoworkspace, 3
|
||||
bind = SHIFT, 4, movetoworkspace, 4
|
||||
bind = SHIFT, 5, movetoworkspace, 5
|
||||
bind = SHIFT, 6, movetoworkspace, 6
|
||||
bind = SHIFT, 7, movetoworkspace, 7
|
||||
bind = SHIFT, 8, movetoworkspace, 8
|
||||
bind = SHIFT, 9, movetoworkspace, 9
|
||||
bind = SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
|
||||
# ── Move workspace with vim motions or mouse scroll ─────────────────
|
||||
bind = , h, workspace, e-1
|
||||
bind = , l, workspace, e+1
|
||||
bind = , mouse_down, workspace, e+1
|
||||
bind = , mouse_up, workspace, e-1
|
||||
|
||||
|
||||
# ── Move window to workspace with vim motions ───────────────────────
|
||||
bind = SHIFT, h, movetoworkspace, e-1
|
||||
bind = SHIFT, l, movetoworkspace, e+1
|
||||
|
||||
|
||||
# ── Special workspace ───────────────────────────────────────────────
|
||||
bind = , s, togglespecialworkspace
|
||||
bind = SHIFT, s, movetoworkspace, special
|
||||
|
||||
|
||||
# ── dwindle ─────────────────────────────────────────────────────────
|
||||
bind = , M, layoutmsg, swapsplit
|
||||
|
||||
|
||||
# ── Exit submap ─────────────────────────────────────────────────────
|
||||
bind = , escape, submap, reset
|
||||
submap = reset
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
15
configs/userland/hypr/hyprland/mode-binds.conf
Normal file
15
configs/userland/hypr/hyprland/mode-binds.conf
Normal file
@@ -0,0 +1,15 @@
|
||||
$mainMod = SUPER
|
||||
source=./modal-binds/workspace.conf
|
||||
source=./modal-binds/launch.conf
|
||||
source=./modal-binds/notifications.conf
|
||||
source=./modal-binds/window-management.conf
|
||||
source=./modal-binds/screenshot.conf
|
||||
source=./modal-binds/device.conf
|
||||
|
||||
|
||||
bind = CTRL ALT, Delete, exec, notify-send 'I am not Windows' 'Did ya really think that was gonna do anything? Only an eternally broken OS could need such a stupid keybind'
|
||||
bind = ALT, F4, exec, notify-send 'I am not Windows' 'That just feels like a way too unergonomic keybind to be used for such a common action'
|
||||
bind = $mainMod, left, exec, notify-send 'I am not Windows' 'This is no inefficient stacking manager. Tiling happens automatically'
|
||||
bind = $mainMod, right, exec, notify-send 'I am not Windows' 'This is no inefficient stacking manager. Tiling happens automatically'
|
||||
bind = $mainMod, up, exec, notify-send 'I am not Windows' 'This is no inefficient stacking manager. Tiling happens automatically'
|
||||
bind = $mainMod, down, exec, notify-send 'I am not Windows' 'This is no inefficient stacking manager. Tiling happens automatically'
|
||||
127
configs/userland/hypr/hyprland/windowrules.conf
Normal file
127
configs/userland/hypr/hyprland/windowrules.conf
Normal file
@@ -0,0 +1,127 @@
|
||||
$mainMod = SUPER
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ WINDOW RULES │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
windowrule = move 1450 50, match:title (.*)Power menu$
|
||||
windowrule = workspace 2, match:class evince
|
||||
windowrule = workspace 2, match:title .*Okular.*
|
||||
windowrule = workspace 2, match:class org.pwmt.zathura
|
||||
windowrule = fullscreen on, match:title wlogout
|
||||
windowrule = workspace 2, match:class librewolf
|
||||
windowrule = workspace 2, match:title LibreWolf
|
||||
windowrule = workspace 2, match:title BSManager
|
||||
windowrule = workspace 1, match:title ALVR(.*)
|
||||
windowrule = workspace 2, match:title (.*)Beat Saber(.*)
|
||||
windowrule = fullscreen on, match:title (.*)Beat Saber(.*)
|
||||
windowrule = workspace 2, match:title (.*)Discord(.*)
|
||||
windowrule = workspace 3, match:title ^(Steam)(.*)$
|
||||
windowrule = float off, match:title ^(Steam)(.*)$
|
||||
windowrule = workspace 1, match:title (.*)(VSCodium)$
|
||||
windowrule = center on, match:title ^(.*)(VSCodium)$
|
||||
windowrule = workspace 3, match:class minecraft-launcher
|
||||
windowrule = tile on, match:class minecraft-launcher
|
||||
windowrule = fullscreen on, match:title ^(.*)(Minecraft)(.*)$
|
||||
windowrule = workspace 3, match:title ^(.*)(Minecraft)(.*)$
|
||||
|
||||
windowrule = workspace 1, match:title ^(.*)hidden-terminator*(.*)$
|
||||
windowrule = size 0 0, match:title ^(.*)hidden-terminator*(.*)$
|
||||
windowrule = move 0 0, match:title ^(.*)hidden-terminator*(.*)$
|
||||
windowrule = float on, match:title ^(.*)hidden-terminator*(.*)$
|
||||
|
||||
# ┌ ┐
|
||||
# │ Set rule for yazi filepicker │
|
||||
# └ ┘
|
||||
windowrule = float on, match:title ^(.*)termfilechooser*(.*)$
|
||||
windowrule = size 1400 800, match:title ^(.*)termfilechooser*(.*)$
|
||||
windowrule = center on, match:title ^(.*)termfilechooser*(.*)$
|
||||
windowrule = dim_around on, match:title ^(.*)termfilechooser*(.*)$
|
||||
|
||||
# ┌ ┐
|
||||
# │ Set floating windows & position them centered │
|
||||
# └ ┘
|
||||
windowrule = float on, match:class file_progress
|
||||
windowrule = center on, match:class file_progress
|
||||
|
||||
windowrule = float on, match:class confirm
|
||||
windowrule = center on, match:class confirm
|
||||
|
||||
windowrule = float on, match:class dialog
|
||||
windowrule = center on, match:class dialog
|
||||
|
||||
windowrule = float on, match:class download
|
||||
windowrule = center on, match:class download
|
||||
|
||||
windowrule = float on, match:class notification
|
||||
windowrule = center on, match:class notification
|
||||
|
||||
windowrule = float on, match:class error
|
||||
windowrule = center on, match:class error
|
||||
|
||||
windowrule = float on, match:class splash
|
||||
windowrule = center on, match:class splash
|
||||
|
||||
windowrule = float on, match:class confirmreset
|
||||
windowrule = center on, match:class confirmreset
|
||||
|
||||
windowrule = float on, match:title Open File
|
||||
windowrule = center on, match:title Open File
|
||||
|
||||
windowrule = float on, match:title branchdialog
|
||||
windowrule = center on, match:title branchdialog
|
||||
|
||||
windowrule = float on, match:class Lxappearance
|
||||
windowrule = center on, match:class Lxappearance
|
||||
|
||||
windowrule = float on, match:title ^(Media viewer)$
|
||||
windowrule = center on, match:title ^(Media viewer)$
|
||||
|
||||
windowrule = float on, match:title ^(Volume Control)$
|
||||
windowrule = center on, match:title ^(Volume Control)$
|
||||
|
||||
windowrule = float on, match:title ^(Picture-in-Picture)$
|
||||
windowrule = center on, match:title ^(Picture-in-Picture)$
|
||||
|
||||
windowrule = float on, match:title ^(File Operation Progress)$
|
||||
windowrule = center on, match:title ^(File Operation Progress)$
|
||||
|
||||
windowrule = float on, match:title ^(Loading)(.*)$
|
||||
windowrule = center on, match:title ^(Loading)(.*)$
|
||||
|
||||
windowrule = float on, match:title ^(Qalculate)(.*)$
|
||||
windowrule = center on, match:title ^(Qalculate)(.*)$
|
||||
windowrule = workspace special, match:title ^(Qalculate)(.*)$
|
||||
windowrule = size 1200 800, match:title ^(Qalculate)(.*)$
|
||||
|
||||
windowrule = float on, match:class pavucontrol-qt
|
||||
windowrule = center on, match:class pavucontrol-qt
|
||||
|
||||
windowrule = float on, match:class pavucontrol
|
||||
windowrule = center on, match:class pavucontrol
|
||||
|
||||
windowrule = float on, match:class file-roller
|
||||
windowrule = center on, match:class file-roller
|
||||
|
||||
# idleinhibit
|
||||
windowrule = idle_inhibit focus, match:title ^(Rocket League)(.*)$
|
||||
windowrule = fullscreen on, match:title ^(Steam Big Picture)$
|
||||
windowrule = idle_inhibit always, match:class steam
|
||||
windowrule = idle_inhibit always, match:class lutris
|
||||
windowrule = idle_inhibit focus, match:class vlc
|
||||
windowrule = idle_inhibit focus, match:class supertuxkart
|
||||
windowrule = idle_inhibit fullscreen, match:title ^(.*)(Discord)(.*)$
|
||||
windowrule = idle_inhibit fullscreen, match:title ^(.*)(~)(.*)$
|
||||
|
||||
# Do not screenshare bitwarden windows
|
||||
windowrule = no_screen_share on, match:title (.*)(Bitwarden)(.*)
|
||||
windowrule = no_screen_share on, match:class nm-connection-editor
|
||||
windowrule = no_screen_share on, match:title (.*)(secret)(.*)
|
||||
windowrule = no_screen_share on, match:class (.*)[aA]uthentication(.*)
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
# │ Layer rules │
|
||||
# └ ┘
|
||||
layerrule = dim_around on, match:namespace rofi
|
||||
36
configs/userland/hypr/hyprland_desktop.conf
Normal file
36
configs/userland/hypr/hyprland_desktop.conf
Normal file
@@ -0,0 +1,36 @@
|
||||
#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
#░ ░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░
|
||||
#▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒
|
||||
#▒ ▒▒▒▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒▒ ▒▒▒▒▒ ▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒ ▒▒▒ ▒ ▒▒▒▒▒▒▒ ▒▒
|
||||
#▓ ▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓ ▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓
|
||||
#▓ ▓▓▓▓ ▓▓▓▓ ▓▓▓ ▓▓▓ ▓▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓▓ ▓▓ ▓ ▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓
|
||||
#▓ ▓▓▓▓ ▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓▓ ▓▓ ▓ ▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓
|
||||
#█ ████ ████ ████ ██████ ████ ███ █ █ ██ ██ █ ███████████ ██████ █████ ██ ███ ████ █████ █
|
||||
#██████████████ █████ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ██
|
||||
|
||||
|
||||
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ MONITORS │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
|
||||
monitor=DP-1, 1920x1080@144, 0x0, 1, vrr, 2
|
||||
monitor=DP-2, 1920x1080@75, 1920x0, 1
|
||||
|
||||
exec = hyprctl setcursor oreo_spark_blue_cursors 24
|
||||
|
||||
source=./hyprland/binds.conf
|
||||
source=./hyprland/general.conf
|
||||
source=./hyprland/windowrules.conf
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
# │ DESKTOP │
|
||||
# └ ┘
|
||||
workspace = 1, monitor:DP-1, default:1
|
||||
workspace = 2, monitor:DP-2, default:1
|
||||
workspace = 3, monitor:DP-1
|
||||
workspace = 4, monitor:DP-2
|
||||
48
configs/userland/hypr/hyprland_docked.conf
Normal file
48
configs/userland/hypr/hyprland_docked.conf
Normal file
@@ -0,0 +1,48 @@
|
||||
#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
#░ ░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░
|
||||
#▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒
|
||||
#▒ ▒▒▒▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒▒ ▒▒▒▒▒ ▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒ ▒▒▒ ▒ ▒▒▒▒▒▒▒ ▒▒
|
||||
#▓ ▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓ ▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓
|
||||
#▓ ▓▓▓▓ ▓▓▓▓ ▓▓▓ ▓▓▓ ▓▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓▓ ▓▓ ▓ ▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓
|
||||
#▓ ▓▓▓▓ ▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓▓ ▓▓ ▓ ▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓
|
||||
#█ ████ ████ ████ ██████ ████ ███ █ █ ██ ██ █ ███████████ ██████ █████ ██ ███ ████ █████ █
|
||||
#██████████████ █████ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ██
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ MONITORS │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
|
||||
monitor=eDP-1, disable
|
||||
monitor=,highres highrr, auto, 1
|
||||
|
||||
|
||||
source=./hyprland/binds.conf
|
||||
source=./hyprland/general.conf
|
||||
source=./hyprland/windowrules.conf
|
||||
|
||||
# ┌ ┐
|
||||
# │ LAPTOP │
|
||||
# └ ┘
|
||||
exec = hyprctl setcursor oreo_spark_blue_cursors 36
|
||||
env = HYPRCURSOR_THEME, Oreo_spark_blue_cursor
|
||||
env = X_CURSOR_THEME, Oreo_spark_blue_cursor
|
||||
env = XCURSOR_SIZE,24
|
||||
env = XDG_SESSION_TYPE, wayland
|
||||
env = QT_QPA_PLATFORM,wayland
|
||||
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
|
||||
exec-once = hyprpm reload -nn
|
||||
|
||||
xwayland {
|
||||
force_zero_scaling = true
|
||||
}
|
||||
|
||||
|
||||
# ── Vivado inversion ────────────────────────────────────────────────
|
||||
windowrule = plugin:invertwindow, class:Vivado
|
||||
windowrule = tile, title:(.*)Vivado(.*)
|
||||
49
configs/userland/hypr/hyprland_laptop.conf
Normal file
49
configs/userland/hypr/hyprland_laptop.conf
Normal file
@@ -0,0 +1,49 @@
|
||||
#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
#░ ░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░
|
||||
#▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒
|
||||
#▒ ▒▒▒▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒▒ ▒▒▒▒▒ ▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒ ▒▒▒ ▒ ▒▒▒▒▒▒▒ ▒▒
|
||||
#▓ ▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓ ▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓
|
||||
#▓ ▓▓▓▓ ▓▓▓▓ ▓▓▓ ▓▓▓ ▓▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓▓ ▓▓ ▓ ▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓
|
||||
#▓ ▓▓▓▓ ▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓▓ ▓▓ ▓ ▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓
|
||||
#█ ████ ████ ████ ██████ ████ ███ █ █ ██ ██ █ ███████████ ██████ █████ ██ ███ ████ █████ █
|
||||
#██████████████ █████ ██████████████████████████████████████████████████████████████████████████████████████████████████████ ██
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# ╭────────────────────────────────────────────────╮
|
||||
# │ MONITORS │
|
||||
# ╰────────────────────────────────────────────────╯
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
|
||||
monitor=eDP-1, 2880x1800@60, 0x0, 1.5
|
||||
monitor=,highres highrr, auto, 1
|
||||
|
||||
|
||||
source=./hyprland/binds.conf
|
||||
source=./hyprland/gestures.conf
|
||||
source=./hyprland/general.conf
|
||||
source=./hyprland/windowrules.conf
|
||||
|
||||
# ┌ ┐
|
||||
# │ LAPTOP │
|
||||
# └ ┘
|
||||
exec = hyprctl setcursor oreo_spark_blue_cursors 36
|
||||
env = HYPRCURSOR_THEME, Oreo_spark_blue_cursor
|
||||
env = X_CURSOR_THEME, Oreo_spark_blue_cursor
|
||||
env = XCURSOR_SIZE, 36
|
||||
env = ELECTRON_ENABLE_HIGHDPI_SUPPORT, 1
|
||||
env = XDG_SESSION_TYPE, wayland
|
||||
env = QT_QPA_PLATFORM, wayland
|
||||
env = ELECTRON_OZONE_PLATFORM_HINT, wayland
|
||||
env = GDK_SCALE,2
|
||||
|
||||
input {
|
||||
kb_options = caps:swapescape
|
||||
}
|
||||
|
||||
xwayland {
|
||||
force_zero_scaling = true
|
||||
}
|
||||
96
configs/userland/hypr/hyprlock.conf
Normal file
96
configs/userland/hypr/hyprlock.conf
Normal file
@@ -0,0 +1,96 @@
|
||||
#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
#░ ░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░
|
||||
#▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒
|
||||
#▒ ▒▒▒▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒ ▒ ▒ ▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒ ▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒ ▒▒▒ ▒ ▒▒▒▒▒▒▒ ▒▒
|
||||
#▓ ▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓
|
||||
#▓ ▓▓▓▓ ▓▓▓▓ ▓▓▓ ▓▓▓ ▓▓ ▓▓▓▓ ▓ ▓▓▓▓ ▓ ▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓
|
||||
#▓ ▓▓▓▓ ▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓ ▓▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓▓▓▓▓▓▓▓▓ ▓▓▓ ▓▓ ▓▓ ▓▓▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓ ▓
|
||||
#█ ████ ████ ████ ██████ ████ ████ ████████ █ ██ ██████████ ██████ █████ ██ ███ ████ █████ █
|
||||
#██████████████ █████ ███████████████████████████████████████████████████████████████████████████████████████████████████ ██
|
||||
|
||||
|
||||
# ┌ ┐
|
||||
# │ BACKGROUND │
|
||||
# └ ┘
|
||||
background {
|
||||
monitor =
|
||||
path = /home/janis/NextCloud/Wallpapers/hypercar/ferrari_499p-closeup.jpg # Or screenshot
|
||||
|
||||
blur_passes = 1
|
||||
}
|
||||
|
||||
# ┌ ┐
|
||||
# │ PASSWORD INPUT │
|
||||
# └ ┘
|
||||
input-field {
|
||||
monitor =
|
||||
size = 300, 40
|
||||
outline_thickness = 3
|
||||
dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = false
|
||||
outer_color = rgb(235, 196, 5)
|
||||
inner_color = rgb(200, 200, 200)
|
||||
font_color = rgb(10, 10, 10)
|
||||
fade_on_empty = true
|
||||
placeholder_text = <i>Input Password...</i> # Text rendered in the input box when it's empty.
|
||||
hide_input = false
|
||||
|
||||
position = 0, -80
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = <b>$TIME</b>
|
||||
color =
|
||||
font_size = 150
|
||||
font_family = Comfortaa
|
||||
|
||||
position = 0, 80
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = $LAYOUT
|
||||
color = rgba(200, 200, 200, 1.0)
|
||||
font_size = 12
|
||||
font_family = Comfortaa
|
||||
|
||||
position = 0, 0
|
||||
halign = right
|
||||
valign = bottom
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = $USER
|
||||
color = rgba(200, 200, 200, 1.0)
|
||||
font_size = 12
|
||||
font_family = Comfortaa
|
||||
|
||||
position = 0, 0
|
||||
halign = left
|
||||
valign = bottom
|
||||
shadow_passes = 3
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = <i>Failed attempts: $ATTEMPTS</i>
|
||||
color = rgba(200, 0, 0, 1.0)
|
||||
font_size = 12
|
||||
font_family = Adwaita Sans
|
||||
|
||||
position = 0, 20
|
||||
halign = center
|
||||
valign = bottom
|
||||
shadow_passes = 3
|
||||
shadow_size = 5
|
||||
shadow_boost = 3
|
||||
shadow_color = rgb(255,255,255)
|
||||
}
|
||||
|
||||
8
configs/userland/hypr/xdg-portal-hyprland
Executable file
8
configs/userland/hypr/xdg-portal-hyprland
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
sleep 1
|
||||
killall xdg-desktop-portal-hyprland
|
||||
killall xdg-desktop-portal-wlr
|
||||
killall xdg-desktop-portal
|
||||
/usr/libexec/xdg-desktop-portal-hyprland &
|
||||
sleep 2
|
||||
/usr/lib/xdg-desktop-portal &
|
||||
Reference in New Issue
Block a user