source=~/.config/hypr/mocha.conf # See https://wiki.hyprland.org/Configuring/Monitors/ monitor = , highres, auto, auto monitor = eDP-1, highres, 0x0, 1.566667 # monitor = DP-2, 2560x1440@144.00000, 2257x0, 1.0 # desktop monitor monitor = DP-2, 3840x2160@144.00000, 2257x0, 4.0 # all else workspace = name:special:magic,monitor:eDP-1,gapsin:5,gapsout:70 # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch # exec-once = waybar & hyprpaper & firefox exec-once = waybar -c ~/.config/waybar/hypr-config -s ~/.config/waybar/hypr-style.css exec-once = pypr --config ~/.config/hypr/pyprland.toml exec-once = swayidle -w exec-once = nm-applet exec-once = blueman-applet exec-once = easyeffects --gapplication-service exec-once = hyprpaper exec-once = kdeconnect-indicator exec-once = playerctld daemon # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf # Set programs that you use $terminal = kitty $browser = vivaldi-stable --enable-features=UseOzonePlatform --ozone-platform=wayland $music = tidal-hifi --enable-features=UseOzonePlatform --ozone-platform=wayland $fileManager = thunar $menu = wofi --show drun $powermenu = ~/.config/hypr/power-menu $lockscreen = swaylock -C ~/.config/swaylock/config # Some default env vars. env = XCURSOR_SIZE,20 env = GDK_SCALE,2 env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that env = XDG_CURRENT_DESKTOP,hyprland env = WLR_NO_HARDWARE_CURSORS,1 xwayland { force_zero_scaling = true } # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = de repeat_delay = 350 repeat_rate = 25 follow_mouse = 1 touchpad { natural_scroll = true disable_while_typing = false scroll_factor = 0.4 } accel_profile = flat sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } device { name = logitech-mx-ergo-multi-device-trackball- sensitivity = -0.2 } device { name = logitech-g703-ls-1 sensitivity = -0.1 } general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 0 gaps_out = 0 border_size = 1 col.active_border = $lavender col.inactive_border = $surface0 layout = dwindle # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false } decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 0 blur { enabled = true size = 3 passes = 1 vibrancy = 0.1696 } # drop_shadow = true # shadow_range = 4 # shadow_render_power = 3 # col.shadow = rgba(1a1a1aee) } animations { enabled = false # 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 = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # you probably want this # no_gaps_when_only = 1 force_split = 2 } 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 = false } misc { # See https://wiki.hyprland.org/Configuring/Variables/ for more disable_hyprland_logo = 1 force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers } # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more # device { # name = epic-mouse-v1 # sensitivity = -0.5 # } # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # bind = $mainMod, Q, exec, $terminal # bind = $mainMod, C, killactive, # bind = $mainMod, M, exit, # bind = $mainMod, E, exec, $fileManager # bind = $mainMod, R, exec, $menu # bind = $mainMod, P, pseudo, # dwindle $mainMod = SUPER $volume_down = $(pactl set-sink-volume @DEFAULT_SINK@ -5% && $sink_volume) $volume_up = $(pactl set-sink-volume @DEFAULT_SINK@ +5% && $sink_volume) $volume_mute = $(pactl set-sink-mute @DEFAULT_SINK@ toggle && pactl get-sink-mute @DEFAULT_SINK@ | sed -En "/no/ s/.*/$($sink_volume)/p; /yes/ s/.*/0/p") $brightness_up = brightnessctl -c backlight set +5% $brightness_down = brightnessctl -c backlight set 5%- # Utility Keys bind = , XF86AudioMute, exec, $volume_mute binde = , XF86AudioLowerVolume, exec, $volume_down binde = , XF86AudioRaiseVolume, exec, $volume_up bind = , XF86AudioPlay, exec, playerctl play-pause bind = , XF86AudioNext, exec, playerctl next bind = , XF86AudioPrev, exec, playerctl previous binde = , XF86MonBrightnessUp, exec, $brightness_up binde = , XF86MonBrightnessDown, exec, $brightness_down bind = , Print, exec, /usr/share/sway/scripts/grimshot --notify save output bind = Shift, Print, exec, ~/.config/sway/scripts/screenshot.sh # General Keybinds bind = $mainMod, O, exec, $browser bind = $mainMod, P, exec, $music bind = $mainMod, D, exec, $menu bind = $mainMod, N, exec, $fileManager bind = $mainMod, RETURN, exec, $terminal bind = $mainMod SHIFT, E, exec, $powermenu bind = $mainMod ALT, L, exec, $lockscreen bind = $mainMod, Q, killactive, bind = $mainMod, T, togglesplit, bind = $mainMod, F, fullscreen, bind = $mainMod SHIFT, SPACE, togglefloating, # Move focus with mainMod + arrow keys # bind = $mainMod, left, movefocus, l # bind = $mainMod, right, movefocus, r # bind = $mainMod, up, movefocus, u # bind = $mainMod, down, movefocus, d bind = $mainMod, TAB, cyclenext, # Resize windows binde = $mainMod, right, resizeactive, 20 0 binde = $mainMod, left, resizeactive, -20 0 binde = $mainMod, up, resizeactive, 0 -20 binde = $mainMod, down, resizeactive, 0 20 # Switch workspaces with mainMod + [0-9] 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 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1 bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2 bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3 bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4 bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5 bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6 bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7 bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8 bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9 bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10 # Example special workspace (scratchpad) bind = $mainMod, S, togglespecialworkspace, magic # bind = $mainMod SHIFT, S, movetoworkspace, special:magic # bind = $mainMod, S, exec, pypr toggle kitty bind = $mainMod SHIFT, S, movetoworkspace, special:magic # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow