Add .config/hypr/apps.conf

Add .config/hypr/apps/browser.conf
Add .config/hypr/apps/hyprshot.conf
Add .config/hypr/apps/jetbrains.conf
Add .config/hypr/apps/localsend.conf
Add .config/hypr/apps/pip.conf
Add .config/hypr/apps/qemu.conf
Add .config/hypr/apps/retroarch.conf
Add .config/hypr/apps/steam.conf
Add .config/hypr/apps/system.conf
Add .config/hypr/apps/terminals.conf
Add .config/hypr/apps/walker.conf
Add .config/hypr/autostart.conf
Add .config/hypr/bindings.conf
Add .config/hypr/envs.conf
Add .config/hypr/hypridle.conf
Add .config/hypr/hyprland.conf
Add .config/hypr/hyprlock.conf
Add .config/hypr/hyprsunset.conf
Add .config/hypr/input.conf
Add .config/hypr/looknfeel.conf
Add .config/hypr/monitors.conf
Add .config/hypr/opts/animated_borders.conf
Add .config/hypr/opts/dimaround_walker.conf
Add .config/hypr/opts/hyprexpo.conf
Add .config/hypr/opts/hyprscrolling.conf
Add .config/hypr/opts/split-monitor-workspaces.conf
Add .config/hypr/windows.conf
This commit is contained in:
Lewis Wynne 2025-10-30 22:35:58 +00:00
parent e7e69b263d
commit c872cacb0b
28 changed files with 638 additions and 0 deletions

View file

@ -0,0 +1,12 @@
# App-specific tweaks
source = ~/.config/hypr/apps/browser.conf
source = ~/.config/hypr/apps/hyprshot.conf
source = ~/.config/hypr/apps/jetbrains.conf
source = ~/.config/hypr/apps/localsend.conf
source = ~/.config/hypr/apps/pip.conf
source = ~/.config/hypr/apps/qemu.conf
source = ~/.config/hypr/apps/retroarch.conf
source = ~/.config/hypr/apps/steam.conf
source = ~/.config/hypr/apps/system.conf
source = ~/.config/hypr/apps/terminals.conf
source = ~/.config/hypr/apps/walker.conf

View file

@ -0,0 +1,13 @@
# Browser types
windowrule = tag +chromium-based-browser, class:([cC]hrom(e|ium)|[bB]rave-browser|Microsoft-edge|Vivaldi-stable)
windowrule = tag +firefox-based-browser, class:([fF]irefox|zen|librewolf)
# Force chromium-based browsers into a tile to deal with --app bug
windowrule = tile, tag:chromium-based-browser
# Only a subtle opacity change, but not for video sites
windowrule = opacity 1 0.97, tag:chromium-based-browser
windowrule = opacity 1 0.97, tag:firefox-based-browser
# Some video sites should never have opacity applied to them
windowrule = opacity 1.0 1.0, initialTitle:((?i)(?:[a-z0-9-]+\.)*youtube\.com_/|app\.zoom\.us_/wc/home|(www\.)?netflix\.com_/)

View file

@ -0,0 +1,2 @@
# Remove 1px border around hyprshot screenshots
layerrule = noanim, selection

View file

@ -0,0 +1,6 @@
# Fixing popup size issue
windowrule = size 50% 50%, class:(.*jetbrains.*)$, title:^$,floating:1
# Fix tab dragging (always have a single space character as their title)
windowrule = noinitialfocus, class:^(.*jetbrains.*)$, title:^\\s$
windowrule = nofocus, class:^(.*jetbrains.*)$, title:^\\s$

View file

@ -0,0 +1,3 @@
# Float LocalSend and fzf file picker
windowrule = float, class:(Share|localsend)
windowrule = center, class:(Share|localsend)

View file

@ -0,0 +1,9 @@
# Picture-in-picture overlays
windowrule = tag +pip, title:(Picture.{0,1}in.{0,1}[Pp]icture)
windowrule = float, tag:pip
windowrule = pin, tag:pip
windowrule = size 600 338, tag:pip
windowrule = keepaspectratio, tag:pip
windowrule = noborder, tag:pip
windowrule = opacity 1 1, tag:pip
windowrule = move 100%-w-40 4%, tag:pip

