[Build] Start refactor

This commit is contained in:
2026-02-02 16:01:56 +01:00
parent c38907ec39
commit 10a5c775be
561 changed files with 1936094 additions and 13878 deletions

View 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
}

View 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'

View 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)
}
}

View 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
}

View 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

View 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`

View 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
# ────────────────────────────────────────────────────────────────────

View 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
# ────────────────────────────────────────────────────────────────────

View File

@@ -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
# ────────────────────────────────────────────────────────────────────

View 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
# ────────────────────────────────────────────────────────────────────

View File

@@ -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
# ────────────────────────────────────────────────────────────────────

View 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
# ────────────────────────────────────────────────────────────────────

View 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'

View 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

View 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

View 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(.*)

View 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
}

View 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)
}

View 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 &