From 62a60185880835d4b492b622e82a249145513836 Mon Sep 17 00:00:00 2001 From: timoxa0 Date: Wed, 20 Nov 2024 19:04:38 +0500 Subject: [PATCH] Revert "nabu-kde: Remove hyprland dotfiles" This reverts commit 6ecf39c0dd7a679979e75bef1726ddaf31eb274c. --- dot-config/hypr/bin/autostart | 20 ++++++ dot-config/hypr/bin/lockscreen | 4 ++ dot-config/hypr/bin/powermenu | 108 +++++++++++++++++++++++++++++++ dot-config/hypr/bin/setwal | 54 ++++++++++++++++ dot-config/hypr/binds.conf | 61 +++++++++++++++++ dot-config/hypr/colors.conf | 5 ++ dot-config/hypr/debug.conf | 3 + dot-config/hypr/decorations.conf | 73 +++++++++++++++++++++ dot-config/hypr/env.conf | 13 ++++ dot-config/hypr/hypridle.conf | 10 +++ dot-config/hypr/hyprland.conf | 21 ++++++ dot-config/hypr/hyprlock.conf | 63 ++++++++++++++++++ dot-config/hypr/hyprpaper.conf | 0 dot-config/hypr/monitors.conf | 8 +++ dot-config/hypr/plugins.conf | 2 + dot-config/hypr/rules.conf | 56 ++++++++++++++++ dot-config/hyprwall/config.ini | 4 ++ 17 files changed, 505 insertions(+) create mode 100755 dot-config/hypr/bin/autostart create mode 100755 dot-config/hypr/bin/lockscreen create mode 100755 dot-config/hypr/bin/powermenu create mode 100755 dot-config/hypr/bin/setwal create mode 100644 dot-config/hypr/binds.conf create mode 100644 dot-config/hypr/colors.conf create mode 100644 dot-config/hypr/debug.conf create mode 100644 dot-config/hypr/decorations.conf create mode 100644 dot-config/hypr/env.conf create mode 100644 dot-config/hypr/hypridle.conf create mode 100644 dot-config/hypr/hyprland.conf create mode 100644 dot-config/hypr/hyprlock.conf create mode 100644 dot-config/hypr/hyprpaper.conf create mode 100644 dot-config/hypr/monitors.conf create mode 100644 dot-config/hypr/plugins.conf create mode 100644 dot-config/hypr/rules.conf create mode 100644 dot-config/hyprwall/config.ini diff --git a/dot-config/hypr/bin/autostart b/dot-config/hypr/bin/autostart new file mode 100755 index 0000000..2b12ca4 --- /dev/null +++ b/dot-config/hypr/bin/autostart @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland & +gsettings set org.gnome.desktop.wm.preferences button-layout ':' & +waybar -c ~/.config/waybar/waybar.jsonc -s ~/.config/waybar/waybar.css & +hyprwall -r & +hypridle -c ~/.config/hypr/hypridle.conf & +/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & +mako -c ~/.config/mako/mako.conf & +/usr/lib/xdg-desktop-portal -r & +nm-applet & + +clash-verge & +bash -c "sleep 2; easyeffects --gapplication-service" & + +ping 1.1.1.1 -c 1 && { + sleep 3 + vesktop & + telegram-desktop -startintray & +} diff --git a/dot-config/hypr/bin/lockscreen b/dot-config/hypr/bin/lockscreen new file mode 100755 index 0000000..637aa06 --- /dev/null +++ b/dot-config/hypr/bin/lockscreen @@ -0,0 +1,4 @@ +#!/usr/bin/env fish +if not ps -e | grep hyprlock + hyprlock -c ~/.config/hypr/hyprlock.conf +end diff --git a/dot-config/hypr/bin/powermenu b/dot-config/hypr/bin/powermenu new file mode 100755 index 0000000..2f10456 --- /dev/null +++ b/dot-config/hypr/bin/powermenu @@ -0,0 +1,108 @@ +#!/usr/bin/env bash + +## Author : Aditya Shakya (adi1090x) +## Github : @adi1090x +# +## Rofi : Power Menu + +# CMDs +uptime="`uptime -p | sed -e 's/up //g'`" +host=`cat /etc/hostname` + +# Options +hibernate='󱖒' +shutdown='⏼' +reboot='' +lock='' +suspend='' +logout='' +yes='' +no='' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu \ + -p "$USER@$host" \ + -mesg "Uptime: $uptime" \ + -theme ~/.config/rofi/powermenu.rasi +} + +# Confirmation CMD +confirm_cmd() { + rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 350px;}' \ + -theme-str 'mainbox {children: [ "message", "listview" ];}' \ + -theme-str 'listview {columns: 2; lines: 1;}' \ + -theme-str 'element-text {horizontal-align: 0.5;}' \ + -theme-str 'textbox {horizontal-align: 0.5;}' \ + -dmenu \ + -p 'Confirmation' \ + -mesg 'Are you Sure?' \ + -theme ~/.config/rofi/powermenu.rasi +} + +# Ask for confirmation +confirm_exit() { + echo -e "$yes\n$no" | confirm_cmd +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$lock\n$logout\n$reboot\n$shutdown" | rofi_cmd +} + +# Execute Command +run_cmd() { + selected="$(confirm_exit)" + if [[ "$selected" == "$yes" ]]; then + if [[ $1 == '--shutdown' ]]; then + systemctl poweroff + elif [[ $1 == '--reboot' ]]; then + systemctl reboot + elif [[ $1 == '--hibernate' ]]; then + systemctl hibernate + elif [[ $1 == '--suspend' ]]; then + systemctl suspend + elif [[ $1 == '--logout' ]]; then + if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then + openbox --exit + elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then + bspc quit + elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then + i3-msg exit + elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then + qdbus org.kde.ksmserver /KSMServer logout 0 0 0 + elif [[ "$XDG_CURRENT_DESKTOP" == 'Hyprland' ]]; then + hyprctl dispatch exit + fi + fi + else + exit 0 + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $shutdown) + run_cmd --shutdown + ;; + $reboot) + run_cmd --reboot + ;; + $hibernate) + run_cmd --hibernate + ;; + $lock) + if [[ -x '/usr/bin/betterlockscreen' ]]; then + betterlockscreen -l + elif [[ -x '/usr/bin/i3lock' ]]; then + i3lock + fi + ;; + $suspend) + run_cmd --suspend + ;; + $logout) + run_cmd --logout + ;; +esac diff --git a/dot-config/hypr/bin/setwal b/dot-config/hypr/bin/setwal new file mode 100755 index 0000000..88b5e83 --- /dev/null +++ b/dot-config/hypr/bin/setwal @@ -0,0 +1,54 @@ +#!/usr/bin/env bash +printf "%s\n" "Currently disabled" + +{ [[ -z $1 ]] || [[ -z $2 ]]; } && { + printf "%s\n" "Usage: setwal /path/to/wallpaper mode" + exit 1 +} + +[ ! -f "$1" ] && { + printf "File not found: %s\n" "$1" + exit 2 +} + +yes | ffmpeg -i "$1" ~/.config/hypr/wallpaper.png >/dev/null 2>&1 || { + printf "Failed to copy wallpaper from %s\n" "$1" + exit 3 +} + +{ + hyprctl hyprpaper unload all >/dev/null + hyprctl hyprpaper preload ~/.config/hypr/wallpaper.png >/dev/null + hyprctl hyprpaper wallpaper ",~/.config/hypr/wallpaper.png" >/dev/null +} & + +update() { + makoctl reload +} + +dark() { + matugen image ~/.config/hypr/wallpaper.png -c ~/.config/hypr/matugen/config.toml -m dark + gsettings set org.gnome.desktop.interface gtk-theme "adw-gtk3-not-exist" >/dev/null + sleep 0.1 + gsettings set org.gnome.desktop.interface gtk-theme "adw-gtk3-dark" >/dev/null + gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' + update +} + +light() { + matugen image ~/.config/hypr/wallpaper.png -c ~/.config/hypr/matugen/config.toml -m light + gsettings set org.gnome.desktop.interface gtk-theme "adw-gtk3-not-exist" >/dev/null + sleep 0.1 + gsettings set org.gnome.desktop.interface gtk-theme "adw-gtk3" >/dev/null + gsettings set org.gnome.desktop.interface color-scheme 'prefer-light' + update +} + +case "$2" in + "light") + light + ;; + *) + dark + ;; +esac diff --git a/dot-config/hypr/binds.conf b/dot-config/hypr/binds.conf new file mode 100644 index 0000000..994ef53 --- /dev/null +++ b/dot-config/hypr/binds.conf @@ -0,0 +1,61 @@ +#===========================================================================# +# | bind | dispatcher | args # +#===========================================================================# + +bind = SUPER, RETURN, exec, $terminal +bind = SUPER, E, exec, $fileManager +bind = SUPER, D, exec, $discord +bind = SUPER, T, exec, $telegram +bind = SUPER, B, exec, $browser + +bind = SUPER, Q, killactive, +bind = SUPER, M, exit, +bind = SUPER, C, togglefloating, +bind = SUPER, SPACE, exec, $menu +bind = SUPER, P, pseudo, # dwindle +bind = SUPER, X, togglesplit, # dwindle +bind = SUPER, Home, exec, $sshot region +bind = SUPER, Prior, exec, $sshot window +bind = SUPER, Next, exec, $sshot output +bind = SUPER Ctrl, Q, exec, $locker + +bind = , XF86AudioPlay, exec, $pctl play-pause +bind = , XF86AudioNext, exec, $pctl next +bind = , XF86AudioPrev, exec, $pctl previous +bind = , XF86AudioMute, exec, pamixer -t +bind = , XF86AudioRaiseVolume, exec, pamixer -i 2 +bind = , XF86AudioLowerVolume, exec, pamixer -d 2 + +bind = SUPER, left, movefocus, l +bind = SUPER, right, movefocus, r +bind = SUPER, up, movefocus, u +bind = SUPER, down, movefocus, d + +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 +bind = SUPER, 0, workspace, 10 +#bind = SUPER, TAB, overview:toggle + +bind = SUPER SHIFT, 1, movetoworkspace, 1 +bind = SUPER SHIFT, 2, movetoworkspace, 2 +bind = SUPER SHIFT, 3, movetoworkspace, 3 +bind = SUPER SHIFT, 4, movetoworkspace, 4 +bind = SUPER SHIFT, 5, movetoworkspace, 5 +bind = SUPER SHIFT, 6, movetoworkspace, 6 +bind = SUPER SHIFT, 7, movetoworkspace, 7 +bind = SUPER SHIFT, 8, movetoworkspace, 8 +bind = SUPER SHIFT, 9, movetoworkspace, 9 +bind = SUPER SHIFT, 0, movetoworkspace, 10 + +bind = SUPER, mouse_down, workspace, e+1 +bind = SUPER, mouse_up, workspace, e-1 + +bindm = SUPER, mouse:272, movewindow +bindm = SUPER, mouse:273, resizewindow diff --git a/dot-config/hypr/colors.conf b/dot-config/hypr/colors.conf new file mode 100644 index 0000000..35d553f --- /dev/null +++ b/dot-config/hypr/colors.conf @@ -0,0 +1,5 @@ +$primary = rgb(89b4fa) +$secondary = rgb(313244) +$bg = rgb(1e1e2e) +$fg = rgb(363a4f) + diff --git a/dot-config/hypr/debug.conf b/dot-config/hypr/debug.conf new file mode 100644 index 0000000..89f1c88 --- /dev/null +++ b/dot-config/hypr/debug.conf @@ -0,0 +1,3 @@ +debug { + overlay = false +} \ No newline at end of file diff --git a/dot-config/hypr/decorations.conf b/dot-config/hypr/decorations.conf new file mode 100644 index 0000000..cb89e04 --- /dev/null +++ b/dot-config/hypr/decorations.conf @@ -0,0 +1,73 @@ +exec-once = gsettings set org.gnome.desktop.interface gtk-theme "catppuccin-mocha-blue-standard+default" +exec-once = gsettings set org.gnome.desktop.interface icon-theme Papirus-Dark +exec-once = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' +exec-once = gsettings set org.gnome.desktop.interface gtk-color-scheme 'prefer-dark' +exec-once = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Classic' + +general { + col.active_border = $primary + col.inactive_border = $secondary + gaps_in = 15 + gaps_out = 30 + border_size = 3 + resize_on_border = false + allow_tearing = false + layout = dwindle +} + +decoration { + rounding = 10 + + active_opacity = 1.0 + inactive_opacity = 1.0 + + dim_inactive = false + dim_strength = 0.2 + + blur { + enabled = true + size = 3 + passes = 4 + noise = 0.07 + xray = true + brightness = 0.4 + popups = false + } +} + +animations { + enabled = true + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, myBezier, popin 80% + animation = border, 1, 10, myBezier + animation = borderangle, 1, 8, myBezier + animation = fade, 1, 7, myBezier + animation = workspaces, 1, 6, myBezier +} + +dwindle { + pseudotile = false + preserve_split = true + smart_split = false + smart_resizing = false +} + +misc { + force_default_wallpaper = -1 + disable_hyprland_logo = true +} + +input { + kb_layout = us, ru + kb_variant = + kb_model = + kb_options = grp:caps_toggle + kb_rules = + follow_mouse = 1 + sensitivity = 0 + touchpad { + natural_scroll = false + } +} diff --git a/dot-config/hypr/env.conf b/dot-config/hypr/env.conf new file mode 100644 index 0000000..e50b07a --- /dev/null +++ b/dot-config/hypr/env.conf @@ -0,0 +1,13 @@ +env = XCURSOR_SIZE,24 +env = XCURSOR_THEME,Bibata-Modern-Classic +env = HYPRCURSOR_SIZE,24 +env = HYPRCURSOR_THEME,Bibata-Modern-Classic +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_TYPE,wayland +env = XDG_SESSION_DESKTOP,Hyprland +env = QT_AUTO_SCREEN_SCALE_FACTOR,1 +env = QT_QPA_PLATFORM,wayland +env = QT_QPA_PLATFORMTHEME,qt5ct +env = EDITOR,nvim +env = ELECTRON_OZONE_PLATFORM_HINT,wayland +env = MOZ_ENABLE_WAYLAND=1 diff --git a/dot-config/hypr/hypridle.conf b/dot-config/hypr/hypridle.conf new file mode 100644 index 0000000..f1f5d5d --- /dev/null +++ b/dot-config/hypr/hypridle.conf @@ -0,0 +1,10 @@ +general { + lock_cmd = ~/.config/hypr/bin/lockscreen + ignore_dbus_inhibit = false + ignore_systemd_inhibit = false +} + +listener { + timeout = 3600 + on-timeout = ~/.config/hypr/bin/lockscreen +} diff --git a/dot-config/hypr/hyprland.conf b/dot-config/hypr/hyprland.conf new file mode 100644 index 0000000..8b25716 --- /dev/null +++ b/dot-config/hypr/hyprland.conf @@ -0,0 +1,21 @@ +source = colors.conf + +$terminal = alacritty +$fileManager = nemo +$menu = ~/.cargo/bin/hyprlauncher +$browser = zen-browser +$discord = vesktop +$telegram = telegram-desktop +$pctl = playerctl +$sshot = hyprshot -o ~/Pictures/Screenshots/ -z -m +$locker = loginctl lock-session + +source = plugins.conf +exec-once = hyprpm reload -n + +source = monitors.conf +source = decorations.conf +source = env.conf +source = binds.conf +source = rules.conf +exec-once = ~/.config/hypr/bin/autostart diff --git a/dot-config/hypr/hyprlock.conf b/dot-config/hypr/hyprlock.conf new file mode 100644 index 0000000..b346f03 --- /dev/null +++ b/dot-config/hypr/hyprlock.conf @@ -0,0 +1,63 @@ +source = appearance.conf + +# BACKGROUND +background { + monitor = + path = ~/.config/hypr/wallpaper.png + blur_passes = 3 + contrast = 0.8916 + brightness = 0.8172 + vibrancy = 0.1696 + vibrancy_darkness = 0.0 +} + +# GENERAL +general { + no_fade_in = false + grace = 0 + disable_loading_bar = true +} + +# INPUT FIELD +input-field { + monitor = DP-1 + size = 200, 40 + outline_thickness = 2 + dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + outer_color = rgba(0, 0, 0, 0) + inner_color = rgba(0, 0, 0, 0.5) + font_color = $fg + fade_on_empty = false + placeholder_text = + hide_input = false + position = 0, -650 #-120 + halign = center + valign = center +} + +# TIME +label { + monitor = DP-1 + text = cmd[update:1000] echo "$(date +"%H:%M")" + color = $fg + font_size = 240 + font_family = eurofurence + position = 0, -300 + halign = center + valign = top +} + +# USER +label { + monitor = DP-1 + text = Enter your password + color = $fg + font_size = 14 + font_family = eurofurence + position = 0, -690 # -40 + halign = center + valign = center + +} diff --git a/dot-config/hypr/hyprpaper.conf b/dot-config/hypr/hyprpaper.conf new file mode 100644 index 0000000..e69de29 diff --git a/dot-config/hypr/monitors.conf b/dot-config/hypr/monitors.conf new file mode 100644 index 0000000..26549dd --- /dev/null +++ b/dot-config/hypr/monitors.conf @@ -0,0 +1,8 @@ +#===========================================================================# +# Monitors # +#===========================================================================# + +monitor=DP-1, 3440x1440@100, 1920x0, 1 +monitor=HDMI-A-2, 1920x1200@60, 0x0, 1 +monitor=HDMI-A-1, 1920x1200@60, 2680x1440, 1 +#monitor=HDMI-A-2, 1366x768@60, 0x0, 1 diff --git a/dot-config/hypr/plugins.conf b/dot-config/hypr/plugins.conf new file mode 100644 index 0000000..aa15d76 --- /dev/null +++ b/dot-config/hypr/plugins.conf @@ -0,0 +1,2 @@ +chromakey_background = 30,30,46 +# chromakey_background = 36,36,56 diff --git a/dot-config/hypr/rules.conf b/dot-config/hypr/rules.conf new file mode 100644 index 0000000..76bf48c --- /dev/null +++ b/dot-config/hypr/rules.conf @@ -0,0 +1,56 @@ +# +# Window rules +# + +# Waybar +layerrule = blur, waybar +layerrule = ignorezero, waybar + +# Mako +layerrule = blur, notifications +layerrule = ignorezero, notifications + +# Rofi +layerrule = blur, rofi +layerrule = ignorezero, rofi + +# Disable maximize +windowrulev2 = suppressevent maximize, class:.* + +# Pavucontrol +windowrulev2 = float, class:^(org.pulseaudio.pavucontrol)$ +windowrulev2 = size 696 570, class:^(org.pulseaudio.pavucontrol)$ +windowrulev2 = move 1630 820, class:^(org.pulseaudio.pavucontrol)$ +windowrulev2 = monitor DP-1, class:^(org.pulseaudio.pavucontrol)$ +windowrulev2 = opacity 0.9, class:^(org.pulseaudio.pavucontrol)$ + +# XWayland Video Bridge - Unused +# windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$ +# windowrulev2 = noanim,class:^(xwaylandvideobridge)$ +# windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ +# windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$ +# windowrulev2 = noblur,class:^(xwaylandvideobridge)$ + +# Vesktop +# windowrulev2 = opacity 0.9, class:^(vesktop)$ + +# Telegram +windowrulev2 = maximize, class:^(org.telegram.desktop)$,title:^(Media viewer)$ +windowrulev2 = float, class:^(org.telegram.desktop)$,title:^(Media viewer)$ +# windowrulev2 = opaque, class:^(org.telegram.desktop)$,title:^(Media viewer)$ + +# Nemo +windowrulev2 = float, class:^(nemo)$,title:^.*(Properties)$ + +# Firefox library (Downloads, History, etc.) +windowrulev2 = float, class:^(zen-alpha)$,title:^(Library)$ +windowrulev2 = opacity 0.9, class:^(zen-alpha)$,title:^(Library)$ + +# Spotify +windowrulev2 = opacity 0.9, class:^(Spotify)$ + + +windowrulev2 = noblur, class:^()$,title:^()$ + +windowrulev2 = plugin:chromakey,fullscreen:0 +windowrulev2 = opacity 0.999,fullscreen:0 diff --git a/dot-config/hyprwall/config.ini b/dot-config/hyprwall/config.ini new file mode 100644 index 0000000..b3a24fe --- /dev/null +++ b/dot-config/hyprwall/config.ini @@ -0,0 +1,4 @@ +[Settings] +folder = /mnt/data/Wallpapers/unsorted +backend = hyprpaper +last_wallpaper = /mnt/data/Wallpapers/unsorted/galaktika_zvezdy_nebo_temnyj_tumannost_101228_2560x1440.jpg