View file

@ -0,0 +1 @@
windowrule = opacity 1 1, class:qemu

View file

@ -0,0 +1,4 @@
windowrule = fullscreen, class:com.libretro.RetroArch
windowrule = opacity 1 1, class:com.libretro.RetroArch
windowrule = idleinhibit fullscreen, class:com.libretro.RetroArch

View file

@ -0,0 +1,7 @@
# Float Steam, fullscreen RetroArch
windowrule = float, class:steam
windowrule = center, class:steam, title:Steam
windowrule = opacity 1 1, class:steam
windowrule = size 1100 700, class:steam, title:Steam
windowrule = size 460 800, class:steam, title:Friends List
windowrule = idleinhibit fullscreen, class:steam

View file

@ -0,0 +1,13 @@
# Floating windows
windowrule = float, tag:floating-window
windowrule = center, tag:floating-window
windowrule = size 800 600, tag:floating-window
windowrule = tag +floating-window, class:(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty|Omarchy|About|TUI.float)
windowrule = tag +floating-window, class:(xdg-desktop-portal-gtk|sublime_text|DesktopEditors|org.gnome.Nautilus), title:^(Open.*Files?|Open [F|f]older.*|Save.*Files?|Save.*As|Save|All Files)
# Fullscreen screensaver
windowrule = fullscreen, class:Screensaver
# No transparency on media windows
windowrule = opacity 1 1, class:^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$

View file

@ -0,0 +1,2 @@
# Define terminal tag to style them uniformly
windowrule = tag +terminal, class:(Alacritty|kitty|com.mitchellh.ghostty)

View file

@ -0,0 +1,2 @@
# Application-specific animation
layerrule = noanim, walker

View file

@ -0,0 +1,11 @@
exec-once = uwsm-app -- hypridle
exec-once = uwsm-app -- mako
exec-once = uwsm-app -- waybar
exec-once = uwsm-app -- swaybg -i ~/.config/omarchy/current/background -m fill
exec-once = uwsm-app -- swayosd-server
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+'
exec-once = omarchy-cmd-first-run
exec-once = uwsm app -- elephant
exec-once = uwsm app -- walker --gapplication-service
exec-once = hyprpm reload

View file

