##################################################################### # __ __ __ __ ____ # # / // /_ _____ ____/ /__ ____ ___/ / _______ ___ / _(_)__ _ # # / _ / // / _ \/ __/ / _ `/ _ \/ _ / / __/ _ \/ _ \/ _/ / _ `/ # # /_//_/\_, / .__/_/ /_/\_,_/_//_/\_,_/ \__/\___/_//_/_//_/\_, / # # /___/_/ /___/ # ##################################################################### #DEFAULT THINGS. # Mod key. $mainMod = SUPER # Default dirs. $cfg = /home/lilac/.config $md = /home/lilac/Media $wls = /home/lilac/Media/Pics/Walls $scr = /home/lilac/Media/Pics/Scr $hm = /home/lilac # Default term & utilities. $term = foot --title=term $fmt = foot --title=fmt -e lf $mpt = foot --title=cmus -e cmus $vc = foot --title=pm -e pulsemixer $sm = foot --title=smtr -e htop $nm = foot --title=nm -e nmtui # Some default env vars. env = XCURSOR_THEME,GoogleDot-White env = XCURSOR_SIZE,28 #env = XCURSOR_SIZE,28 env = EDITOR, vim # Display configuration. monitor=eDP-1,1920x1080@60,0x0,1 #AUTOSTART. # Autostart for Hyprland's FULL RESTART. exec-once = waybar -c $cfg/waybar/lft/config.jsonc -s $cfg/waybar/lft/style.css exec-once = swaybg -i $wls/Cat/Lsc/cat-lsc-11.png # Autostart for Hyprland's CONFIG RELOAD. exec = hyprctl setcursor GoogleDot-White 28 exec = export QT_QPA_PLATFORM=wayland exec = export QT_QPA_PLATFORMTHEME="gtk3" exec = export QT_DISABLE_WINDOWDECORATION=1 # Apllications (windows) rules. windowrule = workspace 1, waterfox #windowrule = noborder, waterfox windowrule = workspace 3, 64gram-desktop windowrule = xray 1, io.github.tdesktop_x64.TDesktop #windowrule = noborder, io.github.tdesktop_x64.TDesktop windowrule = workspace 4, krita windowrule = noborder, krita windowrule = workspace 6, prismlauncher windowrule = workspace 5, mpv windowrule = workspace 2, foot windowrule = float, swayimg windowrule = noborder, swayimg windowrule = workspace 4, swayimg windowrule = size 1250 700, swayimg windowrule = move 330 15%, swayimg windowrulev2 = float,^(foot)$,title:^(cmus)$ windowrulev2 = size 1250 700,^(foot)$,title:^(cmus) windowrulev2 = move 345 17%,^(foot)$,title:^(cmus) windowrulev2 = workspace 5,^(foot)$,title:^(cmus)$ windowrulev2 = float,^(foot)$,title:^(smtr)$ windowrulev2 = pin,^(foot)$,title:^(smtr)$ windowrulev2 = size 700 500,^(foot)$,title:^(smtr) windowrulev2 = move 4.1% 11%,^(foot)$,title:^(smtr) windowrulev2 = workspace unset,^(foot)$,title:^(smtr)$ windowrulev2 = float,^(foot)$,title:^(pm)$ windowrulev2 = pin,^(foot)$,title:^(pm)$ windowrulev2 = size 700 350,^(foot)$,title:^(pm) windowrulev2 = move 4.1% 55.8%,^(foot)$,title:^(pm) windowrulev2 = workspace unset,^(foot)$,title:^(pm)$ # Layer rules. #layerrule = blur, waybar # SYSTEM SHORTCUTS. bind = $mainMod SHIFT, C, exec, bluetoothctl connect 0C:AE:BD:DB:52:3A bind = $mainMod SHIFT, D, exec, bluetoothctl disconnect 0C:AE:BD:DB:52:3A # Brightness 5% step contol shortcuts. binde= $mainMod ALT, F5, exec, brightnessctl set 5%- binde= $mainMod ALT, F6, exec, brightnessctl set +5% # Brightness 1% step contol shortcuts. binde= $mainMod, F5, exec, brightnessctl set 1%- binde= $mainMod, F6, exec, brightnessctl set +1% # Toggle Waybar. bindr=$mainMod, D, exec, pkill -SIGUSR1 waybar #bindr=$mainMod ALT, D, exec, pkill -SIGUSR2 waybar bindr=$mainMod ALT, D, exec, pkill waybar || waybar -c $cfg/waybar/lft/config.jsonc -s $cfg/waybar/lft/style.css # Audio volume control shortcuts. #bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% bindel = $mainMod, F3, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% #bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% bindel = $mainMod, F2, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle #bindl = $mainMod, F1, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle # Audio play/pause control shortcut. #bind = $mainMod ALT, F1, exec, playerctl play-pause bind =, XF86AudioPlay, exec, playerctl play bind =, XF86AudioPause, exec, playerctl pause #bind = $mainMod ALT, F1, exec, cmus-remote --pause bind =, XF86AudioPlay, exec, cmus-remote --play bind =, XF86AudioPause, exec, cmus-remote --pause # Audio next song control shortcut. #bind = $mainMod ALT, F3, exec, playerctl next bind =, XF86AudioNext, exec, playerctl next #bind = $mainMod ALT, F3, exec, cmus-remote --next bind =, XF86AudioNext, exec, cmus-remote --next # Audio prev song control shortcut. #bind = $mainMod ALT, F2, exec, playerctl previous bind =, XF86AudioPrev, exec, playerctl previous #bind = $mainMod ALT, F2, exec, cmus-remote --prev bind =, XF86AudioPrev, exec, cmus-remote --prev # APPS SHORTCUTS. # Main apps shortcuts. bind = $mainMod, Q, exec, $term bind = $mainMod, E, exec, $fmt bind = $mainMod, C, exec, $mpt #Oth apps shortcuts. bind = $mainMod, Y, exec, hyprctl dispatch exec [workspace 6] transmission-gtk bind = $mainMod, T, exec, hyprctl dispatch exec [workspace 3] 64gram-desktop bind = $mainMod, B, exec, hyprctl dispatch exec [workspace 1] waterfox bind = $mainMod, M, exec, hyprctl dispatch exec [workspace 6] prismlauncher bind = $mainMod, K, exec, hyprctl dispatch exec [workspace 4] krita #Menus. bind = $mainMod, V, exec, pkill pulsemixer || $vc bind = $mainMod, G, exec, pkill htop || $sm #bind = $mainMod, N, exec, pkill nm || foot --title=nm -e nmtui # Lock screen shortcut. bind=$mainMod SHIFT, Delete, exec, gtklock -i #bind=$mainMod ALT, Delete, exec, loginctl suspend #bind=$mainMod CTRL, Delete, exec, gtklock -i | loginctl suspend # Grim (screenshot tool) shortcut. bind = , Print, exec, grim $scr/Screen-"$(date +%s)".png bind = $mainMod, Print, exec, grim -g "$(slurp)" $scr/Screen-"$(date +%s)".png # WINDOWS SHORTCUTS. # Windows shortcuts. bind = $mainMod, W, killactive, bind = $mainMod, S, togglefloating, bind = $mainMod, R, fakefullscreen, bind = $mainMod, F, fullscreen, bind = $mainMod, X, centerwindow, bind = $mainMod ALT SHIFT, M, exit, # Move focus shortcuts. bind = $mainMod, left, movefocus, l bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d # Move floating windows. binde = $mainMod SHIFT, right, moveactive, 40 0 binde = $mainMod SHIFT, left, moveactive, -40 0 binde = $mainMod SHIFT, up, moveactive, 0 -40 binde = $mainMod SHIFT, down, moveactive, 0 40 # Move floating windows with smaller steps. binde = $mainMod ALT SHIFT, right, moveactive, 10 0 binde = $mainMod ALT SHIFT, left, moveactive, -10 0 binde = $mainMod ALT SHIFT, up, moveactive, 0 -10 binde = $mainMod ALT SHIFT, down, moveactive, 0 10 # Move floating windows to a screen edge. binde = $mainMod ALT, Left, movewindow, l binde = $mainMod ALT, Right, movewindow, r binde = $mainMod ALT, Up, movewindow, u binde = $mainMod ALT, Down, movewindow, d # Resize windows. binde = $mainMod CTRL, left, resizeactive,-40 0 binde = $mainMod CTRL, right, resizeactive,40 0 binde = $mainMod CTRL, up, resizeactive,0 -40 binde = $mainMod CTRL, down, resizeactive,0 40 binde = $mainMod ALT CTRL, left, resizeactive,-10 0 binde = $mainMod ALT CTRL, right, resizeactive,10 0 binde = $mainMod ALT CTRL, up, resizeactive,0 -10 binde = $mainMod ALT CTRL, down, resizeactive,0 10 # Move/resize windows with mouse/touchpad. bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow #Workspaces shortcuts. # Switch workspaces. 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 another workspace. bind = $mainMod ALT, 1, movetoworkspace, 1 bind = $mainMod ALT, 2, movetoworkspace, 2 bind = $mainMod ALT, 3, movetoworkspace, 3 bind = $mainMod ALT, 4, movetoworkspace, 4 bind = $mainMod ALT, 5, movetoworkspace, 5 bind = $mainMod ALT, 6, movetoworkspace, 6 bind = $mainMod ALT, 7, movetoworkspace, 7 bind = $mainMod ALT, 8, movetoworkspace, 8 bind = $mainMod ALT, 9, movetoworkspace, 9 bind = $mainMod ALT, 0, movetoworkspace, 10 # Scroll through existing workspaces. bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 # Input things. input { #Keyboard layout. kb_layout = us, ru kb_variant = kb_model = kb_options = grp:win_space_toggle kb_rules = left_handed = false follow_mouse = 1 #TouchPad. touchpad { natural_scroll = no disable_while_typing=0 } #Mouse. sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } # TOUCHPAD GESTURES. gestures { workspace_swipe = on workspace_swipe_fingers = 3 workspace_swipe_distance = 80 workspace_swipe_min_speed_to_force = 10 } # APPEARANCE. # Basics. general { cursor_inactive_timeout = 10 gaps_in = 8 gaps_out = 16 border_size = 3 col.active_border = rgb(313244) #rgb(45475a) rgb(45475a) rgb(b4befe) 40deg col.inactive_border = rgb(1e1e2e) layout = master allow_tearing = false } # Windows decorations. decoration { rounding = 8 dim_inactive = true blur { enabled = true #enabled = false size = 4 passes = 3 xray = true } # Shadows. drop_shadow = yes shadow_range = 70 shadow_render_power = 5 col.shadow= 0x55000000 col.shadow_inactive=0x55000000 } # Animations. animations { enabled = yes bezier = myBezier, 0.05, 0.9, 0.1, 1.0 bezier = myBezier1, 0.05, 1.00, 0.1, 1.0 bezier = myBezier2, 0.05, 1.00, 0.1, 1.0 animation = windows, 1, 7, myBezier2, popin animation = windowsOut, 1, 7, myBezier2, popin 80% animation = border, 1, 7, default animation = borderangle, 0, 7, myBezier1 animation = fade, 1, 7, myBezier1 animation = workspaces, 1, 7, myBezier, slide } # LAYOUT THINGS. # DWindle layout. dwindle { pseudotile = yes preserve_split = yes smart_split = no no_gaps_when_only = 1 } # Master layout (In use now). master { new_is_master = false no_gaps_when_only = 1 mfact = 0.67 } # OTHER THINGS. misc { animate_manual_resizes = true force_default_wallpaper = 0 disable_hyprland_logo = true # Set to 0 to disable the anime mascot wallpapers }