|
|
|
|
@@ -24,6 +24,9 @@ $privateBrowser = env GTK_THEME=Adwaita:light zen-browser --private-window
|
|
|
|
|
### AUTOSTART ###
|
|
|
|
|
#################
|
|
|
|
|
|
|
|
|
|
exec = sh -c '[[ $(cat "$HOME/.config/waybar/goal.txt") != "." ]] && swaync-client -C && notify-send -u critical -i "$HOME/Pictures/Fetch/atheism_paint.png" "Reminder" "$(cat $HOME/.config/waybar/goal.txt)"'
|
|
|
|
|
exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
|
|
|
|
|
|
|
|
|
|
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
|
|
|
|
# Or execute your favorite apps at launch like this:
|
|
|
|
|
|
|
|
|
|
@@ -60,6 +63,7 @@ exec-once = [workspace 8 silent] Telegram
|
|
|
|
|
|
|
|
|
|
env = XCURSOR_SIZE,24
|
|
|
|
|
env = HYPRCURSOR_SIZE,24
|
|
|
|
|
# env = QT_QPA_PLATFORMTHEME,qt6ct
|
|
|
|
|
|
|
|
|
|
###################
|
|
|
|
|
### PERMISSIONS ###
|
|
|
|
|
@@ -392,7 +396,7 @@ bind = $mainMod SHIFT, minus, movetoworkspacesilent, 11
|
|
|
|
|
bind = $mainMod SHIFT, equal, movetoworkspacesilent, 12
|
|
|
|
|
|
|
|
|
|
# Cycle monitors
|
|
|
|
|
bind = $mainMod SHIFT, U, swapactiveworkspaces, eDP-1 HDMI-A-1
|
|
|
|
|
# bind = $mainMod SHIFT, U, swapactiveworkspaces, eDP-1 HDMI-A-1
|
|
|
|
|
bind = $mainMod, O, focusmonitor, +1
|
|
|
|
|
|
|
|
|
|
# Example special workspace (scratchpad)
|
|
|
|
|
@@ -408,18 +412,16 @@ bind = $mainMod SHIFT, bracketright, workspace, m+1
|
|
|
|
|
bind = $mainMod, grave, togglespecialworkspace, dungeon
|
|
|
|
|
bind = $mainMod SHIFT, grave, movetoworkspace, special:dungeon
|
|
|
|
|
|
|
|
|
|
# Cringy mouse movement
|
|
|
|
|
binde = $mainMod ALT, up, exec, ~/.config/hypr/scripts/weirdmouse.sh up
|
|
|
|
|
binde = $mainMod ALT, down, exec, ~/.config/hypr/scripts/weirdmouse.sh down
|
|
|
|
|
binde = $mainMod ALT, left, exec, ~/.config/hypr/scripts/weirdmouse.sh left
|
|
|
|
|
binde = $mainMod ALT, right, exec, ~/.config/hypr/scripts/weirdmouse.sh right
|
|
|
|
|
|
|
|
|
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
|
|
|
bindm = $mainMod, mouse:272, movewindow
|
|
|
|
|
#bindm = SUPER, Shift_L, swapwindow
|
|
|
|
|
bindm = $mainMod, mouse:273, resizewindow
|
|
|
|
|
bindm = SUPER, ALT_L, resizewindow
|
|
|
|
|
|
|
|
|
|
# Zoom
|
|
|
|
|
binde = $mainMod CTRL, equal, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '.float * 1.1')
|
|
|
|
|
binde = $mainMod CTRL, minus, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '(.float * 0.9) | if . < 1 then 1 else . end')
|
|
|
|
|
|
|
|
|
|
# Move windows with keyboard
|
|
|
|
|
bind = $mainMod SHIFT, h, swapwindow, l
|
|
|
|
|
bind = $mainMod SHIFT, l, swapwindow, r
|
|
|
|
|
@@ -430,10 +432,13 @@ bind = $mainMod SHIFT, k, swapwindow, u
|
|
|
|
|
bind = $mainMod, C, cyclenext
|
|
|
|
|
bind = $mainMod SHIFT, C, cyclenext, prev
|
|
|
|
|
|
|
|
|
|
bind = $mainMod, R, swapnext
|
|
|
|
|
bind = $mainMod SHIFT, R, swapnext, prev
|
|
|
|
|
|
|
|
|
|
# Go to previous window and back
|
|
|
|
|
bind = ALT, TAB, focuscurrentorlast
|
|
|
|
|
bind = $mainMod, I, focusurgentorlast
|
|
|
|
|
bind = $mainMod, Tab, workspace, previous
|
|
|
|
|
bindp = $mainMod, Tab, workspace, previous
|
|
|
|
|
|
|
|
|
|
# Resize windows in different directions via keyboard
|
|
|
|
|
binde = $mainMod ALT, h, resizeactive, -60 0
|
|
|
|
|
@@ -480,6 +485,8 @@ bindl = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
|
|
|
|
bindl = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
|
|
|
|
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
|
|
|
|
|
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
|
|
|
|
|
bindl = $mainMod, XF86MonBrightnessUp, exec, brightnessctl set 60%
|
|
|
|
|
bindl = $mainMod, XF86MonBrightnessDown, exec, brightnessctl set 0
|
|
|
|
|
|
|
|
|
|
# Requires playerctl
|
|
|
|
|
bindl = , XF86AudioNext, exec, playerctl next
|
|
|
|
|
@@ -524,8 +531,17 @@ bind = $mainMod SHIFT, F, tagwindow, zawarudo
|
|
|
|
|
# Lock screen
|
|
|
|
|
bind = $mainMod, Backspace, exec, hyprlock
|
|
|
|
|
|
|
|
|
|
# Lock screen and sleep
|
|
|
|
|
bind = $mainMod ALT, Backspace, exec, systemctl suspend
|
|
|
|
|
|
|
|
|
|
# Shutdown
|
|
|
|
|
bind = $mainMod SHIFT, Backspace, exec, shutdown now
|
|
|
|
|
|
|
|
|
|
# Toggle privacy for window
|
|
|
|
|
bind = $mainMod SHIFT, U, tagwindow, privacy
|
|
|
|
|
# Toggle privacy expose for window
|
|
|
|
|
bind = $mainMod SHIFT, I, tagwindow, privacyexpose
|
|
|
|
|
|
|
|
|
|
# Discord PTT
|
|
|
|
|
bindr = , F8, sendshortcut, CTRL SHIFT, F8, class:^(vesktop)$
|
|
|
|
|
|
|
|
|
|
@@ -540,9 +556,12 @@ bindrn = CTRL, Space, sendshortcut, , F6, class:^(zen)$
|
|
|
|
|
# OBS
|
|
|
|
|
bindrn = $mainMod CTRL, bracketleft, pass, class:^(com.obsproject.Studio)$
|
|
|
|
|
bindrn = $mainMod CTRL, bracketright, pass, class:^(com.obsproject.Studio)$
|
|
|
|
|
bindrn = $mainMod CTRL, apostrophe, pass, class:^(com.obsproject.Studio)$
|
|
|
|
|
|
|
|
|
|
bind = , XF86PowerOff, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 35% & ristretto -f ~/Templates/Images/theorist.jpg & play ~/Templates/Sounds/scream.mp3
|
|
|
|
|
|
|
|
|
|
bind = $mainMod SHIFT, p, exec, .config/hypr/scripts/random_wallpaper.sh random
|
|
|
|
|
|
|
|
|
|
# Disable binds temporarily
|
|
|
|
|
bind = $mainMod, Escape, submap, clean
|
|
|
|
|
submap = clean
|
|
|
|
|
@@ -579,6 +598,27 @@ windowrule = group override set always,class:^(vesktop)$
|
|
|
|
|
windowrule = workspace 8 silent,class:^(Element)$
|
|
|
|
|
windowrule = group override set always,class:^(Element)$
|
|
|
|
|
|
|
|
|
|
# Screensharing protection
|
|
|
|
|
windowrule = tag +privacy,class:^(org.telegram.desktop)$
|
|
|
|
|
windowrule = tag +privacy,class:^(Element)$
|
|
|
|
|
windowrule = tag +privacy,class:^(vesktop)$
|
|
|
|
|
windowrule = tag +privacy,class:^(com.github.hluk.copyq)$
|
|
|
|
|
windowrule = tag +privacy,class:^(org.keepassxc.KeePassXC)$
|
|
|
|
|
windowrule = tag +privacy,class:^(com.nextcloud.desktopclient.nextcloud)$
|
|
|
|
|
windowrule = tag +privacy,title:^(diary)$
|
|
|
|
|
windowrule = tag +privacy,class:thunar,title:.*(Downloads|Telegram Desktop).*
|
|
|
|
|
windowrule = tag +privacy,class:^(Mullvad VPN)$
|
|
|
|
|
windowrule = tag +privacy,class:^(Tor Browser)$
|
|
|
|
|
windowrule = tag +privacy,class:^(com.obsproject.Studio)$
|
|
|
|
|
# These aren't added in my version yet
|
|
|
|
|
# layerrule = noscreenshare, swaync-control-center
|
|
|
|
|
# layerrule = noscreenshare, swaync-notification-window
|
|
|
|
|
windowrule = noscreenshare, tag:privacy
|
|
|
|
|
windowrule = bordercolor rgba(cc00ffff) rgba(630063ff) 90deg,tag:privacy
|
|
|
|
|
windowrule = noscreenshare 0, tag:privacyexpose
|
|
|
|
|
windowrule = bordercolor rgba(ff0000ff) rgba(ff0000ff) 90deg,tag:privacyexpose
|
|
|
|
|
windowrule = dimaround, tag:privacyexpose
|
|
|
|
|
|
|
|
|
|
# Nextcloud
|
|
|
|
|
windowrule = float,animation slide top,resize 800 600,move center,class:^(com.nextcloud.desktopclient.nextcloud)$
|
|
|
|
|
|
|
|
|
|
@@ -601,19 +641,23 @@ windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned
|
|
|
|
|
|
|
|
|
|
# Animation for rofi
|
|
|
|
|
layerrule = ignorezero, rofi
|
|
|
|
|
layerrule = dimaround, rofi
|
|
|
|
|
layerrule = blur, rofi
|
|
|
|
|
layerrule = animation slide bottom, rofi
|
|
|
|
|
|
|
|
|
|
# Animation fpr swaync
|
|
|
|
|
layerrule = blur, swaync-control-center
|
|
|
|
|
layerrule = blur, swaync-notification-window
|
|
|
|
|
layerrule = abovelock, swaync-notification-window
|
|
|
|
|
layerrule = dimaround, swaync-control-center
|
|
|
|
|
layerrule = ignorezero, swaync-control-center
|
|
|
|
|
layerrule = ignorezero, swaync-notification-window
|
|
|
|
|
layerrule = animation slideIn right, swaync-control-center
|
|
|
|
|
|
|
|
|
|
# Waybar blur
|
|
|
|
|
layerrule = ignorezero, waybar
|
|
|
|
|
layerrule = blur, waybar
|
|
|
|
|
layerrule = ignorealpha 0.6, waybar
|
|
|
|
|
|
|
|
|
|
# Adjustments for certain workspaces
|
|
|
|
|
workspace = special:magic, gapsin:20, gapsout:50, shadow:false
|
|
|
|
|
workspace = 9, gapsin:15, gapsout:40
|
|
|
|
|
@@ -623,73 +667,73 @@ workspace = 9, gapsin:15, gapsout:40
|
|
|
|
|
###############
|
|
|
|
|
exec-once = hyprpm reload -n
|
|
|
|
|
|
|
|
|
|
# Easymotion
|
|
|
|
|
bind = SUPER, x, easymotion, action:hyprctl dispatch focuswindow address:{}
|
|
|
|
|
# # Easymotion
|
|
|
|
|
# bind = SUPER, x, easymotion, action:hyprctl dispatch focuswindow address:{}
|
|
|
|
|
|
|
|
|
|
# Close unfocused
|
|
|
|
|
bind = $mainMod SHIFT, x, plugin:xtd:closeunfocused
|
|
|
|
|
# bind = $mainMod SHIFT, x, plugin:xtd:closeunfocused
|
|
|
|
|
|
|
|
|
|
plugin {
|
|
|
|
|
|
|
|
|
|
hyprfocus {
|
|
|
|
|
animation = hyprfocusIn, 1, 3, quick
|
|
|
|
|
animation = hyprfocusOut, 1, 3, quick
|
|
|
|
|
fade_opacity = 0.94
|
|
|
|
|
mode = flash
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
easymotion {
|
|
|
|
|
#font size of the text
|
|
|
|
|
textsize=72
|
|
|
|
|
|
|
|
|
|
#color of the text, takes standard hyprland color format
|
|
|
|
|
textcolor=rgba(ffffffff)
|
|
|
|
|
|
|
|
|
|
#background color of the label box. alpha is respected
|
|
|
|
|
bgcolor=rgba(ff7777a0)
|
|
|
|
|
|
|
|
|
|
#enable blur. The bgcolor alpha must be at least semi-transparent.
|
|
|
|
|
blur=0
|
|
|
|
|
|
|
|
|
|
#Set blur alpha value. Blur must be enabled (float value)
|
|
|
|
|
blurA=1.0
|
|
|
|
|
|
|
|
|
|
#Set xray. Blur must be enabled
|
|
|
|
|
xray=0
|
|
|
|
|
|
|
|
|
|
#font to use for the label. This is passed directly to the pango font description
|
|
|
|
|
textfont=Iosevka Nerd Font Mono
|
|
|
|
|
|
|
|
|
|
#padding around the text (inside the label box) size in pixels, adjusted for
|
|
|
|
|
#monitor scaling. This is the same format as hyprland's gapsin/gapsout workspace layout rule
|
|
|
|
|
#example: textpadding=2 5 5 2 (spaces not commas)
|
|
|
|
|
textpadding=5
|
|
|
|
|
|
|
|
|
|
#size of the border around the label box. A border size of zero disables border rendering.
|
|
|
|
|
bordersize=2
|
|
|
|
|
|
|
|
|
|
#color of the border. takes the same format as hyprland's border (so it can be a gradient)
|
|
|
|
|
bordercolor=rgba(ffffffff)
|
|
|
|
|
|
|
|
|
|
#rounded corners? Same as hyprland's 'decoration:rounding' config
|
|
|
|
|
rounding=1
|
|
|
|
|
|
|
|
|
|
#what to do if a window is fullscreen
|
|
|
|
|
#none: nothing. (easymotion label won't be displayed on that window)
|
|
|
|
|
#toggle: take the window out of fullscreen entirely.
|
|
|
|
|
#maximize: convert the window to maximized.
|
|
|
|
|
#windows are restored to fullscreen after easymotion is exited/selected
|
|
|
|
|
fullscreen_action=none
|
|
|
|
|
|
|
|
|
|
#which keys to use for selecting windows
|
|
|
|
|
motionkeys=abcdefghijklmnopqrstuvwxyZ1234567890
|
|
|
|
|
#which keys to use for labeling windows
|
|
|
|
|
motionlabels=ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
|
|
|
|
|
|
|
|
|
|
#if a monitor has a focused special workspace, only put easymotion labels on the windows in the special workspace
|
|
|
|
|
only_special = true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
# plugin {
|
|
|
|
|
#
|
|
|
|
|
# hyprfocus {
|
|
|
|
|
# animation = hyprfocusIn, 1, 3, quick
|
|
|
|
|
# animation = hyprfocusOut, 1, 3, quick
|
|
|
|
|
# fade_opacity = 0.94
|
|
|
|
|
# mode = flash
|
|
|
|
|
# }
|
|
|
|
|
#
|
|
|
|
|
# easymotion {
|
|
|
|
|
# #font size of the text
|
|
|
|
|
# textsize=72
|
|
|
|
|
#
|
|
|
|
|
# #color of the text, takes standard hyprland color format
|
|
|
|
|
# textcolor=rgba(ffffffff)
|
|
|
|
|
#
|
|
|
|
|
# #background color of the label box. alpha is respected
|
|
|
|
|
# bgcolor=rgba(ff7777a0)
|
|
|
|
|
#
|
|
|
|
|
# #enable blur. The bgcolor alpha must be at least semi-transparent.
|
|
|
|
|
# blur=0
|
|
|
|
|
#
|
|
|
|
|
# #Set blur alpha value. Blur must be enabled (float value)
|
|
|
|
|
# blurA=1.0
|
|
|
|
|
#
|
|
|
|
|
# #Set xray. Blur must be enabled
|
|
|
|
|
# xray=0
|
|
|
|
|
#
|
|
|
|
|
# #font to use for the label. This is passed directly to the pango font description
|
|
|
|
|
# textfont=Iosevka Nerd Font Mono
|
|
|
|
|
#
|
|
|
|
|
# #padding around the text (inside the label box) size in pixels, adjusted for
|
|
|
|
|
# #monitor scaling. This is the same format as hyprland's gapsin/gapsout workspace layout rule
|
|
|
|
|
# #example: textpadding=2 5 5 2 (spaces not commas)
|
|
|
|
|
# textpadding=5
|
|
|
|
|
#
|
|
|
|
|
# #size of the border around the label box. A border size of zero disables border rendering.
|
|
|
|
|
# bordersize=2
|
|
|
|
|
#
|
|
|
|
|
# #color of the border. takes the same format as hyprland's border (so it can be a gradient)
|
|
|
|
|
# bordercolor=rgba(ffffffff)
|
|
|
|
|
#
|
|
|
|
|
# #rounded corners? Same as hyprland's 'decoration:rounding' config
|
|
|
|
|
# rounding=1
|
|
|
|
|
#
|
|
|
|
|
# #what to do if a window is fullscreen
|
|
|
|
|
# #none: nothing. (easymotion label won't be displayed on that window)
|
|
|
|
|
# #toggle: take the window out of fullscreen entirely.
|
|
|
|
|
# #maximize: convert the window to maximized.
|
|
|
|
|
# #windows are restored to fullscreen after easymotion is exited/selected
|
|
|
|
|
# fullscreen_action=none
|
|
|
|
|
#
|
|
|
|
|
# #which keys to use for selecting windows
|
|
|
|
|
# motionkeys=abcdefghijklmnopqrstuvwxyZ1234567890
|
|
|
|
|
# #which keys to use for labeling windows
|
|
|
|
|
# motionlabels=ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
|
|
|
|
|
#
|
|
|
|
|
# #if a monitor has a focused special workspace, only put easymotion labels on the windows in the special workspace
|
|
|
|
|
# only_special = true
|
|
|
|
|
# }
|
|
|
|
|
# }
|
|
|
|
|
|
|
|
|
|
debug {
|
|
|
|
|
disable_logs = false
|
|
|
|
|
|