Compare commits

..

33 Commits

Author SHA1 Message Date
d424fc0852 chore(waybar): improve network format 2025-08-11 19:17:15 +02:00
a27b458435 chore: improve screen recorder script 2025-08-07 17:08:38 +02:00
da689d2d0a refactor(waybar): refactor check updates scripts 2025-08-07 17:08:21 +02:00
507ba45188 chore(waybar): update workspace button
GTK does not allow the `cursor: pointer;` property, so we use the
`on-click` handler for the workspaces button.
2025-08-05 08:29:12 +02:00
3a8c43cfc5 chore(waybar): add onclick handler on cpu module 2025-08-05 08:20:05 +02:00
23ac865092 chore: update zsh config and add aliases 2025-08-03 11:51:03 +02:00
e567351d7c chore(waybar): ignore telegram in privacy module 2025-07-29 10:17:31 +02:00
c48f2b462b chore(sway): increment/decrement sinks by 1% instead of 5% 2025-07-28 09:28:44 +02:00
78bcc74ed9 chore(waybar): update pulseaudio modules 2025-07-22 09:13:27 +02:00
31b787f60d chore(waybar): use only default icons for pulseaudio 2025-07-22 09:04:48 +02:00
ce3967e154 chore(waybar): add cpu module 2025-07-22 08:39:29 +02:00
09770263fb chore(waybar): update modules 2025-07-19 11:48:20 +02:00
a91a9f34bf chore(waybar): improve custom pacman module 2025-07-19 11:47:12 +02:00
079779a52a chore(waybar): a bit of colors please 2025-07-19 11:46:32 +02:00
1254bf1e01 chore(waybar): disable tooltip for sway mode 2025-07-16 11:00:47 +02:00
7f7d3cc850 chore(sway): handle resize events with mod key 2025-07-14 10:46:36 +02:00
044653ab1a chore(waybar): handle click event on sway mode 2025-07-14 10:45:06 +02:00
a632b7ca75 fix(waybar): set tooltip paddings like other components 2025-07-14 10:34:12 +02:00
89b56de9a4 fix(waybar): fix tooltip style 2025-07-14 10:31:31 +02:00
72ebade92e chore(waybar): remove power menu from active modules 2025-07-11 07:51:26 +02:00
532adcc903 chore(waybar): update pulseaudio configs 2025-07-10 13:13:00 +02:00
97547bcf67 chore(waybar): update waybar config 2025-07-10 08:38:51 +02:00
1c6730a3b6 chore: add vim config 2025-06-25 17:09:05 +02:00
426a30b52a chore(sway): save screen records on Videos folder 2025-06-10 09:58:56 +02:00
2ab4e1d13e fix: fix ambiguous characters 2025-05-27 13:51:09 +02:00
171280b78a docs: update README file 2025-05-27 13:36:19 +02:00
e29e81c116 chore(waybar): update waybar config 2025-05-25 10:18:17 +02:00
e17cd72683 chore(sway): update config 2025-05-23 10:48:19 +02:00
d15fe0104c chore: update configs 2025-05-21 15:32:27 +02:00
fb086cb885 chore(waybar): add script to check updates 2025-05-19 10:35:27 +02:00
1162095311 chore: add wlogout config 2025-05-15 08:09:50 +02:00
22c3c24df0 chore(waybar): update waybar config 2025-05-15 08:09:38 +02:00
f258d4a043 chore(starship): update config 2025-05-15 08:07:44 +02:00
28 changed files with 464 additions and 200 deletions

7
.aliases Normal file
View File

@@ -0,0 +1,7 @@
alias ll="ls -l"
alias la="ls -A"
alias l="ls -CF"
alias vsc="vscodium ."
alias r="./bin/rails"
alias todo="todo.sh"
alias cat="bat"

View File