@ -0,0 +1,193 @@
# Application bindings
$terminal = uwsm-app -- $TERMINAL
$browser = omarchy-launch-browser
# key | super | +shift | +alt |
# ====|=============|============|============|
# Ret | Terminal | | |
# a | ChatGPT | | ProtonAuth |
# b | Browser | +incognito | BlueSky |
# c | | | |
# d | | | |
# e | | | ProtonMail |
# f | Files | | |
# g | | | GitHub |
# h | | | |
# i | | | |
# j | TOG.SPLIT | | |
# k | KEYBINDS | | |
# l | | | |
# m | | | |
# n | Nvim | | |
# o | Obsidian | | |
# p | PSEUDO WIN. | | ProtonPass |
# q | | | |
# r | | | |
# s | | | Slack |
# t | Activity | | Messages |
# u | | | |
# v | FLOAT | | |
# w | EXIT | | WhatsApp |
# x | | | |
# y | | | YouTube |
# z | | | |
bindd = SUPER, return, Terminal, exec, bash -c 'dir="$(omarchy-cmd-terminal-cwd)"; $terminal --working-directory="$dir"'
bindd = SUPER, F, File manager, exec, uwsm-app -- nautilus --new-window
bindd = SUPER, B, Browser, exec, $browser
bindd = SUPER SHIFT, B, Browser (private), exec, $browser --private
bindd = SUPER, N, Editor, exec, omarchy-launch-editor
bindd = SUPER, T, Activity, exec, $terminal -e btop
bindd = SUPER, O, Obsidian, exec, omarchy-launch-or-focus obsidian "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime"
# If your web app url contains #, type it as ## to prevent hyperland treat it as comments
bindd = SUPER, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com"
bindd = SUPER ALT, D, Discord, exec, omarchy-launch-or-focus vesktop
bindd = SUPER ALT, M, Music, exec, omarchy-launch-or-focus-webapp "Music" "https://music.youtube.com"
bindd = SUPER ALT, Y, YouTube, exec, omarchy-launch-or-focus-webapp "YouTube" "https://youtube.com/"
bindd = SUPER ALT, B, BlueSky, exec, omarchy-launch-or-focus-webapp "bsky" "https://bsky.app/"
bindd = SUPER ALT, G, GitHub, exec, omarchy-launch-or-focus-webapp "Github" "https://github.com"
bindd = SUPER ALT, W, WhatsApp, exec, omarchy-launch-or-focus-webapp "WhatsApp" "https://web.whatsapp.com/"
bindd = SUPER ALT, T, Google Messages, exec, omarchy-launch-or-focus-webapp "Messages" "https://messages.google.com/web/conversations"
bindd = SUPER ALT, E, Email, exec, omarchy-launch-or-focus proton-mail
bindd = SUPER ALT, A, Authenticator, exec, omarchy-launch-or-focus proton-authenticator
bindd = SUPER ALT, P, Password Manager, exec, omarchy-launch-or-focus proton-pass
bindd = SUPER ALT, S, Slack, exec, omarchy-launch-or-focus slack
# Only display the OSD on the currently focused monitor
$osdclient = swayosd-client --monitor "$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')"
# Laptop multimedia keys for volume and LCD brightness (with OSD)
bindeld = ,XF86AudioRaiseVolume, Volume up, exec, $osdclient --output-volume raise
bindeld = ,XF86AudioLowerVolume, Volume down, exec, $osdclient --output-volume lower
bindeld = ,XF86AudioMute, Mute, exec, $osdclient --output-volume mute-toggle
bindeld = ,XF86AudioMicMute, Mute microphone, exec, $osdclient --input-volume mute-toggle
bindeld = ,XF86MonBrightnessUp, Brightness up, exec, $osdclient --brightness raise
bindeld = ,XF86MonBrightnessDown, Brightness down, exec, $osdclient --brightness lower
# Precise 1% multimedia adjustments with Alt modifier
bindeld = ALT, XF86AudioRaiseVolume, Volume up precise, exec, $osdclient --output-volume +1
bindeld = ALT, XF86AudioLowerVolume, Volume down precise, exec, $osdclient --output-volume -1
bindeld = ALT, XF86MonBrightnessUp, Brightness up precise, exec, $osdclient --brightness +1
bindeld = ALT, XF86MonBrightnessDown, Brightness down precise, exec, $osdclient --brightness -1
# Requires playerctl
bindld = , XF86AudioNext, Next track, exec, $osdclient --playerctl next
bindld = , XF86AudioPause, Pause, exec, $osdclient --playerctl play-pause
bindld = , XF86AudioPlay, Play, exec, $osdclient --playerctl play-pause
bindld = , XF86AudioPrev, Previous track, exec, $osdclient --playerctl previous
# Switch audio output with Super + Mute
bindld = SUPER, XF86AudioMute, Switch audio output, exec, omarchy-cmd-audio-switch
# Close windows
bindd = SUPER, W, Close active window, killactive,
bindd = CTRL ALT, DELETE, Close all Windows, exec, omarchy-cmd-close-all-windows
# Control tiling
bindd = SUPER, J, Toggle split, togglesplit, # dwindle
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
bindd = SUPER SHIFT, V, Toggle floating, togglefloating,
bindd = SHIFT, F11, Force full screen, fullscreen, 0
bindd = SUPER, Z, Full width, fullscreen, 1
# Move focus with SUPER + arrow keys
bindd = SUPER, left, Move focus left, movefocus, l
bindd = SUPER, right, Move focus right, movefocus, r
bindd = SUPER, up, Move focus up, movefocus, u
bindd = SUPER, down, Move focus down, movefocus, d
# Switch workspaces with SUPER + [0-9]
bindd = SUPER, code:10, Switch to workspace 1, workspace, 1
bindd = SUPER, code:11, Switch to workspace 2, workspace, 2
bindd = SUPER, code:12, Switch to workspace 3, workspace, 3
bindd = SUPER, code:13, Switch to workspace 4, workspace, 4
bindd = SUPER, code:14, Switch to workspace 5, workspace, 5
bindd = SUPER, code:15, Switch to workspace 6, workspace, 6
bindd = SUPER, code:16, Switch to workspace 7, workspace, 7
bindd = SUPER, code:17, Switch to workspace 8, workspace, 8
bindd = SUPER, code:18, Switch to workspace 9, workspace, 9
# Move active window to a workspace with SUPER + SHIFT + [0-9]
bindd = SUPER SHIFT, code:10, Move window to workspace 1, movetoworkspace, 1
bindd = SUPER SHIFT, code:11, Move window to workspace 2, movetoworkspace, 2
bindd = SUPER SHIFT, code:12, Move window to workspace 3, movetoworkspace, 3
bindd = SUPER SHIFT, code:13, Move window to workspace 4, movetoworkspace, 4
bindd = SUPER SHIFT, code:14, Move window to workspace 5, movetoworkspace, 5
bindd = SUPER SHIFT, code:15, Move window to workspace 6, movetoworkspace, 6
bindd = SUPER SHIFT, code:16, Move window to workspace 7, movetoworkspace, 7
bindd = SUPER SHIFT, code:17, Move window to workspace 8, movetoworkspace, 8
bindd = SUPER SHIFT, code:18, Move window to workspace 9, movetoworkspace, 9
# Tab between workspaces
bindd = SUPER, TAB, Next workspace, workspace, e+1
bindd = SUPER SHIFT, TAB, Previous workspace, workspace, e-1
bindd = SUPER CTRL, TAB, Former workspace, workspace, previous
# Swap active window with the one next to it with SUPER + SHIFT + arrow keys
bindd = SUPER SHIFT, left, Swap window to the left, swapwindow, l
bindd = SUPER SHIFT, right, Swap window to the right, swapwindow, r
bindd = SUPER SHIFT, up, Swap window up, swapwindow, u
bindd = SUPER SHIFT, down, Swap window down, swapwindow, d
# Cycle through applications on active workspace
bindd = ALT, Tab, Cycle to next window, cyclenext
bindd = ALT SHIFT, Tab, Cycle to prev window, cyclenext, prev
bindd = ALT, Tab, Reveal active window on top, bringactivetotop
bindd = ALT SHIFT, Tab, Reveal active window on top, bringactivetotop
# Resize active window
bindd = SUPER CTRL, left, Expand window left, resizeactive, -100 0
bindd = SUPER CTRL, right, Shrink window left, resizeactive, 100 0
bindd = SUPER CTRL, up, Expand window vertical, resizeactive, 0 100
bindd = SUPER CTRL, down, Shrink window vertical, resizeactive, 0 -100
# Scroll through existing workspaces with SUPER + scroll
bindd = SUPER, mouse_down, Scroll active workspace forward, workspace, e+1
bindd = SUPER, mouse_up, Scroll active workspace backward, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindmd = SUPER, mouse:272, Move window, movewindow
bindmd = SUPER, mouse:273, Resize window, resizewindow
# Menus
bindd = SUPER, SPACE, Launch apps, exec, walker -p "Start…"
bindd = SUPER CTRL, E, Emoji picker, exec, walker -m Emojis
bindd = SUPER CTRL, V, Clipboard, exec, walker -m clipboard
bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu
bindd = SUPER, ESCAPE, Power menu, exec, omarchy-menu system
bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system
bindd = SUPER, K, Show key bindings, exec, omarchy-menu-keybindings
bindd = , XF86Calculator, Calculator, exec, gnome-calculator
# Aesthetics
bindd = SUPER SHIFT, SPACE, Toggle top bar, exec, omarchy-toggle-waybar
bindd = SUPER CTRL, SPACE, Next background in theme, exec, omarchy-theme-bg-next
bindd = SUPER SHIFT CTRL, SPACE, Pick new theme, exec, omarchy-menu theme
bindd = SUPER, BACKSPACE, Toggle window transparency, exec, hyprctl dispatch setprop "address:$(hyprctl activewindow -j | jq -r '.address')" opaque toggle
# Notifications
bindd = SUPER, SEMICOLON, Dismiss last notification, exec, makoctl dismiss
bindd = SUPER SHIFT, SEMICOLON, Dismiss all notifications, exec, makoctl dismiss --all
bindd = SUPER CTRL, SEMICOLON, Toggle silencing notifications, exec, makoctl mode -t do-not-disturb && makoctl mode | grep -q 'do-not-disturb' && notify-send "Silenced notifications" || notify-send "Enabled notifications" && pkill -RTMIN+9 waybar
# Toggle idling
bindd = SUPER CTRL, I, Toggle locking on idle, exec, omarchy-toggle-idle
# Toggle nightlight
bindd = SUPER CTRL, N, Toggle nightlight, exec, omarchy-toggle-nightlight
# Screenshots
bindd = , PRINT, Screenshot of region, exec, omarchy-cmd-screenshot
bindd = SHIFT, PRINT, Screenshot of window, exec, omarchy-cmd-screenshot window
bindd = CTRL, PRINT, Screenshot of display, exec, omarchy-cmd-screenshot output
# Screen recordings
bindd = ALT, PRINT, Screen record menu, exec, omarchy-menu screenrecord
# Color picker
bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a
# File sharing
bindd = CTRL SUPER, S, Share, exec, omarchy-menu share
# Utilities
bind = SUPER, C, sendshortcut, CTRL, Insert,
bind = SUPER, V, sendshortcut, SHIFT, Insert,

