352 lines
13 KiB
Plaintext
Executable File
352 lines
13 KiB
Plaintext
Executable File
|
|
autogenerated = 0
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
|
monitor=DP-2, 3440x1440@165, 0x0, 1
|
|
monitor=DP-3, 3440x1440, -3440x0, 1
|
|
|
|
#monitor=HDMI-A-1, 800x480@60, 0x-480, 1
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
|
|
|
# Source a file (multi-file configs)
|
|
# source = ~/.config/hypr/myColors.conf
|
|
|
|
# Set programs that you use
|
|
$terminal = kitty zsh
|
|
$browser = librewolf
|
|
$fileManager = thunar
|
|
$menu = rofi
|
|
|
|
$workspace-switcher = /home/someone/Builds/microscripts/workspace_manager
|
|
$special-workspace-movment = /home/someone/Builds/microscripts/specia-workspace-movment-toggle
|
|
#$workspace-switcher = /home/someone/Code/linux-sys-scripts/workspace_manager.sh
|
|
$kill-on-unfocus = /home/someone/Builds/microscripts/kill-on-unfocus
|
|
|
|
# Some default env vars.
|
|
env = XCURSOR_SIZE,16
|
|
env = QT_QPA_PLATFORMTHEME,qt5ct # should also aply to qt6ct
|
|
env = XDG_SESSION_TYPE,wayland
|
|
env = GTK_THEME,catppuccin-frappe-mauve-standard+default
|
|
env = ICON_THEME,catppuccin-frappe-mauve-cursors
|
|
|
|
env = GNOME22_USER_DIR,/home/someone/.config/gnome2 # For nemo and other gnome 2 apps
|
|
env = DESKTOP_SESSION,gnome # Used to let xdg-su (e.g. Yast) know use gnomesu (libgnomesu libgnomesu0)
|
|
# Fix for nvidia
|
|
#env = LIBV_DRIVER_NAME,nvidia
|
|
#env = GBM_BACKEND,nvidia-drm
|
|
#env = __GLX_VENDOR_LYBARY_NAME,nvidia
|
|
#env = WLR_NO_HARDWARE_CURSORS,1
|
|
|
|
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
|
plugin = /run/current-system/sw/lib/libhyprexpo.so
|
|
plugin {
|
|
hyprexpo {
|
|
columns = 2
|
|
gap_size = 5
|
|
bg_col = rgba(232634ff)
|
|
workspace_method = first 1 # [center/first] [workspace] e.g. first 1 or center m+1
|
|
}
|
|
}
|
|
bind = SUPER, code:65, hyprexpo:expo, toggle
|
|
|
|
input {
|
|
kb_layout = us
|
|
kb_variant =
|
|
kb_model =
|
|
kb_options =
|
|
kb_rules =
|
|
|
|
accel_profile = flat # flat, adaptive, custom <step> <points...> e.g. Win profile 0.2 0.0 0.5 1 1.2 1.5
|
|
force_no_accel = false # Not recomended
|
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
|
|
|
follow_mouse = 2
|
|
|
|
}
|
|
|
|
general {
|
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
|
|
gaps_in = 5
|
|
gaps_out = 10
|
|
border_size = 2
|
|
col.active_border = rgba(ca9ee6ff) rgba(8caaeeff) 90deg
|
|
col.inactive_border = rgba(232634ff)
|
|
|
|
layout = master
|
|
|
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
|
allow_tearing = false # enable if kernal >= 6.8
|
|
}
|
|
|
|
decoration {
|
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
|
|
rounding = 10
|
|
|
|
blur {
|
|
enabled = true
|
|
size = 3
|
|
passes = 1
|
|
}
|
|
|
|
# Deprecated drop_shadow = yes
|
|
# Deprecated shadow_range = 4
|
|
# Deprecated shadow_render_power = 3
|
|
# Deprecated col.shadow = rgba(1a1a1aee)
|
|
}
|
|
|
|
animations {
|
|
enabled = yes
|
|
|
|
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
|
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
|
|
|
animation = windows, 1, 7, myBezier
|
|
animation = windowsOut, 1, 7, default, popin 80%
|
|
animation = border, 1, 10, default
|
|
animation = borderangle, 1, 8, default
|
|
animation = fade, 1, 7, default
|
|
animation = workspaces, 1, 6, default
|
|
}
|
|
|
|
dwindle {
|
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
|
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
|
preserve_split = yes # you probably want this
|
|
}
|
|
|
|
master {
|
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
|
new_status = master
|
|
}
|
|
|
|
gestures {
|
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
workspace_swipe = off
|
|
}
|
|
|
|
misc {
|
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
force_default_wallpaper = -1 # Set to 0 to disable the anime mascot wallpapers
|
|
disable_splash_rendering = false # The splash text at the bottom
|
|
|
|
# Gaming performance
|
|
#no_direct_scanout = false
|
|
#vrr = 2 # 0 = off, 1 = on, 2 = fullscreen
|
|
}
|
|
|
|
group {
|
|
groupbar {
|
|
enabled = true
|
|
}
|
|
}
|
|
|
|
|
|
|
|
# Workspaces
|
|
workspace = monitor:0, name:1, default:true
|
|
workspace = monitor:0, name:2
|
|
workspace = monitor:0, name:3
|
|
workspace = monitor:0, name:4
|
|
|
|
workspace = monitor:1, name:5, default:true
|
|
workspace = monitor:1, name:6
|
|
workspace = monitor:1, name:7
|
|
workspace = monitor:1, name:8
|
|
|
|
workspace = special:scratchpad
|
|
workspace = special:scratchpad2
|
|
workspace = special:dump
|
|
|
|
|
|
# windowrule v1 https://wiki.hyprland.org/Configuring/Window-Rules/
|
|
# Allways start OpenRGB on special:dump
|
|
|
|
# Letting float, settng size and pos
|
|
windowrulev2 = float, initialclass:^(com.github.hluk.copyq)$
|
|
windowrulev2 = size 500 300, initialclass:^(com.github.hluk.copyq)$
|
|
windowrulev2 = move onscreen cursor 0 -100%, initialclass:^(com.github.hluk.copyq)$
|
|
windowrule = float, title:(.*)(textsnatcher|com.github.rajsolai.textsnatcher|Dialect)$
|
|
windowrule = size 500 300, title:(.*)(textsnatcher|com.github.rajsolai.textsnatcher)$
|
|
windowrule = move onscreen cursor 0 -100%, title:(.*)(textsnatcher|com.github.rajsolai.textsnatcher)$
|
|
# --- fixed pos
|
|
windowrule = size 600 300, title:(.*)(Dialect)$
|
|
windowrule = move 0 2840, title:(.*)(Dialect)$
|
|
|
|
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
|
|
|
|
# Thunar file transfer window, float top right
|
|
windowrulev2 = float, initialTitle:[(Copying )|^(Preparing to)],initialclass:^(nemo)$
|
|
windowrulev2 = move 2831 11, initialTitle:[(Copying )|^(Preparing to)],initialclass:^(nemo)$
|
|
windowrulev2 = size 450 100, initialTitle:[(Copying )|^(Preparing to)],initialclass:^(nemo)$
|
|
|
|
# Fixing steam drop down
|
|
windowrulev2 = stayfocused, title:^()$,class:^(steam)$
|
|
windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$
|
|
|
|
# Fix Screen +sharing for XWayland
|
|
# See https://wiki.hyprland.org/hyprland-wiki/pages/Useful-Utilities/Screen-Sharing/
|
|
windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$
|
|
windowrulev2 = noanim,class:^(xwaylandvideobridge)$
|
|
windowrulev2 = nofocus,class:^(xwaylandvideobridge)$
|
|
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
|
|
|
|
# Fix genishin impact, eable tearing
|
|
# brroke with 42 windowrulev2 = fakefullscreen,class:^(genshinimpact.exe)$
|
|
windowrulev2 = maximize,class:^(genshinimpact.exe)$
|
|
windowrulev2 = monitor 1,class:^(genshinimpact.exe)$
|
|
# brroke with 42 windowrulev2 = windowdance,class:^(genshinimpact.exe)$
|
|
windowrulev2 = noanim,class:^(genshinimpact.exe)$
|
|
windowrulev2 = float,class:^(genshinimpact.exe)$
|
|
# brroke with 42 windowrulev2 = forceinput,class:^(genshinimpact.exe)$
|
|
#windowrulev2 = stayfocused,class:^(genshinimpact.exe)$
|
|
#windowrulev2 = immediate,class:^(genshinimpact.exe)$
|
|
|
|
# Setting weather to floing near bar
|
|
windowrulev2 = float,class:^(bar_popup|com.nextcloud.desktopclient.nextcloud)$
|
|
windowrulev2 = move 2758 298,title:^(Weather Report)$,class:^(bar_popup)$
|
|
windowrulev2 = size 596 819, title:^(Weather Report)$,class:^(bar_popup)$
|
|
|
|
windowrulev2 = move 2755 608,title:^(Connection Editor|Audio Mixer)$,class:^(bar_popup)$
|
|
windowrulev2 = size 596 819, title:^(Connection Editor|Audio Mixer)$,class:^(bar_popup)$
|
|
|
|
windowrulev2 = move 2765 615, title^(Nextcloud)$,class:^(com.nextcloud.desktopclient.nextcloud)$
|
|
windowrulev2 = size 596 819, title^(Nextcloud)$,class:^(com.nextcloud.desktopclient.nextcloud)$
|
|
|
|
# Other Games
|
|
#windowrulev2 = immediate,class:^(overwatch)$
|
|
|
|
# Rofi allways floating
|
|
windowrulev2 = float,class:^(Rofi)$
|
|
|
|
# Exec at start
|
|
exec-once= systemctl --user start hyprpolkitagent #Auth agent
|
|
exec-once= sleep 3 && copyq --start-server #QT_QPA_PLATFORM=xcb
|
|
exec-once= waybar -c $HOME/.config/waybar/bar/config.jsonc -s $HOME/.config/waybar/bar/style.css
|
|
exec-once= hyprctl setcursor catppuccin-frappe-mauve-cursors 16
|
|
exec-once= hyprpaper # https://github.com/hyprwm/hyprpaper/issues/5q
|
|
exec-once= openrgb -p $HOME/.config/OpenRGB/Cat.orp
|
|
#exec-once= sleep 3 && nextcloud --background #QT_QPA_PLATFORM=xcb
|
|
#exec-once= hyprpm enable Hyprspace
|
|
exec-once= $workspace-switcher 1
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
|
$mainMod = SUPER
|
|
$subMod = SUPERCONTROL
|
|
$focusMod = ALT #L Alt
|
|
$resizeMod = ALTSHIFT #L Alt + L shift
|
|
$moveMod = CONTROLALT
|
|
|
|
# Dispatchers https://wiki.hyprland.org/Configuring/Dispatchers/
|
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
|
# Applications
|
|
bind = $mainMod, RETURN, exec, $terminal
|
|
bind = $mainMod, code:51, exec, $browser #51 =
|
|
bind = $mainMod, code:48, exec, $fileManager
|
|
bind = $mainMod, V, exec, copyq show
|
|
bindr= $mainMod, SUPER_L, exec, if pgrep -x $menu; then kill $(pgrep -x $menu); else $menu -show drun; fi
|
|
bind = ,code:107, exec, grim -g "$(slurp)" - | /home/someone/.local/share/default-venv/bin/python /home/someone/Builds/microscripts/strip_a_pixel.py - | swappy -f -
|
|
bind = $mainMod, code:107, exec, grim -o $(hyprctl activeworkspace -j | jq ".monitor" | tr -d "\"") - | /home/someone/.local/share/default-venv/bin/python /home/someone/Builds/microscripts/strip_a_pixel.py - | swappy -f - #"
|
|
bind = $subMod, code:107, exec, $kill-on-unfocus textsnatcher
|
|
bind = $focusMod, code:107, exec, dunstify -a System -r 1000 -t 5000 -i "$HOME/.config/assets/arch-maron.png" "Hyprpicker" "Color: $(hyprpicker -a -r)"
|
|
|
|
# Media Buttons https://raw.githubusercontent.com/xkbcommon/libxkbcommon/master/include/xkbcommon/xkbcommon-keysyms.h
|
|
bind = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_SINK@ 1%-
|
|
bind = ,XF86AudioLowerVolume, exec, dunstify -a System -r 1000 -t 2000 -i $HOME/.config/assets/volume-down.png -h int:value:$(echo "100 * $(wpctl get-volume @DEFAULT_SINK@ | tr -d "Volume: ")" | bc) Volume
|
|
|
|
bind = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_SINK@ 1%+
|
|
bind = ,XF86AudioRaiseVolume, exec, dunstify -a System -r 1000 -t 2000 -i $HOME/.config/assets/volume-up.png -h int:value:$(echo "100 * $(wpctl get-volume @DEFAULT_SINK@ | tr -d "Volume: ")" | bc) Volume
|
|
|
|
bindl=, XF86AudioPlay, exec, playerctl play-pause
|
|
bindl=, XF86AudioPlay, exec, sleep 0.1; if [ "$(playerctl status)" = "Playing" ]; then dunstify -a System -r 1000 -t 2000 -i "$HOME/.config/assets/play.png" "Player" "resumed playback"; else dunstify -a System -r 1000 -t 2000 -i "$HOME/.config/assets/pause.png" "Player" "paused playback"; fi
|
|
|
|
bindl=, XF86AudioNext, exec, playerctl next
|
|
bindl=, XF86AudioPrev, exec, playerctl previous
|
|
|
|
# System ctl
|
|
bind =, XF86PowerOff, exec, bash $HOME/Builds/microscripts/sleep.sh hibernate
|
|
# Key must be enabled by disabeleing default in /etc/systemd/logind.conf (add: HandlePowerKey=ignore)
|
|
# check with: systemd-analyze cat-config systemd/logind.conf, then reboot or systemctl restart systemd-logind
|
|
# From https://www.reddit.com/r/swaywm/comments/180ly44/how_to_change_power_button_behavior/ and https://unix.stackexchange.com/questions/555822/how-to-change-power-button-shutdown-action-to-run-a-script-under-systemd
|
|
|
|
# Windowmanagment
|
|
bind = $mainMod, Q, killactive,
|
|
bind = $mainMod, W, fullscreen, 1
|
|
bind = $mainMod, T, fullscreen, 0
|
|
bind = $mainMod, M, forcerendererreload,
|
|
bind = $mainMod, F, togglefloating,
|
|
|
|
bind = $mainMod, R, togglespecialworkspace, scratchpad
|
|
bind = $mainMod, X, togglespecialworkspace, scratchpad2
|
|
bind = $mainMod, code:21, togglespecialworkspace, dump
|
|
|
|
bind = $resizeMod, e, layoutmsg, orientationnext
|
|
bind = $resizeMod, q, layoutmsg, orientationprev
|
|
|
|
|
|
# Change Focus
|
|
bind = $focusMod, a, movefocus, l
|
|
bind = $focusMod, d, movefocus, r
|
|
bind = $focusMod, w, movefocus, u
|
|
bind = $focusMod, s, movefocus, d
|
|
|
|
# Resize Window
|
|
binde = $resizeMod, a, resizeactive,-30 0
|
|
binde = $resizeMod, d, resizeactive, 30 0
|
|
binde = $resizeMod, s, resizeactive, 0 30
|
|
binde = $resizeMod, w, resizeactive, 0 -30
|
|
|
|
# Move Window
|
|
bind = $moveMod, a, movewindow, l
|
|
bind = $moveMod, d, movewindow, r
|
|
bind = $moveMod, s, movewindow, d
|
|
bind = $moveMod, w, movewindow, u
|
|
|
|
bind = $mainMod, code:112, movewindow, mon:DP-2
|
|
bind = $mainMod, code:117, movewindow, mon:DP-3
|
|
|
|
bind = $mainMod, E, exec, $special-workspace-movment scratchpad
|
|
bind = $mainMod, Y, exec, $special-workspace-movment scratchpad2
|
|
bind = $mainMod, code:20, exec, $special-workspace-movment dump
|
|
|
|
# Switch workspaces with mainMod
|
|
bind = $mainMod, code:113, exec, $workspace-switcher 1
|
|
bind = $mainMod, code:114, exec, $workspace-switcher 2
|
|
bind = $mainMod, code:111, exec, $workspace-switcher 3
|
|
bind = $mainMod, code:116, exec, $workspace-switcher 4
|
|
|
|
|
|
# Workspaces, carry window
|
|
bind = $mainMod SHIFT, code:113, exec, $workspace-switcher 1 carry
|
|
bind = $mainMod SHIFT, code:114, exec, $workspace-switcher 2 carry
|
|
bind = $mainMod SHIFT, code:111, exec, $workspace-switcher 3 carry
|
|
bind = $mainMod SHIFT, code:116, exec, $workspace-switcher 4 carry
|
|
|
|
|
|
# Workspace management
|
|
bind = $mainMod, c, swapactiveworkspaces, DP-2 DP-3
|
|
|
|
# Mousebinds
|
|
bindm = $mainMod, mouse:272, movewindow
|
|
bindm = $mainMod, mouse:273, resizewindow
|
|
|
|
# Submaps
|
|
bind = $mainMod, g, submap, gaming
|
|
|
|
#Other
|
|
bind = $subMod, code:112, movecursor, 1720 720
|
|
bind = $subMod, code:117, movecursor, -2560 720
|
|
#bind = $mainMod, code:65, hyprexpo:expo, toggle # can be: toggle, off/disable or on/enable on space
|
|
|
|
submap=gaming
|
|
bind = $mainMod, T, fullscreen, 0
|
|
bind = $mainMod, R, togglespecialworkspace, scratchpad
|
|
bind = $mainMod, g, submap,reset
|
|
bindm = $mainMod, mouse:272, movewindow
|
|
bindm = $mainMod, mouse:273, resizewindow
|
|
bind = $mainMod, code:51, exec, $browser #51 = #
|
|
submap=reset
|