@@ -8,7 +8,7 @@ set $right l
# wf-recorder # wf-recorder
set $screenrecorder `bash $HOME/.config/sway/scripts/toggle-screen-recorder.sh` set $screenrecorder `bash $HOME/.config/sway/scripts/screen-recorder.sh`
bindsym --to-code $mod+Shift+R exec $screenrecorder bindsym --to-code $mod+Shift+R exec $screenrecorder
# background # background
@@ -172,7 +172,7 @@ bindsym $mod+b splith
bindsym $mod+v splitv bindsym $mod+v splitv
# Switch the current container between different layout styles # Switch the current container between different layout styles
bindsym $mod+s layout stacking # bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split bindsym $mod+e layout toggle split
@@ -188,15 +188,12 @@ bindsym $mod+d focus mode_toggle
# Move focus to the parent container # Move focus to the parent container
bindsym $mod+a focus parent bindsym $mod+a focus parent
# bindsym XF86MonBrightnessDown exec brightnessctl set 5%- bindsym --locked XF86MonBrightnessDown exec "$HOME/.config/sway/scripts/screen-brightness-control.sh --decrement"
# bindsym XF86MonBrightnessUp exec brightnessctl set 5%+ bindsym --locked XF86MonBrightnessUp exec "$HOME/.config/sway/scripts/screen-brightness-control.sh --increment"
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +1% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > $WOBSOCK
bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -1% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > $WOBSOCK
# bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
# bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > $WOBSOCK
bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > $WOBSOCK
bindsym --locked XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle bindsym --locked XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindsym --locked XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle bindsym --locked XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
@@ -217,13 +214,13 @@ bindsym $mod+r mode "Resize"
mode "Resize" { mode "Resize" {
# left will shrink the containers width # left will shrink the containers width
bindsym $left resize shrink width 10px bindsym $mod+$left resize shrink width 10px
# right will grow the containers width # right will grow the containers width
bindsym $right resize grow width 10px bindsym $mod+$right resize grow width 10px
# up will shrink the containers height # up will shrink the containers height
bindsym $up resize shrink height 10px bindsym $mod+$up resize shrink height 10px
# down will grow the containers height # down will grow the containers height
bindsym $down resize grow height 10px bindsym $mod+$down resize grow height 10px
# Return to default mode # Return to default mode
bindsym Escape mode "default" bindsym Escape mode "default"

View File

@@ -0,0 +1,45 @@
#!/bin/bash
increment() {
brightnessctl set 1%+
}
decrement() {
local current_value=$(brightnessctl get)
if [[ "$current_value" == "4" ]]; then
return 0
fi
if [[ "$current_value" == "6000" ]]; then
brightnessctl set 4
else
brightnessctl set 1%-
fi
}
main() {
local WOBSOCK="$XDG_RUNTIME_DIR/wob.sock"
if [[ -z "$1" ]]; then
echo "Provide --increment or --decrement"
exit 1
fi
case "$1" in
"--increment")
increment
;;
"--decrement")
decrement
;;
*)
echo "Invalid option, use only --increment or --decrement"
exit 1
;;
esac
brightnessctl info | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK
}
main $@

View File

@@ -0,0 +1,27 @@
#! /usr/bin/env bash
main() {
pid="$(pgrep "wf-recorder" || pgrep "slurp")"
status=$?
if [[ $status != 0 ]]; then
if [[ -f ~/.config/user-dirs.dirs ]]; then
source ~/.config/user-dirs.dirs
fi
output_dir="${XDG_VIDEOS_DIR:-$HOME/Videos}"
if [[ ! -d "$output_dir" ]]; then
notify-send "Screen recording output directory does not exist: $output_dir" -u critical -t 3000
exit 1
fi
filename="$output_dir/$(date +'recording_%Y-%m-%d-%H%M%S.mp4')"
region="$(slurp)" && wf-recorder -g "$region" -f "$filename"
else
pkill --signal SIGINT wf-recorder
fi
}
main $@

View File

@@ -1,13 +0,0 @@
#!/bin/bash
main() {
local pid="$(pgrep "wf-recorder" || pgrep "slurp")"
if [[ $? != 0 ]]; then
GEO="$(slurp)" && wf-recorder -g "$GEO" -f "$HOME/Pictures/$(date +'recording_%Y-%m-%d-%H%M%S.mp4')"
else
pkill --signal SIGINT wf-recorder
fi
}
main

View File