View file

@ -0,0 +1,28 @@
# Cursor size
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
# Force all apps to use Wayland
env = GDK_BACKEND,wayland,x11,*
env = QT_QPA_PLATFORM,wayland;xcb
env = QT_STYLE_OVERRIDE,kvantum
env = SDL_VIDEODRIVER,wayland
env = MOZ_ENABLE_WAYLAND,1
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
env = OZONE_PLATFORM,wayland
env = XDG_SESSION_TYPE,wayland
# Allow better support for screen sharing (Google Meet, Discord, etc)
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
xwayland {
force_zero_scaling = true
}
# Use XCompose file
env = XCOMPOSEFILE,~/.XCompose
ecosystem {
no_update_news = true
}

View file

@ -0,0 +1,22 @@
general {
lock_cmd = omarchy-lock-screen # lock screen and 1password
before_sleep_cmd = loginctl lock-session # lock before suspend.
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
inhibit_sleep = 3 # wait until screen is locked
}
listener {
timeout = 150 # 2.5min
on-timeout = pidof hyprlock || omarchy-launch-screensaver # start screensaver (if we haven't locked already)
}
listener {
timeout = 300 # 5min
on-timeout = loginctl lock-session # lock screen when timeout has passed
}
listener {
timeout = 330 # 5.5min
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected
}

