diff --git a/.config/hypr/animations.conf b/.config/hypr/animations.conf new file mode 100644 index 0000000..b2d7717 --- /dev/null +++ b/.config/hypr/animations.conf @@ -0,0 +1,11 @@ +animations { + enabled = true + bezier=myBezier,0.05,0.9,0.1,1.1 + animation = windows, 1, 5, myBezier + animation = windowsOut, 1, 5, myBezier, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fadeIn, 1, 8, myBezier + animation = fadeOut, 1, 6, myBezier + animation = workspaces, 1, 6, myBezier +} diff --git a/.config/hypr/autostart.conf b/.config/hypr/autostart.conf new file mode 100644 index 0000000..b070b80 --- /dev/null +++ b/.config/hypr/autostart.conf @@ -0,0 +1,6 @@ +# exec-once = exec-once = /usr/bin/hyprland-monitor-attached ~/.config/hypr/bin/attach.sh & swww init & ags & /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & udiskie & sway-audio-idle-inhibit & /usr/lib/kdeconnectd +exec-once = ~/.config/hypr/bin/lock.sh & disown + exec-once = ~/.local/share/hyprload/hyprload.sh +exec-once = waybar & disown +exec-once = knotes +exec-once = syncthing & disown diff --git a/.config/hypr/bin/attach.sh b/.config/hypr/bin/attach.sh new file mode 100755 index 0000000..a6461fa --- /dev/null +++ b/.config/hypr/bin/attach.sh @@ -0,0 +1 @@ +killall ags; ags & disown diff --git a/.config/hypr/bin/lock.sh b/.config/hypr/bin/lock.sh new file mode 100755 index 0000000..288d969 --- /dev/null +++ b/.config/hypr/bin/lock.sh @@ -0,0 +1,6 @@ +#!/usr/bin/bash +swayidle -w \ + timeout 300 'swaylock --effect-blur 7x5 --clock --indicator' \ + timeout 600 'swaymsg "output * dpms off"' \ + resume 'swaymsg "output * dpms on"' \ + before-sleep 'swaylock --effect-blur 7x5 --clock --indicator' diff --git a/.config/hypr/colors.conf b/.config/hypr/colors.conf new file mode 100644 index 0000000..b5c6973 --- /dev/null +++ b/.config/hypr/colors.conf @@ -0,0 +1,9 @@ +general { + col.inactive_border = rgb(34302c) + col.active_border = rgb(34302c) +} + +decoration { + col.shadow=rgba(00000066) + col.shadow_inactive=rgba(00000066) +} diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf new file mode 100755 index 0000000..acb6032 --- /dev/null +++ b/.config/hypr/hyprland.conf @@ -0,0 +1,80 @@ +source = ~/.config/hypr/colors.conf +source = ~/.config/hypr/monitors.conf +source = ~/.config/hypr/autostart.conf +source = ~/.config/hypr/animations.conf +source = ~/.config/hypr/input.conf +source = ~/.config/hypr/windowrules.conf +source = ~/.config/hypr/keybindings.conf +source = ~/.config/hypr/layerrules.conf + +xwayland { + force_zero_scaling = true +} + +env = GDK_SCALE,1.6 +env = QT_AUTO_SCREEN_SCALE_FACTOR,1.6 + +general { + gaps_in = 6 + gaps_out = 12 + border_size = 1 + layout = dwindle +} + +misc { + disable_hyprland_logo = true + disable_splash_rendering = true + mouse_move_enables_dpms = true + enable_swallow = false + swallow_regex = ^(wezterm)$ + vfr = true + vrr = true + no_direct_scanout = true + layers_hog_keyboard_focus = true +} + +decoration { + rounding = 5 + + blur { + enabled = true + xray = false + special = false + ignore_opacity = true + size = 10 # radius + passes = 5 + new_optimizations = on + + noise = 0.03 + + contrast = 1 + brightness = 1 + } + + shadow_range=35 + shadow_render_power=3 + shadow_scale = 1 + + blurls=waybar + blurls=bar0 + blurls=bar1 + blurls=controlcenter + blurls=indicator0 + blurls=indicator1 + blurls=wofi + blurls=rofi + blurls=calendar + blurls=notifications0 + blurls=notifications1 + blurls=notificationsCenter + blurls=applauncher +} + +#dwindle { +# pseudotile = yes +# preserve_split = yes +#} + +master { + new_is_master = true +} diff --git a/.config/hypr/hyprpaper.conf b/.config/hypr/hyprpaper.conf new file mode 100755 index 0000000..fcdf3d9 --- /dev/null +++ b/.config/hypr/hyprpaper.conf @@ -0,0 +1,2 @@ +preload=/home/posaydone/Pictures/Wallpapers/wallhaven-5grq78.jpg +wallpaper=,/home/posaydone/Pictures/Wallpapers/wallhaven-5grq78.jpg \ No newline at end of file diff --git a/.config/hypr/input.conf b/.config/hypr/input.conf new file mode 100644 index 0000000..af43ba1 --- /dev/null +++ b/.config/hypr/input.conf @@ -0,0 +1,22 @@ +input { + kb_layout = us + repeat_delay = 300 + repeat_rate = 50 + follow_mouse = 1 + + touchpad { + natural_scroll = yes + scroll_factor = 1 + middle_button_emulation = true + clickfinger_behavior = true + } + + sensitivity = 0 # -0.2 # -1.0 - 1.0, 0 means no modification. +} + +gestures { + workspace_swipe = true + workspace_swipe_distance = 600 + workspace_swipe_cancel_ratio = 0.5 + workspace_swipe_min_speed_to_force = 7 + } diff --git a/.config/hypr/keybindings.conf b/.config/hypr/keybindings.conf new file mode 100644 index 0000000..da2e46a --- /dev/null +++ b/.config/hypr/keybindings.conf @@ -0,0 +1,92 @@ +gestures { + workspace_swipe = yes +} + +$mainMod = SUPER + +binds { + allow_workspace_cycles = true +} + +# Ags +bindle = , XF86AudioMute, exec, ags run-js "audio.speaker.isMuted = !audio.speaker.isMuted" +bindle = , XF86MonBrightnessUp, exec, ags run-js "brightness.screen += 0.05; indicator.display()" +bindle = , XF86MonBrightnessDown, exec, ags run-js "brightness.screen -= 0.05; indicator.display()" +bindle = , XF86KbdBrightnessUp, exec, ags run-js "brightness.kbd++; indicator.kbd()" +bindle = , XF86KbdBrightnessDown, exec, ags run-js "brightness.kbd--; indicator.kbd()" +bindle = , XF86AudioRaiseVolume, exec, ags run-js "audio.speaker.volume += 0.05; indicator.speaker()" +bindle = , XF86AudioLowerVolume, exec, ags run-js "audio.speaker.volume -= 0.05; indicator.speaker()" +bindl = , XF86AudioPlay, exec, ags run-js "mpris.players.pop()?.playPause()" +bindl = , XF86AudioStop, exec, ags run-js "mpris.players.pop()?.stop()" +bindl = , XF86AudioPause, exec, ags run-js "mpris.players.pop()?.pause()" +bindl = , XF86AudioPrev, exec, ags run-js "mpris.players.pop()?.previous()" +bindl = , XF86AudioNext, exec, ags run-js "mpris.players.pop()?.next()" +bindl = , XF86AudioMicMute, exec, ags run-js "audio.microphone.isMuted = !audio.microphone.isMuted" + +bind = $mainMod, TAB, workspace, previous, +bind = ALT,Tab,cyclenext, # change focus to another window +bind = ALT,Tab,bringactivetotop, # bring it to the top +bind = $mainMod, RETURN, exec, kitty +bind = $mainMod SHIFT, RETURN, exec, flatpak run io.gitlab.librewolf-community +bind = $mainMod, R, exec, pmt /home/posaydone/Pictures/Wallpapers/ -w swww +bind = $mainMod, Q, killactive, +bind = $mainMod, X, exec, ~/.config/rofi/bin/powermenu +bind = $mainMod, V, togglefloating, +bind = $mainMod SHIFT, V, pseudo, +bind = $mainMod, space, exec, ~/.config/rofi/bin/launcher #ags toggle-window applauncher +# ~/.config/rofi/bin/launcher ags toggle-window applauncher +bind = $mainMod, P, exec, hyprpicker | wl-copy --trim-newline # dwindle +bind = $mainMod, D, togglesplit, # dwindle +bind = $mainMod, F, fullscreen, # dwindle +bind = $mainMod, A, exec, ags toggle-window app-mixer +bind = $mainMod, N, exec, ags toggle-window controlcenter +bind = $mainMod, M, exec, ags toggle-window sink-selector +bind = $mainMod, C, exec, killall ags #ags toggle-window network +bind = $mainMod, B, exec, ags toggle-window bluetooth +bind = , Print, exec, grimblast copysave output # screenshot +bind = SHIFT, Print, exec, grimblast copysave area # screenshot area +bind=$mainMod,W,swapactiveworkspaces, eDP-1 DP-1 +bind = $mainMod, XF86AudioMute, exec, slurp | grim -g - -t png /dev/stdout | wl-copy --type image/png + +bind=SUPER_SHIFT,S,movetoworkspace,special +bind=SUPER,S,togglespecialworkspace, + +# Move focus with mainMod + arrow keys +bind = $mainMod, H, movefocus, l +bind = $mainMod, L, movefocus, r +bind = $mainMod, K, movefocus, u +bind = $mainMod, J, movefocus, d + +# 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, 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 + +# 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 + +bindl=,switch:on:Lid Switch,exec,systemctl suspend diff --git a/.config/hypr/layerrules.conf b/.config/hypr/layerrules.conf new file mode 100644 index 0000000..0a9e811 --- /dev/null +++ b/.config/hypr/layerrules.conf @@ -0,0 +1,8 @@ +layerrule=ignorealpha[0.97],rofi +layerrule=ignorealpha[0.97],waybar +layerrule=ignorealpha[0.97],controlcenter +layerrule=ignorealpha[0.97],applauncher +layerrule=ignorealpha[0.97],indicator0 +layerrule=ignorealpha[0.97],indicator1 +layerrule=ignorealpha[0.97],notifications +layerrule=ignorealpha[0.97],calendar diff --git a/.config/hypr/monitors.conf b/.config/hypr/monitors.conf new file mode 100644 index 0000000..1e0a751 --- /dev/null +++ b/.config/hypr/monitors.conf @@ -0,0 +1,2 @@ +monitor=eDP-1,highres,auto,1.8 +monitor=eDP-1,2560x1600@60,auto,1.6 diff --git a/.config/hypr/windowrules.conf b/.config/hypr/windowrules.conf new file mode 100644 index 0000000..effd420 --- /dev/null +++ b/.config/hypr/windowrules.conf @@ -0,0 +1,36 @@ +windowrulev2 = float,class:("winword.exe") + +windowrule=opacity 0.9,^(Emacs)$ +windowrule=opacity 0.92,^(code-url-handler)$ + +# Kitty +windowrulev2=pseudo,class:^(kitty)$ +windowrulev2=float,title:^(Open Folder)$ + +# Apps +windowrule=move center,^(org.telegram.desktop)$ +windowrulev2=float,class:^(blueman-manager)$ +windowrulev2=float,class:^(pavucontrol)$ +windowrulev2=float,class:^(io.gitlab.theevilskeleton.Upscaler)$ +windowrulev2=float,class:^(com.example.GtkApplication)$ +windowrulev2=float,class:^(lutris)$ + +windowrule=workspace 2,^(firefox)$ +windowrule=workspace 3,title:^(lf)$ +windowrule=workspace 4,^(code-url-handler)$ +windowrule=workspace 4,^(jetbrains-rider)$ +windowrule=workspace 6,^(discord)$ +windowrule=workspace 6,^(org.telegram.desktop)$ + +windowrulev2 = float,floating:0,class:^(jetbrains-.*),title:^(win.*) +windowrulev2 = float,class:^(jetbrains-.*),title:^(Welcome to.*) +windowrulev2 = center,class:^(jetbrains-.*),title:^(Replace All)$ +windowrulev2 = forceinput,class:^(jetbrains-.*) +windowrulev2 = windowdance,class:^(jetbrains-.*) # allows IDE to move child windows + +workspace=1, monitor:DP-1, default:true +workspace=2, monitor:DP-1, default:true +workspace=3, monitor:eDP-1, default:true +workspace=4, monitor:DP-1, default:true +workspace=5, monitor:eDP-1, default:true +workspace=6, monitor:eDP-1, default:true