@@ -1,45 +1,32 @@
{ {
"name": "main", "name": "main",
"mode": "dock", "mode": "dock",
"reload_style_on_change": true, "reload_style_on_change": true,
"layer": "top", "layer": "top",
"position": "bottom", "position": "bottom",
"margin": "5 5 5 5", "margin": "5 5 5 5",
"modules-left": ["sway/workspaces", "sway/mode", "mpris"],
"modules-left": ["sway/workspaces", "sway/mode"],
"modules-center": ["clock"], "modules-center": ["clock"],
"modules-right": [ "modules-right": [
"custom/pacman", "custom/pacman",
"custom/recorder", "custom/recorder",
"privacy", "privacy",
"group/system", "group/system",
"group/misc", "group/misc",
"group/connections", "group/connections"
"custom/power"
], ],
"group/system": { "group/system": {
"orientation": "inherit", "orientation": "inherit",
"modules": ["memory", "disk"] "modules": ["memory", "disk", "cpu"]
}, },
"group/misc": { "group/misc": {
"orientation": "inherit", "orientation": "inherit",
"modules": ["pulseaudio", "pulseaudio#microphone", "backlight", "battery"] "modules": ["pulseaudio", "pulseaudio#microphone", "backlight", "battery"]
}, },
"group/connections": { "group/connections": {
"orientation": "inherit", "orientation": "inherit",
"modules": ["bluetooth", "network"] "modules": ["bluetooth", "network"]
}, },
"sway/workspaces": { "sway/workspaces": {
"format": "{name} {icon}", "format": "{name} {icon}",
"disable-scroll": true, "disable-scroll": true,
@@ -47,19 +34,34 @@
"urgent": "", "urgent": "",
"focused": "", "focused": "",
"default": "" "default": ""
},
"on-click": ":"
},
"sway/mode": {
"tooltip": false,
"format": "{}",
"on-click": "sway mode default"
},
"mpris": {
"interval": 1,
"tooltip-format": "{title} - {artist} [{position}/{length}]",
"format": "{title}"
},
"hyprland/workspaces": {
"format": "{name} {icon}",
"disable-scroll": true,
"format-icons": {
"urgent": "",
"active": "",
"default": ""
} }
}, },
"sway/mode": {
"format": "{}"
},
"clock": { "clock": {
"tooltip": true, "tooltip": true,
"tooltip-format": "{calendar}",
"timezones": ["Europe/Rome"], "timezones": ["Europe/Rome"],
"format": "{:%a %d %H:%M}", "format": "{:%a %d %H:%M}",
"format-alt": "{%H:%M}", "format-alt": "{%H:%M}",
"tooltip-format": "{calendar}",
"calendar": { "calendar": {
"mode": "year", "mode": "year",
"mode-mon-col": 3, "mode-mon-col": 3,
@@ -78,7 +80,6 @@
"on-click-right": "mode" "on-click-right": "mode"
} }
}, },
"idle_inhibitor": { "idle_inhibitor": {
"tooltip": true, "tooltip": true,
"format": "{icon}", "format": "{icon}",
@@ -87,35 +88,29 @@
"deactivated": "" "deactivated": ""
} }
}, },
"custom/pacman": { "custom/pacman": {
"interval": 60,
"tooltip": true, "tooltip": true,
"format": "{} ", "format": "{} ",
"interval": 60, "return-type": "json",
"exec": "checkupdates | wc -l", "exec": "$HOME/.config/waybar/scripts/check-updates.sh",
"exec-if": "[[ $(checkupdates | wc -l) != 0 ]]", "exec-if": "[[ `checkupdates | wc -l` != 0 ]]",
"signal": 1 "signal": 1
}, },
"custom/recorder": { "custom/recorder": {
"tooltip": true,
"format": "Rec 󱣴",
"return-type": "json",
"interval": 1, "interval": 1,
"tooltip": true,
"format": "",
"return-type": "json",
"exec": "echo '{\"class\": \"recording\"}'", "exec": "echo '{\"class\": \"recording\"}'",
"exec-if": "pgrep wf-recorder" "exec-if": "pgrep wf-recorder",
"on-click": "$HOME/.config/sway/scripts/screen-recorder.sh"
}, },
"custom/power": {
"tooltip": false,
"format": "⏻",
"on-click": "wlogout"
},
"privacy": { "privacy": {
"icon-spacing": 4, "icon-spacing": 4,
"icon-size": 18, "icon-size": 18,
"transition-duration": 250, "transition-duration": 0,
"expand": true,
"modules": [ "modules": [
{ {
"tooltip": true, "tooltip": true,
@@ -132,93 +127,103 @@
"type": "audio-in", "type": "audio-in",
"tooltip-icon-size": 24 "tooltip-icon-size": 24
} }
],
"ignore": [
{ "type": "audio-out", "name": "spotify" },
{ "type": "audio-out", "name": "Firefox" },
{ "type": "audio-in", "name": "Firefox" },
{ "type": "audio-out", "name": "Telegram" },
{ "type": "audio-in", "name": "Telegram" }
] ]
}, },
"pulseaudio": { "pulseaudio": {
"tooltip": true, "tooltip": true,
"tooltip-format": "Playing at {volume}% on {desc}",
"format": "{volume}% {icon}", "format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon}", "format-bluetooth": "{volume}% {icon}",
"format-bluetooth-muted": "{volume}% 󰂲", "format-bluetooth-muted": "{volume}% 󰂲",
"format-muted": "{volume}% ", "format-muted": "{volume}% ",
"format-source": "{volume}% ",
"format-source-muted": "{volume}% ",
"format-icons": { "format-icons": {
"headphone": "",
"hands-free": "󰋎",
"headset": "󰋎",
"default": ["", "", ""] "default": ["", "", ""]
}, },
"on-click": "pavucontrol" "on-click": "pavucontrol -t 3",
"on-click-right": "pamixer -t"
}, },
"pulseaudio#microphone": { "pulseaudio#microphone": {
"tooltip": true, "tooltip": true,
"tooltip-format": "{format_source}",
"format": "{format_source}", "format": "{format_source}",
"format-source": "{volume}% ", "format-source": "{volume}% ",
"format-source-muted": "{volume}% " "format-source-muted": "{volume}% ",
"on-click": "pavucontrol -t 4",
"on-click-right": "pamixer --default-source -t",
"on-scroll-up": "pamixer --default-source --increase 1",
"on-scroll-down": "pamixer --default-source --decrease 1"
}, },
"backlight": { "backlight": {
"tooltip": true, "tooltip": true,
"device": "intel_backlight", "device": "intel_backlight",
"format": "{percent}% {icon}", "format": "{percent}% {icon}",
"format-icons": ["󰃚", "󰃛", "󰃜", "󰃝", "󰃞", "󰃟", "󰃠"] "format-icons": ["", "", "", "", "", "󰃟", "󰃝", "󰃠"]
}, },
"battery": { "battery": {
"interval": 1, "interval": 1,
"tooltip": true, "tooltip": true,
"tooltip-format": "{timeTo}\nCapacity: {capacity}%\nPower: {power:0.2f}w\nCycles: {cycles}\nHealth: {health}%",
"states": { "states": {
"warning": 30, "warning": 30,
"critical": 15 "critical": 15
}, },
"format": "{capacity}% {icon}", "format": "{capacity}% {icon}",
"format-charging": "{capacity}% 󰂄", "format-charging": "{capacity}% {icon}",
"format-plugged": "{capacity}% ", "format-plugged": "{capacity}% ",
"format-icons": ["󰁻", "󰁼", "󰁾", "󰂀", "󰂂", "󰁹"], "format-icons": {
"tooltip-format": "{timeTo}\nCapacity: {capacity}%\nPower: {power:0.2f}w\nCycles: {cycles}\nHealth: {health}%", "charging": ["󰢜", "󰂆", "󰂇", "󰂈", "󰢝", "󰂉", "󰢞", "󰂊", "󰂋", "󰂅"],
"on-update": "$HOME/.config/waybar/scripts/check_battery.sh" "default": ["󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"]
},
"on-update": "$HOME/.config/waybar/scripts/check-battery.sh"
}, },
"disk": { "disk": {
"interval": 3, "interval": 3,
"tooltip": true, "tooltip": true,
"format": "{used} ",
"tooltip-format": "{used} used out of {total} on {path} ({percentage_used}%)", "tooltip-format": "{used} used out of {total} on {path} ({percentage_used}%)",
"format": "{used} ",
"unit": "GiB", "unit": "GiB",
"path": "/" "path": "/"
}, },
"cpu": {
"interval": 1,
"format": "{}% ",
"on-click": "alacritty -e btop"
},
"memory": { "memory": {
"interval": 3, "interval": 3,
"tooltip": true, "tooltip": true,
"format": "{used:0.2f}GiB ", "tooltip-format": "{used:0.2f}GiB used out of {total}GiB ({percentage}%)",
"tooltip-format": "{used:0.2f}GiB used out of {total}GiB ({percentage}%)" "format": "{used:0.2f}GiB "
}, },
"bluetooth": { "bluetooth": {
"tooltip": true, "tooltip": true,
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
"tooltip-format-disabled": "Disabled",
"format": "󰂯", "format": "󰂯",
"format-disabled": "󰂲", "format-disabled": "󰂲",
"format-connected": "{device_alias} 󰂯", "format-connected": "{device_alias} 󰂯",
"format-connected-battery": "{device_alias} 󰂯 {device_battery_percentage}%", "format-connected-battery": "{device_alias} 󰂯 {device_battery_percentage}%",
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
"tooltip-format-disabled": "Disabled",
"on-click": "blueman-manager" "on-click": "blueman-manager"
}, },
"network": { "network": {
"interval": 3, "interval": 3,
"tooltip": true, "tooltip": true,
"format": "{ifname}", "tooltip-format": "{ifname} via {gwaddr}",
"format-disconnected": "󰖪", "tooltip-format-wifi": "{ipaddr} ({ifname}) via {essid}\n\n⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
"format-wifi": "󰖩", "tooltip-format-ethernet": "{ipaddr} ({ifname}) via {essid}\n\n⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
"format-ethernet": "󰈀",
"tooltip-format": "{ifname} via {gwaddr} 󰈀",
"tooltip-format-wifi": "{ipaddr} ({ifname}) via {essid} ",
"tooltip-format-ethernet": "{ipaddr} ({ifname}) via {essid} 󰈀",
"tooltip-format-disconnected": "Disconnected", "tooltip-format-disconnected": "Disconnected",
"format": "{ifname}",
"format-icons": ["󰤯", "󰤟", "󰤢", "󰤥", "󰤨"],
"format-disconnected": "󰖪",
"format-wifi": "{icon}",
"format-ethernet": "󰈀",
"max-length": 50, "max-length": 50,
"on-click": "nm-connection-editor" "on-click": "nm-connection-editor"
} }

