From a1c2ff601e282024d20047b8f0863ac6852785c3 Mon Sep 17 00:00:00 2001 From: Maximilian Wagner Date: Fri, 23 Feb 2024 15:50:39 +0100 Subject: [PATCH] Initial --- hyprland.conf | 227 ++++++++++++++++++++++++++++++++++++++++++++++++++ mocha.conf | 61 ++++++++++++++ power-menu | 16 ++++ pyprland.toml | 21 +++++ 4 files changed, 325 insertions(+) create mode 100644 hyprland.conf create mode 100644 mocha.conf create mode 100755 power-menu create mode 100644 pyprland.toml diff --git a/hyprland.conf b/hyprland.conf new file mode 100644 index 0000000..0bb837d --- /dev/null +++ b/hyprland.conf @@ -0,0 +1,227 @@ +source=~/.config/hypr/mocha.conf +$COLOR + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=,preferred,auto,auto +monitor=eDP-1,preferred,0x0,1.566667 + +workspace = name:special:magic,monitor:eDP-1,gapsin:10,gapsout:100 + +# 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 + +# 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 +$fileManager = thunar +$menu = wofi --show drun +$powermenu = ~/.config/hypr/power-menu +$lockscreen = swaylock -C ~/.config/swaylock/config + +# Some default env vars. +env = XCURSOR_SIZE,24 +env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that + +# 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 + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} + +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_is_master = true +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = false +} + +misc { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + 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 +$mainMod = SUPER + +# 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 + +# Utility Keys + +$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%- + +bind = , XF86AudioLowerVolume, exec, $volume_down +bind = , XF86AudioRaiseVolume, exec, $volume_up +bind = , XF86AudioMute, exec, $volume_mute +bind = , XF86MonBrightnessUp, exec, $brightness_up +bind = , XF86MonBrightnessDown, exec, $brightness_down + + +# General Keybinds +bind = $mainMod, O, exec, $browser +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 + diff --git a/mocha.conf b/mocha.conf new file mode 100644 index 0000000..1463565 --- /dev/null +++ b/mocha.conf @@ -0,0 +1,61 @@ +$rosewaterAlpha = f5e0dc +$flamingoAlpha = f2cdcd +$pinkAlpha = f5c2e7 +$mauveAlpha = cba6f7 +$redAlpha = f38ba8 +$maroonAlpha = eba0ac +$peachAlpha = fab387 +$yellowAlpha = f9e2af +$greenAlpha = a6e3a1 +$tealAlpha = 94e2d5 +$skyAlpha = 89dceb +$sapphireAlpha = 74c7ec +$blueAlpha = 89b4fa +$lavenderAlpha = b4befe + +$textAlpha = cdd6f4 +$subtext1Alpha = bac2de +$subtext0Alpha = a6adc8 + +$overlay2Alpha = 9399b2 +$overlay1Alpha = 7f849c +$overlay0Alpha = 6c7086 + +$surface2Alpha = 585b70 +$surface1Alpha = 45475a +$surface0Alpha = 313244 + +$baseAlpha = 1e1e2e +$mantleAlpha = 181825 +$crustAlpha = 11111b + +$rosewater = 0xfff5e0dc +$flamingo = 0xfff2cdcd +$pink = 0xfff5c2e7 +$mauve = 0xffcba6f7 +$red = 0xfff38ba8 +$maroon = 0xffeba0ac +$peach = 0xfffab387 +$yellow = 0xfff9e2af +$green = 0xffa6e3a1 +$teal = 0xff94e2d5 +$sky = 0xff89dceb +$sapphire = 0xff74c7ec +$blue = 0xff89b4fa +$lavender = 0xffb4befe + +$text = 0xffcdd6f4 +$subtext1 = 0xffbac2de +$subtext0 = 0xffa6adc8 + +$overlay2 = 0xff9399b2 +$overlay1 = 0xff7f849c +$overlay0 = 0xff6c7086 + +$surface2 = 0xff585b70 +$surface1 = 0xff45475a +$surface0 = 0xff313244 + +$base = 0xff1e1e2e +$mantle = 0xff181825 +$crust = 0xff11111b diff --git a/power-menu b/power-menu new file mode 100755 index 0000000..082885b --- /dev/null +++ b/power-menu @@ -0,0 +1,16 @@ +#!/bin/bash + +entries="Logout Suspend Reboot Shutdown" + +selected=$(printf '%s\n' $entries | wofi --conf=$HOME/.config/wofi/config.power --style=$HOME/.config/wofi/style.widgets.css | awk '{print tolower($1)}') + +case $selected in + logout) + hyprctl dispatch exit;; + suspend) + exec systemctl suspend;; + reboot) + exec systemctl reboot;; + shutdown) + exec systemctl poweroff -i;; +esac diff --git a/pyprland.toml b/pyprland.toml new file mode 100644 index 0000000..fd703ae --- /dev/null +++ b/pyprland.toml @@ -0,0 +1,21 @@ +[pyprland] +plugins = [ + "scratchpads", +] + +[scratchpads.default] +command="" +size = "75% 60%" + +[scratchpads.term] +command = "kitty --class kitty-dropterm" +class = "kitty-dropterm" +size = "75% 60%" + +[scratchpads.volume] +command = "pavucontrol" +class = "pavucontrol" +lazy = true +size = "40% 90%" +unfocus = "hide" +