View file

@ -0,0 +1,16 @@
source = ~/.config/omarchy/current/theme/hyprland.conf
source = ~/.config/hypr/windows.conf
source = ~/.config/hypr/monitors.conf
source = ~/.config/hypr/input.conf
source = ~/.config/hypr/bindings.conf
source = ~/.config/hypr/envs.conf
source = ~/.config/hypr/looknfeel.conf
source = ~/.config/hypr/autostart.conf
source = ~/.config/hypr/opts/animated_borders.conf
source = ~/.config/hypr/opts/dimaround_walker.conf
source = ~/.config/hypr/opts/hyprexpo.conf
source = ~/.config/hypr/opts/split-monitor-workspaces.conf
source = ~/.config/hypr/opts/hyprscrolling.conf

View file

@ -0,0 +1,39 @@
source = ~/.config/omarchy/current/theme/hyprlock.conf
background {
monitor =
color = $color
path = ~/.config/omarchy/current/background
blur_passes = 2
}
animations {
enabled = true
}
input-field {
monitor =
size = 80, 35
position = 0, 0
halign = center
valign = center
inner_color = $inner_color
outer_color = $outer_color
outline_thickness = 1
font_family = Caskaydia Nerd Font
font_color = $font_color
placeholder_text =
check_color = $check_color
fail_text = <i>$PAMFAIL ($ATTEMPTS)</i>
rounding = 0
shadow_passes = 0
fade_on_empty = true
}
auth {
fingerprint:enabled = true
}

