From d13f6b7f2de2e7ce8af7e7ff437f2514a7d1f2bf Mon Sep 17 00:00:00 2001 From: Trianta <56975502+Trimutex@users.noreply.github.com> Date: Wed, 24 Jan 2024 23:23:07 -0600 Subject: [PATCH] Added customization from prasanthrangan/hyprdots --- alacritty/alacritty.toml | 3 +- hypr/hyprland.conf | 180 +++++++-------------------------- hypr/hyprpaper.conf | 23 ----- hypr/keybindings.conf | 70 +++++++++++++ hypr/nvidia.conf | 15 +++ hypr/scripts/globalcontrol.sh | 60 +++++++++++ hypr/scripts/logoutlaunch.sh | 61 +++++++++++ hypr/scripts/resetxdgportal.sh | 12 +++ hypr/theme.conf | 85 ++++++++++++++++ hypr/windowrules.conf | 73 +++++++++++++ 10 files changed, 417 insertions(+), 165 deletions(-) delete mode 100755 hypr/hyprpaper.conf create mode 100644 hypr/keybindings.conf create mode 100644 hypr/nvidia.conf create mode 100755 hypr/scripts/globalcontrol.sh create mode 100755 hypr/scripts/logoutlaunch.sh create mode 100755 hypr/scripts/resetxdgportal.sh create mode 100644 hypr/theme.conf create mode 100644 hypr/windowrules.conf diff --git a/alacritty/alacritty.toml b/alacritty/alacritty.toml index 86647dd..a08c847 100644 --- a/alacritty/alacritty.toml +++ b/alacritty/alacritty.toml @@ -7,7 +7,7 @@ shape = "Underline" TERM = "xterm-256color" [font] -size = 15 +size = 10 [colors] footer_bar = { foreground = "#181818", background = "#d8d8d8" } @@ -45,4 +45,5 @@ program = "/bin/zsh" [window] opacity = 0.5 +padding = {x = 25, y = 25} diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 12696c0..acfad76 100755 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -1,5 +1,5 @@ -# Config home wiki: https://wiki.hyprland.org -# See https://wiki.hyprland.org/Configuring/Monitors/ +# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█ +# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄ # Day #monitor=DP-2, highres, 0x1080, 1, vrr, 1 @@ -10,79 +10,58 @@ monitor=DP-2, highrr, 0x0, 1, bitdepth, 10, vrr, 1 monitor=DP-3, disable -# Main workspace -workspace = DP-2, 1 -# Color: Catppuccin Mocha -source = ~/.config/hypr/mocha.conf +# █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█ +# █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█ -# Launch applications -exec-once = hyprpaper -exec-once = ~/.config/waybar/autobar.sh +$scrPath = ~/.config/hypr/scripts +exec-once = $scrPath/resetxdgportal.sh # reset XDPH for screenshare +exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH +exec-once = dbus-update-activation-environment --systemd --all # for XDPH +exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH +exec-once = /usr/lib/polkit-kde-authentication-agent-1 # authentication dialogue for GUI apps +exec-once = waybar # launch the system panel +exec-once = dunst # start notification demon +exec-once = swww init exec-once = syncthing --no-browser -exec-once = hyprctl setcursor Catppuccin-Mocha-Lavender 24 exec-once = xwaylandvideobridge exec-once = linux-discord-rich-presence -c ~/.config/linux-discord-rich-presencerc -# Slow launch fix -exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP -# Default env vars. -env = XCURSOR_SIZE,20 +# █▀▀ █▄░█ █░█ +# ██▄ █░▀█ ▀▄▀ -# Nvidia environment variables -env = LIBVA_DRIVER_NAME,nvidia +env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland -env = __GLX_VENDOR_LIBRARY_NAME,nvidia -env = WLR_NO_HARDWARE_CURSORS,1 -#env = GBM_BACKEND,nvidia-drm -#env = WLR_DRM_NO_ATOMIC,1 +env = XDG_SESSION_DESKTOP,Hyprland +env = QT_QPA_PLATFORM,wayland +#env = QT_STYLE_OVERRIDE,kvantum +env = QT_QPA_PLATFORMTHEME,qt5ct +env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 +env = QT_AUTO_SCREEN_SCALE_FACTOR,1 +env = MOZ_ENABLE_WAYLAND,1 -# Nvidia G-Sync -env = __GL_GSYNC_ALLOWED,1 -env = __GL_VRR_ALLOWED,1 + + +# █ █▄░█ █▀█ █░█ ▀█▀ +# █ █░▀█ █▀▀ █▄█ ░█░ input { kb_layout = us follow_mouse = 2 + + sensitivity = -.75 # -1.0 - 1.0, 0 means no modification. + force_no_accel = 1 } -general { - gaps_in = 3 - gaps_out = 8 - border_size = 3 - col.active_border = 0xee$lavenderAlpha 45deg - col.inactive_border = 0xaa$overlay0Alpha - layout = dwindle - resize_on_border = true -} -decoration { - rounding = 10 - blur { - enabled = yes - size = 6 - passes = 3 - new_optimizations = on - ignore_opacity = on - xray = false - } - active_opacity = 1.0 - inactive_opacity = 0.9 -} +# █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀ +# █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█ -animations { - enabled = yes - animation = windows, 1, 8, default - animation = windowsOut, 1, 8, default - animation = border, 1, 8, default - animation = borderangle, 1, 8, default - animation = fade, 1, 8, default - animation = workspaces, 1, 8, default, slidefade 80% -} +workspace = DP-2, 1 dwindle { pseudotile = yes @@ -93,94 +72,13 @@ master { new_is_master = true } -misc { - disable_hyprland_logo = true - disable_splash_rendering = true - force_default_wallpaper = 0 - vrr = 1 -} - -# General window rules -windowrule = float, ^(SnakePlusPlus)$ -windowrule = center, ^(SnakePlusPlus)$ -windowrule = opacity 0.6, ^(SnakePlusPlus)$ -windowrule = float, ^(TetrisPlusPlus)$ -windowrule = center, ^(TetrisPlusPlus)$ -windowrulev2 = pseudo,class:^(firefox.*)$ -windowrulev2 = pseudo,class:^(Alacritty.*)$ -windowrulev2 = opacity 0.6 override 0.6 override,class:(Spotify) - -# Game window rules -windowrulev2 = pseudo, class:(Minecraft.*) -windowrulev2 = size 2646 1108, class:(Minecraft.*) -windowrulev2 = pseudo, title:(Warframe.*) -windowrulev2 = size 2646 1108, title:(Warframe.*) -windowrulev2 = pseudo, class:(steam_app_1361210) -windowrulev2 = size 2646 1108, class:(steam_app_1361210) -windowrulev2 = pseudo, class:(Mindustry) -windowrulev2 = size 2646 1108, class:(Mindustry) - -# Super bind -$mainMod = SUPER - -# Passthrough -bind = , mouse:275, pass, ^(discord)$ -bind = SHIFT, mouse:275, pass, ^(discord)$ -bind = $mainMod, mouse:275, pass, ^(discord)$ -bind = $mainMod SHIFT, mouse:275, pass, ^(discord)$ - -# Tiling binds -bind = $mainMod SHIFT, Q, killactive, -bind = $mainMod, SPACE, togglefloating, -bind = $mainMod SHIFT, M, exit, -bind = $mainMod SHIFT, J, togglesplit, # dwindle -bind = $mainMod SHIFT, P, pseudo, # dwindle -bind = $mainMod, F, fullscreen, - -# Exec binds -bind = $mainMod SHIFT, E, exec, dolphin -bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" - | wl-copy -bind = $mainMod SHIFT, L, exec, swaylock -e -c cba6f7 -i /home/trianta/pics/catppuccin/misc/Street.jpg -bind = $mainMod, RETURN, exec, alacritty -bind = $mainMod, S, exec, wofi --show drun -# Audio binds -binde = , XF86AudioPlay, exec, playerctl play-pause -binde = , XF86AudioStop, exec, playerctl stop -binde = , XF86AudioPrev, exec, playerctl previous -binde = , XF86AudioNext, exec, playerctl next -binde = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle -binde = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% -binde = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% +# █▀ █▀█ █░█ █▀█ █▀▀ █▀▀ +# ▄█ █▄█ █▄█ █▀▄ █▄▄ ██▄ -bind = $mainMod, h, movefocus, l -bind = $mainMod, l, movefocus, r -bind = $mainMod, k, movefocus, u -bind = $mainMod, j, movefocus, d - -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 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 - -# Custom resize bind -# bindsym $mod+ctrl+0 resize set width 3440px height 1440px -#binde = $mainMod SHIFT, ], setactivesize, 2646 1108 - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow - -# Resize windows with arrow keys -binde = $mainMod, right, resizeactive, 10 0 -binde = $mainMod, left, resizeactive, -10 0 -binde = $mainMod, up, resizeactive, 0 10 -binde = $mainMod, down, resizeactive, 0 -10 +source = ~/.config/hypr/keybindings.conf +source = ~/.config/hypr/windowrules.conf +source = ~/.config/hypr/theme.conf +source = ~/.config/hypr/nvidia.conf # auto sourced vars for nvidia diff --git a/hypr/hyprpaper.conf b/hypr/hyprpaper.conf deleted file mode 100755 index 369c8a2..0000000 --- a/hypr/hyprpaper.conf +++ /dev/null @@ -1,23 +0,0 @@ -splash = false -# Preset 1 -#preload = /home/trianta/pics/squirrel-coffee.png -#preload = /home/trianta/pics/dbb7hcs-1f9e8f0a-c4c7-4fc9-baf6-9e075ce86e30.jpg -#wallpaper = DP-2,/home/trianta/pics/squirrel-coffee.png -#wallpaper = DP-3,/home/trianta/pics/dbb7hcs-1f9e8f0a-c4c7-4fc9-baf6-9e075ce86e30.jpg - -# Preset 2 (Cyberpunk bright) -#preload = ~/pics/P7SL1tk.jpeg -#preload = ~/pics/cyberpunk.jpg -#wallpaper = DP-2, ~/pics/P7SL1tk.jpeg -#wallpaper = DP-3, ~/pics/cyberpunk.jpg - -# Preset 3 (Cyberpunk minimalistic) -preload = ~/pics/analog-shadowscape.png -preload = ~/pics/monochrome-kanji-art.png -wallpaper = DP-2, ~/pics/analog-shadowscape.png -wallpaper = DP-3, ~/pics/monochrome-kanji-art.png - - -# Single monitor -#preload = ~/pics/P7SL1tk.jpeg -#wallpaper = DP-2, ~/pics/P7SL1tk.jpeg diff --git a/hypr/keybindings.conf b/hypr/keybindings.conf new file mode 100644 index 0000000..6432489 --- /dev/null +++ b/hypr/keybindings.conf @@ -0,0 +1,70 @@ + +# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀ +# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█ + +# Main modifier +$mainMod = SUPER + +# Passthrough +bind = , mouse:275, pass, ^(discord)$ +bind = SHIFT, mouse:275, pass, ^(discord)$ +bind = $mainMod, mouse:275, pass, ^(discord)$ +bind = $mainMod SHIFT, mouse:275, pass, ^(discord)$ + +# Window/Session actions +bind = $mainMod SHIFT, Q, killactive, +bind = $mainMod SHIFT, M, exec, $scrPath/logoutlaunch.sh 1 # logout menu +bind = $mainMod, SPACE, togglefloating, +bind = $mainMod, F, fullscreen, +bind = $mainMod SHIFT, L, exec, swaylock +bind = $CONTROL, ESCAPE, exec, killall waybar || waybar # toggle waybar +bind = $mainMod SHIFT, J, togglesplit, # dwindle +bind = $mainMod SHIFT, P, pseudo, # dwindle + +# Application shortcuts +bind = $mainMod, RETURN, exec, alacritty +bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" - | wl-copy +bind = $mainMod, S, exec, pkill -x rofi || rofi -show drun + +# Audio control +binde = , XF86AudioPlay, exec, playerctl play-pause +binde = , XF86AudioStop, exec, playerctl stop +binde = , XF86AudioPrev, exec, playerctl previous +binde = , XF86AudioNext, exec, playerctl next +binde = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle +binde = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% +binde = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% + +# Move focus +bind = $mainMod, h, movefocus, l +bind = $mainMod, l, movefocus, r +bind = $mainMod, k, movefocus, u +bind = $mainMod, j, movefocus, d + +# Workspaces +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 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 ALT, 1, movetoworkspacesilent, 1 +bind = $mainMod ALT, 2, movetoworkspacesilent, 2 +bind = $mainMod ALT, 3, movetoworkspacesilent, 3 +bind = $mainMod ALT, 4, movetoworkspacesilent, 4 +bind = $mainMod ALT, 5, movetoworkspacesilent, 5 + +# Resize windows +binde = $mainMod, right, resizeactive, 30 0 +binde = $mainMod, left, resizeactive, -30 0 +binde = $mainMod, up, resizeactive, 0 -30 +binde = $mainMod, down, resizeactive, 0 30 + +# Move/Resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + diff --git a/hypr/nvidia.conf b/hypr/nvidia.conf new file mode 100644 index 0000000..4dea797 --- /dev/null +++ b/hypr/nvidia.conf @@ -0,0 +1,15 @@ + +# █▄░█ █░█ █ █▀▄ █ ▄▀█ +# █░▀█ ▀▄▀ █ █▄▀ █ █▀█ + + +# See https://wiki.hyprland.org/Nvidia/ for more + +#env = GBM_BACKEND,nvidia-drm +env = LIBVA_DRIVER_NAME,nvidia +env = __GLX_VENDOR_LIBRARY_NAME,nvidia +env = __GL_VRR_ALLOWED,1 +env = __GL_GSYNC_ALLOWED,1 +env = WLR_NO_HARDWARE_CURSORS,1 +env = WLR_DRM_NO_ATOMIC,1 + diff --git a/hypr/scripts/globalcontrol.sh b/hypr/scripts/globalcontrol.sh new file mode 100755 index 0000000..3638e9f --- /dev/null +++ b/hypr/scripts/globalcontrol.sh @@ -0,0 +1,60 @@ +#!/usr/bin/env sh + +# wallpaper var +EnableWallDcol=0 +ConfDir="${XDG_CONFIG_HOME:-$HOME/.config}" +CloneDir="$HOME/Hyprdots" +ThemeCtl="$ConfDir/hypr/theme.ctl" +cacheDir="$HOME/.cache/hyprdots" + +# theme var +gtkTheme=`gsettings get org.gnome.desktop.interface gtk-theme | sed "s/'//g"` +gtkMode=`gsettings get org.gnome.desktop.interface color-scheme | sed "s/'//g" | awk -F '-' '{print $2}'` + +# hypr var +hypr_border=`hyprctl -j getoption decoration:rounding | jq '.int'` +hypr_width=`hyprctl -j getoption general:border_size | jq '.int'` + +# notification var +#ncolor="-h string:bgcolor:#191724 -h string:fgcolor:#faf4ed -h string:frcolor:#56526e" +# +#if [ "${gtkMode}" == "light" ] ; then +# ncolor="-h string:bgcolor:#f4ede8 -h string:fgcolor:#9893a5 -h string:frcolor:#908caa" +#fi + +# pacman fns +pkg_installed() +{ + local PkgIn=$1 + + if pacman -Qi $PkgIn &> /dev/null + then + #echo "${PkgIn} is already installed..." + return 0 + else + #echo "${PkgIn} is not installed..." + return 1 + fi +} + +get_aurhlpr() +{ + if pkg_installed yay + then + aurhlpr="yay" + elif pkg_installed paru + then + aurhlpr="paru" + fi +} + +check(){ + local Pkg_Dep=$(for PkgIn in "$@"; do ! pkg_installed $PkgIn && echo "$PkgIn"; done) + +if [ -n "$Pkg_Dep" ]; then echo -e "$0 Dependencies:\n$Pkg_Dep" + read -p "ENTER to install (Other key: Cancel): " ans + if [ -z "$ans" ]; then get_aurhlpr ; $aurhlpr -S $Pkg_Dep + else echo "Skipping installation of packages" ;exit 1 + fi +fi +} diff --git a/hypr/scripts/logoutlaunch.sh b/hypr/scripts/logoutlaunch.sh new file mode 100755 index 0000000..51b2785 --- /dev/null +++ b/hypr/scripts/logoutlaunch.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env sh + +# Check if wlogout is already running +if pgrep -x "wlogout" > /dev/null +then + pkill -x "wlogout" + exit 0 +fi + +# set file variables +ScrDir=`dirname "$(realpath "$0")"` +source $ScrDir/globalcontrol.sh +wLayout="${XDG_CONFIG_HOME:-$HOME/.config}/wlogout/layout_$1" +wlTmplt="${XDG_CONFIG_HOME:-$HOME/.config}/wlogout/style_$1.css" + +if [ ! -f $wLayout ] || [ ! -f $wlTmplt ] ; then + echo "ERROR: Config $1 not found..." + exit 1; +fi + +# detect monitor res +x_mon=$(hyprctl -j monitors | jq '.[] | select(.focused==true) | .width') +y_mon=$(hyprctl -j monitors | jq '.[] | select(.focused==true) | .height') +hypr_scale=$(hyprctl -j monitors | jq '.[] | select (.focused == true) | .scale' | sed 's/\.//') + + +# scale config layout and style +case $1 in + 1) wlColms=6 + export mgn=$(( y_mon * 28 / hypr_scale )) + export hvr=$(( y_mon * 23 / hypr_scale )) ;; + 2) wlColms=2 + export x_mgn=$(( x_mon * 35 / hypr_scale )) + export y_mgn=$(( y_mon * 25 / hypr_scale )) + export x_hvr=$(( x_mon * 32 / hypr_scale )) + export y_hvr=$(( y_mon * 20 / hypr_scale )) ;; +esac + +# scale font size +export fntSize=$(( y_mon * 2 / 100 )) + +# detect gtk system theme +export BtnCol=`[ "$gtkMode" == "dark" ] && ( echo "white" ) || ( echo "black" )` +export WindBg=`[ "$gtkMode" == "dark" ] && ( echo "rgba(0,0,0,0.5)" ) || ( echo "rgba(255,255,255,0.5)" )` + +if [ "$EnableWallDcol" -eq 1 ] ; then + export wbarTheme="Wall-Dcol" +else + export wbarTheme="${gtkTheme}" +fi + +# eval hypr border radius +export active_rad=$(( hypr_border * 5 )) +export button_rad=$(( hypr_border * 8 )) + +# eval config files +wlStyle=`envsubst < $wlTmplt` + +# launch wlogout +wlogout -b $wlColms -c 0 -r 0 -m 0 --layout $wLayout --css <(echo "$wlStyle") --protocol layer-shell + diff --git a/hypr/scripts/resetxdgportal.sh b/hypr/scripts/resetxdgportal.sh new file mode 100755 index 0000000..32983ec --- /dev/null +++ b/hypr/scripts/resetxdgportal.sh @@ -0,0 +1,12 @@ +#!/bin/bash +sleep 1 +killall xdg-desktop-portal-hyprland +killall xdg-desktop-portal-gnome +killall xdg-desktop-portal-kde +killall xdg-desktop-portal-lxqt +killall xdg-desktop-portal-wlr +killall xdg-desktop-portal +sleep 1 +/usr/lib/xdg-desktop-portal-hyprland & +sleep 2 +/usr/lib/xdg-desktop-portal & diff --git a/hypr/theme.conf b/hypr/theme.conf new file mode 100644 index 0000000..db5d5ae --- /dev/null +++ b/hypr/theme.conf @@ -0,0 +1,85 @@ +# Cursor + +exec = hyprctl setcursor Catppuccin-Mocha-Lavender 24 +exec = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice' +exec = gsettings set org.gnome.desktop.interface cursor-size 24 + + +# Font + +exec = gsettings set org.gnome.desktop.interface font-name 'Cantarell 10' +exec = gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10' +exec = gsettings set org.gnome.desktop.interface monospace-font-name 'CaskaydiaCove Nerd Font Mono 9' +exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba' +exec = gsettings set org.gnome.desktop.interface font-hinting 'full' + +# Theme +exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-dracula' +exec = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha' +exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' +layerrule = blur,waybar + + +# Window Customization +source = ~/.config/hypr/mocha.conf + +general { + gaps_in = 3 + gaps_out = 8 + border_size = 3 + col.active_border = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg + col.inactive_border = rgba(b4befecc) rgba(6c7086cc) 45deg + layout = dwindle + resize_on_border = true +} + +group { + col.border_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg + col.border_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg + col.border_locked_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg + col.border_locked_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg +} + +decoration { + rounding = 10 + drop_shadow = false + dim_special = 0.3 + #active_opacity = 1.0 + #inactive_opacity = 0.9 + + blur { + enabled = yes + special = true + size = 6 + passes = 3 + new_optimizations = on + ignore_opacity = on + xray = false + } +} + +animations { + enabled = yes + + # Hyprdots + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, loop + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} + +misc { + disable_hyprland_logo = true + disable_splash_rendering = true + force_default_wallpaper = 0 + vrr = 1 +} + diff --git a/hypr/windowrules.conf b/hypr/windowrules.conf new file mode 100644 index 0000000..c7fe6ef --- /dev/null +++ b/hypr/windowrules.conf @@ -0,0 +1,73 @@ + +# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀ +# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█ + + +# Example windowrule v1 +# windowrule = float, ^(Alacritty)$ +# Example windowrule v2 +# windowrulev2 = float,class:^(Alacritty)$,title:^(Alacritty)$ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more + +windowrulev2 = opacity 0.90 0.90,class:^(firefox)$ +windowrulev2 = opacity 0.90 0.90,class:^(Brave-browser)$ +windowrulev2 = opacity 0.80 0.80,class:^(Steam)$ +windowrulev2 = opacity 0.80 0.80,class:^(steam)$ +windowrulev2 = opacity 0.80 0.80,class:^(steamwebhelper)$ +windowrulev2 = opacity 0.80 0.80,class:^(Spotify)$ +windowrulev2 = opacity 0.80 0.80,class:^(Code)$ +windowrulev2 = opacity 0.80 0.80,class:^(code-url-handler)$ +windowrulev2 = opacity 0.80 0.80,class:^(Alacritty)$ +windowrulev2 = opacity 0.80 0.80,class:^(org.kde.dolphin)$ +windowrulev2 = opacity 0.80 0.80,class:^(org.kde.ark)$ +windowrulev2 = opacity 0.80 0.80,class:^(nwg-look)$ +windowrulev2 = opacity 0.80 0.80,class:^(qt5ct)$ + +windowrulev2 = opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ #Clapper-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ #Flatseal-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ #Cartridges-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ #Obs-Qt +windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ #Boxes-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(discord)$ #Discord-Electron +windowrulev2 = opacity 0.80 0.80,class:^(WebCord)$ #WebCord-Electron +windowrulev2 = opacity 0.80 0.80,class:^(app.drey.Warp)$ #Warp-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(net.davidotek.pupgui2)$ #ProtonUp-Qt +windowrulev2 = opacity 0.80 0.80,class:^(yad)$ #Protontricks-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(Signal)$ #Signal-Gtk +windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.theevilskeleton.Upscaler)$ #Upscaler-Gtk + +windowrulev2 = opacity 0.80 0.70,class:^(pavucontrol)$ +windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$ + +windowrulev2 = float,class:^(qt5ct)$ +windowrulev2 = float,class:^(nwg-look)$ +windowrulev2 = float,class:^(org.kde.ark)$ +windowrulev2 = float,class:^(Signal)$ #Signal-Gtk +windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ #Clapper-Gtk +windowrulev2 = float,class:^(app.drey.Warp)$ #Warp-Gtk +windowrulev2 = float,class:^(net.davidotek.pupgui2)$ #ProtonUp-Qt +windowrulev2 = float,class:^(yad)$ #Protontricks-Gtk +windowrulev2 = float,class:^(eog)$ #Imageviewer-Gtk +windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ #Upscaler-Gtk +windowrulev2 = float,class:^(pavucontrol)$ +windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$ + +windowrulev2 = pseudo,class:^(Alacritty.*)$ +windowrulev2 = pseudo,class:^(firefox.*)$ + +# Development +windowrulev2 = float, title:^(SnakePlusPlus)$ +windowrulev2 = center, title:^(SnakePlusPlus)$ +windowrulev2 = opacity 0.6, title:^(SnakePlusPlus)$ +windowrulev2 = float, title:^(TetrisPlusPlus)$ +windowrulev2 = center, title:^(TetrisPlusPlus)$ + +# Games +windowrulev2 = pseudo, class:(Minecraft.*) +windowrulev2 = size 2646 1108, class:(Minecraft.*) +windowrulev2 = pseudo, title:(Warframe.*) +windowrulev2 = size 2646 1108, title:(Warframe.*) +windowrulev2 = pseudo, class:(steam_app_1361210) +windowrulev2 = size 2646 1108, class:(steam_app_1361210) +windowrulev2 = pseudo, class:(Mindustry) +windowrulev2 = size 2646 1108, class:(Mindustry)