#######################################################################################hypr # Current setup for mirroring # TODO: create a keybind for F7 to switch betwen #monitor=,preferred,auto,1 monitor = , preferred, auto, 1, mirror, eDP-1 ####################################################################################### #$terminal = ~/projects/scripts/run_kitty.sh $terminal = kitty $explorer = dolphin --platformtheme kvantum $menu = tofi-drun --terminal=$terminal | sh ####################################################################################### exec-once = waybar #exec-once = clipse -listen exec-once = hyprsunset -t 3000 #exec-once = wl-clip-persist --clipboard regular exec-once = hyprpaper exec-once = nm-applet exec-once = ~/projects/scripts/rnote_mapper.sh # Check the hostname and enable animations only on a specific device #exec-once = sh -c 'if [ "$(hostname)" = "minoxy" ]; then hyprctl keyword animations enabled; fi' ####################################################################################### # Split up the monitors by default for the main working machine workspace=1,monitor:HDMI-A-1 workspace=2,monitor:HDMI-A-1 workspace=3,monitor:HDMI-A-1 workspace=4,monitor:HDMI-A-1 workspace=5,monitor:HDMI-A-1 workspace=6,monitor:HDMI-A-1 workspace=8,monitor:HDMI-A-1 workspace=7,monitor:HDMI-A-2 workspace=9,monitor:HDMI-A-2 workspace=0,monitor:HDMI-A-2 env = HYPRCURSOR_THEME,catppuccin-frappe-rosewater-cursors # This cursor needs to bigger than defined in nix becuase I dont know env = HYPRCURSOR_SIZE,18 env = WLR_NO_HARDWARE_CURSORS,1 ####################################################################################### general { gaps_in = 3 gaps_out = 0 border_size = 1 #workspace_per_monitor = true col.active_border = rgba(777777ee) rgba(777777ee) resize_on_border = false } animations { enabled = no # Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves # NAME, X0, Y0, X1, Y1 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 bezier = quick, 0.15, 0, 0.1, 1 # Default animations, see https://wiki.hypr.land/Configuring/Animations/ # NAME, ONOFF, SPEED, CURVE, [STYLE] 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, 1.94, almostLinear, fade animation = workspacesIn, 1, 1.21, almostLinear, fade animation = workspacesOut, 1, 1.94, almostLinear, fade } misc { disable_hyprland_logo = true } input { kb_layout = us follow_mouse = 1 touchpad { natural_scroll = false } } ################### ### KEYBINDINGS ### ################### $mainMod = SUPER # Quick openers and default bindings bind = $mainMod, Q, exec, $terminal bind = $mainMod, C, killactive, bind = $mainMod, B, exec, firefox bind = $mainMod, R, exec, kitty -e yazi bind = $mainMod, V, exec, kitty -e nvim bind = $mainMod, M, exit, bind = $mainMod, F, togglefloating, bind = $mainMod, P, exec, $menu bind = $mainMod, D, exec, $explorer # D for direcotry # Some keybindings for screenshot and colorpicking bind = , Print, exec, hyprshot -m region --clipboard-only bind = SHIFT, Print, exec, hyprpicker -a bind = CONTROL, Print, exec, hyprshot -m output -m active --clipboard-only # Move focus with mainMod + vim keys bind = $mainMod, k, movefocus, u bind = $mainMod, j, movefocus, d bind = $mainMod, l, movefocus, r bind = $mainMod, h, movefocus, l 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 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, F12, exec, ~/projects/scripts/unison_sync.sh # showing the clipboard history #bind = SUPER, V, exec, kitty --class clipse -e clipse # Resizeing with mouse buttons while pressed mod bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 3%+ bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 3%- bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 3%+ bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 3%- # Toggle waybar bindt = Super_L, W,exec, pkill -SIGUSR1 waybar bindt = $mainMod SHIFT, L, exec, hyprlock ####################################################################################### # Some settings for floating apps # Ignore maximize requests from apps. You'll probably like this. windowrulev2 = suppressevent maximize, class:.* windowrulev2 = float, class:(clipse) windowrulev2 = size 622 652, class:(clipse) windowrulev2 = stayfocused, class:(clipse) windowrulev2 = float, class:(org.kde.dolphin) # App rules # Terminal basekittyd windowrulev2 = workspace 1, class:(kitty) windowrulev2 = workspace 1, class:(Emacs) windowrulev2 = workspace 1, class:(foot) windowrulev2 = workspace 1, class:(Alacritty) # Browsers windowrulev2 = workspace 2, class:(firefox) windowrulev2 = workspace 2, class:(org.kde.falkon) windowrulev2 = workspace 2, class:(midori) windowrulev2 = workspace 2, class:(org.gnome.Epiphany) # PDFS (keep all the pdfs here) windowrulev2 = workspace 3, class:(sioyek) windowrulev2 = workspace 3, class:(zathura) # Having code here because it is also fast windowrulev2 = workspace 4, class:(code) windowrulev2 = workspace 4, class:(thunderbird) windowrulev2 = workspace 4, class:(jetbrains-studio) # Gaming and other things windowrulev2 = workspace 5, class:(steam) windowrulev2 = workspace 5, class:(blender) windowrulev2 = workspace 5, class:(com.github.flxzt.rnote) windowrulev2 = workspace 5, class:(com.github.xournalpp.xournalpp) windowrulev2 = workspace 6, initialTitle:(LibreOffice) windowrulev2 = workspace 6, initialTitle:(GNU Image Manipulation Program) windowrulev2 = workspace 6, class:(org.shotcut.Shotcut) # Social Apps windowrulev2 = workspace 7, class:(signal) windowrulev2 = workspace 7, class:(Slack) windowrulev2 = workspace 7, class:(zoom) windowrulev2 = workspace 7, class:(discord) windowrulev2 = workspace 8, class:(anki) windowrulev2 = workspace 8, class:(obsidian) windowrulev2 = workspace 8, class:(org.qbittorrent.qBittorrent) # Media and passwords windowrulev2 = workspace 9, class:(\b(feh|mpv|vlc)\b) windowrulev2 = workspace 9, class:(KeePassXC) windowrulev2 = workspace 9, class:(spotify) # Other stuff windowrulev2 = workspace 10, class:(Matplotlib) #windowrulev2 = workspace 10, title:(PallSim) windowrulev2 = workspace 10, class:(m.py) windowrulev2 = workspace 10, class:(org.prismlauncher.PrismLauncher) # Can find sioyek in classes #windowrule = float,^(sioyek)$ # set rounding to 10 for kitty windowrulev2 = size 900 500, title:(Select Document) windowrulev2 = size 900 500, title:(Open File) # Settings applications will float windowrulev2 = float, class:(qt6ct) windowrulev2 = float, class:(simple-scan) windowrulev2 = float, title:(Kvantum Manager) windowrulev2 = float, class:(qt5ct) windowrulev2 = float, title:(Open File) windowrulev2 = float, title:(Open Folder) windowrulev2 = float, title:(Save As) # fixing the movement for smaller res displays windowrulev2 = size 450 450, class:(Gnuplot) windowrulev2 = move 100 203100, class:(Gnuplot) windowrulev2 = float, class:(io.github.Qalculate.qalculate-qt) windowrulev2 = size 700 700, class:(Qalculate!) #windowrulev2 = tile, class:^(sioyek)$ windowrulev2 = float, title:(Select Document) windowrulev2 = size 800 250, class:(org.pulseaudio.pavucontrol) windowrulev2 = move 40 80, class:(org.pulseaudio.pavucontrol) windowrulev2 = float, class:(org.pulseaudio.pavucontrol) windowrulev2 = float, class:(cheese) # Setup drag and drop support for terminal based applications windowrulev2 = move 50 100, class:(xdragon) windowrulev2 = pin, class:(xdragon) windowrulev2 = pseudo, class:(xdragon) #windowrulev2 = opacity 0.9, class:(xdragon) windowrulev2 = bordersize 30, class:(xdragon) windowrulev2 = bordercolor rgba(b3cc1aee) rgba(a3af1aee), class:(xdragon) windowrulev2 = rounding 3, class:(xdragon) #######################################################################################