View file

@ -0,0 +1,6 @@
# Makes hyprsunset do nothing to the screen by default
# Without this, the default applies some tint to the monitor
profile {
time = 07:00
identity = true
}

View file

@ -0,0 +1,13 @@
# https://wiki.hyprland.org/Configuring/Variables/#input
input {
kb_layout = gb
kb_variant =
kb_model =
kb_options = compose:caps
kb_rules =
follow_mouse = 1
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
touchpad {
natural_scroll = false
}
}

View file

@ -0,0 +1,113 @@
$activeBorderColor = rgba(33ccffee) rgba(00ff99ee) 45deg
$inactiveBorderColor = rgba(595959aa)
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
gaps_in = 4
gaps_out = 4
border_size = 2
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = $activeBorderColor
col.inactive_border = $inactiveBorderColor
resize_on_border = false
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
layout = dwindle
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
rounding = 0
shadow {
enabled = true
range = 2
render_power = 3
color = rgba(1a1a1aee)
}
# https://wiki.hyprland.org/Configuring/Variables/#blur
blur {
enabled = true
size = 3
passes = 1
vibrancy = 0.1696
}
}
# https://wiki.hyprland.org/Configuring/Variables/#animations
animations {
enabled = yes, please :)
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = easeOutQuint,0.23,1,0.32,1
bezier = easeInOutCubic,0.65,0.05,0.36,1
bezier = linear,0,0,1,1
bezier = almostLinear,0.5,0.5,0.75,1.0
bezier = quick,0.15,0,0.1,1
animation = global, 1, 10, default
animation = border, 1, 5.39, easeOutQuint
animation = windows, 1, 4.79, easeOutQuint
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
animation = windowsOut, 1, 1.49, linear, popin 87%
animation = fadeIn, 1, 1.73, almostLinear
animation = fadeOut, 1, 1.46, almostLinear
animation = fade, 1, 3.03, quick
animation = layers, 1, 3.81, easeOutQuint
animation = layersIn, 1, 4, easeOutQuint, fade
animation = layersOut, 1, 1.5, linear, fade
animation = fadeLayersIn, 1, 1.79, almostLinear
animation = fadeLayersOut, 1, 1.39, almostLinear
animation = workspaces, 1, 2, default, slide top
}
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this
force_split = 2 # Always split on the right
}
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
new_status = master
}
# https://wiki.hyprland.org/Configuring/Variables/#misc
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
focus_on_activate = true
anr_missed_pings = 5
}
# https://wiki.hypr.land/Configuring/Variables/#cursor
cursor {
hide_on_key_press = true
}
group {
col.border_active = $activeBorderColor
col.border_inactive = $inactiveBorderColor
col.border_locked_active = -1
col.border_locked_inactive = -1
groupbar {
font_size = 12
font_family = monospace
font_weight_active = ultraheavy
font_weight_inactive = normal
indicator_height = 0
indicator_gap = 5
height = 22
gaps_in = 5
gaps_out = 0
text_color = rgb(ffffff)
text_color_inactive = rgba(ffffff90)
col.active = rgba(00000040)
col.inactive = rgba(00000020)
gradients = true
gradient_rounding = 0
gradient_round_only_edges = false
}
}

View file

@ -0,0 +1,11 @@
# See https://wiki.hyprland.org/Configuring/Monitors/
# List current monitors and resolutions possible: hyprctl monitors
# Format: monitor = [port], resolution, position, scale
# You must relaunch Hyprland after changing any envs (use Super+Esc, then Relaunch)
env = GDK_SCALE,1
monitor=,preferred,auto,1
# configurable per monitor. see below to specify
# settings for only a particular monitor
# monitor = HDMI-A-1,preferred, auto, 2

View file

@ -0,0 +1,2 @@
animation = border, 1, 1, linear
animation = borderangle, 1, 24, linear, loop

View file

@ -0,0 +1 @@
layerrule = dimaround, walker

