diff options
Diffstat (limited to 'hyprland')
| -rw-r--r-- | hyprland/dot-config/hypr/hypridle.conf | 27 | ||||
| -rw-r--r-- | hyprland/dot-config/hypr/hyprland.conf | 202 | ||||
| -rw-r--r-- | hyprland/dot-config/hypr/hyprlock.conf | 76 | ||||
| -rw-r--r-- | hyprland/dot-config/systemd/user/hypridle.service.d/override.conf | 2 | ||||
| -rw-r--r-- | hyprland/dot-config/systemd/user/hyprpolkitagent.service.d/override.conf | 3 | ||||
| -rw-r--r-- | hyprland/dot-config/systemd/user/xdg-desktop-portal-hyprland.service.d/override.conf | 2 | ||||
| -rw-r--r-- | hyprland/dot-config/uwsm/env | 17 | ||||
| -rw-r--r-- | hyprland/dot-config/uwsm/env-hyprland | 3 |
8 files changed, 332 insertions, 0 deletions
diff --git a/hyprland/dot-config/hypr/hypridle.conf b/hyprland/dot-config/hypr/hypridle.conf new file mode 100644 index 0000000..a3fb5f1 --- /dev/null +++ b/hyprland/dot-config/hypr/hypridle.conf @@ -0,0 +1,27 @@ +general { + lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. + before_sleep_cmd = loginctl lock-session # lock before suspend. + after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. +} + +listener { + timeout = 150 # 2.5min. + on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor. + on-resume = brightnessctl -r # monitor backlight restore. +} + +listener { + timeout = 300 # 5min. + on-timeout = loginctl lock-session # lock screen when timeout has passed. +} + +listener { + timeout = 330 # 5.5min. + on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed. + on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired. +} + +listener { + timeout = 1800 # 30min. + on-timeout = systemctl suspend # suspend pc. +} diff --git a/hyprland/dot-config/hypr/hyprland.conf b/hyprland/dot-config/hypr/hyprland.conf new file mode 100644 index 0000000..731e4b6 --- /dev/null +++ b/hyprland/dot-config/hypr/hyprland.conf @@ -0,0 +1,202 @@ +monitor=,preferred,auto,auto + +$terminal = app2unit -- alacritty +$menu = fuzzel --launch-prefix="app2unit --" +$browser = app2unit -- qutebrowser +$exit = loginctl terminate-user "" +$lock = app2unit -- hyprlock --no-fade-in + +$activeBorderColor = rgb(005577) # rgba(71CEADee) +$inactiveBorderColor = rgb(444444) + +general { + gaps_in = 5 + gaps_out = 15 + border_size = 2 + + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + # col.active_border = $activeBorderColor + col.inactive_border = $inactiveBorderColor + + resize_on_border = false + allow_tearing = false + layout = master +} + +decoration { + rounding = 10 + rounding_power = 2 + + active_opacity = 1.0 + inactive_opacity = 1.0 + + shadow { + enabled = false + } + blur { + enabled = false + } +} + +animations { + enabled = yes + + # 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 + animation = zoomFactor, 1, 7, quick +} + +# Ref https://wiki.hypr.land/Configuring/Workspace-Rules/ +# "Smart gaps" / "No gaps when only" +# uncomment all if you wish to use that. +# workspace = w[tv1], gapsout:0, gapsin:0 +# workspace = f[1], gapsout:0, gapsin:0 +# windowrule = bordersize 0, floating:0, onworkspace:w[tv1] +# windowrule = bordersize 0, floating:0, onworkspace:f[1] + +# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more +dwindle { + pseudotile = true + preserve_split = true +} + +# See https://wiki.hypr.land/Configuring/Master-Layout/ for more +master { + new_status = inherit + mfact = 0.50 +} + +misc { + force_default_wallpaper = 0 + disable_hyprland_logo = true +} + +input { + kb_layout = us,ir + kb_variant = ,pes_keypad + kb_options = grp:shifts_toggle + + repeat_rate = 50 + repeat_delay = 300 + + follow_mouse = 1 + + sensitivity = 0 + + touchpad { + natural_scroll = false + } +} + +# See https://wiki.hypr.land/Configuring/Gestures +# gesture = 3, horizontal, workspace + +$osdclient = swayosd-client --monitor "$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')" + +# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more +bind = SUPER, return, exec, $terminal +bind = SUPER SHIFT, C, killactive, +bind = SUPER SHIFT, E, exec, $exit + +bind = SUPER SHIFT, space, togglefloating, +bind = SUPER, V, togglesplit, # dwindle +bind = SUPER, F, fullscreen, toggle +bind = SUPER SHIFT, return, layoutmsg, swapwithmaster master ignoremaster +bind = SUPER, space, exec, $(hyprctl activewindow -j | jq -e '.floating') && hyprctl dispatch cyclenext tiled || hyprctl dispatch cyclenext floating + +bind = SUPER, comma, focusmonitor, +1 +bind = SUPER SHIFT, comma, movewindow, mon:+1 silent + +bind = SUPER, P, exec, $menu +bind = SUPER, B, exec, $browser +bind = SUPER, X, exec, $lock +# bind = SUPER, E, exec, rofi -show emoji +# bind = SUPER, M, exec, app2unit -- emacsclient -c + +# Move focus with mainMod + arrow keys +bind = SUPER, H, movefocus, l +bind = SUPER, J, movefocus, d +bind = SUPER, K, movefocus, u +bind = SUPER, L, movefocus, r + +# Move window +bind = SUPER SHIFT, H, movewindow, l +bind = SUPER SHIFT, J, movewindow, d +bind = SUPER SHIFT, K, movewindow, u +bind = SUPER SHIFT, L, movewindow, r +bind = SUPER, C, centerwindow + +# Switch workspaces with mainMod + [0-9] +bind = SUPER, 1, workspace, 1 +bind = SUPER, 2, workspace, 2 +bind = SUPER, 3, workspace, 3 +bind = SUPER, 4, workspace, 4 +bind = SUPER, 5, workspace, 5 +bind = SUPER, 6, workspace, 6 +bind = SUPER, 7, workspace, 7 +bind = SUPER, 8, workspace, 8 +bind = SUPER, 9, workspace, 9 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = SUPER SHIFT, 1, movetoworkspacesilent, 1 +bind = SUPER SHIFT, 2, movetoworkspacesilent, 2 +bind = SUPER SHIFT, 3, movetoworkspacesilent, 3 +bind = SUPER SHIFT, 4, movetoworkspacesilent, 4 +bind = SUPER SHIFT, 5, movetoworkspacesilent, 5 +bind = SUPER SHIFT, 6, movetoworkspacesilent, 6 +bind = SUPER SHIFT, 7, movetoworkspacesilent, 7 +bind = SUPER SHIFT, 8, movetoworkspacesilent, 8 +bind = SUPER SHIFT, 9, movetoworkspacesilent, 9 + +# Example special workspace (scratchpad) +bind = SUPER, S, togglespecialworkspace, magic +bind = SUPER SHIFT, S, movetoworkspace, special:magic + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = SUPER, mouse:272, movewindow +bindm = SUPER, mouse:273, resizewindow + + +# Laptop multimedia keys for volume and LCD brightness +bindel = ,XF86AudioRaiseVolume, exec, $osdclient --output-volume raise --max-volume 100 +bindel = ,XF86AudioLowerVolume, exec, $osdclient --output-volume lower +bindel = ,XF86AudioMute, exec, $osdclient --output-volume mute-toggle && update-led-mute sink +bindel = ,XF86AudioMicMute, exec, $osdclient --input-volume mute-toggle && update-led-mute source +bindel = ,XF86MonBrightnessUp, exec, $osdclient --brightness raise +bindel = ,XF86MonBrightnessDown, exec, $osdclient --brightness lower + +# Screenshot +bindd = , PRINT, Screenshot with editing, exec, screenshot-hypr +bindd = SHIFT, PRINT, Screenshot to clipboard, exec, screenshot-hypr smart +bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a + + +# Ignore maximize requests from apps. You'll probably like this. +windowrule = suppressevent maximize, class:.* + +# Fix some dragging issues with XWayland +windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 diff --git a/hyprland/dot-config/hypr/hyprlock.conf b/hyprland/dot-config/hypr/hyprlock.conf new file mode 100644 index 0000000..9df3e67 --- /dev/null +++ b/hyprland/dot-config/hypr/hyprlock.conf @@ -0,0 +1,76 @@ +$font = Hack + +general { + hide_cursor = true +} + +auth { + fingerprint:enabled = true +} + +animations { + enabled = false +} + +background { + color = rgba(0, 0, 0, 1.0) +} + +input-field { + size = 500, 90 + outline_thickness = 3 + inner_color = rgba(0, 0, 0, 0.0) + + outer_color = rgba(33ccffee) rgba(00ff99ee) 45deg + check_color = rgba(00ff99ee) rgba(ff6633ee) 120deg + fail_color = rgba(ff6633ee) rgba(ff0066ee) 40deg + + font_color = rgb(143, 143, 143) + fade_on_empty = false + rounding = 15 + + font_family = $font + placeholder_text = <span>Enter Password </span> + fail_text = $PAMFAIL + + dots_spacing = 0.3 + + position = 0, -20 + halign = center + valign = center +} + +# TIME +label { + monitor = + text = $TIME # ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#variable-substitution + font_size = 90 + font_family = $font + + position = -30, 0 + halign = right + valign = top +} + +# DATE +label { + monitor = + text = cmd[update:60000] date +"%A, %d %B %Y" # update every 60 seconds + font_size = 25 + font_family = $font + + position = -30, -150 + halign = right + valign = top +} + +label { + monitor = + text = $LAYOUT[en,ir] + font_size = 24 + onclick = hyprctl switchxkblayout all next + + position = 300, -20 + halign = center + valign = center +} diff --git a/hyprland/dot-config/systemd/user/hypridle.service.d/override.conf b/hyprland/dot-config/systemd/user/hypridle.service.d/override.conf new file mode 100644 index 0000000..2b17997 --- /dev/null +++ b/hyprland/dot-config/systemd/user/hypridle.service.d/override.conf @@ -0,0 +1,2 @@ +[Service] +ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "Hyprland" "" diff --git a/hyprland/dot-config/systemd/user/hyprpolkitagent.service.d/override.conf b/hyprland/dot-config/systemd/user/hyprpolkitagent.service.d/override.conf new file mode 100644 index 0000000..0f6e052 --- /dev/null +++ b/hyprland/dot-config/systemd/user/hyprpolkitagent.service.d/override.conf @@ -0,0 +1,3 @@ +[Service] +ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "Hyprland" "" +Slice=session-graphical.slice diff --git a/hyprland/dot-config/systemd/user/xdg-desktop-portal-hyprland.service.d/override.conf b/hyprland/dot-config/systemd/user/xdg-desktop-portal-hyprland.service.d/override.conf new file mode 100644 index 0000000..2b17997 --- /dev/null +++ b/hyprland/dot-config/systemd/user/xdg-desktop-portal-hyprland.service.d/override.conf @@ -0,0 +1,2 @@ +[Service] +ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "Hyprland" "" diff --git a/hyprland/dot-config/uwsm/env b/hyprland/dot-config/uwsm/env new file mode 100644 index 0000000..a2bd337 --- /dev/null +++ b/hyprland/dot-config/uwsm/env @@ -0,0 +1,17 @@ +# vim: ft=bash + +export XCURSOR_SIZE=24 + +# graphical apps +export BROWSER=qutebrowser +export TERMINAL=alacritty + +# Wayland configuration +export GDK_BACKEND='wayland,x11,*' +export QT_QPA_PLATFORM='wayland;xcb' +export QT_STYLE_OVERRIDE=kvantum +export SDL_VIDEODRIVER=wayland +export OZONE_PLATFORM=wayland +export ELECTRON_OZONE_PLATFORM_HINT=wayland + +export APP2UNIT_SLICES='a=app-graphical.slice b=background-graphical.slice s=session-graphical.slice' diff --git a/hyprland/dot-config/uwsm/env-hyprland b/hyprland/dot-config/uwsm/env-hyprland new file mode 100644 index 0000000..dc050ff --- /dev/null +++ b/hyprland/dot-config/uwsm/env-hyprland @@ -0,0 +1,3 @@ +# vim: ft=bash + +export HYPRCURSOR_SIZE=24 |