View File

@@ -0,0 +1,28 @@
#! /usr/bin/env bash
bat="/sys/class/power_supply/BAT1"
crit="${1:-15}"
stat="$(cat $bat/status)"
perc="$(cat $bat/capacity)"
file="$HOME/.config/waybar/scripts/lowbat"
notifysend() {
local pid
local title="Low Battery"
local body="Current charge: $perc%"
notify-send --print-id --urgency=critical --icon=dialog-warning "$title" "$body"
}
main() {
if [[ "$stat" == "Discharging" ]] && [[ "$perc" -le "$crit" ]] && [[ ! -f "$file" ]]; then
touch $file
notifysend
fi
if [[ "$stat" == "Charging" ]] && [[ -f $file ]]; then
rm $file
fi
}
main $@

View File

@@ -0,0 +1,18 @@
#!/usr/bin/env bash
main() {
data=""
updates=$(checkupdates --nocolor 2>/dev/null)
if [[ $? -ne 0 || -z "$updates" ]]; then
data='{"text": "", "tooltip": ""}'
else
numberOfUpdates=$(echo "$updates" | wc -l)
tooltip=$(echo "$updates" | sed 's/\n/\r/g' | jq -sR .)
data="{\"text\": \"$numberOfUpdates\", \"tooltip\": $tooltip}"
fi
echo $data | jq --unbuffered --compact-output
}
main "$@"

