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 $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 = XCURSOR_THEME,catppuccin-frappe-mauve-cursors 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 plugin = /run/current-system/sw/lib/libhyprspace.so plugin { overview { drawActiveWorkspace = true centerAligned = true autoDrag = true autoScroll = false showEmptyWorkspace = false } } bind = SUPER, code:65, overview:toggle, all input { kb_layout = us kb_variant = kb_model = kb_options = kb_rules = accel_profile = flat # flat, adaptive, custom 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 } } #plugin { # overview { # workspaceBorderSize = 4 # workspaceActiveBorder = rgba(ca9ee6ff) # workspaceInactiveBorder = rgba(232634ff) # # switchOnDrop = true # exitOnSwitch = false # showNewWorkspace = false # disableGestures = 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:^(thunar | org.gnome.FileRoller)$ #windowrulev2 = move 2753 12, initialTitle:[(Copying )|^(Preparing to)],initialClass:^(thunar | org.gnome.FileRoller)$ #windowrulev2 = size 450 100, initialTitle:[(Copying )|^(Preparing to)],initialClass:^(thunar | org.gnome.FileRoller)$ windowrulev2 = float, title:^(Extract*), initialClass:^(org.gnome.FileRoller)$ #windowrulev2 = move 2903,13, title:^(Extract*), initialClass:^(org.gnome.FileRoller)$ #windowrulev2 = size 450 100, title:^(Extract*), initialClass:^(org.gnome.FileRoller)$ # 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 2690 298,title:^(Weather Report)$,class:^(bar_popup)$ windowrulev2 = size 670 850, title:^(Weather Report)$,class:^(bar_popup)$ windowrulev2 = move 2755 608,title:^(Connection Editor|Pipewire Volume Control)$,class:^(bar_popup|com.saivert.pwvucontrol)$ windowrulev2 = size 596 819, title:^(Connection Editor|Pipewire Volume Control)$,class:^(bar_popup|com.saivert.pwvucontrol)$ 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= ~/.local/share/until-scripts/run-at-start.sh exec-once= ~/.config/hypr/scripts/follow_workspace.sh 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= dconf write /org/gnome/desktop/interface/cursor-size "16" exec-once= dconf write /org/gnome/desktop/interface/cursor-theme "'catppuccin-frappe-mauve-cursors'" exec-once= dconf write /org/gnome/desktop/interface/gtk-theme "'catppuccin-frappe-mauve-standard+default'" 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)" - | swappy -f - bind = $mainMod, code:107, exec, grim -o $(hyprctl activeworkspace -j | jq ".monitor" | tr -d "\"") - | 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 ~/.local/share/until-scripts/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