Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5a852998ea | ||
|
|
4ce511c902 | ||
|
|
9583419fd8 | ||
|
|
478cd154ab | ||
|
|
a25122508f | ||
|
|
78f4605e09 | ||
|
|
efe98deb44 | ||
|
|
0b05a4d13b | ||
|
|
f57dde1200 | ||
|
|
8f08f6c0b1 | ||
|
|
f5765d0845 | ||
|
|
080df5f2d7 | ||
|
|
0c4e5085c2 | ||
|
|
9eee45ed40 | ||
|
|
5881c1c810 | ||
|
|
fbf117f909 | ||
|
|
8af7114fc0 | ||
|
|
716b518845 | ||
|
|
105f69edf8 | ||
|
|
33841ea15f | ||
|
|
2777bd3e1f | ||
|
|
f10fb1220b | ||
|
|
ead2dd9d44 | ||
|
|
9907e8f6ff | ||
|
|
d583b524d6 | ||
|
|
a5d5d63f52 | ||
|
|
4191c0da79 | ||
|
|
4a664f26bc | ||
|
|
2996c5eb56 | ||
|
|
c40ccfaa70 |
@@ -2,7 +2,6 @@
|
|||||||
eval "$(starship init bash)"
|
eval "$(starship init bash)"
|
||||||
|
|
||||||
alias Settings="cd ~/.config && nvim"
|
alias Settings="cd ~/.config && nvim"
|
||||||
alias Phone="scrcpy --max-fps=60 --no-audio --keyboard=uhid --mouse=uhid"
|
|
||||||
alias Key="cat ~/.ssh/id_rsa.pub"
|
alias Key="cat ~/.ssh/id_rsa.pub"
|
||||||
alias Server="ssh adrien@192.168.178.26"
|
alias Server="ssh adrien@192.168.178.26"
|
||||||
|
|
||||||
@@ -25,5 +24,6 @@ export SAL_USE_VCLPLUGIN=qt6
|
|||||||
|
|
||||||
export TERM=xterm
|
export TERM=xterm
|
||||||
|
|
||||||
# Created by `pipx` on 2025-06-15 21:36:45
|
|
||||||
export PATH="$PATH:/home/adrien/.local/bin"
|
export PATH="$PATH:/home/adrien/.local/bin"
|
||||||
|
|
||||||
|
wal -i ~/Pictures/Wallpapers/pywallpaper.jpg -n --cols16 -e
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
window-decoration = none
|
||||||
|
window-padding-x = 0
|
||||||
|
window-padding-y = 0
|
||||||
|
font-family = FiraCode Nerd Font Mono
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
source /home/$USER/.cache/wal/colors-hyprland
|
|
||||||
|
|
||||||
general {
|
|
||||||
lock_cmd = pidof hyprlock || hyprlock
|
|
||||||
ignore_dbus_inhibit = /opt/spotify/spotify
|
|
||||||
}
|
|
||||||
listener {
|
|
||||||
timeout = 270
|
|
||||||
on-timeout = source /home/eli/.cache/wal/colors.sh && notify-send "System" "You are about to be locked out!" -i $wallpaper
|
|
||||||
}
|
|
||||||
|
|
||||||
listener {
|
|
||||||
timeout = 600
|
|
||||||
on-timeout = loginctl lock-session
|
|
||||||
on-resume = sleep 2 && source /home/eli/.cache/wal/colors.sh && notify-send "System" "Unlocked! Hey $USER" -i $wallpaper
|
|
||||||
}
|
|
||||||
|
|
||||||
listener {
|
|
||||||
timeout = 1200
|
|
||||||
on-timeout = hyprctl dispatch dpms off
|
|
||||||
on-resume = hyprctl dispatch dpms on
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,298 +0,0 @@
|
|||||||
|
|
||||||
# #######################################################################################
|
|
||||||
# AUTOGENERATED HYPRLAND CONFIG.
|
|
||||||
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hyprland.conf AND EDIT IT,
|
|
||||||
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
|
|
||||||
# #######################################################################################
|
|
||||||
|
|
||||||
autogenerated = 1 # remove this line to remove the warning
|
|
||||||
|
|
||||||
# This is an example Hyprland config file.
|
|
||||||
# Refer to the wiki for more information.
|
|
||||||
# https://wiki.hyprland.org/Configuring/
|
|
||||||
|
|
||||||
# Please note not all available settings / options are set here.
|
|
||||||
# For a full list, see the wiki
|
|
||||||
|
|
||||||
# You can split this configuration into multiple files
|
|
||||||
# Create your files separately and then link them to this file like this:
|
|
||||||
# source = ~/.config/hypr/myColors.conf
|
|
||||||
|
|
||||||
|
|
||||||
################
|
|
||||||
### MONITORS ###
|
|
||||||
################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
|
||||||
monitor=,preferred,auto,auto
|
|
||||||
|
|
||||||
|
|
||||||
###################
|
|
||||||
### MY PROGRAMS ###
|
|
||||||
###################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
|
||||||
|
|
||||||
# Set programs that you use
|
|
||||||
$terminal = kitty
|
|
||||||
$fileManager = dolphin
|
|
||||||
$menu = wofi --show drun
|
|
||||||
|
|
||||||
|
|
||||||
#################
|
|
||||||
### AUTOSTART ###
|
|
||||||
#################
|
|
||||||
|
|
||||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
|
||||||
# Or execute your favorite apps at launch like this:
|
|
||||||
|
|
||||||
# exec-once = $terminal
|
|
||||||
# exec-once = nm-applet &
|
|
||||||
# exec-once = waybar & hyprpaper & firefox
|
|
||||||
|
|
||||||
|
|
||||||
#############################
|
|
||||||
### ENVIRONMENT VARIABLES ###
|
|
||||||
#############################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
|
||||||
|
|
||||||
env = XCURSOR_SIZE,24
|
|
||||||
env = HYPRCURSOR_SIZE,24
|
|
||||||
|
|
||||||
|
|
||||||
#####################
|
|
||||||
### LOOK AND FEEL ###
|
|
||||||
#####################
|
|
||||||
|
|
||||||
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
|
||||||
general {
|
|
||||||
gaps_in = 5
|
|
||||||
gaps_out = 20
|
|
||||||
|
|
||||||
border_size = 2
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
|
||||||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
|
||||||
col.inactive_border = rgba(595959aa)
|
|
||||||
|
|
||||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
|
||||||
resize_on_border = false
|
|
||||||
|
|
||||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
|
||||||
allow_tearing = false
|
|
||||||
|
|
||||||
layout = dwindle
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
|
||||||
decoration {
|
|
||||||
rounding = 10
|
|
||||||
rounding_power = 2
|
|
||||||
|
|
||||||
# Change transparency of focused and unfocused windows
|
|
||||||
active_opacity = 1.0
|
|
||||||
inactive_opacity = 1.0
|
|
||||||
|
|
||||||
shadow {
|
|
||||||
enabled = true
|
|
||||||
range = 4
|
|
||||||
render_power = 3
|
|
||||||
color = rgba(1a1a1aee)
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
|
||||||
blur {
|
|
||||||
enabled = true
|
|
||||||
size = 3
|
|
||||||
passes = 1
|
|
||||||
|
|
||||||
vibrancy = 0.1696
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
|
||||||
animations {
|
|
||||||
enabled = yes, please :)
|
|
||||||
|
|
||||||
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
||||||
|
|
||||||
bezier = easeOutQuint,0.23,1,0.32,1
|
|
||||||
bezier = easeInOutCubic,0.65,0.05,0.36,1
|
|
||||||
bezier = linear,0,0,1,1
|
|
||||||
bezier = almostLinear,0.5,0.5,0.75,1.0
|
|
||||||
bezier = quick,0.15,0,0.1,1
|
|
||||||
|
|
||||||
animation = global, 1, 10, default
|
|
||||||
animation = border, 1, 5.39, easeOutQuint
|
|
||||||
animation = windows, 1, 4.79, easeOutQuint
|
|
||||||
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
|
|
||||||
animation = windowsOut, 1, 1.49, linear, popin 87%
|
|
||||||
animation = fadeIn, 1, 1.73, almostLinear
|
|
||||||
animation = fadeOut, 1, 1.46, almostLinear
|
|
||||||
animation = fade, 1, 3.03, quick
|
|
||||||
animation = layers, 1, 3.81, easeOutQuint
|
|
||||||
animation = layersIn, 1, 4, easeOutQuint, fade
|
|
||||||
animation = layersOut, 1, 1.5, linear, fade
|
|
||||||
animation = fadeLayersIn, 1, 1.79, almostLinear
|
|
||||||
animation = fadeLayersOut, 1, 1.39, almostLinear
|
|
||||||
animation = workspaces, 1, 1.94, almostLinear, fade
|
|
||||||
animation = workspacesIn, 1, 1.21, almostLinear, fade
|
|
||||||
animation = workspacesOut, 1, 1.94, almostLinear, fade
|
|
||||||
}
|
|
||||||
|
|
||||||
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
|
|
||||||
# "Smart gaps" / "No gaps when only"
|
|
||||||
# uncomment all if you wish to use that.
|
|
||||||
# workspace = w[tv1], gapsout:0, gapsin:0
|
|
||||||
# workspace = f[1], gapsout:0, gapsin:0
|
|
||||||
# windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1]
|
|
||||||
# windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1]
|
|
||||||
# windowrulev2 = bordersize 0, floating:0, onworkspace:f[1]
|
|
||||||
# windowrulev2 = rounding 0, floating:0, onworkspace:f[1]
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
|
||||||
dwindle {
|
|
||||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
|
||||||
preserve_split = true # You probably want this
|
|
||||||
}
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
|
||||||
master {
|
|
||||||
new_status = master
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
|
||||||
misc {
|
|
||||||
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
|
||||||
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#############
|
|
||||||
### INPUT ###
|
|
||||||
#############
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
|
||||||
input {
|
|
||||||
kb_layout = us
|
|
||||||
kb_variant =
|
|
||||||
kb_model =
|
|
||||||
kb_options =
|
|
||||||
kb_rules =
|
|
||||||
|
|
||||||
follow_mouse = 1
|
|
||||||
|
|
||||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
|
||||||
|
|
||||||
touchpad {
|
|
||||||
natural_scroll = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
|
||||||
gestures {
|
|
||||||
workspace_swipe = false
|
|
||||||
}
|
|
||||||
|
|
||||||
# Example per-device config
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
|
||||||
device {
|
|
||||||
name = epic-mouse-v1
|
|
||||||
sensitivity = -0.5
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
###################
|
|
||||||
### KEYBINDINGS ###
|
|
||||||
###################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
|
||||||
$mainMod = SUPER # Sets "Windows" key as main modifier
|
|
||||||
|
|
||||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
|
||||||
bind = $mainMod, Q, exec, $terminal
|
|
||||||
bind = $mainMod, C, killactive,
|
|
||||||
bind = $mainMod, M, exit,
|
|
||||||
bind = $mainMod, E, exec, $fileManager
|
|
||||||
bind = $mainMod, V, togglefloating,
|
|
||||||
bind = $mainMod, R, exec, $menu
|
|
||||||
bind = $mainMod, P, pseudo, # dwindle
|
|
||||||
bind = $mainMod, J, togglesplit, # dwindle
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Example special workspace (scratchpad)
|
|
||||||
bind = $mainMod, S, togglespecialworkspace, magic
|
|
||||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
|
||||||
|
|
||||||
# Scroll through existing workspaces with mainMod + scroll
|
|
||||||
bind = $mainMod, mouse_down, workspace, e+1
|
|
||||||
bind = $mainMod, mouse_up, workspace, e-1
|
|
||||||
|
|
||||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
||||||
bindm = $mainMod, mouse:272, movewindow
|
|
||||||
bindm = $mainMod, mouse:273, resizewindow
|
|
||||||
|
|
||||||
# Laptop multimedia keys for volume and LCD brightness
|
|
||||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
|
||||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
|
||||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
|
||||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
|
||||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
|
|
||||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
|
|
||||||
|
|
||||||
# Requires playerctl
|
|
||||||
bindl = , XF86AudioNext, exec, playerctl next
|
|
||||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
|
||||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
|
||||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
|
||||||
|
|
||||||
##############################
|
|
||||||
### WINDOWS AND WORKSPACES ###
|
|
||||||
##############################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
|
||||||
|
|
||||||
# Example windowrule v1
|
|
||||||
# windowrule = float, ^(kitty)$
|
|
||||||
|
|
||||||
# Example windowrule v2
|
|
||||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
|
||||||
|
|
||||||
# Ignore maximize requests from apps. You'll probably like this.
|
|
||||||
windowrulev2 = suppressevent maximize, class:.*
|
|
||||||
|
|
||||||
# Fix some dragging issues with XWayland
|
|
||||||
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
|
||||||
@@ -1,194 +0,0 @@
|
|||||||
source = /home/$USER/.cache/wal/colors-hyprland
|
|
||||||
|
|
||||||
$terminal = kitty
|
|
||||||
$fileManager = kitty -d ~ yazi
|
|
||||||
# $menu = wofi --show drun -n
|
|
||||||
$menu = wofi -n
|
|
||||||
exec-once = hypridle
|
|
||||||
exec-once = waybar
|
|
||||||
exec-once = swww-daemon
|
|
||||||
exec-once = swaync
|
|
||||||
exec-once = pypr
|
|
||||||
exec-once = swaync-client -df
|
|
||||||
exec-once = pactl set-sink-mute @DEFAULT_SINK@ 0
|
|
||||||
exec-once = hyprctl plugin load $HOME/.local/share/hyprpm/dynamic-cursors/dynamic-cursors.so
|
|
||||||
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
|
|
||||||
env = XCURSOR_THEME,Bibata-Modern-Classic
|
|
||||||
env = XCURSOR_SIZE,12
|
|
||||||
|
|
||||||
plugin:dynamic-cursors {
|
|
||||||
mode = stretch
|
|
||||||
threshold = 2
|
|
||||||
shaperule = grab, stretch, stretch:limit: 2000
|
|
||||||
rotate {
|
|
||||||
length = 12
|
|
||||||
offset = 30
|
|
||||||
}
|
|
||||||
stretch {
|
|
||||||
limit = 1000
|
|
||||||
# linear - a linear function is used
|
|
||||||
# quadratic - a quadratic function is used
|
|
||||||
# negative_quadratic - negative version of the quadratic one, feels more aggressive
|
|
||||||
function = negative_quadratic
|
|
||||||
}
|
|
||||||
shake {
|
|
||||||
enabled = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
general {
|
|
||||||
|
|
||||||
gaps_in = 3
|
|
||||||
gaps_out = 10
|
|
||||||
border_size = 0
|
|
||||||
col.active_border = $color9
|
|
||||||
col.inactive_border = $color5
|
|
||||||
resize_on_border = true
|
|
||||||
allow_tearing = false
|
|
||||||
layout = dwindle
|
|
||||||
}
|
|
||||||
decoration {
|
|
||||||
rounding = 10
|
|
||||||
active_opacity = 0.78
|
|
||||||
inactive_opacity = 0.7
|
|
||||||
fullscreen_opacity = 1
|
|
||||||
blur {
|
|
||||||
enabled = true
|
|
||||||
size = 3
|
|
||||||
passes = 5
|
|
||||||
new_optimizations = true
|
|
||||||
ignore_opacity = true
|
|
||||||
xray = false
|
|
||||||
popups = true
|
|
||||||
}
|
|
||||||
shadow {
|
|
||||||
enabled = true
|
|
||||||
range = 15
|
|
||||||
render_power = 5
|
|
||||||
color = rgba(0,0,0,.5)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
animations {
|
|
||||||
enabled = true
|
|
||||||
bezier = fluid, 0.15, 0.85, 0.25, 1
|
|
||||||
bezier = snappy, 0.3, 1, 0.4, 1
|
|
||||||
animation = windows, 1, 3, fluid, popin 5%
|
|
||||||
animation = windowsOut, 1, 2.5, snappy
|
|
||||||
animation = fade, 1, 4, snappy
|
|
||||||
animation = workspaces, 1, 1.7, snappy, slide
|
|
||||||
animation = specialWorkspace, 1, 4, fluid, slidefadevert -35%
|
|
||||||
animation = layers, 1, 2, snappy, popin 70%
|
|
||||||
}
|
|
||||||
dwindle {
|
|
||||||
preserve_split = true
|
|
||||||
}
|
|
||||||
misc {
|
|
||||||
force_default_wallpaper = -1
|
|
||||||
disable_hyprland_logo = true
|
|
||||||
focus_on_activate = true
|
|
||||||
}
|
|
||||||
input {
|
|
||||||
kb_layout = us
|
|
||||||
follow_mouse = 1
|
|
||||||
sensitivity = 0
|
|
||||||
touchpad {
|
|
||||||
natural_scroll = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
gestures {
|
|
||||||
workspace_swipe = true
|
|
||||||
workspace_swipe_distance = 300
|
|
||||||
workspace_swipe_cancel_ratio = .05
|
|
||||||
workspace_swipe_min_speed_to_force = 0
|
|
||||||
}
|
|
||||||
device {
|
|
||||||
name = epic-mouse-v1
|
|
||||||
sensitivity = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
$mainMod = SUPER
|
|
||||||
|
|
||||||
# App
|
|
||||||
bind = $mainMod, Q, exec, $terminal
|
|
||||||
bind = $mainMod, D, exec, firefox
|
|
||||||
bind = $mainMod, E, exec, $fileManager
|
|
||||||
|
|
||||||
# Wofi menus
|
|
||||||
bind = $mainMod, R, exec, $menu
|
|
||||||
bind = $mainMod, P, exec, ~/.config/hypr/projects.sh
|
|
||||||
bind = $mainMod, W, exec, ~/.config/hypr/wallpaper.sh
|
|
||||||
|
|
||||||
# Window management
|
|
||||||
bind = $mainMod, B, killactive
|
|
||||||
bind = $mainMod, V, exec, hyprctl --batch "dispatch togglefloating; dispatch resizeactive exact 800 800; dispatch centerwindow 1;"
|
|
||||||
bind = $mainMod SHIFT, P, exec, pseudo
|
|
||||||
bind = $mainMod, O, togglesplit
|
|
||||||
bind = $mainMod, F, fullscreen
|
|
||||||
bindm = $mainMod, mouse:272, movewindow
|
|
||||||
bindm = $mainMod, mouse:273, resizewindow
|
|
||||||
|
|
||||||
# Sessions
|
|
||||||
bind = $mainMod, comma, exec, hyprlock
|
|
||||||
bind = $mainMod SHIFT, M, exec, wlogout -b 2
|
|
||||||
bind = $mainMod, M, exit
|
|
||||||
|
|
||||||
# Pypr
|
|
||||||
bind = $mainMod, SPACE, exec, pypr toggle term
|
|
||||||
bind = $mainMod, G, exec, pypr toggle music
|
|
||||||
bind = $mainMod, T, exec, pypr toggle taskbarcpu
|
|
||||||
bind = $mainMod, Y, exec, pypr toggle taskbargpu
|
|
||||||
|
|
||||||
# Vim type motion
|
|
||||||
bind = $mainMod, H, movefocus, l
|
|
||||||
bind = $mainMod, L, movefocus, r
|
|
||||||
bind = $mainMod, J, movefocus, d
|
|
||||||
bind = $mainMod, K, movefocus, u
|
|
||||||
bind = $mainMod ALT, H, movewindow, l
|
|
||||||
bind = $mainMod ALT, L, movewindow, r
|
|
||||||
bind = $mainMod ALT, J, movewindow, d
|
|
||||||
bind = $mainMod ALT, K, movewindow, u
|
|
||||||
|
|
||||||
# Workspace
|
|
||||||
bind = $mainMod, S, togglespecialworkspace, magic
|
|
||||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
|
||||||
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
|
|
||||||
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
|
|
||||||
|
|
||||||
# Scripts divers
|
|
||||||
bind = ALT, a, exec, ~/.config/waybar/scripts/refresh.sh
|
|
||||||
bind = ALT, B, exec, ~/.config/waybar/scripts/select.sh
|
|
||||||
bind = ALT, r, exec, ~/.config/swaync/refresh.sh
|
|
||||||
|
|
||||||
layerrule = blur, waybar
|
|
||||||
layerrule = ignorezero, waybar
|
|
||||||
layerrule = ignorealpha 0.5, waybar
|
|
||||||
layerrule = blur, swaync-control-center
|
|
||||||
layerrule = blur, swaync-notification-window
|
|
||||||
layerrule = ignorezero, swaync-control-center
|
|
||||||
layerrule = ignorezero, swaync-notification-window
|
|
||||||
layerrule = ignorealpha 0.5, swaync-control-center
|
|
||||||
layerrule = ignorealpha 0.5, swaync-notification-window
|
|
||||||
layerrule = noanim, selection
|
|
||||||
|
|
||||||
env = LIBVA_DRIVER_NAME,nvidia
|
|
||||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
source = /home/$USER/.cache/wal/colors-hyprland
|
|
||||||
|
|
||||||
background {
|
|
||||||
monitor =
|
|
||||||
path = $wallpaper
|
|
||||||
blur_size = 5
|
|
||||||
blur_passes = 3
|
|
||||||
brightness = .6
|
|
||||||
}
|
|
||||||
input-field {
|
|
||||||
monitor =
|
|
||||||
size = 6%, 4%
|
|
||||||
outline_thickness = 0
|
|
||||||
dots_rounding = 4
|
|
||||||
dots_spacing = .5
|
|
||||||
dots_fase_time = 300
|
|
||||||
inner_color = $backgroundCol
|
|
||||||
outer_color = $backgroundCol $backgroundCol
|
|
||||||
check_color= $backgroundCol $backgroundCol
|
|
||||||
fail_color= $backgroundCol $backgroundCol
|
|
||||||
font_color = $color9
|
|
||||||
font_family = CodeNewRoman Nerd Font Propo
|
|
||||||
fade_on_empty = false
|
|
||||||
shadow_color = rgba(0,0,0,0.5)
|
|
||||||
shadow_passes = 2
|
|
||||||
shadow_size = 2
|
|
||||||
rounding = 20
|
|
||||||
placeholder_text = <i></i>
|
|
||||||
fail_text = <b>FAIL</b>
|
|
||||||
fail_timeout = 300
|
|
||||||
position = 0, -100
|
|
||||||
halign = center
|
|
||||||
valign = center
|
|
||||||
}
|
|
||||||
label {
|
|
||||||
monitor =
|
|
||||||
text = cmd[update:1000] date +"<b>%I</b>"
|
|
||||||
color = $color9
|
|
||||||
font_size = 200
|
|
||||||
font_family = CodeNewRoman Nerd Font Propo
|
|
||||||
shadow_passes = 0
|
|
||||||
shadow_size = 5
|
|
||||||
position = -120, 410
|
|
||||||
halign = center
|
|
||||||
valign = center
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
label {
|
|
||||||
monitor =
|
|
||||||
text = cmd[update:1000] date +"<b>%M</b>"
|
|
||||||
color = rgba(150,150,150, .4)
|
|
||||||
font_size = 200
|
|
||||||
font_family = CodeNewRoman Nerd Font Propo
|
|
||||||
shadow_passes = 0
|
|
||||||
shadow_size = 5
|
|
||||||
position = 120, 230
|
|
||||||
halign = center
|
|
||||||
valign = center
|
|
||||||
}
|
|
||||||
label {
|
|
||||||
monitor =
|
|
||||||
text = cmd[update:1000] date +"<b>%A, %B %d, %Y</b>"
|
|
||||||
color = $color4
|
|
||||||
font_size = 40
|
|
||||||
font_family = CodeNewRoman Nerd Font Propo
|
|
||||||
shadow_passes = 0
|
|
||||||
shadow_size = 4
|
|
||||||
position = -40,-20
|
|
||||||
halign = right
|
|
||||||
valign = top
|
|
||||||
}
|
|
||||||
label {
|
|
||||||
monitor =
|
|
||||||
text = <i>Hello</i> <b>$USER</b>
|
|
||||||
color = $color5
|
|
||||||
font_size = 40
|
|
||||||
font_family = CodeNewRoman Nerd Font Propo
|
|
||||||
shadow_passes = 0
|
|
||||||
shadow_size = 4
|
|
||||||
position = 40,-20
|
|
||||||
halign = left
|
|
||||||
valign = top
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
[pyprland]
|
|
||||||
plugins = [
|
|
||||||
"scratchpads"
|
|
||||||
]
|
|
||||||
|
|
||||||
[scratchpads.term]
|
|
||||||
animation = "fromTop"
|
|
||||||
command = "kitty --class kitty-dropterm"
|
|
||||||
class = "kitty-dropterm"
|
|
||||||
position = "17% 6%"
|
|
||||||
size = "65% 60%"
|
|
||||||
offset = "200%"
|
|
||||||
|
|
||||||
[scratchpads.music]
|
|
||||||
animation = "fromBottom"
|
|
||||||
command = "kitty --class kitty-pulsemixer -e pulsemixer"
|
|
||||||
class = "kitty-pulsemixer"
|
|
||||||
size = "50% 20%"
|
|
||||||
offset = "200%"
|
|
||||||
|
|
||||||
[scratchpads.taskbarcpu]
|
|
||||||
animation = "fromLeft"
|
|
||||||
command = "kitty --class kitty-taskbar -e htop"
|
|
||||||
class = "kitty-taskbar"
|
|
||||||
size = "30% 80%"
|
|
||||||
offset = "200%"
|
|
||||||
|
|
||||||
[scratchpads.taskbargpu]
|
|
||||||
animation = "fromRight"
|
|
||||||
command = "kitty --class kitty-taskbar -e nvtop"
|
|
||||||
class = "kitty-taskbar"
|
|
||||||
size = "30% 80%"
|
|
||||||
offset = "200%"
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
WALLPAPER_DIR="$HOME/wallpapers/walls"
|
|
||||||
#I dont know what the fuck I am doing
|
|
||||||
menu() {
|
|
||||||
find "${WALLPAPER_DIR}" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" -o -iname "*.gif" \) | awk '{print "img:"$0}'
|
|
||||||
}
|
|
||||||
main() {
|
|
||||||
choice=$(menu | wofi -c ~/.config/wofi/wallpaper -s ~/.config/wofi/style-wallpaper.css --show dmenu --prompt "Select Wallpaper:" -n)
|
|
||||||
selected_wallpaper=$(echo "$choice" | sed 's/^img://')
|
|
||||||
swww img "$selected_wallpaper" --transition-type any --transition-fps 60 --transition-duration .5
|
|
||||||
wal -i "$selected_wallpaper" -n --cols16
|
|
||||||
swaync-client --reload-css
|
|
||||||
cat ~/.cache/wal/colors-kitty.conf > ~/.config/kitty/current-theme.conf
|
|
||||||
pywalfox update
|
|
||||||
color1=$(awk 'match($0, /color2=\47(.*)\47/,a) { print a[1] }' ~/.cache/wal/colors.sh)
|
|
||||||
color2=$(awk 'match($0, /color3=\47(.*)\47/,a) { print a[1] }' ~/.cache/wal/colors.sh)
|
|
||||||
cava_config="$HOME/.config/cava/config"
|
|
||||||
sed -i "s/^gradient_color_1 = .*/gradient_color_1 = '$color1'/" $cava_config
|
|
||||||
sed -i "s/^gradient_color_2 = .*/gradient_color_2 = '$color2'/" $cava_config
|
|
||||||
pkill -USR2 cava 2>/dev/null
|
|
||||||
source ~/.cache/wal/colors.sh && cp -r $wallpaper ~/wallpapers/pywallpaper.jpg
|
|
||||||
}
|
|
||||||
main
|
|
||||||
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
foreground #c2c2c2
|
|
||||||
background #0c0b0c
|
|
||||||
background_opacity 1.0
|
|
||||||
cursor #c2c2c2
|
|
||||||
|
|
||||||
active_tab_foreground #0c0b0c
|
|
||||||
active_tab_background #c2c2c2
|
|
||||||
inactive_tab_foreground #c2c2c2
|
|
||||||
inactive_tab_background #0c0b0c
|
|
||||||
|
|
||||||
active_border_color #c2c2c2
|
|
||||||
inactive_border_color #0c0b0c
|
|
||||||
bell_border_color #4b3f3c
|
|
||||||
|
|
||||||
color0 #0c0b0c
|
|
||||||
color8 #6a566a
|
|
||||||
color1 #4b3f3c
|
|
||||||
color9 #655451
|
|
||||||
color2 #772d25
|
|
||||||
color10 #9F3D32
|
|
||||||
color3 #774942
|
|
||||||
color11 #9F6259
|
|
||||||
color4 #9f4e41
|
|
||||||
color12 #D46857
|
|
||||||
color5 #876d54
|
|
||||||
color13 #B49271
|
|
||||||
color6 #a5744e
|
|
||||||
color14 #DC9B69
|
|
||||||
color7 #968b8b
|
|
||||||
color15 #c2c2c2
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
## name: Rosé Pine
|
|
||||||
## author: mvllow
|
|
||||||
## license: MIT
|
|
||||||
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine.conf
|
|
||||||
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
|
|
||||||
|
|
||||||
foreground #e0def4
|
|
||||||
background #191724
|
|
||||||
selection_foreground #e0def4
|
|
||||||
selection_background #403d52
|
|
||||||
|
|
||||||
cursor #524f67
|
|
||||||
cursor_text_color #e0def4
|
|
||||||
|
|
||||||
url_color #c4a7e7
|
|
||||||
|
|
||||||
active_tab_foreground #e0def4
|
|
||||||
active_tab_background #26233a
|
|
||||||
inactive_tab_foreground #6e6a86
|
|
||||||
inactive_tab_background #191724
|
|
||||||
|
|
||||||
# black
|
|
||||||
color0 #26233a
|
|
||||||
color8 #6e6a86
|
|
||||||
|
|
||||||
# red
|
|
||||||
color1 #eb6f92
|
|
||||||
color9 #eb6f92
|
|
||||||
|
|
||||||
# green
|
|
||||||
color2 #31748f
|
|
||||||
color10 #31748f
|
|
||||||
|
|
||||||
# yellow
|
|
||||||
color3 #f6c177
|
|
||||||
color11 #f6c177
|
|
||||||
|
|
||||||
# blue
|
|
||||||
color4 #9ccfd8
|
|
||||||
color12 #9ccfd8
|
|
||||||
|
|
||||||
# magenta
|
|
||||||
color5 #c4a7e7
|
|
||||||
color13 #c4a7e7
|
|
||||||
|
|
||||||
# cyan
|
|
||||||
color6 #ebbcba
|
|
||||||
color14 #ebbcba
|
|
||||||
|
|
||||||
# white
|
|
||||||
color7 #e0def4
|
|
||||||
color15 #e0def4
|
|
||||||
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# BEGIN_KITTY_FONTS
|
|
||||||
font_family family='Hurmit Nerd Font' postscript_name=HurmitNF-Regular
|
|
||||||
bold_font auto
|
|
||||||
italic_font auto
|
|
||||||
bold_italic_font auto
|
|
||||||
# END_KITTY_FONTS
|
|
||||||
window_padding_width 5
|
|
||||||
tab_bar_style slant
|
|
||||||
enable_audio_bell no
|
|
||||||
notify_on_cmd_finish unfocused
|
|
||||||
|
|
||||||
confirm_os_window_close 0
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
## name: Rosé Pine
|
|
||||||
## author: mvllow
|
|
||||||
## license: MIT
|
|
||||||
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine.conf
|
|
||||||
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
|
|
||||||
|
|
||||||
foreground #e0def4
|
|
||||||
background #191724
|
|
||||||
selection_foreground #e0def4
|
|
||||||
selection_background #403d52
|
|
||||||
|
|
||||||
cursor #524f67
|
|
||||||
cursor_text_color #e0def4
|
|
||||||
|
|
||||||
url_color #c4a7e7
|
|
||||||
|
|
||||||
active_tab_foreground #e0def4
|
|
||||||
active_tab_background #26233a
|
|
||||||
inactive_tab_foreground #6e6a86
|
|
||||||
inactive_tab_background #191724
|
|
||||||
|
|
||||||
# black
|
|
||||||
color0 #26233a
|
|
||||||
color8 #6e6a86
|
|
||||||
|
|
||||||
# red
|
|
||||||
color1 #eb6f92
|
|
||||||
color9 #eb6f92
|
|
||||||
|
|
||||||
# green
|
|
||||||
color2 #31748f
|
|
||||||
color10 #31748f
|
|
||||||
|
|
||||||
# yellow
|
|
||||||
color3 #f6c177
|
|
||||||
color11 #f6c177
|
|
||||||
|
|
||||||
# blue
|
|
||||||
color4 #9ccfd8
|
|
||||||
color12 #9ccfd8
|
|
||||||
|
|
||||||
# magenta
|
|
||||||
color5 #c4a7e7
|
|
||||||
color13 #c4a7e7
|
|
||||||
|
|
||||||
# cyan
|
|
||||||
color6 #ebbcba
|
|
||||||
color14 #ebbcba
|
|
||||||
|
|
||||||
# white
|
|
||||||
color7 #e0def4
|
|
||||||
color15 #e0def4
|
|
||||||
|
|
||||||
@@ -0,0 +1,109 @@
|
|||||||
|
spawn-at-startup "waybar"
|
||||||
|
spawn-at-startup "swww-daemon"
|
||||||
|
spawn-at-startup "wal -i ~/Pictures/Wallpapers/pywallpaper.jpg -n --cols16"
|
||||||
|
|
||||||
|
layout {
|
||||||
|
gaps 16
|
||||||
|
preset-column-widths {
|
||||||
|
proportion 0.33333
|
||||||
|
proportion 0.5
|
||||||
|
proportion 0.66667
|
||||||
|
}
|
||||||
|
default-column-width { proportion 0.33333; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
window-rule {
|
||||||
|
match is-focused=false
|
||||||
|
opacity 0.8
|
||||||
|
}
|
||||||
|
|
||||||
|
window-rule {
|
||||||
|
match is-focused=true
|
||||||
|
draw-border-with-background false
|
||||||
|
opacity 0.98
|
||||||
|
|
||||||
|
focus-ring {
|
||||||
|
on
|
||||||
|
width 4
|
||||||
|
active-color "#7fc8ff"
|
||||||
|
inactive-color "#505050"
|
||||||
|
urgent-color "#9b0000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
binds {
|
||||||
|
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||||
|
Mod+T hotkey-overlay-title="Open a Terminal: ghostty" { spawn "ghostty"; }
|
||||||
|
Mod+D hotkey-overlay-title="Run an Application: wofi" { spawn "~/.config/wofi/application.sh"; }
|
||||||
|
Mod+W hotkey-overlay-title="Change Wallpaper: wofi" { spawn "~/.config/wofi/wallpaper.sh"; }
|
||||||
|
Mod+P hotkey-overlay-title="Open Project: wofi" { spawn "~/.config/wofi/projects.sh"; }
|
||||||
|
Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; }
|
||||||
|
|
||||||
|
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+"; }
|
||||||
|
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
|
||||||
|
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
|
||||||
|
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
|
||||||
|
|
||||||
|
Mod+O repeat=false { toggle-overview; }
|
||||||
|
Mod+Q repeat=false { close-window; }
|
||||||
|
|
||||||
|
Mod+Left { focus-column-left; }
|
||||||
|
Mod+Down { focus-window-down; }
|
||||||
|
Mod+Up { focus-window-up; }
|
||||||
|
Mod+Right { focus-column-right; }
|
||||||
|
Mod+H { focus-column-left; }
|
||||||
|
Mod+J { focus-window-down; }
|
||||||
|
Mod+K { focus-window-up; }
|
||||||
|
Mod+L { focus-column-right; }
|
||||||
|
|
||||||
|
Mod+Ctrl+Left { move-column-left; }
|
||||||
|
Mod+Ctrl+Down { move-window-down; }
|
||||||
|
Mod+Ctrl+Up { move-window-up; }
|
||||||
|
Mod+Ctrl+Right { move-column-right; }
|
||||||
|
Mod+Ctrl+H { move-column-left; }
|
||||||
|
Mod+Ctrl+J { move-window-down; }
|
||||||
|
Mod+Ctrl+K { move-window-up; }
|
||||||
|
Mod+Ctrl+L { move-column-right; }
|
||||||
|
|
||||||
|
Mod+Home { focus-column-first; }
|
||||||
|
|
||||||
|
Mod+Page_Down { focus-workspace-down; }
|
||||||
|
Mod+Page_Up { focus-workspace-up; }
|
||||||
|
Mod+U { focus-workspace-down; }
|
||||||
|
Mod+I { focus-workspace-up; }
|
||||||
|
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
|
||||||
|
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
|
||||||
|
Mod+Ctrl+U { move-column-to-workspace-down; }
|
||||||
|
Mod+Ctrl+I { move-column-to-workspace-up; }
|
||||||
|
|
||||||
|
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
||||||
|
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
||||||
|
|
||||||
|
Mod+BracketLeft { consume-or-expel-window-left; }
|
||||||
|
Mod+BracketRight { consume-or-expel-window-right; }
|
||||||
|
|
||||||
|
Mod+R { switch-preset-column-width; }
|
||||||
|
Mod+Shift+R { switch-preset-window-height; }
|
||||||
|
Mod+Ctrl+R { reset-window-height; }
|
||||||
|
Mod+F { maximize-column; }
|
||||||
|
Mod+Shift+F { fullscreen-window; }
|
||||||
|
|
||||||
|
Mod+C { center-column; }
|
||||||
|
Mod+Ctrl+C { center-visible-columns; }
|
||||||
|
|
||||||
|
Mod+Minus { set-column-width "-10%"; }
|
||||||
|
Mod+Equal { set-column-width "+10%"; }
|
||||||
|
Mod+Shift+Minus { set-window-height "-10%"; }
|
||||||
|
Mod+Shift+Equal { set-window-height "+10%"; }
|
||||||
|
|
||||||
|
Mod+S { toggle-column-tabbed-display; }
|
||||||
|
Mod+Space { switch-layout "next"; }
|
||||||
|
Mod+Shift+Space { switch-layout "prev"; }
|
||||||
|
|
||||||
|
Print { screenshot; }
|
||||||
|
Ctrl+Print { screenshot-screen; }
|
||||||
|
Alt+Print { screenshot-window; }
|
||||||
|
|
||||||
|
Mod+Shift+P { power-off-monitors; }
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
@@ -1,132 +1,44 @@
|
|||||||
{
|
{
|
||||||
"layer": "top",
|
"layer": "top",
|
||||||
"position": "top",
|
"position": "top",
|
||||||
"reload_style_on_change": true,
|
"height": 16,
|
||||||
"modules-left": ["custom/notification","clock","custom/pacman","tray"],
|
"spacing": 10,
|
||||||
"modules-center": ["hyprland/workspaces"],
|
|
||||||
"modules-right": ["group/expand","bluetooth","network","battery"],
|
|
||||||
|
|
||||||
|
"modules-left": ["clock"],
|
||||||
|
"modules-center": ["niri/window"],
|
||||||
|
"modules-right": ["cpu","memory","network"],
|
||||||
|
|
||||||
"hyprland/workspaces": {
|
"clock": {
|
||||||
"format": "{icon}",
|
"format": "{:%d.%m.%Y | %H:%M}"
|
||||||
"format-icons": {
|
},
|
||||||
"active": "",
|
|
||||||
"default": "",
|
"cpu": {
|
||||||
"empty": ""
|
"interval": 10,
|
||||||
},
|
"format": "CPU: {}%",
|
||||||
"persistent-workspaces": {
|
"max-length": 10
|
||||||
"*": [ 1,2,3,4,5 ]
|
},
|
||||||
}
|
|
||||||
},
|
"memory": {
|
||||||
"custom/notification": {
|
"interval": 30,
|
||||||
"tooltip": false,
|
"format": "\uf4bc {used:0.1f}G"
|
||||||
"format": "",
|
},
|
||||||
"on-click": "swaync-client -t -sw",
|
|
||||||
"escape": true
|
"network": {
|
||||||
},
|
"format": "",
|
||||||
"clock": {
|
"format-ethernet": "\udb83\udc9d",
|
||||||
"format": "{:%I:%M:%S %p} ",
|
"format-wifi": "{icon}",
|
||||||
"interval": 1,
|
"format-disconnected": "\udb83\udc9c",
|
||||||
"tooltip-format": "<tt>{calendar}</tt>",
|
"format-icons": ["\udb82\udd2f", "\udb82\udd1f", "\udb82\udd22", "\udb82\udd25", "\udb82\udd28"],
|
||||||
"calendar": {
|
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
|
||||||
"format": {
|
"tooltip-format-ethernet": "{ifname}",
|
||||||
"today": "<span color='#fAfBfC'><b>{}</b></span>"
|
"tooltip-format-disconnected": "Disconnected",
|
||||||
}
|
},
|
||||||
},
|
|
||||||
"actions": {
|
"niri/window": {
|
||||||
"on-click-right": "shift_down",
|
"format": "{}",
|
||||||
"on-click": "shift_up"
|
"rewrite": {
|
||||||
}
|
"(.*) - Mozilla Firefox": "🌎 $1",
|
||||||
},
|
"(.*) - zsh": "> [$1]"
|
||||||
"network": {
|
}
|
||||||
"format-wifi": "",
|
}
|
||||||
"format-ethernet":"",
|
|
||||||
"format-disconnected": "",
|
|
||||||
"tooltip-format-disconnected": "Error",
|
|
||||||
"tooltip-format-wifi": "{essid} ({signalStrength}%) ",
|
|
||||||
"tooltip-format-ethernet": "{ifname} 🖧 ",
|
|
||||||
"on-click": "kitty nmtui"
|
|
||||||
},
|
|
||||||
"bluetooth": {
|
|
||||||
"format-on": "",
|
|
||||||
"format-off": "BT-off",
|
|
||||||
"format-disabled": "",
|
|
||||||
"format-connected-battery": "{device_battery_percentage}% ",
|
|
||||||
"format-alt": "{device_alias} ",
|
|
||||||
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
|
|
||||||
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
|
|
||||||
"tooltip-format-enumerate-connected": "{device_alias}\n{device_address}",
|
|
||||||
"tooltip-format-enumerate-connected-battery": "{device_alias}\n{device_address}\n{device_battery_percentage}%",
|
|
||||||
"on-click-right": "blueman-manager",
|
|
||||||
},
|
|
||||||
"battery": {
|
|
||||||
"interval":30,
|
|
||||||
"states": {
|
|
||||||
"good": 95,
|
|
||||||
"warning": 30,
|
|
||||||
"critical": 20
|
|
||||||
},
|
|
||||||
"format": "{capacity}% {icon}",
|
|
||||||
"format-charging": "{capacity}% ",
|
|
||||||
"format-plugged": "{capacity}% ",
|
|
||||||
"format-alt": "{time} {icon}",
|
|
||||||
"format-icons": [
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
""
|
|
||||||
],
|
|
||||||
},
|
|
||||||
"custom/pacman": {
|
|
||||||
"format": " {}",
|
|
||||||
"interval": 30,
|
|
||||||
"exec": "checkupdates | wc -l",
|
|
||||||
"exec-if": "exit 0",
|
|
||||||
"on-click": "kitty sh -c 'yay -Syu; echo Done - Press enter to exit; read'; pkill -SIGRTMIN+8 waybar",
|
|
||||||
"signal": 8,
|
|
||||||
"tooltip": false,
|
|
||||||
},
|
|
||||||
"custom/expand": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/endpoint":{
|
|
||||||
"format": "|",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"group/expand": {
|
|
||||||
"orientation": "horizontal",
|
|
||||||
"drawer": {
|
|
||||||
"transition-duration": 600,
|
|
||||||
"transition-to-left": true,
|
|
||||||
"click-to-reveal": true
|
|
||||||
},
|
|
||||||
"modules": ["custom/expand", "custom/colorpicker","cpu","memory","temperature","custom/endpoint"],
|
|
||||||
},
|
|
||||||
"custom/colorpicker": {
|
|
||||||
"format": "{}",
|
|
||||||
"return-type": "json",
|
|
||||||
"interval": "once",
|
|
||||||
"exec": "~/.config/waybar/scripts/colorpicker.sh -j",
|
|
||||||
"on-click": "~/.config/waybar/scripts/colorpicker.sh",
|
|
||||||
"signal": 1
|
|
||||||
},
|
|
||||||
"cpu": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": true
|
|
||||||
},
|
|
||||||
"memory": {
|
|
||||||
"format": ""
|
|
||||||
},
|
|
||||||
"temperature": {
|
|
||||||
"critical-threshold": 80,
|
|
||||||
"format": "",
|
|
||||||
},
|
|
||||||
"tray": {
|
|
||||||
"icon-size": 14,
|
|
||||||
"spacing": 10
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,54 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
check() {
|
|
||||||
command -v "$1" 1>/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
loc="$HOME/.cache/colorpicker"
|
|
||||||
[ -d "$loc" ] || mkdir -p "$loc"
|
|
||||||
[ -f "$loc/colors" ] || touch "$loc/colors"
|
|
||||||
|
|
||||||
limit=10
|
|
||||||
|
|
||||||
[[ $# -eq 1 && $1 = "-l" ]] && {
|
|
||||||
cat "$loc/colors"
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
[[ $# -eq 1 && $1 = "-j" ]] && {
|
|
||||||
text="$(head -n 1 "$loc/colors")"
|
|
||||||
|
|
||||||
mapfile -t allcolors < <(tail -n +2 "$loc/colors")
|
|
||||||
# allcolors=($(tail -n +2 "$loc/colors"))
|
|
||||||
tooltip="<b> COLORS</b>\n\n"
|
|
||||||
|
|
||||||
tooltip+="-> <b>$text</b> <span color='$text'></span> \n"
|
|
||||||
for i in "${allcolors[@]}"; do
|
|
||||||
tooltip+=" <b>$i</b> <span color='$i'></span> \n"
|
|
||||||
done
|
|
||||||
|
|
||||||
cat <<EOF
|
|
||||||
{ "text":"<span color='$text'></span>", "tooltip":"$tooltip"}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
check hyprpicker || {
|
|
||||||
notify "hyprpicker is not installed"
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
killall -q hyprpicker
|
|
||||||
color=$(hyprpicker)
|
|
||||||
|
|
||||||
check wl-copy && {
|
|
||||||
echo "$color" | sed -z 's/\n//g' | wl-copy
|
|
||||||
}
|
|
||||||
|
|
||||||
prevColors=$(head -n $((limit - 1)) "$loc/colors")
|
|
||||||
echo "$color" >"$loc/colors"
|
|
||||||
echo "$prevColors" >>"$loc/colors"
|
|
||||||
sed -i '/^$/d' "$loc/colors"
|
|
||||||
source ~/.cache/wal/colors.sh && notify-send "Color Picker" "This color has been selected: $color" -i $wallpaper
|
|
||||||
pkill -RTMIN+1 waybar
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Check if waybar is running
|
|
||||||
if pgrep -x "waybar" > /dev/null; then
|
|
||||||
# If running, kill the waybar process
|
|
||||||
pkill -x "waybar"
|
|
||||||
else
|
|
||||||
# If not running, start waybar
|
|
||||||
waybar &
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
WAYBAR_DIR="$HOME/.config/waybar"
|
|
||||||
STYLECSS="$WAYBAR_DIR/style.css"
|
|
||||||
CONFIG="$WAYBAR_DIR/config"
|
|
||||||
ASSETS="$WAYBAR_DIR/assets"
|
|
||||||
THEMES="$WAYBAR_DIR/themes"
|
|
||||||
menu() {
|
|
||||||
find "${ASSETS}" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" -o -iname "*.gif" \) | awk '{print "img:"$0}'
|
|
||||||
}
|
|
||||||
main() {
|
|
||||||
choice=$(menu | wofi -c ~/.config/wofi/waybar -s ~/.config/wofi/style-waybar.css --show dmenu --prompt " Select Waybar (Scroll with Arrows)" -n)
|
|
||||||
selected_wallpaper=$(echo "$choice" | sed 's/^img://')
|
|
||||||
echo $selected_wallpaper
|
|
||||||
if [[ "$selected_wallpaper" == "$ASSETS/experimental.png" ]]; then
|
|
||||||
cat $THEMES/experimental/style-experimental.css > $STYLECSS
|
|
||||||
cat $THEMES/experimental/config-experimental > $CONFIG
|
|
||||||
pkill waybar && waybar
|
|
||||||
elif [[ "$selected_wallpaper" == "$ASSETS/main.png" ]]; then
|
|
||||||
cat $THEMES/default/style-default.css > $STYLECSS
|
|
||||||
cat $THEMES/default/config-default > $CONFIG
|
|
||||||
pkill waybar && waybar
|
|
||||||
elif [[ "$selected_wallpaper" == "$ASSETS/line.png" ]]; then
|
|
||||||
cat $THEMES/line/style-line.css > $STYLECSS
|
|
||||||
cat $THEMES/line/config-line > $CONFIG
|
|
||||||
pkill waybar && waybar
|
|
||||||
elif [[ "$selected_wallpaper" == "$ASSETS/zen.png" ]]; then
|
|
||||||
cat $THEMES/zen/style-zen.css > $STYLECSS
|
|
||||||
cat $THEMES/zen/config-zen > $CONFIG
|
|
||||||
pkill waybar && waybar
|
|
||||||
fi
|
|
||||||
|
|
||||||
}
|
|
||||||
main
|
|
||||||
@@ -1,167 +1,26 @@
|
|||||||
@import url('../../.cache/wal/colors-waybar.css');
|
@define-color foreground #eeeeee;
|
||||||
|
@define-color foreground-inactive #aaaaaa;
|
||||||
|
@define-color background #000000;
|
||||||
|
|
||||||
* {
|
* {
|
||||||
font-size:15px;
|
font-family: FiraCode Nerd Font Mono;
|
||||||
font-family: "CodeNewRoman Nerd Font Propo";
|
font-size: 16px;
|
||||||
}
|
padding: 0;
|
||||||
window#waybar{
|
margin: 0;
|
||||||
all:unset;
|
|
||||||
}
|
|
||||||
.modules-left {
|
|
||||||
padding:7px;
|
|
||||||
margin:10 0 5 10;
|
|
||||||
border-radius:10px;
|
|
||||||
background: alpha(@background,.6);
|
|
||||||
box-shadow: 0px 0px 2px rgba(0, 0, 0, .6);
|
|
||||||
}
|
|
||||||
.modules-center {
|
|
||||||
padding:7px;
|
|
||||||
margin:10 0 5 0;
|
|
||||||
border-radius:10px;
|
|
||||||
background: alpha(@background,.6);
|
|
||||||
box-shadow: 0px 0px 2px rgba(0, 0, 0, .6);
|
|
||||||
}
|
|
||||||
.modules-right {
|
|
||||||
padding:7px;
|
|
||||||
margin: 10 10 5 0;
|
|
||||||
border-radius:10px;
|
|
||||||
background: alpha(@background,.6);
|
|
||||||
box-shadow: 0px 0px 2px rgba(0, 0, 0, .6);
|
|
||||||
}
|
|
||||||
tooltip {
|
|
||||||
background:@background;
|
|
||||||
color: @color7;
|
|
||||||
}
|
|
||||||
#clock:hover, #custom-pacman:hover, #custom-notification:hover,#bluetooth:hover,#network:hover,#battery:hover, #cpu:hover,#memory:hover,#temperature:hover{
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color9;
|
|
||||||
}
|
|
||||||
#custom-notification {
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
}
|
|
||||||
#clock{
|
|
||||||
padding: 0px 5px;
|
|
||||||
color:@color7;
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
#custom-pacman{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
}
|
|
||||||
#workspaces {
|
|
||||||
padding: 0px 5px;
|
|
||||||
}
|
|
||||||
#workspaces button {
|
|
||||||
all:unset;
|
|
||||||
padding: 0px 5px;
|
|
||||||
color: alpha(@color9,.4);
|
|
||||||
transition: all .2s ease;
|
|
||||||
}
|
|
||||||
#workspaces button:hover {
|
|
||||||
color:rgba(0,0,0,0);
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, .5);
|
|
||||||
transition: all 1s ease;
|
|
||||||
}
|
|
||||||
#workspaces button.active {
|
|
||||||
color: @color9;
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 2px rgba(0, 0, 0, .5);
|
|
||||||
}
|
|
||||||
#workspaces button.empty {
|
|
||||||
color: rgba(0,0,0,0);
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, .2);
|
|
||||||
}
|
|
||||||
#workspaces button.empty:hover {
|
|
||||||
color: rgba(0,0,0,0);
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, .5);
|
|
||||||
transition: all 1s ease;
|
|
||||||
}
|
|
||||||
#workspaces button.empty.active {
|
|
||||||
color: @color9;
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 2px rgba(0, 0, 0, .5);
|
|
||||||
}
|
|
||||||
#bluetooth{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
}
|
|
||||||
#network{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
}
|
|
||||||
#battery{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
#battery.charging {
|
|
||||||
color: #26A65B;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery.warning:not(.charging) {
|
#waybar {
|
||||||
color: #ffbe61;
|
color: @foreground;
|
||||||
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery.critical:not(.charging) {
|
#network,
|
||||||
color: #f53c3c;
|
#cpu,
|
||||||
animation-name: blink;
|
#clock,
|
||||||
animation-duration: 0.5s;
|
#memory,
|
||||||
animation-timing-function: linear;
|
#window {
|
||||||
animation-iteration-count: infinite;
|
padding-left: 10px;
|
||||||
animation-direction: alternate;
|
padding-right: 10px;
|
||||||
}
|
padding-top: 3px;
|
||||||
#group-expand{
|
padding-bottom: 3px;
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
#custom-expand{
|
|
||||||
padding: 0px 5px;
|
|
||||||
color:alpha(@foreground,.2);
|
|
||||||
text-shadow: 0px 0px 2px rgba(0, 0, 0, .7);
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
#custom-expand:hover{
|
|
||||||
color:rgba(255,255,255,.2);
|
|
||||||
text-shadow: 0px 0px 2px rgba(255, 255, 255, .5);
|
|
||||||
}
|
|
||||||
#custom-colorpicker{
|
|
||||||
padding: 0px 5px;
|
|
||||||
}
|
|
||||||
#cpu,#memory,#temperature{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
}
|
|
||||||
#custom-endpoint{
|
|
||||||
color:transparent;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, 1);
|
|
||||||
|
|
||||||
}
|
|
||||||
#tray{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
|
|
||||||
}
|
|
||||||
#tray menu * {
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
#tray menu separator {
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,132 +0,0 @@
|
|||||||
{
|
|
||||||
"layer": "top",
|
|
||||||
"position": "top",
|
|
||||||
"reload_style_on_change": true,
|
|
||||||
"modules-left": ["custom/notification","clock","custom/pacman","tray"],
|
|
||||||
"modules-center": ["hyprland/workspaces"],
|
|
||||||
"modules-right": ["group/expand","bluetooth","network","battery"],
|
|
||||||
|
|
||||||
|
|
||||||
"hyprland/workspaces": {
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"active": "",
|
|
||||||
"default": "",
|
|
||||||
"empty": ""
|
|
||||||
},
|
|
||||||
"persistent-workspaces": {
|
|
||||||
"*": [ 1,2,3,4,5 ]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"custom/notification": {
|
|
||||||
"tooltip": false,
|
|
||||||
"format": "",
|
|
||||||
"on-click": "swaync-client -t -sw",
|
|
||||||
"escape": true
|
|
||||||
},
|
|
||||||
"clock": {
|
|
||||||
"format": "{:%I:%M:%S %p} ",
|
|
||||||
"interval": 1,
|
|
||||||
"tooltip-format": "<tt>{calendar}</tt>",
|
|
||||||
"calendar": {
|
|
||||||
"format": {
|
|
||||||
"today": "<span color='#fAfBfC'><b>{}</b></span>"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"actions": {
|
|
||||||
"on-click-right": "shift_down",
|
|
||||||
"on-click": "shift_up"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"network": {
|
|
||||||
"format-wifi": "",
|
|
||||||
"format-ethernet":"",
|
|
||||||
"format-disconnected": "",
|
|
||||||
"tooltip-format-disconnected": "Error",
|
|
||||||
"tooltip-format-wifi": "{essid} ({signalStrength}%) ",
|
|
||||||
"tooltip-format-ethernet": "{ifname} 🖧 ",
|
|
||||||
"on-click": "kitty nmtui"
|
|
||||||
},
|
|
||||||
"bluetooth": {
|
|
||||||
"format-on": "",
|
|
||||||
"format-off": "BT-off",
|
|
||||||
"format-disabled": "",
|
|
||||||
"format-connected-battery": "{device_battery_percentage}% ",
|
|
||||||
"format-alt": "{device_alias} ",
|
|
||||||
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
|
|
||||||
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
|
|
||||||
"tooltip-format-enumerate-connected": "{device_alias}\n{device_address}",
|
|
||||||
"tooltip-format-enumerate-connected-battery": "{device_alias}\n{device_address}\n{device_battery_percentage}%",
|
|
||||||
"on-click-right": "blueman-manager",
|
|
||||||
},
|
|
||||||
"battery": {
|
|
||||||
"interval":30,
|
|
||||||
"states": {
|
|
||||||
"good": 95,
|
|
||||||
"warning": 30,
|
|
||||||
"critical": 20
|
|
||||||
},
|
|
||||||
"format": "{capacity}% {icon}",
|
|
||||||
"format-charging": "{capacity}% ",
|
|
||||||
"format-plugged": "{capacity}% ",
|
|
||||||
"format-alt": "{time} {icon}",
|
|
||||||
"format-icons": [
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
""
|
|
||||||
],
|
|
||||||
},
|
|
||||||
"custom/pacman": {
|
|
||||||
"format": " {}",
|
|
||||||
"interval": 30,
|
|
||||||
"exec": "checkupdates | wc -l",
|
|
||||||
"exec-if": "exit 0",
|
|
||||||
"on-click": "kitty sh -c 'yay -Syu; echo Done - Press enter to exit; read'; pkill -SIGRTMIN+8 waybar",
|
|
||||||
"signal": 8,
|
|
||||||
"tooltip": false,
|
|
||||||
},
|
|
||||||
"custom/expand": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/endpoint":{
|
|
||||||
"format": "|",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"group/expand": {
|
|
||||||
"orientation": "horizontal",
|
|
||||||
"drawer": {
|
|
||||||
"transition-duration": 600,
|
|
||||||
"transition-to-left": true,
|
|
||||||
"click-to-reveal": true
|
|
||||||
},
|
|
||||||
"modules": ["custom/expand", "custom/colorpicker","cpu","memory","temperature","custom/endpoint"],
|
|
||||||
},
|
|
||||||
"custom/colorpicker": {
|
|
||||||
"format": "{}",
|
|
||||||
"return-type": "json",
|
|
||||||
"interval": "once",
|
|
||||||
"exec": "~/.config/waybar/scripts/colorpicker.sh -j",
|
|
||||||
"on-click": "~/.config/waybar/scripts/colorpicker.sh",
|
|
||||||
"signal": 1
|
|
||||||
},
|
|
||||||
"cpu": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": true
|
|
||||||
},
|
|
||||||
"memory": {
|
|
||||||
"format": ""
|
|
||||||
},
|
|
||||||
"temperature": {
|
|
||||||
"critical-threshold": 80,
|
|
||||||
"format": "",
|
|
||||||
},
|
|
||||||
"tray": {
|
|
||||||
"icon-size": 14,
|
|
||||||
"spacing": 10
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,167 +0,0 @@
|
|||||||
@import url('../../.cache/wal/colors-waybar.css');
|
|
||||||
|
|
||||||
* {
|
|
||||||
font-size:15px;
|
|
||||||
font-family: "CodeNewRoman Nerd Font Propo";
|
|
||||||
}
|
|
||||||
window#waybar{
|
|
||||||
all:unset;
|
|
||||||
}
|
|
||||||
.modules-left {
|
|
||||||
padding:7px;
|
|
||||||
margin:10 0 5 10;
|
|
||||||
border-radius:10px;
|
|
||||||
background: alpha(@background,.6);
|
|
||||||
box-shadow: 0px 0px 2px rgba(0, 0, 0, .6);
|
|
||||||
}
|
|
||||||
.modules-center {
|
|
||||||
padding:7px;
|
|
||||||
margin:10 0 5 0;
|
|
||||||
border-radius:10px;
|
|
||||||
background: alpha(@background,.6);
|
|
||||||
box-shadow: 0px 0px 2px rgba(0, 0, 0, .6);
|
|
||||||
}
|
|
||||||
.modules-right {
|
|
||||||
padding:7px;
|
|
||||||
margin: 10 10 5 0;
|
|
||||||
border-radius:10px;
|
|
||||||
background: alpha(@background,.6);
|
|
||||||
box-shadow: 0px 0px 2px rgba(0, 0, 0, .6);
|
|
||||||
}
|
|
||||||
tooltip {
|
|
||||||
background:@background;
|
|
||||||
color: @color7;
|
|
||||||
}
|
|
||||||
#clock:hover, #custom-pacman:hover, #custom-notification:hover,#bluetooth:hover,#network:hover,#battery:hover, #cpu:hover,#memory:hover,#temperature:hover{
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color9;
|
|
||||||
}
|
|
||||||
#custom-notification {
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
}
|
|
||||||
#clock{
|
|
||||||
padding: 0px 5px;
|
|
||||||
color:@color7;
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
#custom-pacman{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
}
|
|
||||||
#workspaces {
|
|
||||||
padding: 0px 5px;
|
|
||||||
}
|
|
||||||
#workspaces button {
|
|
||||||
all:unset;
|
|
||||||
padding: 0px 5px;
|
|
||||||
color: alpha(@color9,.4);
|
|
||||||
transition: all .2s ease;
|
|
||||||
}
|
|
||||||
#workspaces button:hover {
|
|
||||||
color:rgba(0,0,0,0);
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, .5);
|
|
||||||
transition: all 1s ease;
|
|
||||||
}
|
|
||||||
#workspaces button.active {
|
|
||||||
color: @color9;
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 2px rgba(0, 0, 0, .5);
|
|
||||||
}
|
|
||||||
#workspaces button.empty {
|
|
||||||
color: rgba(0,0,0,0);
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, .2);
|
|
||||||
}
|
|
||||||
#workspaces button.empty:hover {
|
|
||||||
color: rgba(0,0,0,0);
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, .5);
|
|
||||||
transition: all 1s ease;
|
|
||||||
}
|
|
||||||
#workspaces button.empty.active {
|
|
||||||
color: @color9;
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 2px rgba(0, 0, 0, .5);
|
|
||||||
}
|
|
||||||
#bluetooth{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
}
|
|
||||||
#network{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
}
|
|
||||||
#battery{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
#battery.charging {
|
|
||||||
color: #26A65B;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.warning:not(.charging) {
|
|
||||||
color: #ffbe61;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.critical:not(.charging) {
|
|
||||||
color: #f53c3c;
|
|
||||||
animation-name: blink;
|
|
||||||
animation-duration: 0.5s;
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
||||||
#group-expand{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
#custom-expand{
|
|
||||||
padding: 0px 5px;
|
|
||||||
color:alpha(@foreground,.2);
|
|
||||||
text-shadow: 0px 0px 2px rgba(0, 0, 0, .7);
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
#custom-expand:hover{
|
|
||||||
color:rgba(255,255,255,.2);
|
|
||||||
text-shadow: 0px 0px 2px rgba(255, 255, 255, .5);
|
|
||||||
}
|
|
||||||
#custom-colorpicker{
|
|
||||||
padding: 0px 5px;
|
|
||||||
}
|
|
||||||
#cpu,#memory,#temperature{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
}
|
|
||||||
#custom-endpoint{
|
|
||||||
color:transparent;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, 1);
|
|
||||||
|
|
||||||
}
|
|
||||||
#tray{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
|
|
||||||
}
|
|
||||||
#tray menu * {
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
#tray menu separator {
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
@@ -1,132 +0,0 @@
|
|||||||
{
|
|
||||||
"layer": "top",
|
|
||||||
"position": "top",
|
|
||||||
"reload_style_on_change": true,
|
|
||||||
"modules-left": ["custom/notification","clock","custom/pacman","tray"],
|
|
||||||
"modules-center": ["hyprland/workspaces"],
|
|
||||||
"modules-right": ["group/expand","bluetooth","network","battery"],
|
|
||||||
|
|
||||||
|
|
||||||
"hyprland/workspaces": {
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"active": "",
|
|
||||||
"default": "",
|
|
||||||
"empty": ""
|
|
||||||
},
|
|
||||||
"persistent-workspaces": {
|
|
||||||
"*": [ 1,2,3,4,5 ]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"custom/notification": {
|
|
||||||
"tooltip": false,
|
|
||||||
"format": "",
|
|
||||||
"on-click": "swaync-client -t -sw",
|
|
||||||
"escape": true
|
|
||||||
},
|
|
||||||
"clock": {
|
|
||||||
"format": "{:%I:%M:%S %p} ",
|
|
||||||
"interval": 1,
|
|
||||||
"tooltip-format": "<tt>{calendar}</tt>",
|
|
||||||
"calendar": {
|
|
||||||
"format": {
|
|
||||||
"today": "<span color='#fAfBfC'><b>{}</b></span>"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"actions": {
|
|
||||||
"on-click-right": "shift_down",
|
|
||||||
"on-click": "shift_up"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"network": {
|
|
||||||
"format-wifi": "",
|
|
||||||
"format-ethernet":"",
|
|
||||||
"format-disconnected": "",
|
|
||||||
"tooltip-format-disconnected": "Error",
|
|
||||||
"tooltip-format-wifi": "{essid} ({signalStrength}%) ",
|
|
||||||
"tooltip-format-ethernet": "{ifname} 🖧 ",
|
|
||||||
"on-click": "kitty nmtui"
|
|
||||||
},
|
|
||||||
"bluetooth": {
|
|
||||||
"format-on": "",
|
|
||||||
"format-off": "BT-off",
|
|
||||||
"format-disabled": "",
|
|
||||||
"format-connected-battery": "{device_battery_percentage}% ",
|
|
||||||
"format-alt": "{device_alias} ",
|
|
||||||
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
|
|
||||||
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
|
|
||||||
"tooltip-format-enumerate-connected": "{device_alias}\n{device_address}",
|
|
||||||
"tooltip-format-enumerate-connected-battery": "{device_alias}\n{device_address}\n{device_battery_percentage}%",
|
|
||||||
"on-click-right": "blueman-manager",
|
|
||||||
},
|
|
||||||
"battery": {
|
|
||||||
"interval":30,
|
|
||||||
"states": {
|
|
||||||
"good": 95,
|
|
||||||
"warning": 30,
|
|
||||||
"critical": 20
|
|
||||||
},
|
|
||||||
"format": "{capacity}% {icon}",
|
|
||||||
"format-charging": "{capacity}% ",
|
|
||||||
"format-plugged": "{capacity}% ",
|
|
||||||
"format-alt": "{time} {icon}",
|
|
||||||
"format-icons": [
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
""
|
|
||||||
],
|
|
||||||
},
|
|
||||||
"custom/pacman": {
|
|
||||||
"format": " {}",
|
|
||||||
"interval": 30,
|
|
||||||
"exec": "checkupdates | wc -l",
|
|
||||||
"exec-if": "exit 0",
|
|
||||||
"on-click": "kitty sh -c 'yay -Syu; echo Done - Press enter to exit; read'; pkill -SIGRTMIN+8 waybar",
|
|
||||||
"signal": 8,
|
|
||||||
"tooltip": false,
|
|
||||||
},
|
|
||||||
"custom/expand": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/endpoint":{
|
|
||||||
"format": "|",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"group/expand": {
|
|
||||||
"orientation": "horizontal",
|
|
||||||
"drawer": {
|
|
||||||
"transition-duration": 600,
|
|
||||||
"transition-to-left": true,
|
|
||||||
"click-to-reveal": true
|
|
||||||
},
|
|
||||||
"modules": ["custom/expand", "custom/colorpicker","cpu","memory","temperature","custom/endpoint"],
|
|
||||||
},
|
|
||||||
"custom/colorpicker": {
|
|
||||||
"format": "{}",
|
|
||||||
"return-type": "json",
|
|
||||||
"interval": "once",
|
|
||||||
"exec": "~/.config/waybar/scripts/colorpicker.sh -j",
|
|
||||||
"on-click": "~/.config/waybar/scripts/colorpicker.sh",
|
|
||||||
"signal": 1
|
|
||||||
},
|
|
||||||
"cpu": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": true
|
|
||||||
},
|
|
||||||
"memory": {
|
|
||||||
"format": ""
|
|
||||||
},
|
|
||||||
"temperature": {
|
|
||||||
"critical-threshold": 80,
|
|
||||||
"format": "",
|
|
||||||
},
|
|
||||||
"tray": {
|
|
||||||
"icon-size": 14,
|
|
||||||
"spacing": 10
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,182 +0,0 @@
|
|||||||
@import url('../../.cache/wal/colors-waybar.css');
|
|
||||||
* {
|
|
||||||
font-size:15px;
|
|
||||||
font-family: "CodeNewRoman Nerd Font Propo";
|
|
||||||
}
|
|
||||||
window#waybar{
|
|
||||||
all:unset;
|
|
||||||
}
|
|
||||||
.modules-left {
|
|
||||||
padding:7px;
|
|
||||||
margin:10 0 5 10;
|
|
||||||
border-radius:10px;
|
|
||||||
background: alpha(@background,.6);
|
|
||||||
box-shadow: 0px 0px 2px rgba(0, 0, 0, .6);
|
|
||||||
}
|
|
||||||
.modules-center {
|
|
||||||
padding:7px;
|
|
||||||
margin:10 0 5 0;
|
|
||||||
border-radius:10px;
|
|
||||||
background: alpha(@background,.6);
|
|
||||||
box-shadow: 0px 0px 2px rgba(0, 0, 0, .6);
|
|
||||||
min-width: 150.5px;
|
|
||||||
}
|
|
||||||
.modules-right {
|
|
||||||
padding:7px;
|
|
||||||
margin: 10 10 5 0;
|
|
||||||
border-radius:10px;
|
|
||||||
background: alpha(@background,.6);
|
|
||||||
box-shadow: 0px 0px 2px rgba(0, 0, 0, .6);
|
|
||||||
}
|
|
||||||
tooltip {
|
|
||||||
background:@background;
|
|
||||||
color: @color7;
|
|
||||||
}
|
|
||||||
#clock:hover, #custom-pacman:hover, #custom-notification:hover,#bluetooth:hover,#network:hover,#battery:hover, #cpu:hover,#memory:hover,#temperature:hover{
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color9;
|
|
||||||
}
|
|
||||||
#custom-notification {
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
}
|
|
||||||
#clock{
|
|
||||||
padding: 0px 5px;
|
|
||||||
color:@color7;
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
#custom-pacman{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces {
|
|
||||||
padding: 0px 5px;
|
|
||||||
text-shadow:none;
|
|
||||||
}
|
|
||||||
#workspaces button {
|
|
||||||
all:unset;
|
|
||||||
margin: 0px 3px;
|
|
||||||
padding: 0px 2px;
|
|
||||||
color:rgba(0,0,0,0);
|
|
||||||
text-shadow:none;
|
|
||||||
background: @color2;
|
|
||||||
border-radius: 50%;
|
|
||||||
transition: all .3s;
|
|
||||||
min-width: 15px;
|
|
||||||
}
|
|
||||||
#workspaces button:hover {
|
|
||||||
color:rgba(0,0,0,0);
|
|
||||||
border: none;
|
|
||||||
background: @color1;
|
|
||||||
}
|
|
||||||
#workspaces button.active {
|
|
||||||
border: none;
|
|
||||||
padding: 0px 2px;
|
|
||||||
border-radius:10px;
|
|
||||||
background: @color1;
|
|
||||||
min-width: 30px;
|
|
||||||
}
|
|
||||||
#workspaces button.active:hover{
|
|
||||||
background: @color2;
|
|
||||||
}
|
|
||||||
#workspaces button.empty {
|
|
||||||
color: transparent;
|
|
||||||
border: none;
|
|
||||||
background: alpha(@background,.5) ;
|
|
||||||
|
|
||||||
}
|
|
||||||
#workspaces button.empty:hover {
|
|
||||||
color: rgba(0,0,0,0);
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, .5);
|
|
||||||
}
|
|
||||||
#workspaces button.empty.active {
|
|
||||||
color: rgba(0,0,0,0);
|
|
||||||
border: none;
|
|
||||||
text-shadow: none;
|
|
||||||
background: @color1;
|
|
||||||
}
|
|
||||||
#workspaces button.empty.active:hover{
|
|
||||||
background: @color2;
|
|
||||||
}
|
|
||||||
#bluetooth{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
}
|
|
||||||
#network{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
}
|
|
||||||
#battery{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
#battery.charging {
|
|
||||||
color: #26A65B;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.warning:not(.charging) {
|
|
||||||
color: #ffbe61;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.critical:not(.charging) {
|
|
||||||
color: #f53c3c;
|
|
||||||
animation-name: blink;
|
|
||||||
animation-duration: 0.5s;
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
||||||
#group-expand{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
#custom-expand{
|
|
||||||
padding: 0px 5px;
|
|
||||||
color:alpha(@foreground,.2);
|
|
||||||
text-shadow: 0px 0px 2px rgba(0, 0, 0, .7);
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
#custom-expand:hover{
|
|
||||||
color:rgba(255,255,255,.2);
|
|
||||||
text-shadow: 0px 0px 2px rgba(255, 255, 255, .5);
|
|
||||||
}
|
|
||||||
#custom-colorpicker{
|
|
||||||
padding: 0px 5px;
|
|
||||||
}
|
|
||||||
#cpu,#memory,#temperature{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
}
|
|
||||||
#custom-endpoint{
|
|
||||||
color:transparent;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, 1);
|
|
||||||
|
|
||||||
}
|
|
||||||
#tray{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
|
|
||||||
}
|
|
||||||
#tray menu * {
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
#tray menu separator {
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
@@ -1,136 +0,0 @@
|
|||||||
{
|
|
||||||
"layer": "top",
|
|
||||||
"position": "top",
|
|
||||||
"margin-left": 10,
|
|
||||||
"margin-right": 10,
|
|
||||||
"margin-top": 7,
|
|
||||||
"margin-bottom": 0,
|
|
||||||
"reload_style_on_change": true,
|
|
||||||
"modules-left": ["custom/notification","clock","custom/pacman","tray"],
|
|
||||||
"modules-center": ["hyprland/workspaces"],
|
|
||||||
"modules-right": ["group/expand","bluetooth","network","battery"],
|
|
||||||
|
|
||||||
|
|
||||||
"hyprland/workspaces": {
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"active": "",
|
|
||||||
"default": "",
|
|
||||||
"empty": ""
|
|
||||||
},
|
|
||||||
"persistent-workspaces": {
|
|
||||||
"*": [ 1,2,3,4,5 ]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"custom/notification": {
|
|
||||||
"tooltip": false,
|
|
||||||
"format": "",
|
|
||||||
"on-click": "swaync-client -t -sw",
|
|
||||||
"escape": true
|
|
||||||
},
|
|
||||||
"clock": {
|
|
||||||
"format": "{:%I:%M:%S %p} ",
|
|
||||||
"interval": 1,
|
|
||||||
"tooltip-format": "<tt>{calendar}</tt>",
|
|
||||||
"calendar": {
|
|
||||||
"format": {
|
|
||||||
"today": "<span color='#fAfBfC'><b>{}</b></span>"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"actions": {
|
|
||||||
"on-click-right": "shift_down",
|
|
||||||
"on-click": "shift_up"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"network": {
|
|
||||||
"format-wifi": "",
|
|
||||||
"format-ethernet":"",
|
|
||||||
"format-disconnected": "",
|
|
||||||
"tooltip-format-disconnected": "Error",
|
|
||||||
"tooltip-format-wifi": "{essid} ({signalStrength}%) ",
|
|
||||||
"tooltip-format-ethernet": "{ifname} 🖧 ",
|
|
||||||
"on-click": "kitty nmtui"
|
|
||||||
},
|
|
||||||
"bluetooth": {
|
|
||||||
"format-on": "",
|
|
||||||
"format-off": "BT-off",
|
|
||||||
"format-disabled": "",
|
|
||||||
"format-connected-battery": "{device_battery_percentage}% ",
|
|
||||||
"format-alt": "{device_alias} ",
|
|
||||||
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
|
|
||||||
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
|
|
||||||
"tooltip-format-enumerate-connected": "{device_alias}\n{device_address}",
|
|
||||||
"tooltip-format-enumerate-connected-battery": "{device_alias}\n{device_address}\n{device_battery_percentage}%",
|
|
||||||
"on-click-right": "blueman-manager",
|
|
||||||
},
|
|
||||||
"battery": {
|
|
||||||
"interval":30,
|
|
||||||
"states": {
|
|
||||||
"good": 95,
|
|
||||||
"warning": 30,
|
|
||||||
"critical": 20
|
|
||||||
},
|
|
||||||
"format": "{capacity}% {icon}",
|
|
||||||
"format-charging": "{capacity}% ",
|
|
||||||
"format-plugged": "{capacity}% ",
|
|
||||||
"format-alt": "{time} {icon}",
|
|
||||||
"format-icons": [
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
""
|
|
||||||
],
|
|
||||||
},
|
|
||||||
"custom/pacman": {
|
|
||||||
"format": " {}",
|
|
||||||
"interval": 30,
|
|
||||||
"exec": "checkupdates | wc -l",
|
|
||||||
"exec-if": "exit 0",
|
|
||||||
"on-click": "kitty sh -c 'yay -Syu; echo Done - Press enter to exit; read'; pkill -SIGRTMIN+8 waybar",
|
|
||||||
"signal": 8,
|
|
||||||
"tooltip": false,
|
|
||||||
},
|
|
||||||
"custom/expand": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/endpoint":{
|
|
||||||
"format": "|",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"group/expand": {
|
|
||||||
"orientation": "horizontal",
|
|
||||||
"drawer": {
|
|
||||||
"transition-duration": 600,
|
|
||||||
"transition-to-left": true,
|
|
||||||
"click-to-reveal": true
|
|
||||||
},
|
|
||||||
"modules": ["custom/expand", "custom/colorpicker","cpu","memory","temperature","custom/endpoint"],
|
|
||||||
},
|
|
||||||
"custom/colorpicker": {
|
|
||||||
"format": "{}",
|
|
||||||
"return-type": "json",
|
|
||||||
"interval": "once",
|
|
||||||
"exec": "~/.config/waybar/scripts/colorpicker.sh -j",
|
|
||||||
"on-click": "~/.config/waybar/scripts/colorpicker.sh",
|
|
||||||
"signal": 1
|
|
||||||
},
|
|
||||||
"cpu": {
|
|
||||||
"format": "",
|
|
||||||
"tooltip": true
|
|
||||||
},
|
|
||||||
"memory": {
|
|
||||||
"format": ""
|
|
||||||
},
|
|
||||||
"temperature": {
|
|
||||||
"critical-threshold": 80,
|
|
||||||
"format": "",
|
|
||||||
},
|
|
||||||
"tray": {
|
|
||||||
"icon-size": 14,
|
|
||||||
"spacing": 10
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,149 +0,0 @@
|
|||||||
|
|
||||||
@import url('../../.cache/wal/colors-waybar.css');
|
|
||||||
|
|
||||||
* {
|
|
||||||
font-size:15px;
|
|
||||||
font-family: "CodeNewRoman Nerd Font Propo";
|
|
||||||
}
|
|
||||||
window#waybar{
|
|
||||||
border-radius:10px;
|
|
||||||
background: alpha(@background,.6);
|
|
||||||
box-shadow: 0px 0px 2px rgba(0, 0, 0, .6);
|
|
||||||
}
|
|
||||||
tooltip {
|
|
||||||
background:@background;
|
|
||||||
color: @color7;
|
|
||||||
}
|
|
||||||
#clock:hover, #custom-pacman:hover, #custom-notification:hover,#bluetooth:hover,#network:hover,#battery:hover, #cpu:hover,#memory:hover,#temperature:hover{
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color9;
|
|
||||||
}
|
|
||||||
#custom-notification {
|
|
||||||
padding: 0px 5px 0 10;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
}
|
|
||||||
#clock{
|
|
||||||
padding: 0px 5px;
|
|
||||||
color:@color7;
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
#custom-pacman{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
}
|
|
||||||
#workspaces {
|
|
||||||
padding: 7px 5px;
|
|
||||||
}
|
|
||||||
#workspaces button {
|
|
||||||
all:unset;
|
|
||||||
padding: 0px 5px;
|
|
||||||
color: alpha(@color9,.4);
|
|
||||||
transition: all .2s ease;
|
|
||||||
}
|
|
||||||
#workspaces button:hover {
|
|
||||||
color:rgba(0,0,0,0);
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, .5);
|
|
||||||
transition: all 1s ease;
|
|
||||||
}
|
|
||||||
#workspaces button.active {
|
|
||||||
color: @color9;
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 2px rgba(0, 0, 0, .5);
|
|
||||||
}
|
|
||||||
#workspaces button.empty {
|
|
||||||
color: rgba(0,0,0,0);
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, .2);
|
|
||||||
}
|
|
||||||
#workspaces button.empty:hover {
|
|
||||||
color: rgba(0,0,0,0);
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, .5);
|
|
||||||
transition: all 1s ease;
|
|
||||||
}
|
|
||||||
#workspaces button.empty.active {
|
|
||||||
color: @color9;
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 2px rgba(0, 0, 0, .5);
|
|
||||||
}
|
|
||||||
#bluetooth{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
}
|
|
||||||
#network{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
}
|
|
||||||
#battery{
|
|
||||||
padding: 0px 10px 0 5;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
#battery.charging {
|
|
||||||
color: #26A65B;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.warning:not(.charging) {
|
|
||||||
color: #ffbe61;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.critical:not(.charging) {
|
|
||||||
color: #f53c3c;
|
|
||||||
animation-name: blink;
|
|
||||||
animation-duration: 0.5s;
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
||||||
#group-expand{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
#custom-expand{
|
|
||||||
padding: 0px 5px;
|
|
||||||
color:alpha(@foreground,.2);
|
|
||||||
text-shadow: 0px 0px 2px rgba(0, 0, 0, .7);
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
#custom-expand:hover{
|
|
||||||
color:rgba(255,255,255,.2);
|
|
||||||
text-shadow: 0px 0px 2px rgba(255, 255, 255, .5);
|
|
||||||
}
|
|
||||||
#custom-colorpicker{
|
|
||||||
padding: 0px 5px;
|
|
||||||
}
|
|
||||||
#cpu,#memory,#temperature{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
color:@color7;
|
|
||||||
|
|
||||||
}
|
|
||||||
#custom-endpoint{
|
|
||||||
color:transparent;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, 1);
|
|
||||||
|
|
||||||
}
|
|
||||||
#tray{
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
|
|
||||||
}
|
|
||||||
#tray menu * {
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
#tray menu separator {
|
|
||||||
padding: 0px 5px;
|
|
||||||
transition: all .3s ease;
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"layer": "top",
|
|
||||||
"position": "top",
|
|
||||||
"reload_style_on_change": true,
|
|
||||||
"modules-center": ["hyprland/workspaces"],
|
|
||||||
|
|
||||||
|
|
||||||
"hyprland/workspaces": {
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"active": "",
|
|
||||||
"default": "",
|
|
||||||
"empty": ""
|
|
||||||
},
|
|
||||||
"persistent-workspaces": {
|
|
||||||
"*": [ 1,2,3,4,5 ]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
@import url('../../.cache/wal/colors-waybar.css');
|
|
||||||
|
|
||||||
* {
|
|
||||||
font-size:15px;
|
|
||||||
font-family: "CodeNewRoman Nerd Font Propo";
|
|
||||||
}
|
|
||||||
window#waybar{
|
|
||||||
all:unset;
|
|
||||||
}
|
|
||||||
.modules-center {
|
|
||||||
padding:7px;
|
|
||||||
margin:10 0 5 0;
|
|
||||||
border-radius:10px;
|
|
||||||
background: alpha(@background,.6);
|
|
||||||
box-shadow: 0px 0px 2px rgba(0, 0, 0, .6);
|
|
||||||
}
|
|
||||||
#workspaces {
|
|
||||||
padding: 0px 5px;
|
|
||||||
}
|
|
||||||
#workspaces button {
|
|
||||||
all:unset;
|
|
||||||
padding: 0px 5px;
|
|
||||||
color: alpha(@color9,.4);
|
|
||||||
transition: all .2s ease;
|
|
||||||
}
|
|
||||||
#workspaces button:hover {
|
|
||||||
color:rgba(0,0,0,0);
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, .5);
|
|
||||||
transition: all 1s ease;
|
|
||||||
}
|
|
||||||
#workspaces button.active {
|
|
||||||
color: @color9;
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 2px rgba(0, 0, 0, .5);
|
|
||||||
}
|
|
||||||
#workspaces button.empty {
|
|
||||||
color: rgba(0,0,0,0);
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, .2);
|
|
||||||
}
|
|
||||||
#workspaces button.empty:hover {
|
|
||||||
color: rgba(0,0,0,0);
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 1.5px rgba(0, 0, 0, .5);
|
|
||||||
transition: all 1s ease;
|
|
||||||
}
|
|
||||||
#workspaces button.empty.active {
|
|
||||||
color: @color9;
|
|
||||||
border: none;
|
|
||||||
text-shadow: 0px 0px 2px rgba(0, 0, 0, .5);
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
wofi -n
|
||||||
@@ -16,8 +16,8 @@
|
|||||||
window {
|
window {
|
||||||
all: unset;
|
all: unset;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
border-radius: 0px;
|
border-radius: 10px;
|
||||||
background-color: alpha(@background, 0.5);
|
background-color: rgba(50,50,50, 1);
|
||||||
}
|
}
|
||||||
#inner-box {
|
#inner-box {
|
||||||
margin: 2px;
|
margin: 2px;
|
||||||
@@ -43,7 +43,6 @@ window {
|
|||||||
color: @text;
|
color: @text;
|
||||||
box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
|
box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
|
||||||
border-radius: 10;
|
border-radius: 10;
|
||||||
background-color: alpha(@background, 0.2);
|
|
||||||
}
|
}
|
||||||
#input image {
|
#input image {
|
||||||
border: none;
|
border: none;
|
||||||
@@ -78,7 +77,7 @@ window {
|
|||||||
#entry:selected {
|
#entry:selected {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
background-color: rgba(0, 0, 0, 0.15);
|
background-color: rgba(35, 35, 35, 1);
|
||||||
}
|
}
|
||||||
#entry:selected #text {
|
#entry:selected #text {
|
||||||
color: @mauve;
|
color: @mauve;
|
||||||
|
|||||||
@@ -16,8 +16,8 @@
|
|||||||
window {
|
window {
|
||||||
all:unset;
|
all:unset;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
border-radius: 0px;
|
border-radius: 10px;
|
||||||
background-color: alpha(@background,.5);
|
background-color: rgba(50,50,50, 1);
|
||||||
}
|
}
|
||||||
#inner-box {
|
#inner-box {
|
||||||
margin: 2px;
|
margin: 2px;
|
||||||
@@ -42,9 +42,8 @@ window {
|
|||||||
border: none;
|
border: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
color: @text;
|
color: @text;
|
||||||
box-shadow: 1px 1px 5px rgba(0,0,0, .5);
|
box-shadow: 1px 1px 5px rgba(0,0,0, 1);
|
||||||
border-radius:10;
|
border-radius:10;
|
||||||
background-color: alpha(@background,.2);
|
|
||||||
}
|
}
|
||||||
#input image {
|
#input image {
|
||||||
border: none;
|
border: none;
|
||||||
@@ -80,11 +79,11 @@ window {
|
|||||||
#entry:selected {
|
#entry:selected {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
background-color: rgba(0, 0, 0, 0.15);
|
background-color: rgba(35, 35, 35, 1);
|
||||||
}
|
}
|
||||||
#entry:selected #text {
|
#entry:selected #text {
|
||||||
color: @mauve;
|
color: @mauve;
|
||||||
}
|
}
|
||||||
#entry:drop(active) {
|
#entry:drop(active) {
|
||||||
background-color: @lavender !important;
|
background-color: @lavender;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,8 @@
|
|||||||
window {
|
window {
|
||||||
all:unset;
|
all:unset;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
border-radius: 0px;
|
border-radius: 10px;
|
||||||
background-color: alpha(@background,.5);
|
background-color: rgba(50,50,50, 1);
|
||||||
}
|
}
|
||||||
#inner-box {
|
#inner-box {
|
||||||
margin: 2px;
|
margin: 2px;
|
||||||
@@ -50,8 +50,7 @@ window {
|
|||||||
outline: none;
|
outline: none;
|
||||||
color: @text;
|
color: @text;
|
||||||
box-shadow: 1px 1px 5px rgba(0,0,0, .5);
|
box-shadow: 1px 1px 5px rgba(0,0,0, .5);
|
||||||
border-radius:10;
|
border-radius:10px;
|
||||||
background-color: alpha(@background,.2);
|
|
||||||
}
|
}
|
||||||
#input image {
|
#input image {
|
||||||
border: none;
|
border: none;
|
||||||
@@ -95,11 +94,11 @@ window {
|
|||||||
box-shadow: 1px 1px 5px rgba(255,255,255, .03);
|
box-shadow: 1px 1px 5px rgba(255,255,255, .03);
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
background-color:transparent;
|
background-color: rgba(35, 35, 35, 1);
|
||||||
}
|
}
|
||||||
#entry:selected #text {
|
#entry:selected #text {
|
||||||
color: @mauve;
|
color: @mauve;
|
||||||
}
|
}
|
||||||
#entry:drop(active) {
|
#entry:drop(active) {
|
||||||
background-color: @lavender !important;
|
background-color: rgba(35, 35, 35, 1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
WALLPAPER_DIR="$HOME/Pictures/Wallpapers/walls"
|
||||||
|
#I dont know what the fuck I am doing
|
||||||
|
menu() {
|
||||||
|
find "${WALLPAPER_DIR}" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" -o -iname "*.gif" \) | awk '{print "img:"$0}'
|
||||||
|
}
|
||||||
|
main() {
|
||||||
|
choice=$(menu | wofi -c ~/.config/wofi/wallpaper -s ~/.config/wofi/style-wallpaper.css --show dmenu --prompt "Select Wallpaper:" -n)
|
||||||
|
selected_wallpaper=$(echo "$choice" | sed 's/^img://')
|
||||||
|
swww img "$selected_wallpaper" --transition-type any --transition-fps 60 --transition-duration .5
|
||||||
|
wal -i "$selected_wallpaper" -n --cols16 -e
|
||||||
|
pywalfox update
|
||||||
|
source ~/.cache/wal/colors.sh && cp -r $wallpaper ~/Pictures/Wallpapers/pywallpaper.jpg
|
||||||
|
}
|
||||||
|
main
|
||||||
@@ -0,0 +1,201 @@
|
|||||||
|
Add swayidle to make the screen go dark
|
||||||
|
And add adrien user to uinput
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Step 1: Install `swayidle`
|
||||||
|
|
||||||
|
Open your terminal and install `swayidle` from the official Arch repositories. It's good practice to also install a screen locker like `swaylock` at the same time, as you'll likely want to lock your screen before it turns off.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo pacman -S swayidle swaylock
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 2: Create the Idle Management Script
|
||||||
|
|
||||||
|
It's cleanest to manage this with a small shell script. Let's create one in niri's configuration directory.
|
||||||
|
|
||||||
|
1. Create the file:
|
||||||
|
```bash
|
||||||
|
mkdir -p ~/.config/niri
|
||||||
|
nano ~/.config/niri/idle.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Paste the following content into the file. This configuration will do two things:
|
||||||
|
* **After 10 minutes (600s):** Lock the screen with `swaylock`.
|
||||||
|
* **After 15 minutes (900s):** Turn the display off (DPMS off).
|
||||||
|
* **On resume (mouse/keyboard activity):** Turn the display back on (DPMS on).
|
||||||
|
|
||||||
|
```sh
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# This script is a simple wrapper for swayidle.
|
||||||
|
# It locks the screen after 10 minutes of inactivity,
|
||||||
|
# and turns off the display after 15 minutes.
|
||||||
|
|
||||||
|
swayidle -w \
|
||||||
|
timeout 600 'swaylock -f' \
|
||||||
|
timeout 900 'niri msg output "*" dpms off' \
|
||||||
|
resume 'niri msg output "*" dpms on'
|
||||||
|
```
|
||||||
|
|
||||||
|
* `swayidle -w`: Starts the daemon and waits (doesn't exit).
|
||||||
|
* `timeout 600 'swaylock -f'`: After 600 seconds (10 minutes) of inactivity, run `swaylock -f` to lock the screen.
|
||||||
|
* `timeout 900 'niri msg output "*" dpms off'`: After 900 seconds (15 minutes), run the command to turn off all outputs (`*`). The command `niri msg` is how you control niri from the command line.
|
||||||
|
* `resume 'niri msg output "*" dpms on'`: When activity is detected again (mouse move, key press), run the command to turn all outputs back on.
|
||||||
|
|
||||||
|
3. Save the file and exit `nano` (Ctrl+O, Enter, Ctrl+X).
|
||||||
|
|
||||||
|
4. Make the script executable:
|
||||||
|
```bash
|
||||||
|
chmod +x ~/.config/niri/idle.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 3: Autostart the Script with Niri
|
||||||
|
|
||||||
|
Now, we need to tell niri to run this script every time it starts.
|
||||||
|
|
||||||
|
1. Open your niri configuration file. If it doesn't exist, niri uses its defaults, but you can create it.
|
||||||
|
```bash
|
||||||
|
nano ~/.config/niri/config.kdl
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Add the `startup-commands` block if it doesn't exist, and add an `exec-on-startup` command to run your script. Make sure to use the full path.
|
||||||
|
|
||||||
|
```kdl
|
||||||
|
// Your other niri configurations might be here...
|
||||||
|
|
||||||
|
startup-commands {
|
||||||
|
// Add this line to run your idle script
|
||||||
|
exec-on-startup "~/.config/niri/idle.sh"
|
||||||
|
|
||||||
|
// You might have other startup commands here, for example:
|
||||||
|
// exec-on-startup "waybar"
|
||||||
|
// exec-on-startup "mako"
|
||||||
|
}
|
||||||
|
|
||||||
|
// More of your niri config...
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note:** The `~` shortcut for your home directory works in the niri config.
|
||||||
|
|
||||||
|
3. Save and close the file.
|
||||||
|
|
||||||
|
### Step 4: Apply the Changes
|
||||||
|
|
||||||
|
Log out of your niri session and log back in. The `idle.sh` script will now be running in the background. Your screen will lock after 10 minutes and turn off after 15 minutes of inactivity. Moving your mouse or pressing a key will wake the screen up to the `swaylock` prompt.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Customization
|
||||||
|
|
||||||
|
* **To only turn off the screen (no lock):**
|
||||||
|
If you *only* want the screen to go black after 15 minutes and don't want to lock it, modify your `~/.config/niri/idle.sh` script to remove the `swaylock` timeout:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
swayidle -w \
|
||||||
|
timeout 900 'niri msg output "*" dpms off' \
|
||||||
|
resume 'niri msg output "*" dpms on'
|
||||||
|
```
|
||||||
|
This directly addresses your original request.
|
||||||
|
|
||||||
|
* **Changing the time:**
|
||||||
|
Simply change the number of seconds in the script. For example, for a 5-minute screen-off time, change `900` to `300`.
|
||||||
|
|
||||||
|
* **Customizing swaylock:**
|
||||||
|
You can make `swaylock` look nicer. For example, to set a solid color:
|
||||||
|
`swaylock -f -c 000000` (for black).
|
||||||
|
You can edit this command directly in your `idle.sh` script. Check `man swaylock` for all options.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Of course! Let's break down what `uinput` is, why you're getting a "permission denied" error, and exactly how to fix it on your Arch Linux system.
|
||||||
|
|
||||||
|
### What is `uinput`? (The Simple Explanation)
|
||||||
|
|
||||||
|
Think of `uinput` (User Input) as a special module in the Linux kernel. Its job is to let a regular program **pretend to be a physical input device**.
|
||||||
|
|
||||||
|
When you move your real mouse, the hardware sends a signal to the kernel, and the kernel tells your desktop environment, "The mouse just moved to coordinates X, Y."
|
||||||
|
|
||||||
|
`uinput` allows a program, like Sunshine, to do the exact same thing, but in software. Sunshine can tell the `uinput` module, "Hey, pretend a mouse just moved to coordinates X, Y," and the kernel will treat it exactly as if a real mouse did it.
|
||||||
|
|
||||||
|
This is essential for applications like:
|
||||||
|
* **Sunshine/Moonlight:** To inject mouse, keyboard, and gamepad inputs coming from your client device over the network.
|
||||||
|
* **Steam:** For the Steam Input feature, which can make a controller look like a keyboard and mouse to a game.
|
||||||
|
* **Input Remappers:** Tools that change what your keyboard keys or controller buttons do.
|
||||||
|
|
||||||
|
### The Permission Problem
|
||||||
|
|
||||||
|
For security reasons, you don't want just *any* application to be able to create fake keyboard presses or mouse movements. If any program could do this, it would be trivial to create a keylogger or malware that could take control of your computer.
|
||||||
|
|
||||||
|
Because this is a powerful and potentially dangerous feature, Linux protects it with file permissions. The `uinput` functionality is exposed through a special device file: `/dev/uinput`.
|
||||||
|
|
||||||
|
Let's look at the permissions on that file. If you run this command in your terminal:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ls -l /dev/uinput
|
||||||
|
```
|
||||||
|
|
||||||
|
You will likely see something like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
crw-rw---- 1 root uinput 10, 223 Dec 15 10:30 /dev/uinput
|
||||||
|
```
|
||||||
|
|
||||||
|
Let's break that down:
|
||||||
|
* `c`: It's a character device file.
|
||||||
|
* `rw-`: The **owner** (`root`) has read and write permissions.
|
||||||
|
* `rw-`: The **group** (`uinput`) has read and write permissions.
|
||||||
|
* `---`: **Everyone else** has no permissions at all.
|
||||||
|
|
||||||
|
When you run Sunshine, it runs as *your* user account (e.g., `myuser`), not as `root`. By default, your user is not in the `uinput` group. Therefore, when Sunshine tries to access `/dev/uinput` to create a virtual mouse or keyboard, the kernel sees that your user is in the "everyone else" category and says **"Permission Denied"**.
|
||||||
|
|
||||||
|
### The Solution: The `uinput` Group
|
||||||
|
|
||||||
|
The forum's advice is exactly correct. The `uinput` group was created specifically for this purpose: to grant trusted users the ability to access the `uinput` device without giving them full `root` privileges.
|
||||||
|
|
||||||
|
By adding your user to the `uinput` group, you are telling the system, "I trust this user account to run programs (like Sunshine) that need to create virtual input devices."
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### How to Fix It: Step-by-Step
|
||||||
|
|
||||||
|
Here are the commands to solve your problem on Arch Linux.
|
||||||
|
|
||||||
|
**1. Add Your User to the `uinput` Group**
|
||||||
|
|
||||||
|
Open a terminal and run the following command. Make sure to replace `your_username` with your actual username. If you're not sure, you can run the command `whoami` to see it.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo gpasswd -a your_username uinput
|
||||||
|
```
|
||||||
|
* `sudo`: Run this command with administrator privileges.
|
||||||
|
* `gpasswd`: A command to manage group memberships.
|
||||||
|
* `-a your_username`: The action is to **a**dd the specified user.
|
||||||
|
* `uinput`: The group you are adding the user to.
|
||||||
|
|
||||||
|
**2. Apply the Changes**
|
||||||
|
|
||||||
|
Group membership changes only take effect when you start a new login session. The current session you are in will not have the new permissions. You have two options:
|
||||||
|
|
||||||
|
* **Log Out and Log Back In:** This is the cleanest and most recommended way. Log out of your Niri session completely and then log back in.
|
||||||
|
* **Reboot:** A full reboot will also work.
|
||||||
|
|
||||||
|
**3. Verify the Change (Optional)**
|
||||||
|
|
||||||
|
After you have logged back in, you can verify that you are now a member of the group by running:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
groups
|
||||||
|
```
|
||||||
|
|
||||||
|
You should see `uinput` listed in the output, along with your other groups.
|
||||||
|
|
||||||
|
```
|
||||||
|
# Example output
|
||||||
|
wheel audio video input uinput myuser
|
||||||
|
```
|
||||||
|
|
||||||
|
Once you've done this, Sunshine should have the necessary permissions to create virtual input devices, and your mouse, keyboard, and controller should start working correctly on your Niri desktop
|
||||||
@@ -1,66 +1,53 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Install pacman packages
|
set -e
|
||||||
for package in \
|
|
||||||
scrcpy \
|
sudo pacman -S --noconfirm --needed \
|
||||||
base-devel \
|
git \
|
||||||
|
ghostty \
|
||||||
lazygit \
|
lazygit \
|
||||||
starship \
|
swww \
|
||||||
; do
|
wl-clipboard \
|
||||||
sudo pacman -S --noconfirm $package
|
ripgrep \
|
||||||
clear
|
wofi \
|
||||||
done
|
go \
|
||||||
|
swaybg \
|
||||||
|
starship
|
||||||
|
|
||||||
git clone https://aur.archlinux.org/yay.git
|
sudo pacman -R --noconfirm alacritty
|
||||||
cd yay
|
|
||||||
makepkg -si
|
|
||||||
cd ~
|
|
||||||
|
|
||||||
# Install yay packages
|
git clone https://aur.archlinux.org/yay.git /tmp/yay
|
||||||
for package in \
|
(cd /tmp/yay && makepkg -si --noconfirm)
|
||||||
|
rm -rf /tmp/yay
|
||||||
|
|
||||||
|
yay -S --noconfirm --needed \
|
||||||
python-pywal16 \
|
python-pywal16 \
|
||||||
python-pywalfox \
|
python-pywalfox \
|
||||||
swww waybar \
|
ttf-firacode-nerd \
|
||||||
myfetch \
|
|
||||||
neovim \
|
neovim \
|
||||||
python-pywalfox \
|
|
||||||
hypridle \
|
|
||||||
hyprshot \
|
|
||||||
hyprlock \
|
|
||||||
pyprland \
|
|
||||||
swaync \
|
|
||||||
wlogout \
|
|
||||||
nerd-fonts \
|
|
||||||
htop \
|
|
||||||
nvtop \
|
|
||||||
yazi \
|
yazi \
|
||||||
discord \
|
zig \
|
||||||
firefox \
|
raylib \
|
||||||
; do
|
firefox
|
||||||
yay -S --noconfirm $package
|
|
||||||
clear
|
|
||||||
done
|
|
||||||
|
|
||||||
# Install Configs
|
mkdir -p "$HOME/tmp"
|
||||||
sudo cp -rf ~/Dotfiles/.config/* ~/.config/
|
git clone https://git.bouvais.lu/adrien/Dotfiles "/tmp/dotfiles" --depth 1
|
||||||
sudo cp ~/Dotfiles/.bashrc ~/.bashrc
|
|
||||||
|
cp -r "/tmp/dotfiles/.config/"* "$HOME/.config/"
|
||||||
|
cp "/tmp/dotfiles/.bashrc" "$HOME/.bashrc"
|
||||||
|
mkdir -p "$HOME/Pictures/Wallpapers"
|
||||||
|
cp -r "/tmp/dotfiles/wallpapers/"* "$HOME/Pictures/Wallpapers/"
|
||||||
|
|
||||||
|
rm -rf /tmp/yay
|
||||||
|
|
||||||
git config --global user.email "adrien.bouvais.pro@gmail.com"
|
|
||||||
git config --global user.name "adrien"
|
git config --global user.name "adrien"
|
||||||
ssh-keygen -t rsa -b 4096 -C "adrien.bouvais.pro@gmail.com" -f ~/.ssh/id_rsa -N ""
|
git config --global user.email "git@bouvais.lu"
|
||||||
|
ssh-keygen -t rsa -b 4096 -C "git@bouvais.com" -f "$HOME/.ssh/id_rsa" -N ""
|
||||||
|
|
||||||
# Wallpaper
|
|
||||||
mkdir ~/wallpapers
|
|
||||||
sudo cp -rf ~/Dotfiles/wallpapers/* ~/wallpapers/
|
|
||||||
wal -i ~/wallpapers/pywallpaper.jpg
|
|
||||||
pywalfox install
|
pywalfox install
|
||||||
|
wal -i "$HOME/Pictures/Wallpapers/pywallpaper.jpg" -n --cols16
|
||||||
swww img ~/.config/pywallpaper.jpg --transition-type any --transition-fps 60 --transition-duration .5
|
|
||||||
wal -i ~/.config/pywallpaper.jpg -n --cols16
|
|
||||||
swaync-client --reload-css
|
|
||||||
cat ~/.cache/wal/colors-kitty.conf > ~/.config/kitty/current-theme.conf
|
|
||||||
pywalfox update
|
pywalfox update
|
||||||
hyprctl reload
|
|
||||||
|
|
||||||
echo "Dont forget to add Pywalfox extension to Firefox https://addons.mozilla.org/en-US/firefox/addon/pywalfox/"
|
echo "Dont forget to add Pywalfox extension to Firefox https://addons.mozilla.org/en-US/firefox/addon/pywalfox/"
|
||||||
echo "Then run 'pywalfox update'"
|
echo "Then run 'pywalfox update'"
|
||||||
|
|
||||||
|
|||||||
|
After Width: | Height: | Size: 849 KiB |
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 5.7 MiB |
|
After Width: | Height: | Size: 658 KiB |
|
After Width: | Height: | Size: 849 KiB |
|
After Width: | Height: | Size: 1.3 MiB |