View File

@@ -1,41 +0,0 @@
#! /usr/bin/env bash
file=~/.config/waybar/scripts/lowbat
bat="/sys/class/power_supply/BAT1"
crit="${1:-15}"
stat="$(cat $bat/status)"
perc="$(cat $bat/capacity)"
notifysend() {
local pid
local title="Low Battery"
local body="Current charge: $perc%"
if [[ ! -f "$file" ]]; then
pid="$(notify-send --print-id --urgency=critical --icon=dialog-warning "$title" "$body")"
else
pid="$(notify-send --print-id --replace-id="$(cat $file)" --urgency=critical --icon=dialog-warning "$title" "$body")"
fi
echo $pid > $file
}
main() {
if [[ "$stat" == "Discharging" ]] && [[ "$perc" -le "$crit" ]] && [[ ! -f "$file" ]]; then
notifysend
fi
if [[ -f "$file" ]]; then
case "$stat" in
"Charging" )
rm $file
;;
"Discharging" )
notifysend
;;
* );;
esac
fi
}
main $@

View File

@@ -1,29 +1,25 @@
* { * {
all: initial; all: initial;
border: none;
border-radius: 0;
min-height: 20px; min-height: 20px;
font-family: "Symbols Nerd Font", monospace; font-family: "Symbols Nerd Font", monospace;
}
#waybar {
background-color: transparent; background-color: transparent;
} }
tooltip {
background-color: #383c4a;
border-radius: 10px;
}
tooltip label { tooltip label {
background-color: #383c4a;
color: white; color: white;
padding-top: 4px;
padding-bottom: 4px;
padding-left: 8px;
padding-right: 8px;
border-radius: 10px;
} }
#connections { #connections {
border-radius: 10px; border-radius: 10px;
background-color: #383c4a; background-color: #383c4a;
color: #ffffff; color: #ffffff;
margin-left: 8px; margin-left: 4px;
padding-left: 8px; padding-left: 8px;
padding-right: 8px; padding-right: 8px;
} }
@@ -32,7 +28,7 @@ tooltip label {
border-radius: 10px; border-radius: 10px;
background-color: #383c4a; background-color: #383c4a;
color: #ffffff; color: #ffffff;
margin-left: 8px; margin-left: 4px;
padding-left: 8px; padding-left: 8px;
padding-right: 8px; padding-right: 8px;
} }
@@ -41,30 +37,78 @@ tooltip label {
border-radius: 10px; border-radius: 10px;
background-color: #383c4a; background-color: #383c4a;
color: #ffffff; color: #ffffff;
margin-left: 8px; margin-left: 4px;
padding-left: 8px; padding-left: 8px;
padding-right: 8px; padding-right: 8px;
} }
#custom-pacman, #custom-pacman,
#custom-recorder,
#mode, #mode,
#clock, #clock,
#workspaces, #workspaces,
#custom-recorder, #custom-recorder,
#custom-power, #custom-power,
#mpris,
#mpris.paused,
#privacy { #privacy {
border-radius: 10px; border-radius: 10px;
background-color: #383c4a; background-color: #383c4a;
color: #ffffff; color: #ffffff;
} }
#custom-recorder, #custom-pacman {
background-color: #32e47c;
color: #383c4a;
}
#privacy {
background-color: #e63946;
}
#mode {
background-color: #8ecae6;
color: #000000;
}
#mpris:not(.paused) {
background: linear-gradient(90deg,
#e66465,
#f6b73c,
#6dd5ed,
#c084f1,
#ff9a9e,
#a1ffce,
#fbc2eb,
#fad0c4,
#8fd3f4,
#84fab0,
#dcb0ed,
#f5576c
);
background-size: 1000% 1000%;
animation: gradientShift 30s ease-in-out infinite;
color: #000;
}
@keyframes gradientShift {
0% { background-position: 0% 50%; }
12.5% { background-position: 20% 50%; }
25% { background-position: 45% 50%; }
37.5% { background-position: 70% 50%; }
50% { background-position: 100% 50%; }
62.5% { background-position: 70% 50%; }
75% { background-position: 45% 50%; }
87.5% { background-position: 20% 50%; }
100% { background-position: 0% 50%; }
}
#custom-pacman, #custom-pacman,
#custom-recorder, #custom-recorder,
#mode, #mode,
#mpris,
#custom-power, #custom-power,
#privacy { #privacy {
margin-left: 8px; margin-left: 4px;
} }
#custom-pacman, #custom-pacman,
@@ -72,6 +116,7 @@ tooltip label {
#mode, #mode,
#clock, #clock,
#privacy, #privacy,
#mpris,
#custom-power, #custom-power,
#workspaces button { #workspaces button {
padding-top: 4px; padding-top: 4px;
@@ -83,6 +128,7 @@ tooltip label {
#pulseaudio:not(.microphone), #pulseaudio:not(.microphone),
#pulseaudio.microphone, #pulseaudio.microphone,
#memory, #memory,
#disk,
#backlight, #backlight,
#bluetooth { #bluetooth {
padding-right: 8px; padding-right: 8px;

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

36
.config/wlogout/layout Normal file
View File

@@ -0,0 +1,36 @@
{
"label" : "lock",
"action" : "loginctl lock-session",
"text" : "Lock",
"keybind" : "l"
}
{
"label" : "hibernate",
"action" : "systemctl hibernate",
"text" : "Hibernate",
"keybind" : "h"
}
{
"label" : "logout",
"action" : "loginctl terminate-user $USER",
"text" : "Logout",
"keybind" : "e"
}
{
"label" : "suspend",
"action" : "systemctl suspend",
"text" : "suspend",
"keybind" : "u"
}
{
"label" : "shutdown",
"action" : "systemctl poweroff",
"text" : "Shutdown",
"keybind" : "s"
}
{
"label" : "reboot",
"action" : "systemctl reboot",
"text" : "Reboot",
"keybind" : "r"
}

52
.config/wlogout/style.css Normal file
View File

@@ -0,0 +1,52 @@
* {
background-image: none;
box-shadow: none;
}
window {
background-color: rgba(24, 27, 32, 0.5);
}
button {
background-repeat: no-repeat;
background-size: 20%;
background-color: transparent;
animation: gradient_f 20s ease-in infinite;
transition: all 0.3s ease-in;
box-shadow: 0 0 10px 2px transparent;
border-radius: 36px;
margin: 10px;
}
button:hover {
background-size: 50%;
box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.4);
background-color: #383c4a;
color: transparent;
transition: all 0.3s cubic-bezier(0.55, 0.0, 0.28, 1.682), box-shadow 0.5s
ease-in;
}
#lock {
background-image: image(url("./icons/lock.png"));
}
#logout {
background-image: image(url("./icons/logout.png"));
}
#suspend {
background-image: image(url("./icons/sleep.png"));
}
#hibernate {
background-image: image(url("./icons/hibernate.png"));
}
#shutdown {
background-image: image(url("./icons/power.png"));
}
#reboot {
background-image: image(url("./icons/restart.png"));
}