View file

@ -0,0 +1,8 @@
plugin {
hyprexpo {
columns = 2
workspace_method = first 1
}
}
bind = SUPER, code:19, hyprexpo:expo, toggle

View file

@ -0,0 +1,49 @@
general:layout = scrolling
plugin {
hyprscrolling {
column_width = 0.49
explicit_column_widths = 0.49, 0.99
fullscreen_on_one_column = true
focus_fit_method = 1
}
}
$minus = code:20
$plus = code:21
unbind = SUPER, period
unbind = SUPER, comma
unbind = SUPER SHIFT, period
unbind = SUPER SHIFT, comma
unbind = SUPER SHIFT, left
unbind = SUPER SHIFT, right
unbind = SUPER SHIFT, up
unbind = SUPER SHIFT, down
unbind = SUPER, $minus
unbind = SUPER, $plus
unbind = SUPER, left
unbind = SUPER, right
unbind = SUPER CTRL, left
unbind = SUPER CTRL, right
bind = SUPER, period, layoutmsg, colresize +conf
bind = SUPER, comma, layoutmsg, colresize all 0.49
bind = SUPER SHIFT, period, layoutmsg, swapcol r
bind = SUPER SHIFT, comma, layoutmsg, swapcol l
bind = SUPER, $minus, layoutmsg, colresize -0.1
bind = SUPER, $plus, layoutmsg, colresize +0.1
bind = SUPER CTRL, left, layoutmsg, colresize -0.1
bind = SUPER CTRL, right, layoutmsg, colresize +0.1
bind = SUPER SHIFT, right, layoutmsg, movewindowto r
bind = SUPER SHIFT, left, layoutmsg, movewindowto l
bind = SUPER SHIFT, up, layoutmsg, movewindowto u
bind = SUPER SHIFT, down, layoutmsg, movewindowto d
bind = SUPER SHIFT, return, layoutmsg, promote
bind = SUPER, left, layoutmsg, focus left
bind = SUPER, right, layoutmsg, focus right

View file

@ -0,0 +1,45 @@
plugin {
split-monitor-workspaces {
count = 4
keep_focused = 0
enable_notifications = 0
enable_persistent_workspaces = 1
}
}
unbind = SUPER, code:10
unbind = SUPER, code:11
unbind = SUPER, code:12
unbind = SUPER, code:13
unbind = SUPER, code:14
unbind = SUPER, code:15
unbind = SUPER, code:16
unbind = SUPER, code:17
unbind = SUPER, code:18
unbind = SUPER SHIFT, code:10
unbind = SUPER SHIFT, code:11
unbind = SUPER SHIFT, code:12
unbind = SUPER SHIFT, code:13
unbind = SUPER SHIFT, code:14
unbind = SUPER SHIFT, code:15
unbind = SUPER SHIFT, code:16
unbind = SUPER SHIFT, code:17
unbind = SUPER SHIFT, code:18
unbind = SUPER, TAB
unbind = SUPER SHIFT, TAB
bind = SUPER, 1, split-workspace, 1
bind = SUPER, 2, split-workspace, 2
bind = SUPER, 3, split-workspace, 3
bind = SUPER, 4, split-workspace, 4
bind = SUPER, 5, split-workspace, 5
bind = SUPER SHIFT, 1, split-movetoworkspacesilent, 1
bind = SUPER SHIFT, 2, split-movetoworkspacesilent, 2
bind = SUPER SHIFT, 3, split-movetoworkspacesilent, 3
bind = SUPER SHIFT, 4, split-movetoworkspacesilent, 4
bind = SUPER SHIFT, 5, split-movetoworkspacesilent, 5
bind = SUPER, TAB, split-cycleworkspaces, +1
bind = SUPER SHIFT, TAB, split-changemonitor, +1
bind = SUPER, 9, split-grabroguewindows

View file

@ -0,0 +1,7 @@
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrule = suppressevent maximize, class:.*
windowrule = opacity 0.97 0.9, class:.*
# Fix some dragging issues with XWayland
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
# App-specific tweaks
source = ~/.config/hypr/apps.conf