From 50b9d23b1f9e54cca2ffb01afed5f4c83f98e5a2 Mon Sep 17 00:00:00 2001 From: Leon Wilzer Date: Sat, 30 Nov 2024 15:35:44 +0100 Subject: [PATCH] idk --- hypridle.conf | 40 ++++++++++++ hyprland.conf | 169 +++++++++++++++++++++++++++++++++++-------------- hyprlock.conf | 80 +++++++++++++++++++++++ hyprpaper.conf | 2 + mocha.conf | 77 ++++++++++++++++++++++ 5 files changed, 322 insertions(+), 46 deletions(-) create mode 100644 hypridle.conf create mode 100644 hyprlock.conf create mode 100644 hyprpaper.conf create mode 100644 mocha.conf diff --git a/hypridle.conf b/hypridle.conf new file mode 100644 index 0000000..24f2a12 --- /dev/null +++ b/hypridle.conf @@ -0,0 +1,40 @@ +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 = ddcutil setvcp 10 0 # set monitor backlight to minimum, avoid 0 on OLED monitor. + on-resume = ddcutil setvcp 10 100 # monitor backlight restore. +} + +# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight. +listener { + timeout = 150 # 2.5min. + on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight. + on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight. +} + +listener { + timeout = 300 # 5min + on-timeout = loginctl lock-session # lock screen when timeout has passed +} + +listener { + timeput = 3600 # 1h + on-timeout = playerctl --all-players pause # Pause everything +} + +listener { + timeout = 400 # 6min + on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed + on-resume = hyprctl dispatch dpms on ; ddcutil setvcp 10 100 # screen on when activity is detected after timeout has fired. +} + +# Currently logs out entirely +#listener { +# timeout = 600 # 10min +# on-timeout = systemctl suspend # suspend pc +#} diff --git a/hyprland.conf b/hyprland.conf index 627287c..2a1b358 100644 --- a/hyprland.conf +++ b/hyprland.conf @@ -1,24 +1,15 @@ +debug { + disable_logs = false +} -# ####################################################################################### -# AUTOGENERATED HYPR CONFIG. -# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, -# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. -# ####################################################################################### +source=$XDG_CONFIG_HOME/hypr/mocha.conf -# This is an example Hyprland config file. # Refer to the wiki for more information. # https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ -# Please note not all available settings / options are set here. -# For a full list, see the wiki - -# You can split this configuration into multiple files -# Create your files separately and then link them to this file like this: -# source = ~/.config/hypr/myColors.conf - ################### -### NVIDIA (fu) ### +### NVIDIA (FU) ### ################### env = LIBVA_DRIVER_NAME,nvidia env = XDG_SESSION_TYPE,wayland @@ -38,7 +29,8 @@ env = ELECTRON_OZONE_PLATFORM_HINT,auto ################ # See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=,preferred,auto,auto +#monitor = , preferred, auto, 1 +monitor=DP-1, preferred, auto, 1 ################### @@ -60,9 +52,10 @@ $menu = wofi --show drun # Autostart necessary processes (like notifications daemons, status bars, etc.) # Or execute your favorite apps at launch like this: -exec-once = waybar -exec-once = hyprpaper +#exec-once = waybar +exec-once = unlink $XDG_PICTURES_DIR/Wallpapers/current ; ln -s $XDG_PICTURES_DIR/Wallpapers/$(ls $XDG_PICTURES_DIR/Wallpapers | sort -R | tail -1) $XDG_PICTURES_DIR/Wallpapers/current && hyprpaper # Display random wallpaper exec-once = mako +exec-once = hypridle ############################# ### ENVIRONMENT VARIABLES ### @@ -88,8 +81,8 @@ general { border_size = 2 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors - col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg - col.inactive_border = rgba(595959aa) + #col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + #col.inactive_border = rgba(595959aa) # Set to true enable resizing windows by clicking and dragging on borders and gaps resize_on_border = false @@ -108,10 +101,10 @@ decoration { active_opacity = 1.0 inactive_opacity = 1.0 - drop_shadow = true - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) + #drop_shadow = true + #shadow_range = 4 + #shadow_render_power = 3 + #col.shadow = rgba(1a1a1aee) # https://wiki.hyprland.org/Configuring/Variables/#blur blur { @@ -147,7 +140,6 @@ dwindle { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more master { - new_is_master = true } # https://wiki.hyprland.org/Configuring/Variables/#misc @@ -199,6 +191,7 @@ device { $mainMod = SUPER # Sets "Windows" key as main modifier $subMod = SHIFT # Sets "Shift" key as sub modifier $supMod = CONTROL # Sets "CTRL" key as sub modifier +$altMod = ALT # Sets "ALT" as the alternative modifier. # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Return, exec, $terminal @@ -242,19 +235,29 @@ bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9 bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10 # Browser Workspace -workspace = special:browser, on-created-empty:firefox +workspace = special:browser, on-created-empty: [workspace browser silent] firefox bind = $mainMod, A, togglespecialworkspace, browser -bind = $mainMod SHIFT, A, movetoworkspacesilent, special:broswer +bind = $mainMod SHIFT, A, movetoworkspacesilent, special:browser # Music Workspace -workspace = special:music, on-created-empty:tidal-hifi +workspace = special:music, on-created-empty: [workspace browser music silent] tidal-hifi bind = $mainMod, S, togglespecialworkspace, music bind = $mainMod SHIFT, S, movetoworkspacesilent, special:music -# Music Workspace -workspace = special:games, on-created-empty:steam & prismlauncher -bind = $mainMod, D, togglespecialworkspace, games -bind = $mainMod SHIFT, D, movetoworkspacesilent, special:games +# Launchers Workspace +workspace = special:launchers, on-created-empty: [workspace launchers silent] steam & prismlauncher +bind = $mainMod, D, togglespecialworkspace, launchers +bind = $mainMod SHIFT, D, movetoworkspacesilent, special:launchers + +# Messaging Workspace +workspace = special:social, on-created-empty: [workspace social silent] signal-desktop & element-desktop & discord & thunderbird +bind = $mainMod, F, togglespecialworkspace, social +bind = $mainMod SHIFT, F, movetoworkspacesilent, special:social + +# Game Workspace +workspace = special:game, border:false, rounding:false +bind = $mainMod, G, togglespecialworkspace, game +bind = $mainMod SHIFT, G, movetoworkspacesilent, special:game # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 @@ -267,15 +270,24 @@ bindm = $mainMod, mouse:273, resizewindow # Take screenshots bind = $mainMod, P, exec, grim -l 9 -g "$(hyprctl -j activewindow | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')" - | wl-copy bind = $mainMod $subMod, P, exec, grim -l 9 -g "$(slurp -d)" - | wl-copy +bind = $mainMod $supMod, P, exec, grim -l 9 - | wl-copy +# The same, but storing it as a file instead +bind = $mainMod $altMod, P, exec, grim -l 9 -g "$(hyprctl -j activewindow | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')" "$XDG_PICTURES_DIR/Screenshots/$(date '+%F_%Hh%Mm%Ss%3Nms')_Window.png" +bind = $mainMod $subMod $altMod, P, exec, grim -l 9 -g "$(slurp -d)" "$XDG_PICTURES_DIR/Screenshots/$(date '+%F_%Hh%Mm%Ss%3Nms')_Region.png" +bind = $mainMod $supMod $altMod, P, exec, grim -l 9 -t png "$XDG_PICTURES_DIR/Screenshots/$(date '+%F_%Hh%Mm%Ss%3Nms')_Fullscreen.png" +# Steam +bind = ,F12,pass,.*Steam.* # Multimedia -bind = , XF86AudioRaiseVolume, exec, playerctl volume 0.1+ -bind = , XF86AudioLowerVolume, exec, playerctl volume 0.1- -bind = , XF86AudioPlay, exec, playerctl play-pause -bind = $mainMod, Space, exec, playerctl play-pause -bind = , XF86AudioPrev, exec, playerctl previous -bind = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioRaiseVolume, exec, playerctl volume 0.1+ +bindl = , XF86AudioLowerVolume, exec, playerctl volume 0.1- +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = $mainMod, Space, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous +bindl = , XF86AudioNext, exec, playerctl next +# Lockscreeen +bind = $mainMod, L, exec, hyprlock ############################## ### WINDOWS AND WORKSPACES ### @@ -284,14 +296,79 @@ bind = , XF86AudioNext, exec, playerctl next # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules -# Special Workspaces -windowrulev2 = workspace special:browser silent, class:^(firefox)$,title:^(firefox)$ -windowrulev2 = workspace special:music silent, class:^(tidal-hifi)$,title:^(tidal-hifi)$ -windowrulev2 = workspace special:games silent, class:^(steam)$,title:^(steam)$ -windowrulev2 = workspace special:games silent, class:^(prismlauncher)$,title:^(prismlauncher)$ +### Tags -windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. +## Workspaces + +# browser Workspace +windowrulev2 = tag +browser, class:^firefox$ + +# Music Workspace +windowrulev2 = tag +music, class:^tidal-hifi$ + +# Launcher Workspace +windowrulev2 = tag +launcher, class:^steam$ +windowrulev2 = tag +launcher, class:^prismlauncher$ + +# Social Workspace +windowrulev2 = tag +social, class:^signal$ +windowrulev2 = tag +social, class:^Element$ +windowrulev2 = tag +social, class:^discord$ +windowrulev2 = tag +social, class:^thunderbird$ + +# Game Workspace +windowrulev2 = tag +game, class:^steam_app_\d+$ # adds game tag to all steam apps + +## Inhibit Idle +# Focus +windowrulev2 = tag +inhibit_idle_focused, tag:^game$ + +# Fullscreen + +## Miscellaneous + +# Transparency +windowrulev2 = tag +transparent, class:^.*$ + +windowrulev2 = tag +opaque, class:^kitty$ +windowrulev2 = tag +opaque, fullscreen:1 +windowrulev2 = tag -transparent, tag:opaque + +# Super Transparency +windowrulev2 = tag +super_transparent, floating:1 +windowrulev2 = tag -super_transparent, floating:0 + +windowrulev2 = tag -transparent, tag:super_transparent +windowrulev2 = tag +opaque, class:^kitty$ +windowrulev2 = tag -super_transparent, tag:opaque + +# Silent +windowrulev2 = tag +silent, tag:browser +windowrulev2 = tag +silent, tag:music +windowrulev2 = tag +silent, tag:launcher +windowrulev2 = tag +silent, tag:social +windowrulev2 = tag +silent, tag:game + + +### Windowrules + +## Transparency +windowrulev2 = opacity 0.98 0.96 1, tag:transparent +windowrulev2 = opacity 0.85 0.80 1, tag:super_transparent +windowrulev2 = opacity 1 1 1, tag:opaque + +## Special Workspaces +windowrulev2 = workspace social silent,tag:browser +windowrulev2 = workspace social silent,tag:music +windowrulev2 = workspace social silent,tag:launcher +windowrulev2 = workspace social silent,tag:social +windowrulev2 = workspace social silent,tag:game + +## Silent +windowrulev2 = noinitialfocus, tag:silent +windowrulev2 = suppressevent activate, tag:silent + +## Inhibit Idle (stay focused) +windowrulev2 = idleinhibit, tag:inhibit_idle_focuses +windowrulev2 = idleinhibit, fullscreen:1 -debug { - disable_logs = false -} diff --git a/hyprlock.conf b/hyprlock.conf new file mode 100644 index 0000000..df0bfa8 --- /dev/null +++ b/hyprlock.conf @@ -0,0 +1,80 @@ +source = $XDG_CONFIG_HOME/hypr/mocha.conf + +$accent = $blue +$accentAlpha = $blueAlpha +$font = FiraCode + +# GENERAL +general { + disable_loading_bar = true + hide_cursor = true +} + +# BACKGROUND +background { + monitor = + path = $XDG_PICTURES_DIR/Wallpapers/current + blur_passes = 4 + blur_size = 8 + color = rgba($baseAlphaff) +} + +# TIME +label { + monitor = + text = cmd[update:30000] echo "$(date +"%R")" + color = $text + font_size = 90 + font_family = $font + position = -30, 0 + halign = right + valign = top +} + +# DATE +label { + monitor = + text = cmd[update:43200000] echo "$(date +"%A, %d %B %Y")" + color = $text + font_size = 25 + font_family = $font + position = -30, -150 + halign = right + valign = top +} + +# USER AVATAR + +image { + monitor = + path = ~/.face + size = 100 + border_color = $accent + + position = 0, 75 + halign = center + valign = center +} + +# INPUT FIELD +input-field { + monitor = + size = 300, 60 + outline_thickness = 4 + dots_size = 0.2 + dots_spacing = 0.2 + dots_center = true + outer_color = $accent + inner_color = $surface0 + font_color = $text + fade_on_empty = false + placeholder_text = 󰌾 Logged in as $USER + hide_input = false + check_color = $accent + fail_color = $red + fail_text = $FAIL ($ATTEMPTS) + capslock_color = $yellow + position = 0, -35 + halign = center + valign = center +} diff --git a/hyprpaper.conf b/hyprpaper.conf new file mode 100644 index 0000000..f5e855e --- /dev/null +++ b/hyprpaper.conf @@ -0,0 +1,2 @@ +preload = $XDG_PICTURES_DIR/Wallpapers/current +wallpaper = DP-1,$XDG_PICTURES_DIR/Wallpapers/current diff --git a/mocha.conf b/mocha.conf new file mode 100644 index 0000000..2b80922 --- /dev/null +++ b/mocha.conf @@ -0,0 +1,77 @@ +$rosewater = rgb(f5e0dc) +$rosewaterAlpha = f5e0dc + +$flamingo = rgb(f2cdcd) +$flamingoAlpha = f2cdcd + +$pink = rgb(f5c2e7) +$pinkAlpha = f5c2e7 + +$mauve = rgb(cba6f7) +$mauveAlpha = cba6f7 + +$red = rgb(f38ba8) +$redAlpha = f38ba8 + +$maroon = rgb(eba0ac) +$maroonAlpha = eba0ac + +$peach = rgb(fab387) +$peachAlpha = fab387 + +$yellow = rgb(f9e2af) +$yellowAlpha = f9e2af + +$green = rgb(a6e3a1) +$greenAlpha = a6e3a1 + +$teal = rgb(94e2d5) +$tealAlpha = 94e2d5 + +$sky = rgb(89dceb) +$skyAlpha = 89dceb + +$sapphire = rgb(74c7ec) +$sapphireAlpha = 74c7ec + +$blue = rgb(89b4fa) +$blueAlpha = 89b4fa + +$lavender = rgb(b4befe) +$lavenderAlpha = b4befe + +$text = rgb(cdd6f4) +$textAlpha = cdd6f4 + +$subtext1 = rgb(bac2de) +$subtext1Alpha = bac2de + +$subtext0 = rgb(a6adc8) +$subtext0Alpha = a6adc8 + +$overlay2 = rgb(9399b2) +$overlay2Alpha = 9399b2 + +$overlay1 = rgb(7f849c) +$overlay1Alpha = 7f849c + +$overlay0 = rgb(6c7086) +$overlay0Alpha = 6c7086 + +$surface2 = rgb(585b70) +$surface2Alpha = 585b70 + +$surface1 = rgb(45475a) +$surface1Alpha = 45475a + +$surface0 = rgb(313244) +$surface0Alpha = 313244 + +$base = rgb(1e1e2e) +$baseAlpha = 1e1e2e + +$mantle = rgb(181825) +$mantleAlpha = 181825 + +$crust = rgb(11111b) +$crustAlpha = 11111b