76
.vimrc Normal file
View File

@@ -0,0 +1,76 @@
set nocompatible
filetype off
set clipboard=unnamedplus
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'scrooloose/nerdtree'
set tabstop=2
set shiftwidth=2
set autoindent
set expandtab
syntax on
filetype plugin on
set path+=**
set wildmenu
set number
set cursorline
:highlight Cursorline cterm=bold ctermbg=black
set hlsearch
set incsearch
set smartcase
set ignorecase
inoremap jk <Esc>
set smartcase
" set showmatch
if !has('gui_running')
set t_Co=256
endif
" set termguicolors
set autoread
au FocusGained,BufEnter * checktime
set wildmenu
set ruler
" set foldcolumn=1
set laststatus=2
set relativenumber
set mouse=a
set title
" set spell
Plugin 'tpope/vim-surround'
call vundle#end()
filetype plugin indent on

61
.zshrc
View File

@@ -1,6 +1,6 @@
# ~/.zshrc file for zsh interactive shells. # ~/.zshrc file for zsh interactive shells.
eval "$(starship init zsh)" eval "$(rbenv init - zsh)"
# set -o vi # set -o vi
@@ -8,7 +8,7 @@ eval "$(starship init zsh)"
setopt autocd # change directory just by typing its name setopt autocd # change directory just by typing its name
setopt correct # auto correct mistakes setopt correct # auto correct mistakes
setopt interactivecomments # allow comments in interactive mode setopt interactivecomments # allow comments in interactive mode
setopt magicequalsubst # enable filename expansion for arguments of the form anything=expression setopt magicequalsubst # enable filename expansion for arguments of the form 'anything=expression'
setopt nonomatch # hide error message if there is no match for the pattern setopt nonomatch # hide error message if there is no match for the pattern
setopt notify # report the status of background jobs immediately setopt notify # report the status of background jobs immediately
setopt numericglobsort # sort filenames numerically when it makes sense setopt numericglobsort # sort filenames numerically when it makes sense
@@ -33,8 +33,8 @@ bindkey '^[[F' end-of-line # end
bindkey '^[[Z' undo # shift + tab undo last action bindkey '^[[Z' undo # shift + tab undo last action
# enable completion features # enable completion features
autoload -Uz compinit # autoload -Uz compinit
compinit -d ~/.cache/zcompdump # compinit -d ~/.cache/zcompdump
zstyle ':completion:*:*:*:*:*' menu select zstyle ':completion:*:*:*:*:*' menu select
zstyle ':completion:*' auto-description 'specify: %d' zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct _approximate zstyle ':completion:*' completer _expand _complete _correct _approximate
@@ -51,8 +51,8 @@ zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
# History configurations # History configurations
HISTFILE=~/.zsh_history HISTFILE=~/.zsh_history
HISTSIZE=1000 HISTSIZE=10000
SAVEHIST=1000 SAVEHIST=10000
setopt hist_expire_dups_first # delete duplicates first when HISTFILE size exceeds HISTSIZE setopt hist_expire_dups_first # delete duplicates first when HISTFILE size exceeds HISTSIZE
setopt hist_ignore_dups # ignore duplicated commands history list setopt hist_ignore_dups # ignore duplicated commands history list
setopt hist_ignore_space # ignore commands that start with space setopt hist_ignore_space # ignore commands that start with space
@@ -91,46 +91,29 @@ if [ -x /usr/bin/dircolors ]; then
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31' zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
fi fi
# enable auto-suggestions based on the history
if [ -f /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh ]; then
. /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
# change suggestion color
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=#999'
fi
# enable command-not-found if installed
if [ -f /etc/zsh_command_not_found ]; then
. /etc/zsh_command_not_found
fi
# Alias definitions. # Alias definitions.
if [ -f ~/.zsh_aliases ]; then [ -f ~/.aliases ] && . ~/.aliases
. ~/.zsh_aliases
fi
if [ -f ~/.zsh_exports ]; then [ -f ~/.exports ] && . ~/.exports
. ~/.zsh_exports
fi
if [ -f ~/.zsh_include ]; then [ -f ~/.include ] && . ~/.include
. ~/.zsh_include
fi
if [ -f ~/.zsh_profile ]; then [ -f ~/.profile ] && . ~/.profile
. ~/.zsh_profile
fi
# The following lines were added by compinstall
zstyle :compinstall filename '/home/andrea/.zshrc'
autoload -Uz compinit
compinit
# End of lines added by compinstall
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
# plugins # plugins
plugins=(vi-mode) # plugins=(vi-mode)
eval "$(rbenv init - zsh)" # Bun and bun completitions
[ -s "$HOME/.bun/_bun" ] && . "$HOME/.bun/_bun"
# Fnm
FNM_PATH="/home/andrea/.local/share/fnm"
if [ -d "$FNM_PATH" ]; then
export PATH="/home/andrea/.local/share/fnm:$PATH"
eval "`fnm env`"
fi
eval "$(starship init zsh)"

