Compare commits
11
Commits
080df5f2d7
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5a852998ea | ||
|
|
4ce511c902 | ||
|
|
9583419fd8 | ||
|
|
478cd154ab | ||
|
|
a25122508f | ||
|
|
78f4605e09 | ||
|
|
efe98deb44 | ||
|
|
0b05a4d13b | ||
|
|
f57dde1200 | ||
|
|
8f08f6c0b1 | ||
|
|
f5765d0845 |
@@ -25,3 +25,5 @@ export SAL_USE_VCLPLUGIN=qt6
|
|||||||
export TERM=xterm
|
export TERM=xterm
|
||||||
|
|
||||||
export PATH="$PATH:/home/adrien/.local/bin"
|
export PATH="$PATH:/home/adrien/.local/bin"
|
||||||
|
|
||||||
|
wal -i ~/Pictures/Wallpapers/pywallpaper.jpg -n --cols16 -e
|
||||||
|
|||||||
+18
-6
@@ -1,4 +1,5 @@
|
|||||||
spawn-at-startup "waybar"
|
spawn-at-startup "waybar"
|
||||||
|
spawn-at-startup "swww-daemon"
|
||||||
spawn-at-startup "wal -i ~/Pictures/Wallpapers/pywallpaper.jpg -n --cols16"
|
spawn-at-startup "wal -i ~/Pictures/Wallpapers/pywallpaper.jpg -n --cols16"
|
||||||
|
|
||||||
layout {
|
layout {
|
||||||
@@ -9,23 +10,34 @@ layout {
|
|||||||
proportion 0.66667
|
proportion 0.66667
|
||||||
}
|
}
|
||||||
default-column-width { proportion 0.33333; }
|
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 {
|
focus-ring {
|
||||||
off
|
on
|
||||||
}
|
|
||||||
border {
|
|
||||||
width 4
|
width 4
|
||||||
active-color "#7fc8ff"
|
active-color "#7fc8ff"
|
||||||
inactive-color "#505050"
|
inactive-color "#505050"
|
||||||
|
urgent-color "#9b0000"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
binds {
|
binds {
|
||||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||||
Mod+T hotkey-overlay-title="Open a Terminal: ghostty" { spawn "ghostty"; }
|
Mod+T hotkey-overlay-title="Open a Terminal: ghostty" { spawn "ghostty"; }
|
||||||
Mod+B hotkey-overlay-title="Open a Browser: firefox" { spawn "firefox"; }
|
Mod+D hotkey-overlay-title="Run an Application: wofi" { spawn "~/.config/wofi/application.sh"; }
|
||||||
Mod+D hotkey-overlay-title="Run an Application: wofi" { spawn "wofi -n"; }
|
|
||||||
Mod+W hotkey-overlay-title="Change Wallpaper: wofi" { spawn "~/.config/wofi/wallpaper.sh"; }
|
Mod+W hotkey-overlay-title="Change Wallpaper: wofi" { spawn "~/.config/wofi/wallpaper.sh"; }
|
||||||
Mod+W hotkey-overlay-title="Open Project: wofi" { spawn "~/.config/wofi/projects.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"; }
|
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+"; }
|
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+"; }
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 9.3 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 7.6 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 9.5 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 9.4 KiB |
+40
-128
@@ -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
|
|
||||||
+19
-160
@@ -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);
|
|
||||||
}
|
|
||||||
Executable
+2
@@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
wofi -n
|
||||||
@@ -8,14 +8,8 @@ main() {
|
|||||||
choice=$(menu | wofi -c ~/.config/wofi/wallpaper -s ~/.config/wofi/style-wallpaper.css --show dmenu --prompt "Select Wallpaper:" -n)
|
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://')
|
selected_wallpaper=$(echo "$choice" | sed 's/^img://')
|
||||||
swww img "$selected_wallpaper" --transition-type any --transition-fps 60 --transition-duration .5
|
swww img "$selected_wallpaper" --transition-type any --transition-fps 60 --transition-duration .5
|
||||||
wal -i "$selected_wallpaper" -n --cols16
|
wal -i "$selected_wallpaper" -n --cols16 -e
|
||||||
pywalfox update
|
pywalfox update
|
||||||
color1=$(awk 'match($0, /color2=\47(.*)\47/,a) { print a[1] }' ~/.cache/wal/colors.sh)
|
source ~/.cache/wal/colors.sh && cp -r $wallpaper ~/Pictures/Wallpapers/pywallpaper.jpg
|
||||||
color2=$(awk 'match($0, /color3=\47(.*)\47/,a) { print a[1] }' ~/.cache/wal/colors.sh)
|
|
||||||
sed -i "s/^gradient_color_1 = .*/gradient_color_1 = '$color1'/" $cava_config
|
|
||||||
sed -i "s/^gradient_color_2 = .*/gradient_color_2 = '$color2'/" $cava_config
|
|
||||||
source ~/.cache/wal/colors.sh && cp -r $wallpaper ~/wallpapers/pywallpaper.jpg
|
|
||||||
}
|
}
|
||||||
main
|
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
|
||||||
@@ -6,8 +6,12 @@ sudo pacman -S --noconfirm --needed \
|
|||||||
git \
|
git \
|
||||||
ghostty \
|
ghostty \
|
||||||
lazygit \
|
lazygit \
|
||||||
|
swww \
|
||||||
wl-clipboard \
|
wl-clipboard \
|
||||||
ripgrep \
|
ripgrep \
|
||||||
|
wofi \
|
||||||
|
go \
|
||||||
|
swaybg \
|
||||||
starship
|
starship
|
||||||
|
|
||||||
sudo pacman -R --noconfirm alacritty
|
sudo pacman -R --noconfirm alacritty
|
||||||
@@ -22,6 +26,8 @@ yay -S --noconfirm --needed \
|
|||||||
ttf-firacode-nerd \
|
ttf-firacode-nerd \
|
||||||
neovim \
|
neovim \
|
||||||
yazi \
|
yazi \
|
||||||
|
zig \
|
||||||
|
raylib \
|
||||||
firefox
|
firefox
|
||||||
|
|
||||||
mkdir -p "$HOME/tmp"
|
mkdir -p "$HOME/tmp"
|
||||||
|
|||||||
Reference in New Issue
Block a user