init
23
modules/home/hyprland/conf/hypr/animations.conf
Normal file
@@ -0,0 +1,23 @@
|
||||
|
||||
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
|
||||
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
|
||||
|
||||
|
||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
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
|
||||
}
|
||||
|
||||
116
modules/home/hyprland/conf/hypr/hyprland.conf
Normal file
@@ -0,0 +1,116 @@
|
||||
######################################################################################
|
||||
#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.
|
||||
########################################################################################
|
||||
|
||||
# Please note not all available settings / options are set here.
|
||||
# For a full list, see the wiki
|
||||
# autogenerated = 1 # remove this line to remove the warning
|
||||
|
||||
|
||||
|
||||
# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█
|
||||
# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
|
||||
# monitor = DP-1, 2560x1080@144, 0x0, 1
|
||||
monitor = ,preferred,auto,auto
|
||||
|
||||
|
||||
|
||||
# █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
|
||||
# █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
# Execute your favorite apps at launch
|
||||
|
||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # 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 = blueman-applet # systray app for BT
|
||||
exec-once = nm-applet --indicator # systray app for Network/Wifi
|
||||
exec-once = dunst # start notification demon
|
||||
exec-once = wl-paste --type text --watch cliphist store # clipboard store text data
|
||||
exec-once = wl-paste --type image --watch cliphist store # clipboard store image data
|
||||
exec-once = fcitx5
|
||||
exec-once = ~/.config/swww/swwwallpaper.sh # start wallpaper daemon
|
||||
exec-once = ~/.config/hypr/scripts/resetxdgportal.sh # reset XDPH for screenshare
|
||||
#exec-once = swayidle -w timeout 900 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' # turn off monitor after 15 mins
|
||||
|
||||
|
||||
|
||||
# █ █▄░█ █▀█ █░█ ▀█▀
|
||||
# █ █░▀█ █▀▀ █▄█ ░█░
|
||||
|
||||
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
follow_mouse = 1
|
||||
|
||||
touchpad {
|
||||
natural_scroll = no
|
||||
}
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
force_no_accel = 1
|
||||
numlock_by_default = true
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
|
||||
|
||||
device:epic mouse V1 {
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
gestures {
|
||||
workspace_swipe = true
|
||||
workspace_swipe_fingers = 3
|
||||
}
|
||||
|
||||
|
||||
|
||||
# █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀
|
||||
# █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
|
||||
dwindle {
|
||||
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = yes # you probably want this
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
|
||||
master {
|
||||
new_is_master = true
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
# █▀ █▀█ █░█ █▀█ █▀▀ █▀▀
|
||||
# ▄█ █▄█ █▄█ █▀▄ █▄▄ ██▄
|
||||
|
||||
# Source a file (multi-file configs)
|
||||
# source = ~/.config/hypr/myColors.conf
|
||||
|
||||
source = ~/.config/hypr/animations.conf
|
||||
source = ~/.config/hypr/keybindings.conf
|
||||
source = ~/.config/hypr/windowrules.conf
|
||||
source = ~/.config/hypr/theme.conf
|
||||
source = ~/.config/hypr/monitors.conf # initially empty, to be configured by user and remains static
|
||||
source = ~/.config/hypr/userprefs.conf # initially empty, to be configured by user and remains static
|
||||
|
||||
# Note: as userprefs.conf is sourced at the end, settings configured in this file will override the defaults
|
||||
|
||||
141
modules/home/hyprland/conf/hypr/keybindings.conf
Normal file
@@ -0,0 +1,141 @@
|
||||
# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
|
||||
# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
|
||||
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
|
||||
################################################
|
||||
# Main modifier
|
||||
################################################
|
||||
$mainMod = SUPER # windows key
|
||||
|
||||
################################################
|
||||
# Main actions
|
||||
################################################
|
||||
bind = $mainMod, Q, exec, ~/.config/hypr/scripts/dontkillsteam.sh # killactive, # kill the window on focus
|
||||
bind = $mainMod, delete, exit, # kill hyperland session
|
||||
bind = $mainMod, esc, exit, # kill hyperland session
|
||||
bind = $mainMod, F, togglefloating, # toggle the window on focus to float
|
||||
bind = $mainMod, L, exec, swaylock # lock screen
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, S, togglesplit, # split screen
|
||||
bind = ALT, return, fullscreen, # toggle the window on focus to fullscreen
|
||||
|
||||
# Application shortcuts
|
||||
bind = $mainMod, grave, exec, kitty # ~ open terminal
|
||||
bind = $mainMod, E, exec, dolphin # open file manager
|
||||
bind = $mainMod, V, exec, code # open vscode
|
||||
|
||||
################################################
|
||||
# Control actions
|
||||
################################################
|
||||
# Rofi is toggled on/off if you repeat the key presses
|
||||
bind = $mainMod, SPACE, exec, pkill rofi || ~/.config/hypr/scripts/rofilaunch.sh d # launch desktop applications
|
||||
bind = $mainMod, tab, exec, pkill rofi || ~/.config/hypr/scripts/rofilaunch.sh w # switch between desktop applications
|
||||
bind = $mainMod, R, exec, pkill rofi || ~/.config/hypr/scripts/rofilaunch.sh f # browse system files
|
||||
|
||||
# Audio control
|
||||
# bind = , F10, exec, ~/.config/hypr/scripts/volumecontrol.sh -o m # toggle audio mute
|
||||
# binde = , F11, exec, ~/.config/hypr/scripts/volumecontrol.sh -o d # decrease volume
|
||||
# binde = , F12, exec, ~/.config/hypr/scripts/volumecontrol.sh -o i # increase volume
|
||||
bind = , XF86AudioMute, exec, ~/.config/hypr/scripts/volumecontrol.sh -o m # toggle audio mute
|
||||
bind = , XF86AudioMicMute, exec, ~/.config/hypr/scripts/volumecontrol.sh -i m # toggle microphone mute
|
||||
binde = , XF86AudioLowerVolume, exec, ~/.config/hypr/scripts/volumecontrol.sh -o d # decrease volume
|
||||
binde = , XF86AudioRaiseVolume, exec, ~/.config/hypr/scripts/volumecontrol.sh -o i # increase volume
|
||||
bind = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bind = , XF86AudioPause, exec, playerctl play-pause
|
||||
bind = , XF86AudioNext, exec, playerctl next
|
||||
bind = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
# Brightness control
|
||||
binde = , XF86MonBrightnessUp, exec, ~/.config/hypr/scripts/brightnesscontrol.sh i # increase brightness
|
||||
binde = , XF86MonBrightnessDown, exec, ~/.config/hypr/scripts/brightnesscontrol.sh d # decrease brightness
|
||||
|
||||
# Screenshot/screencapture
|
||||
bind = $mainMod, P, exec, ~/.config/hypr/scripts/screenshot.sh s # screenshot snip
|
||||
bind = $mainMod ALT, P, exec, ~/.config/hypr/scripts/screenshot.sh p # print current screen
|
||||
bind = $CONTROL SHIFT, P, pass, ^(com\.obsproject\.Studio)$ # start/stop obs screen recording
|
||||
|
||||
|
||||
################################################
|
||||
# Exec custom scripts
|
||||
################################################
|
||||
bind = $mainMod, backspace, exec, ~/.config/hypr/scripts/logoutlaunch.sh 1 # logout menu
|
||||
bind = $mainMod, G, exec, ~/.config/hypr/scripts/gamemode.sh # disable hypr effects for gamemode
|
||||
|
||||
|
||||
|
||||
################################################
|
||||
# Window actions
|
||||
################################################
|
||||
# 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 = ALT, Tab, movefocus, d
|
||||
|
||||
# Resize windows
|
||||
binde = $mainMod CONTROL, right, resizeactive, 10 0
|
||||
binde = $mainMod CONTROL, left, resizeactive, -10 0
|
||||
binde = $mainMod CONTROL, up, resizeactive, 0 -10
|
||||
binde = $mainMod CONTROL, down, resizeactive, 0 10
|
||||
|
||||
# Move Window with mainMod + SHIFT + arrow keys
|
||||
bind = $mainMod SHIFT, left, movewindow, l
|
||||
bind = $mainMod SHIFT, right, movewindow, r
|
||||
bind = $mainMod SHIFT, up, movewindow, u
|
||||
bind = $mainMod SHIFT, down, movewindow, d
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
|
||||
################################################
|
||||
# Workspace actions
|
||||
################################################
|
||||
# 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, 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 SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Move window to workspace Super + Alt + [0-9]
|
||||
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
|
||||
bind = $mainMod ALT, 6, movetoworkspacesilent, 6
|
||||
bind = $mainMod ALT, 7, movetoworkspacesilent, 7
|
||||
bind = $mainMod ALT, 8, movetoworkspacesilent, 8
|
||||
bind = $mainMod ALT, 9, movetoworkspacesilent, 9
|
||||
bind = $mainMod ALT, 0, movetoworkspacesilent, 10
|
||||
|
||||
# Special workspaces (scratchpad)
|
||||
bind = $mainMod ALT, S, movetoworkspacesilent, special
|
||||
bind = $mainMod CONTROL, S, togglespecialworkspace,
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
24
modules/home/hyprland/conf/hypr/monitors.conf
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█ █▀
|
||||
# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄ ▄█
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
|
||||
# monitor = name, resolution, offset, scale, extra-args
|
||||
# monitor = ,preferred,auto,auto
|
||||
monitor = DP-3,1920x1080@60,0x0,1,transform,1
|
||||
monitor = HDMI-A-1,1920x1080@60,1080x0,1,
|
||||
monitor = HDMI-A-3,1920x1080@60,3000x0,1,
|
||||
|
||||
workspace = 5,monitor:DP-3
|
||||
workspace = 6,monitor:DP-3
|
||||
workspace = 7,monitor:DP-3
|
||||
|
||||
workspace = 1,monitor:HDMI-A-1
|
||||
workspace = 2,monitor:HDMI-A-1
|
||||
workspace = 3,monitor:HDMI-A-1
|
||||
workspace = 4,monitor:HDMI-A-1
|
||||
|
||||
workspace = 8,monitor:HDMI-A-3
|
||||
workspace = 9,monitor:HDMI-A-3
|
||||
workspace = 10,monitor:HDMI-A-3
|
||||
11
modules/home/hyprland/conf/hypr/nvidia.conf
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
# █▄░█ █░█ █ █▀▄ █ ▄▀█
|
||||
# █░▀█ ▀▄▀ █ █▄▀ █ █▀█
|
||||
|
||||
#env = GBM_BACKEND,nvidia-drm
|
||||
env = LIBVA_DRIVER_NAME,nvidia
|
||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||
env = __GL_VRR_ALLOWED,1
|
||||
env = WLR_NO_HARDWARE_CURSORS,1
|
||||
env = WLR_DRM_NO_ATOMIC,1
|
||||
|
||||
42
modules/home/hyprland/conf/hypr/scripts/brightnesscontrol.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
ncolor="-h string:bgcolor:#343d46 -h string:fgcolor:#c0c5ce -h string:frcolor:#c0c5ce"
|
||||
|
||||
function send_notification {
|
||||
brightness=`brightnessctl info | grep -oP "(?<=\()\d+(?=%)" | cat`
|
||||
brightinfo=$(brightnessctl info | awk -F"'" '/Device/ {print $2}')
|
||||
|
||||
angle="$(((($brightness + 2) / 5) * 5))"
|
||||
ico="~/.config/dunst/icons/vol/vol-${angle}.svg"
|
||||
bar=$(seq -s "." $(($brightness / 15)) | sed 's/[0-9]//g')
|
||||
|
||||
if [ $brightness -ne 0 ]; then
|
||||
dunstify $ncolor "brightctl" -i $ico -a "$brightness$bar" "Device: $brightinfo" -r 91190 -t 800
|
||||
|
||||
else
|
||||
dunstify -i $ico "Brightness: ${brightness}%" -a "$brightinfo" -u low -r 91190 -t 800
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
function get_brightness {
|
||||
brightnessctl -m | grep -o '[0-9]\+%' | head -c-2
|
||||
}
|
||||
|
||||
case $1 in
|
||||
i)
|
||||
# increase the backlight by 5%
|
||||
brightnessctl set +5%
|
||||
send_notification
|
||||
;;
|
||||
d)
|
||||
if [[ $(get_brightness) -lt 5 ]]; then
|
||||
# avoid 0% brightness
|
||||
brightnessctl set 1%
|
||||
else
|
||||
# decrease the backlight by 5%
|
||||
brightnessctl set 5%-
|
||||
fi
|
||||
send_notification
|
||||
;;
|
||||
esac
|
||||
64
modules/home/hyprland/conf/hypr/scripts/cliphist.sh
Executable file
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
theme_file="$HOME/.config/hypr/themes/theme.conf"
|
||||
roconf="~/.config/rofi/clipboard.rasi"
|
||||
|
||||
|
||||
# set position
|
||||
|
||||
case $2 in
|
||||
1) # top left
|
||||
pos="window {location: north west; anchor: north west; x-offset: 20px; y-offset: 20px;}"
|
||||
;;
|
||||
2) # top right
|
||||
pos="window {location: north east; anchor: north east; x-offset: -20px; y-offset: 20px;}"
|
||||
;;
|
||||
3) # bottom left
|
||||
pos="window {location: south east; anchor: south east; x-offset: -20px; y-offset: -20px;}"
|
||||
;;
|
||||
4) # bottom right
|
||||
pos="window {location: south west; anchor: south west; x-offset: 20px; y-offset: -20px;}"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
# read hypr theme border
|
||||
|
||||
hypr_border=`awk -F '=' '{if($1~" rounding ") print $2}' $theme_file | sed 's/ //g'`
|
||||
hypr_width=`awk -F '=' '{if($1~" border_size ") print $2}' $theme_file | sed 's/ //g'`
|
||||
wind_border=$(( hypr_border * 3/2 ))
|
||||
elem_border=`[ $hypr_border -eq 0 ] && echo "5" || echo $hypr_border`
|
||||
r_override="window {border: ${hypr_width}px; border-radius: ${wind_border}px;} entry {border-radius: ${elem_border}px;} element {border-radius: ${elem_border}px;}"
|
||||
|
||||
|
||||
# read hypr font size
|
||||
|
||||
#fnt_size=`awk '{if($6=="monospace-font-name") print $NF}' $theme_file | sed "s/'//g"`
|
||||
fnt_override=`gsettings get org.gnome.desktop.interface monospace-font-name | awk '{gsub(/'\''/,""); print $NF}'`
|
||||
fnt_override="configuration {font: \"JetBrainsMono Nerd Font ${fnt_override}\";}"
|
||||
|
||||
|
||||
# clipboard action
|
||||
|
||||
case $1 in
|
||||
c) cliphist list | rofi -dmenu -theme-str "entry { placeholder: \"Copy...\";} ${pos} ${r_override}" -theme-str "${fnt_override}" -config $roconf | cliphist decode | wl-copy
|
||||
;;
|
||||
d) cliphist list | rofi -dmenu -theme-str "entry { placeholder: \"Delete...\";} ${pos} ${r_override}" -theme-str "${fnt_override}" -config $roconf | cliphist delete
|
||||
;;
|
||||
w) if [ `echo -e "Yes\nNo" | rofi -dmenu -theme-str "entry { placeholder: \"Clear Clipboard History?\";} ${pos} ${r_override}" -theme-str "${fnt_override}" -config $roconf` == "Yes" ] ; then
|
||||
cliphist wipe
|
||||
fi
|
||||
;;
|
||||
*) echo -e "cliphist.sh [action] [position]\nwhere action,"
|
||||
echo "c : cliphist list and copy selected"
|
||||
echo "d : cliphist list and delete selected"
|
||||
echo "w : cliphist wipe database"
|
||||
echo "where position,"
|
||||
echo "1 : top left"
|
||||
echo "2 : top right"
|
||||
echo "3 : bottom right"
|
||||
echo "4 : bottom left"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
5
modules/home/hyprland/conf/hypr/scripts/dontkillsteam.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
if [[ $(hyprctl activewindow -j | jq -r ".class") == "Steam" ]]; then
|
||||
xdotool windowunmap $(xdotool getactivewindow)
|
||||
else
|
||||
hyprctl dispatch killactive ""
|
||||
fi
|
||||
14
modules/home/hyprland/conf/hypr/scripts/gamemode.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env sh
|
||||
HYPRGAMEMODE=$(hyprctl getoption animations:enabled | sed -n '2p' | awk '{print $2}')
|
||||
if [ $HYPRGAMEMODE = 1 ] ; then
|
||||
hyprctl --batch "\
|
||||
keyword animations:enabled 0;\
|
||||
keyword decoration:drop_shadow 0;\
|
||||
keyword decoration:blur:enabled 0;\
|
||||
keyword general:gaps_in 0;\
|
||||
keyword general:gaps_out 0;\
|
||||
keyword general:border_size 1;\
|
||||
keyword decoration:rounding 0"
|
||||
exit
|
||||
fi
|
||||
hyprctl reload
|
||||
49
modules/home/hyprland/conf/hypr/scripts/logoutlaunch.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
# detect monitor y res
|
||||
res=`cat /sys/class/drm/*/modes | head -1 | cut -d 'x' -f 2`
|
||||
|
||||
# scale config layout and style
|
||||
case $1 in
|
||||
1) wlColms=6
|
||||
export mgn=$(( res * 10 / 100 ))
|
||||
export hvr=$(( res * 5 / 100 )) ;;
|
||||
2) wlColms=2
|
||||
export mgn=$(( res * 8 / 100 ))
|
||||
export mgn2=$(( res * 65 / 100 ))
|
||||
export hvr=$(( res * 3 / 100 ))
|
||||
export hvr2=$(( res * 60 / 100 )) ;;
|
||||
*) echo "Error: invalid parameter passed..."
|
||||
exit 1 ;;
|
||||
esac
|
||||
|
||||
# scale font size
|
||||
export fntSize=$(( res * 2 / 100 ))
|
||||
|
||||
# detect gtk system theme
|
||||
export gtkThm="Catppuccin-Latte" #`gsettings get org.gnome.desktop.interface gtk-theme | sed "s/'//g"`
|
||||
export csMode=`gsettings get org.gnome.desktop.interface color-scheme | sed "s/'//g" | awk -F '-' '{print $2}'`
|
||||
export BtnCol=`[ "$csMode" == "dark" ] && ( echo "black" ) || ( echo "white" )`
|
||||
export BtnBkg=`[ "$csMode" == "dark" ] && ( echo "color" ) || ( echo "bg" )`
|
||||
export WindBg=`[ "$csMode" == "dark" ] && ( echo "rgba(0,0,0,0.5)" ) || ( echo "rgba(255,255,255,0.6)" )`
|
||||
export wbarTheme="$HOME/.config/waybar/themes/${gtkThm}.css"
|
||||
|
||||
# eval hypr border radius
|
||||
hyprTheme="$HOME/.config/hypr/themes/${gtkThm}.conf"
|
||||
hypr_border=`awk -F '=' '{if($1~" rounding ") print $2}' $hyprTheme | sed 's/ //g'`
|
||||
export active_rad=$(( hypr_border * 5 ))
|
||||
export button_rad=$(( hypr_border * 8 ))
|
||||
|
||||
# set file variables
|
||||
wLayout="$HOME/.config/wlogout/layout_$1"
|
||||
wlTmplt="$HOME/.config/wlogout/style_$1.css"
|
||||
|
||||
# eval config files
|
||||
wlStyle=`envsubst < $wlTmplt`
|
||||
|
||||
# eval padding
|
||||
y_pad=$(( res * 20 / 100 ))
|
||||
|
||||
# launch wlogout
|
||||
wlogout -b $wlColms -c 0 -r 0 -T $y_pad -B $y_pad --layout $wLayout --css <(echo "$wlStyle") --protocol layer-shell
|
||||
|
||||
52
modules/home/hyprland/conf/hypr/scripts/modeswitch.sh
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
## main script ##
|
||||
CFGDIR="$HOME/.config"
|
||||
X_MODE=$1
|
||||
|
||||
## check mode ##
|
||||
if [ "$X_MODE" == "dark" ] || [ "$X_MODE" == "light" ] ; then
|
||||
S_MODE="$X_MODE"
|
||||
|
||||
elif [ "$X_MODE" == "switch" ] ; then
|
||||
X_MODE=`readlink $CFGDIR/swww/wall.set | awk -F "." '{print $NF}'`
|
||||
|
||||
if [ "$X_MODE" == "dark" ] ; then
|
||||
S_MODE="light"
|
||||
flatpak --user override --env=GTK_THEME=Catppuccin-Latte
|
||||
|
||||
elif [ "$X_MODE" == "light" ] ; then
|
||||
S_MODE="dark"
|
||||
flatpak --user override --env=GTK_THEME=Catppuccin-Mocha
|
||||
|
||||
else
|
||||
echo "ERROR: unable to fetch wallpaper mode."
|
||||
fi
|
||||
|
||||
else
|
||||
echo "ERROR: unknown mode, use 'dark', 'light' or 'switch'."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
### hyprland ###
|
||||
ln -fs $CFGDIR/hypr/${S_MODE}.conf $CFGDIR/hypr/theme.conf
|
||||
hyprctl reload
|
||||
|
||||
### swwwallpaper ###
|
||||
x=`echo $S_MODE | cut -c 1`
|
||||
$CFGDIR/swww/swwwallpaper.sh -$x
|
||||
|
||||
### qt5ct ###
|
||||
ln -fs $CFGDIR/qt5ct/colors/${S_MODE}.conf $CFGDIR/qt5ct/colors/theme.conf
|
||||
|
||||
### rofi ###
|
||||
ln -fs $CFGDIR/rofi/${S_MODE}.rasi $CFGDIR/rofi/theme.rasi
|
||||
|
||||
### kitty ###
|
||||
ln -fs $CFGDIR/kitty/${S_MODE}.conf $CFGDIR/kitty/theme.conf
|
||||
killall -SIGUSR1 kitty
|
||||
|
||||
### waybar ###
|
||||
ln -fs $CFGDIR/waybar/${S_MODE}.css $CFGDIR/waybar/style.css
|
||||
sleep 1
|
||||
killall -SIGUSR2 waybar
|
||||
12
modules/home/hyprland/conf/hypr/scripts/resetxdgportal.sh
Executable file
@@ -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 &
|
||||
48
modules/home/hyprland/conf/hypr/scripts/rofilaunch.sh
Executable file
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
theme_file="$HOME/.config/hypr/themes/theme.conf"
|
||||
rofi_conf="~/.config/rofi/config.rasi"
|
||||
|
||||
|
||||
# rofi action
|
||||
|
||||
case $1 in
|
||||
d) r_mode="drun" ;;
|
||||
w) r_mode="window" ;;
|
||||
f) r_mode="filebrowser" ;;
|
||||
h) echo -e "rofilaunch.sh [action]\nwhere action,"
|
||||
echo "d : drun mode"
|
||||
echo "w : window mode"
|
||||
echo "f : filebrowser mode,"
|
||||
exit 0 ;;
|
||||
*) r_mode="drun" ;;
|
||||
esac
|
||||
|
||||
|
||||
# read hypr theme border
|
||||
|
||||
hypr_border=`awk -F '=' '{if($1~" rounding ") print $2}' $theme_file | sed 's/ //g'`
|
||||
hypr_width=`awk -F '=' '{if($1~" border_size ") print $2}' $theme_file | sed 's/ //g'`
|
||||
wind_border=$(( hypr_border * 3 ))
|
||||
elem_border=`[ $hypr_border -eq 0 ] && echo "10" || echo $(( hypr_border * 2 ))`
|
||||
r_override="window {border: ${hypr_width}px; border-radius: ${wind_border}px;} element {border-radius: ${elem_border}px;}"
|
||||
|
||||
|
||||
# read hypr font size
|
||||
|
||||
#fnt_size=`awk '{if($6=="font-name") print $NF}' $theme_file | sed "s/'//g"`
|
||||
fnt_override=`gsettings get org.gnome.desktop.interface font-name | awk '{gsub(/'\''/,""); print $NF}'`
|
||||
fnt_override="configuration {font: \"JetBrainsMono Nerd Font ${fnt_override}\";}"
|
||||
|
||||
|
||||
# read hypr theme icon
|
||||
|
||||
icon_override=`gsettings get org.gnome.desktop.interface icon-theme | sed "s/'//g"`
|
||||
icon_override="configuration {icon-theme: \"${icon_override}\";}"
|
||||
|
||||
|
||||
# launch rofi
|
||||
|
||||
rofi -show $r_mode -theme-str "${fnt_override}" -theme-str "${r_override}" -theme-str "${icon_override}" -config "${rofi_conf}"
|
||||
|
||||
|
||||
24
modules/home/hyprland/conf/hypr/scripts/rofiselect.sh
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
## set variables ##
|
||||
BaseDir=`dirname $(realpath $0)`
|
||||
ThemeSet="$HOME/.config/hypr/themes/theme.conf"
|
||||
RofiConf="$HOME/.config/rofi/themeselect.rasi"
|
||||
RofiStyle="$HOME/.config/rofi/styles"
|
||||
Rofilaunch="$HOME/.config/rofi/config.rasi"
|
||||
|
||||
## show and apply theme ##
|
||||
hypr_border=`awk -F '=' '{if($1~" rounding ") print $2}' $ThemeSet | sed 's/ //g'`
|
||||
elem_border=$(( hypr_border * 5 ))
|
||||
icon_border=$(( elem_border - 5 ))
|
||||
r_override="element {border-radius: ${elem_border}px;} element-icon {border-radius: ${icon_border}px;}"
|
||||
|
||||
RofiSel=$( ls $RofiStyle/style_*.rasi | awk -F '/' '{print $NF}' | cut -d '.' -f 1 | while read rstyle
|
||||
do
|
||||
echo -en "$rstyle\x00icon\x1f$RofiStyle/${rstyle}.png\n"
|
||||
done | rofi -dmenu -theme-str "${r_override}" -config $RofiConf)
|
||||
|
||||
if [ ! -z $RofiSel ] ; then
|
||||
cp $RofiStyle/$RofiSel.rasi $Rofilaunch
|
||||
fi
|
||||
|
||||
26
modules/home/hyprland/conf/hypr/scripts/screenshot.sh
Executable file
@@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
if [ -z "$XDG_PICTURES_DIR" ] ; then
|
||||
XDG_PICTURES_DIR="$HOME/Pictures"
|
||||
fi
|
||||
|
||||
save_dir="${2:-$XDG_PICTURES_DIR}"
|
||||
save_file=$(date +'%y%m%d_%Hh%Mm%Ss_screenshot.png')
|
||||
ncolor="-h string:bgcolor:#343d46 -h string:fgcolor:#c0c5ce -h string:frcolor:#c0c5ce"
|
||||
|
||||
if [ ! -d "$save_dir" ] ; then
|
||||
mkdir -p $save_dir
|
||||
fi
|
||||
|
||||
case $1 in
|
||||
p) grim $save_dir/$save_file ;;
|
||||
s) grim -g "$(slurp)" - | swappy -f - ;;
|
||||
*) echo "...valid options are..."
|
||||
echo "p : print screen to $save_dir"
|
||||
echo "s : snip current screen to $save_dir"
|
||||
exit 1 ;;
|
||||
esac
|
||||
|
||||
if [ -f "$save_dir/$save_file" ] ; then
|
||||
dunstify $ncolor "theme" -a "saved in $save_dir" -i "$save_dir/$save_file" -r 91190 -t 2200
|
||||
fi
|
||||
27
modules/home/hyprland/conf/hypr/scripts/systemupdate.sh
Executable file
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Check release
|
||||
if [ ! -f /etc/arch-release ] ; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Check for updates
|
||||
aur=$(yay -Qua | wc -l)
|
||||
ofc=$(pacman -Qu | wc -l)
|
||||
|
||||
# Calculate total available updates
|
||||
upd=$(( ofc + aur ))
|
||||
echo "$upd"
|
||||
|
||||
# Show tooltip
|
||||
if [ $upd -eq 0 ] ; then
|
||||
echo " Packages are up to date"
|
||||
else
|
||||
echo " Official $ofc AUR $aur"
|
||||
fi
|
||||
|
||||
# Trigger upgrade
|
||||
if [ "$1" == "up" ] ; then
|
||||
kitty --title systemupdate sh -c 'yay -Syu'
|
||||
fi
|
||||
|
||||
49
modules/home/hyprland/conf/hypr/scripts/themeselect.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
## set variables ##
|
||||
BaseDir=`dirname $(realpath $0)`
|
||||
ThemeCtl="$HOME/.config/swww/wall.ctl"
|
||||
ThumbDir="$HOME/.config/swww/Themes-Ctl"
|
||||
RofiConf="$HOME/.config/rofi/themeselect.rasi"
|
||||
ThemeSet="$HOME/.config/hypr/themes/theme.conf"
|
||||
|
||||
|
||||
## show and apply theme ##
|
||||
if [ -z "$1" ] ; then
|
||||
|
||||
hypr_border=`awk -F '=' '{if($1~" rounding ") print $2}' $ThemeSet | sed 's/ //g'`
|
||||
elem_border=$(( hypr_border * 5 ))
|
||||
icon_border=$(( elem_border - 5 ))
|
||||
r_override="element {border-radius: ${elem_border}px;} element-icon {border-radius: ${icon_border}px;}"
|
||||
|
||||
ThemeSel=$(cat $ThemeCtl | while read line
|
||||
do
|
||||
thm=`echo $line | cut -d '|' -f 2`
|
||||
wal=`echo $line | cut -d '|' -f 3`
|
||||
echo -en "$thm\x00icon\x1f$ThumbDir/${thm}.png\n"
|
||||
done | rofi -dmenu -theme-str "${r_override}" -config $RofiConf)
|
||||
|
||||
if [ ! -z $ThemeSel ] ; then
|
||||
${BaseDir}/themeswitch.sh -s $ThemeSel
|
||||
fi
|
||||
|
||||
## regenerate thumbnails ##
|
||||
elif [ "$1" == "T" ] ; then
|
||||
|
||||
echo "refreshing thumbnails..."
|
||||
cat $ThemeCtl | while read line
|
||||
do
|
||||
thm=`echo $line | cut -d '|' -f 2`
|
||||
wal=`echo $line | cut -d '|' -f 3`
|
||||
wal=`eval echo $wal`
|
||||
|
||||
echo "croping image from wallpaper $ThumbDir/${thm}.png..."
|
||||
convert $wal -thumbnail 500x500^ -gravity center -extent 500x500 $ThumbDir/${thm}.png
|
||||
#convert $wal -gravity Center -crop 1080x1080+0+0 $ThumbDir/${thm}.png
|
||||
#echo "applying rounded corner mask and generating $ThumbDir/${thm}.png..."
|
||||
#convert -size 1080x1080 xc:none -draw "roundrectangle 0,0,1080,1080,80,80" $ThumbDir/roundedmask.png
|
||||
#convert $ThumbDir/${thm}_tmp.png -matte $ThumbDir/roundedmask.png -compose DstIn -composite $ThumbDir/${thm}.png
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
125
modules/home/hyprland/conf/hypr/scripts/themeswitch.sh
Executable file
@@ -0,0 +1,125 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
# set variables
|
||||
BaseDir=`dirname $(realpath $0)`
|
||||
ConfDir="$HOME/.config"
|
||||
ThemeCtl="$ConfDir/swww/wall.ctl"
|
||||
|
||||
|
||||
# evaluate options
|
||||
while getopts "npst" option ; do
|
||||
case $option in
|
||||
|
||||
n ) # set next theme
|
||||
ThemeSet=`head -1 $ThemeCtl | cut -d '|' -f 2` #default value
|
||||
flg=0
|
||||
while read line
|
||||
do
|
||||
if [ $flg -eq 1 ] ; then
|
||||
ThemeSet=`echo $line | cut -d '|' -f 2`
|
||||
break
|
||||
elif [ `echo $line | cut -d '|' -f 1` -eq 1 ] ; then
|
||||
flg=1
|
||||
fi
|
||||
done < $ThemeCtl
|
||||
export xtrans="center" ;;
|
||||
|
||||
p ) # set previous theme
|
||||
ThemeSet=`tail -1 $ThemeCtl | cut -d '|' -f 2` #default value
|
||||
flg=0
|
||||
while read line
|
||||
do
|
||||
if [ $flg -eq 1 ] ; then
|
||||
ThemeSet=`echo $line | cut -d '|' -f 2`
|
||||
break
|
||||
elif [ `echo $line | cut -d '|' -f 1` -eq 1 ] ; then
|
||||
flg=1
|
||||
fi
|
||||
done < <( tac $ThemeCtl )
|
||||
export xtrans="outer" ;;
|
||||
|
||||
s ) # set selected theme
|
||||
shift $((OPTIND -1))
|
||||
ThemeSet=$1 ;;
|
||||
|
||||
t ) # display tooltip
|
||||
echo ""
|
||||
echo " Next/Previous Theme"
|
||||
exit 0 ;;
|
||||
|
||||
* ) # invalid option
|
||||
echo "n : set next theme"
|
||||
echo "p : set previous theme"
|
||||
echo "s : set theme from parameter"
|
||||
echo "t : display tooltip"
|
||||
exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
||||
# update theme control
|
||||
if [ `cat $ThemeCtl | awk -F '|' -v thm=$ThemeSet '{if($2==thm) print$2}' | wc -w` -ne 1 ] ; then
|
||||
echo "Unknown theme selected: $ThemeSet"
|
||||
echo "Available themes are:"
|
||||
cat $ThemeCtl | cut -d '|' -f 2
|
||||
exit 1
|
||||
else
|
||||
echo "Selected theme: $ThemeSet"
|
||||
sed -i "s/^1/0/g" $ThemeCtl
|
||||
awk -F '|' -v thm=$ThemeSet '{OFS=FS} {if($2==thm) $1=1; print$0}' $ThemeCtl > $BaseDir/tmp && mv $BaseDir/tmp $ThemeCtl
|
||||
fi
|
||||
|
||||
|
||||
# swwwallpaper
|
||||
getWall=`grep '^1|' $ThemeCtl | cut -d '|' -f 3`
|
||||
getWall=`eval echo $getWall`
|
||||
ln -fs $getWall $ConfDir/swww/wall.set
|
||||
$ConfDir/swww/swwwallpaper.sh
|
||||
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "ERROR: Unable to set wallpaper"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# vs code
|
||||
sed -i "/workbench.colorTheme/c\ \"workbench.colorTheme\": \"${ThemeSet}\"," $ConfDir/Code/User/settings.json
|
||||
|
||||
|
||||
# kitty
|
||||
ln -fs $ConfDir/kitty/themes/${ThemeSet}.conf $ConfDir/kitty/themes/theme.conf
|
||||
killall -SIGUSR1 kitty
|
||||
|
||||
|
||||
# qt5ct
|
||||
sed -i "/^color_scheme_path=/c\color_scheme_path=$ConfDir/qt5ct/colors/${ThemeSet}.conf" $ConfDir/qt5ct/qt5ct.conf
|
||||
IconSet=`awk -F "'" '$0 ~ /gsettings set org.gnome.desktop.interface icon-theme/{print $2}' $ConfDir/hypr/themes/${ThemeSet}.conf`
|
||||
sed -i "/^icon_theme=/c\icon_theme=${IconSet}" $ConfDir/qt5ct/qt5ct.conf
|
||||
|
||||
|
||||
# flatpak GTK
|
||||
flatpak --user override --env=GTK_THEME="${ThemeSet}"
|
||||
flatpak --user override --env=ICON_THEME="${IconSet}"
|
||||
|
||||
|
||||
# rofi
|
||||
ln -fs $ConfDir/rofi/themes/${ThemeSet}.rasi $ConfDir/rofi/themes/theme.rasi
|
||||
|
||||
|
||||
# hyprland
|
||||
ln -fs $ConfDir/hypr/themes/${ThemeSet}.conf $ConfDir/hypr/themes/theme.conf
|
||||
hyprctl reload
|
||||
|
||||
|
||||
# refresh thumbnails
|
||||
$BaseDir/themeselect.sh T &
|
||||
|
||||
|
||||
# send notification
|
||||
ncolor="-h string:bgcolor:#343d46 -h string:fgcolor:#c0c5ce -h string:frcolor:#c0c5ce"
|
||||
dunstify $ncolor "theme" -a " ${ThemeSet}" -i "~/.config/dunst/icons/paint.svg" -r 91190 -t 2200
|
||||
|
||||
|
||||
# waybar
|
||||
$ConfDir/waybar/wbarconfgen.sh
|
||||
|
||||
76
modules/home/hyprland/conf/hypr/scripts/volumecontrol.sh
Executable file
@@ -0,0 +1,76 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
|
||||
# define functions
|
||||
|
||||
function print_error
|
||||
{
|
||||
cat << "EOF"
|
||||
./volumecontrol.sh -[device] <action>
|
||||
...valid device are...
|
||||
i -- [i]nput decive
|
||||
o -- [o]utput device
|
||||
...valid actions are...
|
||||
i -- <i>ncrease volume [+5]
|
||||
d -- <d>ecrease volume [-5]
|
||||
m -- <m>ute [x]
|
||||
EOF
|
||||
exit 1
|
||||
}
|
||||
|
||||
function notify_vol
|
||||
{
|
||||
vol=`pamixer $srce --get-volume | cat`
|
||||
angle="$(( (($vol+2)/5) * 5 ))"
|
||||
ico="${icodir}/vol-${angle}.svg"
|
||||
bar=$(seq -s "." $(($vol / 15)) | sed 's/[0-9]//g')
|
||||
dunstify $ncolor "volctl" -a "$vol$bar" "$nsink" -i $ico -r 91190 -t 800
|
||||
}
|
||||
|
||||
function notify_mute
|
||||
{
|
||||
mute=`pamixer $srce --get-mute | cat`
|
||||
if [ "$mute" == "true" ] ; then
|
||||
dunstify $ncolor "volctl" -a "muted" "$nsink" -i ${icodir}/muted-${dvce}.svg -r 91190 -t 800
|
||||
else
|
||||
dunstify $ncolor "volctl" -a "unmuted" "$nsink" -i ${icodir}/unmuted-${dvce}.svg -r 91190 -t 800
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# set device source
|
||||
|
||||
while getopts io SetSrc
|
||||
do
|
||||
case $SetSrc in
|
||||
i) nsink=$(pamixer --list-sources | grep "_input." | head -1 | awk -F '" "' '{print $NF}' | sed 's/"//')
|
||||
srce="--default-source"
|
||||
dvce="mic" ;;
|
||||
o) nsink=$(pamixer --get-default-sink | grep "_output." | awk -F '" "' '{print $NF}' | sed 's/"//')
|
||||
srce=""
|
||||
dvce="speaker" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ $OPTIND -eq 1 ] ; then
|
||||
print_error
|
||||
fi
|
||||
|
||||
|
||||
# set device action
|
||||
|
||||
shift $((OPTIND -1))
|
||||
step="${2:-5}"
|
||||
icodir="~/.config/dunst/icons/vol"
|
||||
ncolor="-h string:bgcolor:#343d46 -h string:fgcolor:#c0c5ce -h string:frcolor:#c0c5ce"
|
||||
|
||||
case $1 in
|
||||
i) pamixer $srce -i ${step}
|
||||
notify_vol ;;
|
||||
d) pamixer $srce -d ${step}
|
||||
notify_vol ;;
|
||||
m) pamixer $srce -t
|
||||
notify_mute ;;
|
||||
*) print_error ;;
|
||||
esac
|
||||
|
||||
44
modules/home/hyprland/conf/hypr/theme.conf
Normal file
@@ -0,0 +1,44 @@
|
||||
exec = hyprctl setcursor Bibata-Modern-Ice 20
|
||||
exec = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice'
|
||||
exec = gsettings set org.gnome.desktop.interface cursor-size 20
|
||||
|
||||
exec = kvantummanager --set Catppuccin-Latte
|
||||
exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-grey'
|
||||
exec = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Latte'
|
||||
exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-light'
|
||||
|
||||
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'
|
||||
|
||||
env = XCURSOR_THEME,Bibata-Modern-Ice
|
||||
env = XCURSOR_SIZE,20
|
||||
|
||||
general {
|
||||
gaps_in = 3
|
||||
gaps_out = 8
|
||||
border_size = 2
|
||||
col.active_border = rgba(dc8a78ff) rgba(8839efff) 45deg
|
||||
col.inactive_border = rgba(7287fdcc) rgba(179299cc) 45deg
|
||||
layout = dwindle
|
||||
resize_on_border = true
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 10
|
||||
multisample_edges = true
|
||||
drop_shadow = false
|
||||
|
||||
blur {
|
||||
enabled = yes
|
||||
size = 6
|
||||
passes = 3
|
||||
new_optimizations = on
|
||||
ignore_opacity = on
|
||||
xray = false
|
||||
}
|
||||
}
|
||||
|
||||
blurls = waybar
|
||||
19
modules/home/hyprland/conf/hypr/userprefs.conf
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
# █▀▀ █▄░█ █░█
|
||||
# ██▄ █░▀█ ▀▄▀
|
||||
|
||||
# Some default env vars.
|
||||
|
||||
#env = MANGOHUD,1
|
||||
#env = MANGOHUD_DLSYM,1
|
||||
|
||||
|
||||
# █▀▄▀█ █ █▀ █▀▀
|
||||
# █░▀░█ █ ▄█ █▄▄
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
misc {
|
||||
vrr = 0
|
||||
}
|
||||
|
||||
53
modules/home/hyprland/conf/hypr/windowrules.conf
Normal file
@@ -0,0 +1,53 @@
|
||||
|
||||
# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█ █▀█ █░█ █░░ █▀▀ █▀
|
||||
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀ █▀▄ █▄█ █▄▄ ██▄ ▄█
|
||||
|
||||
|
||||
# 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 = opacity 0.90 0.90,class:^(firefox)$
|
||||
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:^(kitty)$
|
||||
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.70,class:^(pavucontrol)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(blueman-manager)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$
|
||||
|
||||
windowrulev2 = float,class:^(org.kde.ark)$
|
||||
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:^(pavucontrol)$
|
||||
windowrulev2 = float,class:^(blueman-manager)$
|
||||
windowrulev2 = float,class:^(nm-applet)$
|
||||
windowrulev2 = float,class:^(nm-connection-editor)$
|
||||
windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$
|
||||
|
||||
80
modules/home/hyprland/conf/kitty/kitty.conf
Normal file
@@ -0,0 +1,80 @@
|
||||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin Latte 🐑
|
||||
## author: Pocco81 (https://github.com/Pocco81)
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/latte.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
|
||||
|
||||
# The basic colors
|
||||
foreground #4C4F69
|
||||
background #EFF1F5
|
||||
selection_foreground #EFF1F5
|
||||
selection_background #DC8A78
|
||||
|
||||
# Cursor colors
|
||||
cursor #DC8A78
|
||||
cursor_text_color #EFF1F5
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color #7287FD
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #8839EF
|
||||
inactive_border_color #7C7F93
|
||||
bell_border_color #E64553
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #EFF1F5
|
||||
active_tab_background #8839EF
|
||||
inactive_tab_foreground #4C4F69
|
||||
inactive_tab_background #9CA0B0
|
||||
tab_bar_background #BCC0CC
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #EFF1F5
|
||||
mark1_background #1E66F5
|
||||
mark2_foreground #EFF1F5
|
||||
mark2_background #8839EF
|
||||
mark3_foreground #EFF1F5
|
||||
mark3_background #209FB5
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #4C4F69
|
||||
color8 #6C6F85
|
||||
|
||||
# red
|
||||
color1 #D20F39
|
||||
color9 #D20F39
|
||||
|
||||
# green
|
||||
color2 #40A02B
|
||||
color10 #40A02B
|
||||
|
||||
# yellow
|
||||
color3 #DF8E1D
|
||||
color11 #DF8E1D
|
||||
|
||||
# blue
|
||||
color4 #1E66F5
|
||||
color12 #1E66F5
|
||||
|
||||
# magenta
|
||||
color5 #EA76CB
|
||||
color13 #EA76CB
|
||||
|
||||
# cyan
|
||||
color6 #179299
|
||||
color14 #179299
|
||||
|
||||
# white
|
||||
color7 #ACB0BE
|
||||
color15 #ACB0BE
|
||||
125
modules/home/hyprland/conf/rofi/config.rasi
Normal file
@@ -0,0 +1,125 @@
|
||||
/* MACOS SPOTLIGHT LIKE THEME FOR ROFI */
|
||||
|
||||
/* 基本配置项 */
|
||||
configuration {
|
||||
show-icons: true;
|
||||
icon-theme: "Papirus";
|
||||
drun-display-format: "{icon} {name}";
|
||||
display-drun: "";
|
||||
}
|
||||
|
||||
/* 全局变量和样式设置 */
|
||||
* {
|
||||
font: "Montserrat 12";
|
||||
|
||||
bg0: #ffffff;
|
||||
bg1: #e0e0e0;
|
||||
bg2: #0860f2e6;
|
||||
bg3: rgba(0, 0, 0, 0.015);
|
||||
|
||||
fg0: #242424;
|
||||
fg1: #ffffff;
|
||||
fg2: #24242480;
|
||||
|
||||
background-color: @bg0;
|
||||
text-color: @fg0;
|
||||
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
spacing: 0;
|
||||
}
|
||||
|
||||
/* 主窗口样式 */
|
||||
window {
|
||||
background-color: @bg0;
|
||||
location: center;
|
||||
width: 640;
|
||||
border-radius: 8;
|
||||
border: 1px;
|
||||
border-color: @bg1;
|
||||
}
|
||||
|
||||
/* 搜索输入栏样式 */
|
||||
inputbar {
|
||||
font: "Montserrat 20";
|
||||
padding: 12px 12px 12px 12px;
|
||||
spacing: 12px;
|
||||
children: [ icon-search, entry];
|
||||
}
|
||||
|
||||
/* 搜索图标样式 */
|
||||
icon-search {
|
||||
expand: false;
|
||||
filename: "search";
|
||||
size: 28px;
|
||||
}
|
||||
|
||||
/* 元素垂直对齐设置 */
|
||||
icon-search,
|
||||
element-icon,
|
||||
element-text {
|
||||
vertical-align: 0.5;
|
||||
}
|
||||
|
||||
/* 搜索输入框样式 */
|
||||
entry {
|
||||
font: inherit;
|
||||
vertical-align: 0.5;
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
spacing: 10px;
|
||||
placeholder: "Search";
|
||||
placeholder-color: @fg2;
|
||||
}
|
||||
|
||||
/* 消息区域样式 */
|
||||
message {
|
||||
border: 2px 0 0;
|
||||
border-color: @bg1;
|
||||
background-color: @bg1;
|
||||
}
|
||||
|
||||
/* 文本框样式 */
|
||||
textbox {
|
||||
padding: 8px 24px;
|
||||
}
|
||||
|
||||
/* 列表视图样式 */
|
||||
listview {
|
||||
lines: 10;
|
||||
columns: 1;
|
||||
fixed-height: false;
|
||||
border: 1px 0 0;
|
||||
border-color: @bg1;
|
||||
}
|
||||
|
||||
/* 列表项基本样式 */
|
||||
element {
|
||||
padding: 8px 16px;
|
||||
spacing: 16px;
|
||||
border: 0;
|
||||
border-radius: 4;
|
||||
background-color: transparent;
|
||||
children: [ element-icon, element-text];
|
||||
}
|
||||
|
||||
|
||||
element normal.normal {
|
||||
background-color: @bg3;
|
||||
}
|
||||
|
||||
element alternate.normal {
|
||||
background-color: @bg3;
|
||||
}
|
||||
|
||||
/* 选中状态的列表项样式 */
|
||||
element selected.active,
|
||||
element selected.normal {
|
||||
text-color: @fg1;
|
||||
background-color: @bg2;
|
||||
}
|
||||
|
||||
/* 列表项图标样式 */
|
||||
element-icon {
|
||||
size: 1.5em;
|
||||
}
|
||||
244
modules/home/hyprland/conf/waybar/config.jsonc
Normal file
@@ -0,0 +1,244 @@
|
||||
// --// waybar config generated by wbarconfgen.sh //-- //
|
||||
|
||||
{
|
||||
// sourced from header module //
|
||||
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"mod": "dock",
|
||||
"height": 31,
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"gtk-layer-shell": true,
|
||||
|
||||
// positions generated based on config.ctl //
|
||||
|
||||
"modules-left": [
|
||||
"custom/padd",
|
||||
"custom/l_end",
|
||||
"custom/power",
|
||||
"custom/cliphist",
|
||||
"custom/wbar",
|
||||
"custom/mode",
|
||||
"custom/r_end",
|
||||
"custom/l_end",
|
||||
"wlr/taskbar",
|
||||
"custom/r_end",
|
||||
"custom/l_end",
|
||||
"wlr/workspaces",
|
||||
"hyprland/window",
|
||||
"custom/r_end",
|
||||
"custom/padd"
|
||||
],
|
||||
"modules-center": [
|
||||
"custom/padd",
|
||||
"custom/l_end",
|
||||
"clock",
|
||||
"custom/r_end",
|
||||
"custom/padd"
|
||||
],
|
||||
"modules-right": [
|
||||
"custom/padd",
|
||||
"custom/l_end",
|
||||
"tray",
|
||||
"custom/r_end",
|
||||
"custom/l_end",
|
||||
"cpu",
|
||||
"memory",
|
||||
"custom/r_end",
|
||||
"custom/l_end",
|
||||
"network",
|
||||
"bluetooth",
|
||||
"pulseaudio",
|
||||
"pulseaudio#microphone",
|
||||
"custom/r_end",
|
||||
"custom/padd"
|
||||
],
|
||||
|
||||
// sourced from modules based on config.ctl //
|
||||
|
||||
"custom/power": {
|
||||
"format": "{}",
|
||||
"exec": "echo ; echo logout",
|
||||
"on-click": "~/.config/hypr/scripts/logoutlaunch.sh 2",
|
||||
"interval": 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"custom/cliphist": {
|
||||
"format": "{}",
|
||||
"exec": "echo ; echo clipboard history",
|
||||
"on-click": "sleep 0.1 && ~/.config/hypr/scripts/cliphist.sh c 1",
|
||||
//"on-click-right": "sleep 0.1 && ~/.config/hypr/scripts/cliphist.sh d",
|
||||
"on-click-middle": "sleep 0.1 && ~/.config/hypr/scripts/cliphist.sh w 1",
|
||||
"interval": 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"custom/mode": {
|
||||
"format": "{}",
|
||||
"exec": "echo ; echo switch mode",
|
||||
"on-click": "~/.config/hypr/scripts/themeswitch.sh -n",
|
||||
"on-click-right": "~/.config/hypr/scripts/themeswitch.sh -p",
|
||||
"on-click-middle": "sleep 0.1 && ~/.config/hypr/scripts/themeselect.sh",
|
||||
"interval": 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
|
||||
"wlr/taskbar": {
|
||||
"format": "{icon}",
|
||||
"icon-size": 18,
|
||||
"icon-theme": "papirus-icon-theme",
|
||||
"spacing": 0,
|
||||
"tooltip-format": "{title}",
|
||||
"on-click": "activate",
|
||||
"on-click-middle": "close",
|
||||
"ignore-list": ["Alacritty"],
|
||||
"app_ids-mapping": {
|
||||
"firefoxdeveloperedition": "firefox-developer-edition"
|
||||
}
|
||||
},
|
||||
|
||||
"wlr/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"all-outputs": true,
|
||||
"on-click": "activate",
|
||||
"persistent_workspaces": {
|
||||
"1": [],
|
||||
"2": [],
|
||||
"3": [],
|
||||
"4": [],
|
||||
"5": [],
|
||||
"6": [],
|
||||
"7": [],
|
||||
"8": [],
|
||||
"9": [],
|
||||
"10": []
|
||||
}
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"format": "{:%Y/%m/%d %H:%M}",
|
||||
"format-alt": "{:%I:%M%p 周%u}",
|
||||
"tooltip-format": "<tt><big>{calendar}</big></tt>",
|
||||
"locale": "zh_CN.UTF-8"
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 18,
|
||||
"spacing": 5
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"interval": 10,
|
||||
"format": " {usage}%",
|
||||
"format-alt": "{icon0}{icon1}{icon2}{icon3}",
|
||||
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"]
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"interval": 30,
|
||||
"format": " {percentage}%",
|
||||
"format-alt": " {used}GB",
|
||||
"max-length": 10,
|
||||
"tooltip": true,
|
||||
"tooltip-format": " {used:0.1f}GB/{total:0.1f}GB"
|
||||
},
|
||||
|
||||
"network": {
|
||||
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||
"format-wifi": " {essid}",
|
||||
"format-ethernet": " Wired",
|
||||
"tooltip-format": " {ipaddr} {bandwidthUpBytes} {bandwidthDownBytes}",
|
||||
"format-linked": " {ifname} (No IP)",
|
||||
"format-disconnected": " Disconnected",
|
||||
"format-alt": " {signalStrength}%",
|
||||
"interval": 5
|
||||
},
|
||||
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"format-disabled": "", // an empty format will hide the module
|
||||
"format-connected": " {num_connections}",
|
||||
"tooltip-format": " {device_alias}",
|
||||
"tooltip-format-connected": "{device_enumerate}",
|
||||
"tooltip-format-enumerate-connected": " {device_alias}"
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}",
|
||||
"format-muted": "婢",
|
||||
"on-click": "pavucontrol -t 3",
|
||||
"on-click-middle": "~/.config/hypr/scripts/volumecontrol.sh -o m",
|
||||
"on-scroll-up": "~/.config/hypr/scripts/volumecontrol.sh -o i",
|
||||
"on-scroll-down": "~/.config/hypr/scripts/volumecontrol.sh -o d",
|
||||
"tooltip-format": "{icon} {desc} // {volume}%",
|
||||
"scroll-step": 5,
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
}
|
||||
},
|
||||
|
||||
"pulseaudio#microphone": {
|
||||
"format": "{format_source}",
|
||||
"format-source": "",
|
||||
"format-source-muted": "",
|
||||
"on-click": "pavucontrol -t 4",
|
||||
"on-click-middle": "~/.config/hypr/scripts/volumecontrol.sh -i m",
|
||||
"on-scroll-up": "~/.config/hypr/scripts/volumecontrol.sh -i i",
|
||||
"on-scroll-down": "~/.config/hypr/scripts/volumecontrol.sh -i d",
|
||||
"tooltip-format": "{format_source} {source_desc} // {source_volume}%",
|
||||
"scroll-step": 5
|
||||
},
|
||||
|
||||
// modules for padding //
|
||||
|
||||
"custom/l_end": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/r_end": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/sl_end": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/sr_end": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/rl_end": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/rr_end": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/padd": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
}
|
||||
}
|
||||
174
modules/home/hyprland/conf/waybar/style.css
Normal file
@@ -0,0 +1,174 @@
|
||||
@define-color bar-bg rgba(0, 0, 0, 0);
|
||||
@define-color main-color #cdd6f4;
|
||||
@define-color main-bg #11111b;
|
||||
@define-color tool-bg #1e1e2e;
|
||||
@define-color tool-color #cdd6f4;
|
||||
@define-color tool-border #11111b;
|
||||
@define-color wb-color #cdd6f4;
|
||||
@define-color wb-act-bg #a6adc8;
|
||||
@define-color wb-act-color #313244;
|
||||
@define-color wb-hvr-bg #f5c2e7;
|
||||
@define-color wb-hvr-color #313244;
|
||||
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
font-family: "JetBrainsMono Nerd Font";
|
||||
font-weight: bold;
|
||||
font-size: 11px;
|
||||
min-height: 10px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: @bar-bg;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: @tool-bg;
|
||||
color: @tool-color;
|
||||
border-radius: 21px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: @tool-border;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
padding: 0px;
|
||||
border-radius: 9px;
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
color: @wb-color;
|
||||
animation: gradient_f 20s ease-in infinite;
|
||||
transition: all 0.5s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background: @wb-act-bg;
|
||||
color: @wb-act-color;
|
||||
margin-left: 3px;
|
||||
padding-left: 12px;
|
||||
padding-right: 12px;
|
||||
margin-right: 3px;
|
||||
animation: gradient_f 20s ease-in infinite;
|
||||
transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: @wb-hvr-bg;
|
||||
color: @wb-hvr-color;
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
animation: gradient_f 20s ease-in infinite;
|
||||
transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#taskbar button {
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
padding: 0px;
|
||||
border-radius: 9px;
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
color: @wb-color;
|
||||
animation: gradient_f 20s ease-in infinite;
|
||||
transition: all 0.5s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#taskbar button.active {
|
||||
background: @wb-act-bg;
|
||||
color: @wb-act-color;
|
||||
margin-left: 3px;
|
||||
padding-left: 12px;
|
||||
padding-right: 12px;
|
||||
margin-right: 3px;
|
||||
animation: gradient_f 20s ease-in infinite;
|
||||
transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#taskbar button:hover {
|
||||
background: @wb-hvr-bg;
|
||||
color: @wb-hvr-color;
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
animation: gradient_f 20s ease-in infinite;
|
||||
transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#cpu,
|
||||
#memory,
|
||||
#battery,
|
||||
#clock,
|
||||
#workspaces,
|
||||
#window,
|
||||
#taskbar,
|
||||
#network,
|
||||
#bluetooth,
|
||||
#pulseaudio,
|
||||
#mpris,
|
||||
#custom-updates,
|
||||
#custom-wallchange,
|
||||
#custom-mode,
|
||||
#custom-cliphist,
|
||||
#custom-power,
|
||||
#custom-wbar,
|
||||
#custom-l_end,
|
||||
#custom-r_end,
|
||||
#custom-sl_end,
|
||||
#custom-sr_end,
|
||||
#custom-rl_end,
|
||||
#custom-rr_end,
|
||||
#tray {
|
||||
color: @main-color;
|
||||
background: @main-bg;
|
||||
opacity: 1;
|
||||
margin: 4px 0px 4px 0px;
|
||||
padding-left: 4px;
|
||||
padding-right: 4px;
|
||||
}
|
||||
|
||||
#workspaces,
|
||||
#taskbar {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
#custom-r_end {
|
||||
border-radius: 0px 21px 21px 0px;
|
||||
margin-right: 9px;
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
#custom-l_end {
|
||||
border-radius: 21px 0px 0px 21px;
|
||||
margin-left: 9px;
|
||||
padding-left: 3px;
|
||||
}
|
||||
|
||||
#custom-sr_end {
|
||||
border-radius: 0px;
|
||||
margin-right: 9px;
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
#custom-sl_end {
|
||||
border-radius: 0px;
|
||||
margin-left: 9px;
|
||||
padding-left: 3px;
|
||||
}
|
||||
|
||||
#custom-rr_end {
|
||||
border-radius: 0px 7px 7px 0px;
|
||||
margin-right: 9px;
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
#custom-rl_end {
|
||||
border-radius: 7px 0px 0px 7px;
|
||||
margin-left: 9px;
|
||||
padding-left: 3px;
|
||||
}
|
||||
BIN
modules/home/hyprland/conf/wlogout/icons/hibernate_dark.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
modules/home/hyprland/conf/wlogout/icons/hibernate_light.png
Normal file
|
After Width: | Height: | Size: 7.9 KiB |
BIN
modules/home/hyprland/conf/wlogout/icons/lock_dark.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
modules/home/hyprland/conf/wlogout/icons/lock_light.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
modules/home/hyprland/conf/wlogout/icons/logout_dark.png
Normal file
|
After Width: | Height: | Size: 8.8 KiB |
BIN
modules/home/hyprland/conf/wlogout/icons/logout_light.png
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
BIN
modules/home/hyprland/conf/wlogout/icons/reboot_dark.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
modules/home/hyprland/conf/wlogout/icons/reboot_light.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
modules/home/hyprland/conf/wlogout/icons/shutdown_dark.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
modules/home/hyprland/conf/wlogout/icons/shutdown_light.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
modules/home/hyprland/conf/wlogout/icons/suspend_dark.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
modules/home/hyprland/conf/wlogout/icons/suspend_light.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
41
modules/home/hyprland/conf/wlogout/layout_1
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"label" : "lock",
|
||||
"action" : "swaylock",
|
||||
"text" : "Lock",
|
||||
"keybind" : "l"
|
||||
}
|
||||
|
||||
{
|
||||
"label" : "logout",
|
||||
"action" : "hyprctl dispatch exit 0",
|
||||
"text" : "Logout",
|
||||
"keybind" : "e"
|
||||
}
|
||||
|
||||
{
|
||||
"label" : "suspend",
|
||||
"action" : "systemctl suspend",
|
||||
"text" : "Suspend",
|
||||
"keybind" : "u"
|
||||
}
|
||||
|
||||
{
|
||||
"label" : "shutdown",
|
||||
"action" : "systemctl poweroff",
|
||||
"text" : "Shutdown",
|
||||
"keybind" : "s"
|
||||
}
|
||||
|
||||
{
|
||||
"label" : "hibernate",
|
||||
"action" : "systemctl hibernate",
|
||||
"text" : "Hibernate",
|
||||
"keybind" : "h"
|
||||
}
|
||||
|
||||
{
|
||||
"label" : "reboot",
|
||||
"action" : "systemctl reboot",
|
||||
"text" : "Reboot",
|
||||
"keybind" : "r"
|
||||
}
|
||||
27
modules/home/hyprland/conf/wlogout/layout_2
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"label" : "lock",
|
||||
"action" : "swaylock",
|
||||
"text" : "Lock",
|
||||
"keybind" : "l"
|
||||
}
|
||||
|
||||
{
|
||||
"label" : "logout",
|
||||
"action" : "hyprctl dispatch exit 0",
|
||||
"text" : "Logout",
|
||||
"keybind" : "e"
|
||||
}
|
||||
|
||||
{
|
||||
"label" : "shutdown",
|
||||
"action" : "systemctl poweroff",
|
||||
"text" : "Shutdown",
|
||||
"keybind" : "s"
|
||||
}
|
||||
|
||||
{
|
||||
"label" : "reboot",
|
||||
"action" : "systemctl reboot",
|
||||
"text" : "Reboot",
|
||||
"keybind" : "r"
|
||||
}
|
||||
104
modules/home/hyprland/conf/wlogout/style_1.css
Normal file
@@ -0,0 +1,104 @@
|
||||
* {
|
||||
background-image: none;
|
||||
font-size: ${fntSize}px;
|
||||
}
|
||||
|
||||
@import "${wbarTheme}";
|
||||
|
||||
window {
|
||||
background-color: ${WindBg};
|
||||
}
|
||||
|
||||
button {
|
||||
color: ${BtnCol};
|
||||
background-color: @main-${BtnBkg};
|
||||
outline-style: none;
|
||||
border: none;
|
||||
border-width: 0px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 20%;
|
||||
border-radius: 0px;
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
animation: gradient_f 20s ease-in infinite;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
background-color: @wb-act-bg;
|
||||
background-size: 30%;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: @wb-hvr-bg;
|
||||
background-size: 40%;
|
||||
border-radius: ${active_rad}px;
|
||||
animation: gradient_f 20s ease-in infinite;
|
||||
transition: all 0.3s cubic-bezier(.55,0.0,.28,1.682);
|
||||
}
|
||||
|
||||
button:hover#lock {
|
||||
border-radius: ${active_rad}px;
|
||||
margin : ${hvr}px 0px ${hvr}px ${mgn}px;
|
||||
}
|
||||
|
||||
button:hover#logout {
|
||||
border-radius: ${active_rad}px;
|
||||
margin : ${hvr}px 0px ${hvr}px 0px;
|
||||
}
|
||||
|
||||
button:hover#suspend {
|
||||
border-radius: ${active_rad}px;
|
||||
margin : ${hvr}px 0px ${hvr}px 0px;
|
||||
}
|
||||
|
||||
button:hover#shutdown {
|
||||
border-radius: ${active_rad}px;
|
||||
margin : ${hvr}px 0px ${hvr}px 0px;
|
||||
}
|
||||
|
||||
button:hover#hibernate {
|
||||
border-radius: ${active_rad}px;
|
||||
margin : ${hvr}px 0px ${hvr}px 0px;
|
||||
}
|
||||
|
||||
button:hover#reboot {
|
||||
border-radius: ${active_rad}px;
|
||||
margin : ${hvr}px ${mgn}px ${hvr}px 0px;
|
||||
}
|
||||
|
||||
#lock {
|
||||
background-image: image(url("$HOME/.config/wlogout/icons/lock_${csMode}.png"), url("/usr/share/wlogout/icons/lock.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
||||
border-radius: ${button_rad}px 0px 0px ${button_rad}px;
|
||||
margin : ${mgn}px 0px ${mgn}px ${mgn}px;
|
||||
}
|
||||
|
||||
#logout {
|
||||
background-image: image(url("$HOME/.config/wlogout/icons/logout_${csMode}.png"), url("/usr/share/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
margin : ${mgn}px 0px ${mgn}px 0px;
|
||||
}
|
||||
|
||||
#suspend {
|
||||
background-image: image(url("$HOME/.config/wlogout/icons/suspend_${csMode}.png"), url("/usr/share/wlogout/icons/suspend.png"), url("/usr/local/share/wlogout/icons/suspend.png"));
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
margin : ${mgn}px 0px ${mgn}px 0px;
|
||||
}
|
||||
|
||||
#shutdown {
|
||||
background-image: image(url("$HOME/.config/wlogout/icons/shutdown_${csMode}.png"), url("/usr/share/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
margin : ${mgn}px 0px ${mgn}px 0px;
|
||||
}
|
||||
|
||||
#hibernate {
|
||||
background-image: image(url("$HOME/.config/wlogout/icons/hibernate_${csMode}.png"), url("/usr/share/wlogout/icons/hibernate.png"), url("/usr/local/share/wlogout/icons/hibernate.png"));
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
margin : ${mgn}px 0px ${mgn}px 0px;
|
||||
}
|
||||
|
||||
#reboot {
|
||||
background-image: image(url("$HOME/.config/wlogout/icons/reboot_${csMode}.png"), url("/usr/share/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||
border-radius: 0px ${button_rad}px ${button_rad}px 0px;
|
||||
margin : ${mgn}px ${mgn}px ${mgn}px 0px;
|
||||
}
|
||||
82
modules/home/hyprland/conf/wlogout/style_2.css
Normal file
@@ -0,0 +1,82 @@
|
||||
* {
|
||||
background-image: none;
|
||||
font-size: ${fntSize}px;
|
||||
}
|
||||
|
||||
@import "${wbarTheme}";
|
||||
|
||||
window {
|
||||
background-color: ${WindBg};
|
||||
}
|
||||
|
||||
button {
|
||||
color: ${BtnCol};
|
||||
background-color: @main-${BtnBkg};
|
||||
outline-style: none;
|
||||
border: none;
|
||||
border-width: 0px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 10%;
|
||||
border-radius: 0px;
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
animation: gradient_f 20s ease-in infinite;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
background-color: @wb-act-bg;
|
||||
background-size: 20%;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: @wb-hvr-bg;
|
||||
background-size: 25%;
|
||||
border-radius: ${active_rad}px;
|
||||
animation: gradient_f 20s ease-in infinite;
|
||||
transition: all 0.3s cubic-bezier(.55,0.0,.28,1.682);
|
||||
}
|
||||
|
||||
button:hover#lock {
|
||||
border-radius: ${active_rad}px ${active_rad}px 0px ${active_rad}px;
|
||||
margin : ${hvr}px 0px 0px ${hvr2}px;
|
||||
}
|
||||
|
||||
button:hover#logout {
|
||||
border-radius: ${active_rad}px 0px ${active_rad}px ${active_rad}px;
|
||||
margin : 0px 0px ${hvr}px ${hvr2}px;
|
||||
}
|
||||
|
||||
button:hover#shutdown {
|
||||
border-radius: ${active_rad}px ${active_rad}px ${active_rad}px 0px;
|
||||
margin : ${hvr}px ${hvr2}px 0px 0px;
|
||||
}
|
||||
|
||||
button:hover#reboot {
|
||||
border-radius: 0px ${active_rad}px ${active_rad}px ${active_rad}px;
|
||||
margin : 0px ${hvr2}px ${hvr}px 0px;
|
||||
}
|
||||
|
||||
#lock {
|
||||
background-image: image(url("$HOME/.config/wlogout/icons/lock_${csMode}.png"), url("/usr/share/wlogout/icons/lock.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
||||
border-radius: ${button_rad}px 0px 0px 0px;
|
||||
margin : ${mgn}px 0px 0px ${mgn2}px;
|
||||
}
|
||||
|
||||
#logout {
|
||||
background-image: image(url("$HOME/.config/wlogout/icons/logout_${csMode}.png"), url("/usr/share/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
||||
border-radius: 0px 0px 0px ${button_rad}px;
|
||||
margin : 0px 0px ${mgn}px ${mgn2}px;
|
||||
}
|
||||
|
||||
#shutdown {
|
||||
background-image: image(url("$HOME/.config/wlogout/icons/shutdown_${csMode}.png"), url("/usr/share/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
||||
border-radius: 0px ${button_rad}px 0px 0px;
|
||||
margin : ${mgn}px ${mgn2}px 0px 0px;
|
||||
}
|
||||
|
||||
#reboot {
|
||||
background-image: image(url("$HOME/.config/wlogout/icons/reboot_${csMode}.png"), url("/usr/share/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||
border-radius: 0px 0px ${button_rad}px 0px;
|
||||
margin : 0px ${mgn2}px ${mgn}px 0px;
|
||||
}
|
||||