View File

@@ -14,6 +14,7 @@ List of my dot files and config files for my Arch Linux desktop setup.
- [Starship](https://github.com/starship/starship): Infinitely customizable prompt for any shell - [Starship](https://github.com/starship/starship): Infinitely customizable prompt for any shell
- [Swappy](https://github.com/jtheoof/swappy): Wayland native snapshot editing tool - [Swappy](https://github.com/jtheoof/swappy): Wayland native snapshot editing tool
- [Sway](https://github.com/swaywm/sway): i3-compatible Wayland compositor - [Sway](https://github.com/swaywm/sway): i3-compatible Wayland compositor
- [SwayNC](https://github.com/ErikReider/SwayNotificationCenter): A simple GTK based notification daemon for any Wayland compositor
- [Waybar](https://github.com/Alexays/Waybar): Wayland bar for Sway - [Waybar](https://github.com/Alexays/Waybar): Wayland bar for Sway
- [Wofi](https://hg.sr.ht/~scoopta/wofi): Launcher program for wlroots compositors. Deprecated, I use `fuzzel` instead. - [Wofi](https://hg.sr.ht/~scoopta/wofi): Launcher program for wlroots compositors. Deprecated, I use `fuzzel` instead.

View File

@@ -1,6 +1,7 @@
"$schema" = 'https://starship.rs/config-schema.json' "$schema" = 'https://starship.rs/config-schema.json'
[aws] [aws]
disabled = true
symbol = '☁️ ' symbol = '☁️ '
[directory] [directory]
@@ -13,12 +14,8 @@
[os] [os]
disabled = false disabled = false
[localip]
disabled = false
ssh_only = false
[time] [time]
disabled = false disabled = true
[username] [username]
show_always = true show_always = true