refactor: new system basics

This commit is contained in:
2025-05-29 18:18:25 +02:00
parent f4ea18dc1a
commit c0ca42d166
92 changed files with 190009 additions and 12 deletions

504
polybar/floating/bars.ini Normal file
View File

@@ -0,0 +1,504 @@
; Original Author : Aditya Shakya
; Mail : adi1090x@gmail.com
; Modified by : Daniel Heras
; Mail : dani.heras@hotmail.com
[bar]
fill =
empty =
indicator =
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/volume]
type = internal/pulseaudio
; Soundcard to be used
; Usually in the format hw:# where # is the card number
; You can find the different card numbers in `/proc/asound/cards`
master-soundcard = default
speaker-soundcard = default
headphone-soundcard = default
; Name of the master, speaker and headphone mixers
; Use the following command to list available mixer controls:
; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p"
; If master, speaker or headphone-soundcard isn't the default,
; use `amixer -c # scontrols` instead where # is the number
; of the master, speaker or headphone soundcard respectively
;
; Default: Master
master-mixer = Master
; Optionally define speaker and headphone mixers
; Default: none
speaker-mixer = Speaker
; Default: none
headphone-mixer = Headphone
; NOTE: This is required if headphone_mixer is defined
; Use the following command to list available device controls
; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort
; You may also need to use `amixer -c # controls` as above for the mixer names
; Default: none
;;headphone-id = 9
; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear
; Default: false
;;mapped = true
; Interval for volume increase/decrease (in percent points)
; Default: 5
interval = 5
; Available tags:
; <label-volume> (default)
; <ramp-volume>
; <bar-volume>
format-volume = <ramp-volume> <bar-volume>
; Available tags:
; <label-muted> (default)
; <ramp-volume>
; <bar-volume>
format-muted-prefix =
; Available tokens:
; %percentage% (default)
label-volume = %percentage%%
; Available tokens:
; %percentage% (default
label-muted = " Muted"
label-muted-foreground = ${color.red}
; Only applies if <ramp-volume> is used
ramp-volume-0 =
ramp-volume-1 =
ramp-volume-2 =
ramp-volume-3 =
ramp-volume-4 =
; Only applies if <bar-volume> is used
bar-volume-width = 8
bar-volume-gradient = true
bar-volume-indicator = ${bar.indicator}
bar-volume-indicator-foreground = ${color.foreground}
bar-volume-fill = ${bar.fill}
bar-volume-foreground-0 = ${color.primary-dark}
bar-volume-foreground-1 = ${color.primary-dark}
bar-volume-foreground-2 = ${color.primary}
bar-volume-foreground-3 = ${color.primary}
bar-volume-foreground-4 = ${color.primary-light}
bar-volume-empty = ${bar.empty}
bar-volume-empty-foreground = ${color.foreground}
; If defined, it will replace <ramp-volume> when
; headphones are plugged in to `headphone_control_numid`
; If undefined, <ramp-volume> will be used for both
; Only applies if <ramp-volume> is used
ramp-headphones-0 =
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/brightness]
;type = internal/xbacklight
type = internal/backlight
; Use the following command to list available cards:
; $ ls -1 /sys/class/backlight/
;card = intel_backlight
card = amdgpu_bl1
; Available tags:
; <label> (default)
; <ramp>
; <bar>
format = <bar>
format-prefix = " "
; Available tokens:
; %percentage% (default)
label = %percentage%%
; Only applies if <ramp> is used
ramp-0 =
ramp-1 =
ramp-2 =
ramp-3 =
ramp-4 =
; Only applies if <bar> is used
bar-width = 11
bar-gradient = false
bar-indicator = ${bar.indicator}
bar-indicator-foreground = ${color.foreground}
bar-fill = ${bar.fill}
bar-foreground-0 = ${color.green}
bar-foreground-1 = ${color.green}
bar-foreground-2 = ${color.yellow}
bar-foreground-3 = ${color.yellow}
bar-foreground-4 = ${color.red}
bar-empty = ${bar.empty}
bar-empty-foreground = ${color.foreground}
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/battery_bar]
type = internal/battery
; This is useful in case the battery never reports 100% charge
full-at = 99
; Use the following command to list batteries and adapters:
; $ ls -1 /sys/class/power_supply/
battery = BATT
adapter = ACAD
; If an inotify event haven't been reported in this many
; seconds, manually poll for new values.
;
; Needed as a fallback for systems that don't report events
; on sysfs/procfs.
;
; Disable polling by setting the interval to 0.
;
; Default: 5
poll-interval = 5
; see "man date" for details on how to format the time string
; NOTE: if you want to use syntax tags here you need to use %%{...}
; Default: %H:%M:%S
time-format = %H:%M
; Available tags:
; <label-charging> (default)
; <bar-capacity>
; <ramp-capacity>
; <animation-charging>
format-charging = <bar-capacity>
format-charging-prefix = " "
; Available tags:
; <label-discharging> (default)
; <bar-capacity>
; <ramp-capacity>
; <animation-discharging>
format-discharging = <bar-capacity>
format-discharging-prefix = " "
; Available tags:
; <label-full> (default)
; <bar-capacity>
; <ramp-capacity>
format-full = <label-full>
format-full-prefix = " "
; Available tokens:
; %percentage% (default)
; %time%
; %consumption% (shows current charge rate in watts)
label-charging = %percentage%%
; Available tokens:
; %percentage% (default)
; %time%
; %consumption% (shows current discharge rate in watts)
label-discharging = %percentage%%
; Available tokens:
; %percentage% (default)
label-full = "Full"
; Only applies if <bar-capacity> is used
bar-capacity-width = 11
bar-capacity-gradient = false
bar-capacity-indicator = ${bar.indicator}
bar-capacity-indicator-foreground = ${color.foreground}
bar-capacity-fill = ${bar.fill}
bar-capacity-foreground-0 = ${color.green}
bar-capacity-foreground-1 = ${color.green}
bar-capacity-foreground-2 = ${color.yellow}
bar-capacity-foreground-3 = ${color.yellow}
bar-capacity-foreground-4 = ${color.red}
bar-capacity-empty = ${bar.empty}
bar-capacity-empty-foreground = ${color.foreground}
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/cpu_bar]
type = internal/cpu
; Seconds to sleep between updates
; Default: 1
interval = 0.5
; Available tags:
; <label> (default)
; <bar-load>
; <ramp-load>
; <ramp-coreload>
;;format = <label> <ramp-coreload>
format = <bar-load> <label>
format-prefix = " "
; Available tokens:
; %percentage% (default) - total cpu load averaged over all cores
; %percentage-sum% - Cumulative load on all cores
; %percentage-cores% - load percentage for each core
; %percentage-core[1-9]% - load percentage for specific core
label = "%percentage%%"
; Only applies if <bar-load> is used
bar-load-width = 11
bar-load-gradient = false
bar-load-indicator = ${bar.indicator}
bar-load-indicator-foreground = ${color.foreground}
bar-load-fill = ${bar.fill}
bar-load-foreground-0 = ${color.green}
bar-load-foreground-1 = ${color.green}
bar-load-foreground-2 = ${color.yellow}
bar-load-foreground-3 = ${color.yellow}
bar-load-foreground-4 = ${color.red}
bar-load-empty = ${bar.empty}
bar-load-empty-foreground = ${color.foreground}
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/filesystem_bar]
type = internal/fs
; Mountpoints to display
mount-0 = /
;;mount-1 = /home
;;mount-2 = /var
; Seconds to sleep between updates
; Default: 30
interval = 30
; Display fixed precision values
; Default: false
fixed-values = false
; Spacing between entries
; Default: 2
;;spacing = 4
; Available tags:
; <label-mounted> (default)
; <bar-free>
; <bar-used>
; <ramp-capacity>
format-mounted = <bar-used> <label-mounted>
format-mounted-prefix = " "
; Available tags:
; <label-unmounted> (default)
format-unmounted = <label-unmounted>
format-unmounted-prefix = " "
; Available tokens:
; %mountpoint%
; %type%
; %fsname%
; %percentage_free%
; %percentage_used%
; %total%
; %free%
; %used%
; Default: %mountpoint% %percentage_free%%
label-mounted = %used%/%total%
; Available tokens:
; %mountpoint%
; Default: %mountpoint% is not mounted
label-unmounted = %mountpoint%: not mounted
; Only applies if <bar-used> is used
bar-used-width = 11
bar-used-gradient = false
bar-used-indicator = ${bar.indicator}
bar-used-indicator-foreground = ${color.foreground}
bar-used-fill = ${bar.fill}
bar-used-foreground-0 = ${color.green}
bar-used-foreground-1 = ${color.green}
bar-used-foreground-2 = ${color.yellow}
bar-used-foreground-3 = ${color.yellow}
bar-used-foreground-4 = ${color.red}
bar-used-empty = ${bar.empty}
bar-used-empty-foreground = ${color.foreground}
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/memory_bar]
type = internal/memory
; Seconds to sleep between updates
; Default: 1
interval = 2
; Available tags:
; <label> (default)
; <bar-used>
; <bar-free>
; <ramp-used>
; <ramp-free>
; <bar-swap-used>
; <bar-swap-free>
; <ramp-swap-used>
; <ramp-swap-free>
format = <bar-used> <label>
format-prefix = " "
; Available tokens:
; %percentage_used% (default)
; %percentage_free%
; %gb_used%
; %gb_free%
; %gb_total%
; %mb_used%
; %mb_free%
; %mb_total%
; %percentage_swap_used%
; %percentage_swap_free%
; %mb_swap_total%
; %mb_swap_free%
; %mb_swap_used%
; %gb_swap_total%
; %gb_swap_free%
; %gb_swap_used%
label = "%mb_used%"
; Only applies if <bar-used> is used
bar-used-width = 11
bar-used-gradient = false
bar-used-indicator = ${bar.indicator}
bar-used-indicator-foreground = ${color.foreground}
bar-used-fill = ${bar.fill}
bar-used-foreground-0 = ${color.green}
bar-used-foreground-1 = ${color.green}
bar-used-foreground-2 = ${color.yellow}
bar-used-foreground-3 = ${color.yellow}
bar-used-foreground-4 = ${color.red}
bar-used-empty = ${bar.empty}
bar-used-empty-foreground = ${color.foreground}
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/mpd_bar]
type = internal/mpd
; Host where mpd is running (either ip or domain name)
; Can also be the full path to a unix socket where mpd is running.
;;host = 127.0.0.1
;;port = 6600
;;password = mysecretpassword
; Seconds to sleep between progressbar/song timer sync
; Default: 1
interval = 1
; Available tags:
; <label-song> (default)
; <label-time>
; <bar-progress>
; <toggle> - gets replaced with <icon-(pause|play)>
; <toggle-stop> - gets replaced with <icon-(stop|play)>
; <icon-random>
; <icon-repeat>
; <icon-repeatone> (deprecated)
; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone>
; <icon-consume>
; <icon-prev>
; <icon-stop>
; <icon-play>
; <icon-pause>
; <icon-next>
; <icon-seekb>
; <icon-seekf>
format-online = <label-song> <bar-progress> <label-time>
format-online-prefix =
;format-playing = ${self.format-online}
;format-paused = ${self.format-online}
;format-stopped = ${self.format-online}
; Available tags:
; <label-offline>
format-offline = <label-offline>
format-offline-prefix =
; Available tokens:
; %artist%
; %album-artist%
; %album%
; %date%
; %title%
; Default: %artist% - %title%
label-song = " %artist% - %title%"
label-song-maxlen = 25
label-song-ellipsis = true
; Available tokens:
; %elapsed%
; %total%
; Default: %elapsed% / %total%
label-time = %elapsed% / %total%
; Available tokens:
; None
label-offline = " Offline"
; Only applies if <icon-X> is used
icon-play =
icon-pause =
icon-stop =
icon-next =
icon-prev =
icon-seekf =
icon-seekb =
icon-random =
icon-repeat =
icon-repeatone =
icon-single =
icon-consume =
; Used to display the state of random/repeat/repeatone/single
; Only applies if <icon-[random|repeat|repeatone|single]> is used
toggle-on-foreground = ${color.primary}
toggle-off-foreground = ${color.red}
; Only applies if <bar-progress> is used
bar-progress-width = 11
bar-progress-gradient = false
bar-progress-indicator = ${bar.indicator}
bar-progress-indicator-foreground = ${color.yellow}
bar-progress-fill = ${bar.fill}
bar-progress-foreground-0 = ${color.yellow}
bar-progress-empty = ${bar.empty}
bar-progress-empty-foreground = ${color.foreground}
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

View File

@@ -0,0 +1,18 @@
; Original Author : Aditya Shakya
; Mail : adi1090x@gmail.com
; Modified by : Daniel Heras
; Mail : dani.heras@hotmail.com
[color]
background = #00121212
background-alt = #141c21
muted = #4c5c68
foreground = #93a1a1
foreground-alt = #d6c4c4
primary = #246a73
primary-dark = #415a77
primary-light = #61a5c2
red = #bc4749
green = #4c956c
yellow = #e9c46a
complementary = #415a77

115
polybar/floating/config.ini Normal file
View File

@@ -0,0 +1,115 @@
; Original Author : Aditya Shakya
; Mail : adi1090x@gmail.com
; Modified by : Daniel Heras
; Mail : dani.heras@hotmail.com
[global/wm]
margin-bottom = 0
margin-top = 0
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
include-file = ~/.config/polybar/floating/bars.ini
include-file = ~/.config/polybar/floating/colors.ini
include-file = ~/.config/polybar/floating/modules.ini
include-file = ~/.config/polybar/user_modules.ini
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
;; Bar Settings
[bar/main]
monitor =
monitor-fallback =
; Require the monitor to be in connected state
monitor-strict = false
; Tell the Window Manager not to configure the window.
override-redirect = false
; Put the bar at the bottom of the screen
bottom = false
; Prefer fixed center position for the `modules-center` block
fixed-center = true
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
width = 100%
height = 30
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
offset-x = 0%
offset-y = 0%
background = ${color.background}
foreground = ${color.foreground}
; Background gradient (vertical steps)
; background-[0-9]+ = #aarrggbb
;;background-0 =
radius-top = 0.0
radius-bottom = 0.0
; Under-/overline pixel size and argb color
; {overline,underline}-size
; {overline,underline}-color
;underline-size = 2
;underline-color = #2b3648
module-margin-left = 0
module-margin-right = 0
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
; Fonts are defined using <font-name>;<vertical-offset>
font-0 = "JetBrainsMonoNL Nerd Font Mono:style=Medium:size=11;3"
font-1 = "waffle:size=12;3"
font-2 = "JetBrainsMonoNL Nerd Font Mono:style=Medium:size=30;7"
font-3 = "JetBrainsMonoNL Nerd Font Mono:style=Medium:size=17;4"
font-4 = "JetBrainsMonoNL Nerd Font Mono:style=Medium:size=16;4"
font-5 = "JetBrainsMonoNL Nerd Font Mono:style=Medium:size=18;5"
font-6 = "JetBrainsMonoNL Nerd Font Mono:style=Medium:size=10;3"
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[bar/top]
inherit = bar/main
border-size = 12
border-bottom-size = 0
border-color = #00000000
modules-left = border_left sep2 launcher sep5 workspaces sep6 border_right_fancy sep4 mpd
modules-center = border_left sep2 pulseaudio sep battery sep backlight sep memory sep2 border_right
modules-right = border_left sep2 network sep tray sep2 border_right sep3 border_left sep2 date sep2 border_right
enable-ipc = true
;; Disable legacy tray to use the module
tray-position = none
# wm-restack = bspwm
wm-restack = bspwm
;; Application Settings
[settings]
; The throttle settings lets the eventloop swallow up til X events
throttle-output = 5
throttle-output-for = 10
; Time in milliseconds that the input handler will wait between processing events
throttle-input-for = 30
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events
screenchange-reload = false
; Compositing operators
compositing-background = source
compositing-foreground = over
compositing-overline = source
compositing-underline = source
compositing-border = source
; Enables pseudo-transparency for the bar
pseudo-transparency = false
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

1087
polybar/floating/modules.ini Normal file
View File

File diff suppressed because it is too large Load Diff

14
polybar/launch.sh Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Add this script to your wm startup file.
DIR="$HOME/.config/polybar/floating"
# Terminate already running bar instances
killall -q polybar
# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
# Launch the bar
polybar -q top -c "$DIR"/config.ini &

View File

@@ -0,0 +1,21 @@
#!/bin/bash
# Author by : Daniel Heras
# Mail : dani.heras@hotmail.com
# Posible enmascarando targets de systemd, pero mejor con caffeine
# Ejecutar con caffeine
if [ -f "/tmp/sleepStopped" ]; then
touch /tmp/sleep
rm /tmp/sleepStopped
else
touch /tmp/sleepStopped
for (( ; ; )); do
if [ -f "/tmp/sleep" ]; then
rm /tmp/sleep
exit 123
fi
sleep 5
done
fi

View File

@@ -0,0 +1,11 @@
#!/bin/bash
pausa=$(dunstctl is-paused)
if [ $pausa == 'false' ]
then
dunstctl close-all
dunstctl set-paused true
else
dunstctl close-all
dunstctl set-paused false
notify-send "Notificaciones activadas"
fi

View File

@@ -0,0 +1,18 @@
#!/bin/bash
# Author by : Daniel Heras
# Mail : dani.heras@hotmail.com
id=$(xinput list | grep Touchpad | awk '{print $6}' | grep -o '[0-9]\+')
prop=$(xinput list-props $id | grep "Device Enabled (" | awk '{print $3}' | grep -o '[0-9]\+')
val=$(xinput list-props $id | grep "Device Enabled (" | awk '{print $4}' | grep -o '[0-9]\+')
if [ $val = 1 ]; then
val=0
else
val=1
fi
xinput set-prop $id $prop $val
unset id
unset prop
unset val

17
polybar/scripts/bluetooth.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
# Author by : Daniel Heras
# Mail : dani.heras@hotmail.com
if [ $(bluetoothctl show | grep "Powered: yes" | wc -c) -eq 0 ]
then
echo "%{F#415a77}"
else
if [ $(echo info | bluetoothctl | grep 'Device' | wc -c) -eq 0 ]
then
echo ""
else
echo "%{F#40916c}"
fi
fi

BIN
polybar/scripts/calendario.jar Executable file
View File

Binary file not shown.

15
polybar/scripts/cyclexkbmap.sh Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
layouts=("es" "us")
variants=("none" "intl")
currentLayout=$(xkb-switch)
currentLayoutCleaned=${currentLayout:0:2}
for i in "${!layouts[@]}"; do
if test ${layouts[i]} == $currentLayoutCleaned; then
nextLayout=${layouts[(i+1)%${#layouts}]}
nextVariant=${variants[(i+1)%${#variants}]}
setxkbmap -layout $nextLayout -variant $nextVariant
fi
done

11
polybar/scripts/dunst.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/sh
# Author by : Daniel Heras
# Mail : dani.heras@hotmail.com
if [ $(dunstctl is-paused) == 'false' ]
then
echo "%{F#FFFFFF}"
else
echo "%{F#ffbe0b} Pausadas"
fi

4
polybar/scripts/getMemory.sh Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/bash
memory=$(free -m -L | awk '{print $6'})
echo $memory MiB

9
polybar/scripts/listxkbmap.sh Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
layout=$(xkb-switch)
caps_lock_status=$(xset -q | sed -n 's/^.*Caps Lock:\s*\(\S*\).*$/\1/p')
if [ $caps_lock_status == "on" ]; then
caps="- CAPS"
fi
echo ${layout:0:2} ${caps}

View File

@@ -0,0 +1,10 @@
#!/bin/bash
# Author by : Daniel Heras
# Mail : dani.heras@hotmail.com
if [ -f "/tmp/sleepStopped" ]; then
echo "%{F#ef476f} stopped"
else
echo "%{F#ced4da} sleepy"
fi

View File

@@ -0,0 +1,9 @@
#!/bin/bash
# Author by : Daniel Heras
# Mail : dani.heras@hotmail.com
dia="$(date +"%a %d")"
mes="$(date +"%B")"
hora="$(date +"%R")"
echo "%{F#ffffff} %{F#c4c7c5}$dia de $mes %{F#ffffff} %{F#ffffff}$hora"

View File

@@ -0,0 +1,8 @@
#!/bin/bash
# Author by : Daniel Heras
# Mail : dani.heras@hotmail.com
var=$(dunstctl history | sed -n /summary/,/}\,/p | grep data | awk '{$1=$2=""; print $0}' | sed 's/"//g')
echo $var
ver="$(rofi -no-config -no-lazy-grab -sep "\n" -dmenu -i -p 'Historial' -width 12 -line-padding 3 -lines 3 -theme ~/.config/polybar/floating/scripts/rofi/notificaciones.rasi <<< "$var")"

View File

@@ -0,0 +1,9 @@
#!/bin/bash
# Author by : Daniel Heras
# Mail : dani.heras@hotmail.com
grafica="$(sensors | grep 'Sensor 2' | awk '{print $3}')"
cpu="$(sensors | grep -A 10 'gigabyte' | grep 'temp3' | awk '{print $2}')"
echo "%{F#ffffff} %{F#c4c7c5}CPU: $cpu  %{F#c4c7c5}GPU: $grafica"

View File

@@ -0,0 +1,10 @@
#!/bin/bash
# Author by : Daniel Heras
# Mail : dani.heras@hotmail.com
#tiempo="$(~/Packages/ansiweather/ansiweather -l "Béjar,ES" -u metric -s true -f 1 -d true | awk '{print $7$8 $9}' | sed $'s/\e\\[[0-9;:]*[a-zA-Z]//g')"
#tiempo=$(curl -s wttr.in/Béjar?format="%l:+%c+%t+%p\n")
#echo "%{F#66ffffff}Béjar: %{F#ffffff}$tiempo"
tiempo=$(curl -s wttr.in/Béjar?format="%l:+%C+%t+%p\n")
echo "$tiempo"

View File

@@ -0,0 +1,9 @@
#!/bin/bash
# Author by : Daniel Heras
# Mail : dani.heras@hotmail.com
curl wttr.in/Béjar
echo "Pulsa una tecla para salir"
read q
exit 1

View File

@@ -0,0 +1,13 @@
#!/bin/bash
# Author by : Daniel Heras
# Mail : dani.heras@hotmail.com
id=$(xinput list | grep Touchpad | awk '{print $6}' | grep -o '[0-9]\+')
prop=$(xinput list-props $id | grep "Device Enabled (" | awk '{print $3}' | grep -o '[0-9]\+')
val=$(xinput list-props $id | grep "Device Enabled (" | awk '{print $4}' | grep -o '[0-9]\+')
if [ $val = 0 ]; then
echo "%{F#ce4257}"
else
echo "%{F#40916c}"
fi

81
polybar/scripts/powermenu.sh Executable file
View File

@@ -0,0 +1,81 @@
#!/usr/bin/env bash
## Original Author : Aditya Shakya
## Mail : adi1090x@gmail.com
## Modified by : Daniel Heras
## Mail : dani.heras@hotmail.com
dir="~/.config/polybar/floating/scripts/rofi"
#uptime=$(uptime -p | sed -e 's/up //g')
uptime=$(uptime | awk '{print $3}' | sed 's/,//g')
rofi_command="rofi -theme $dir/powermenuRight.rasi"
shutdown="Shutdown "
reboot="Restart "
lock="Lock "
suspend="Sleep "
logout="Logout "
confirm_exit() {
rofi -dmenu\
-i\
-no-fixed-num-lines\
-p "Are You Sure? : "\
-theme $dir/confirm.rasi
}
msg() {
rofi -theme "$dir/message.rasi" -e "Available Options - yes / y / no / n"
}
options="$lock\n$suspend\n$logout\n$reboot\n$shutdown"
chosen="$(echo -e "$options" | $rofi_command -p "$uptime" -dmenu -selected-row 0)"
case $chosen in
$shutdown)
ans=$(confirm_exit &)
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
systemctl poweroff
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
exit 0
else
msg
fi
;;
$reboot)
ans=$(confirm_exit &)
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
systemctl reboot
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
exit 0
else
msg
fi
;;
$lock)
mpc -q pause
pulseaudio-ctl mute yes
if [[ -f /usr/bin/i3lock ]]; then
i3lock
elif [[ -f /usr/bin/betterlockscreen ]]; then
betterlockscreen -l
elif [[ -f /usr/bin/light-locker-command ]]; then
light-locker-command -l
fi
;;
$suspend)
mpc -q pause
pulseaudio-ctl mute yes
systemctl suspend
;;
$logout)
ans=$(confirm_exit &)
if [[ $ans == "yes" || $ans == "YES" || $ans == "y" || $ans == "Y" ]]; then
i3-msg exit
elif [[ $ans == "no" || $ans == "NO" || $ans == "n" || $ans == "N" ]]; then
exit 0
else
msg
fi
;;
esac

View File

@@ -0,0 +1,10 @@
/* colors */
* {
al: #00000000;
bg: #090909FF;
bga: #000000FF;
fg: #f5f5f5FF;
ac: #415a77FF;
se: #415a775A;
}

View File

@@ -0,0 +1,24 @@
/* Confirm Dialog */
@import "colors.rasi"
* {
background-color: @bg;
text-color: @fg;
font: "Terminus 9";
}
window {
width: 225px;
padding: 25px;
border: 0px 0px 4px 0px;
border-radius: 0px;
border-color: @ac;
location: center;
y-offset: -2em;
}
entry {
expand: true;
text-color: @bg;
}

View File

@@ -0,0 +1,118 @@
/*
*
* Author : Aditya Shakya
* Mail : adi1090x@gmail.com
* Github : @adi1090x
* Twitter : @adi1090x
*
*/
configuration {
font: "Terminus 10";
show-icons: true;
icon-theme: "Papirus";
display-drun: "";
drun-display-format: "{name}";
disable-history: false;
fullscreen: false;
hide-scrollbar: true;
sidebar-mode: false;
}
@import "colors.rasi"
window {
transparency: "real";
background-color: @bg;
text-color: @fg;
border: 0px 0px 4px 0px;
border-color: @ac;
border-radius: 0px;
width: 350px;
location: center;
x-offset: -777;
y-offset: 20;
}
prompt {
enabled: true;
padding: 0px;
background-color: @al;
text-color: @ac;
font: "feather 8";
}
entry {
background-color: @al;
text-color: @fg;
placeholder-color: @fg;
expand: true;
horizontal-align: 0;
placeholder: "Search...";
padding: 0px 0px 0px 8px;
blink: true;
}
inputbar {
children: [ prompt, entry ];
background-color: @bga;
text-color: @fg;
expand: false;
border: 0px 0px 0px 0px;
border-radius: 0px;
border-color: @ac;
margin: 0px;
padding: 12px;
}
listview {
background-color: @al;
padding: 0px;
columns: 1;
lines: 22;
spacing: 5px;
cycle: true;
dynamic: true;
layout: vertical;
}
mainbox {
background-color: @al;
border: 0px;
border-radius: 0px;
border-color: @ac;
children: [ inputbar, listview ];
spacing: 0px;
padding: 0px;
}
element {
background-color: @al;
text-color: @fg;
orientation: horizontal;
border-radius: 0px;
padding: 8px;
}
element-icon {
size: 24px;
border: 0px;
background-color: @al;
}
element-text {
expand: true;
horizontal-align: 0;
vertical-align: 0.5;
margin: 0px 2.5px 0px 2.5px;
background-color: @al;
text-color: inherit;
}
element selected {
background-color: @se;
text-color: @fg;
border: 0px 0px 0px 2px;
border-radius: 0px;
border-color: @ac;
}

View File

@@ -0,0 +1,24 @@
/* Confirm Dialog */
@import "colors.rasi"
* {
background-color: @bga;
text-color: @fg;
font: "Terminus 9";
}
window {
width: 320px;
padding: 25px;
border: 0px 0px 4px 0px;
border-radius: 0px;
border-color: @ac;
location: center;
y-offset: -2em;
}
entry {
expand: true;
text-color: @ac;
}

View File

@@ -0,0 +1,127 @@
/*
*
* Author : Aditya Shakya
* Mail : adi1090x@gmail.com
* Github : @adi1090x
* Twitter : @adi1090x
*
*/
configuration {
font: "Terminus 12";
show-icons: true;
icon-theme: "Papirus";
display-drun: "";
drun-display-format: "{name}";
disable-history: false;
fullscreen: false;
hide-scrollbar: true;
sidebar-mode: false;
}
@import "colors.rasi"
window {
transparency: "real";
background-color: @bg;
text-color: @fg;
border: 0px;
border-color: @ac;
border-radius: 0px;
width: 200px;
location: center;
x-offset: 865;
y-offset: 383;
}
prompt {
enabled: true;
padding: 10px 10px 10px 0px;
background-color: @al;
text-color: @ac;
font: "Terminus 9";
}
textbox-prompt-colon {
padding: 8px 15px 10px 15px;
font: "Iosevka Nerd Font 8";
background-color: @al;
text-color: @ac;
expand: false;
str: "";
}
entry {
background-color: @al;
text-color: @ac;
placeholder-color: @ac;
expand: true;
horizontal-align: 0;
placeholder: "Search...";
padding: 10px 10px 10px 0px;
border-radius: 0px;
blink: true;
}
inputbar {
children: [ textbox-prompt-colon, prompt ];
background-color: @al;
text-color: @fg;
expand: false;
border: 0px 0px 1px 0px;
border-radius: 0px;
border-color: @ac;
spacing: 0px;
}
listview {
background-color: @al;
padding: 0px;
columns: 1;
lines: 5;
spacing: 5px;
cycle: true;
dynamic: true;
layout: vertical;
}
mainbox {
background-color: @al;
border: 0px;
border-radius: 0px;
border-color: @ac;
children: [ inputbar, listview ];
spacing: 0px;
padding: 0px;
}
element {
background-color: @al;
text-color: @fg;
orientation: horizontal;
border-radius: 0px;
padding: 8px 8px 8px -20px;
}
element-icon {
size: 24px;
border: 0px;
background-color: @al;
}
element-text {
expand: true;
horizontal-align: 0;
vertical-align: 0.5;
margin: 0px 2.5px 0px 2.5px;
background-color: @al;
text-color: inherit;
}
element selected {
background-color: @al;
text-color: @fg;
border: 0px 0px 0px 0px;
border-radius: 0px;
border-color: @ac;
}

View File

@@ -0,0 +1,127 @@
/*
*
* Author : Aditya Shakya
* Mail : adi1090x@gmail.com
* Github : @adi1090x
* Twitter : @adi1090x
*
*/
configuration {
font: "Terminus 9";
show-icons: true;
icon-theme: "Papirus";
display-drun: "";
drun-display-format: "{name}";
disable-history: false;
fullscreen: false;
hide-scrollbar: true;
sidebar-mode: false;
}
@import "colors.rasi"
window {
transparency: "real";
background-color: @bg;
text-color: @fg;
border: 0px 0px 4px 0px;
border-color: @ac;
border-radius: 0px;
width: 170px;
location: center;
x-offset: 866;
y-offset: -365;
}
prompt {
enabled: true;
padding: 10px 10px 10px 0px;
background-color: @al;
text-color: @ac;
font: "Terminus 9";
}
textbox-prompt-colon {
padding: 8px 15px 10px 15px;
font: "Iosevka Nerd Font 8";
background-color: @al;
text-color: @ac;
expand: false;
str: "";
}
entry {
background-color: @al;
text-color: @ac;
placeholder-color: @ac;
expand: true;
horizontal-align: 0;
placeholder: "Search...";
padding: 10px 10px 10px 0px;
border-radius: 0px;
blink: true;
}
inputbar {
children: [ textbox-prompt-colon, prompt ];
background-color: @al;
text-color: @fg;
expand: false;
border: 0px 0px 1px 0px;
border-radius: 0px;
border-color: @ac;
spacing: 0px;
}
listview {
background-color: @al;
padding: 0px;
columns: 1;
lines: 5;
spacing: 5px;
cycle: true;
dynamic: true;
layout: vertical;
}
mainbox {
background-color: @al;
border: 0px;
border-radius: 0px;
border-color: @ac;
children: [ inputbar, listview ];
spacing: 0px;
padding: 0px;
}
element {
background-color: @al;
text-color: @fg;
orientation: horizontal;
border-radius: 0px;
padding: 8px 8px 8px -20px;
}
element-icon {
size: 24px;
border: 0px;
background-color: @al;
}
element-text {
expand: true;
horizontal-align: 0.5;
vertical-align: 0.5;
margin: 0px 2.5px 0px 2.5px;
background-color: @al;
text-color: inherit;
}
element selected {
background-color: @se;
text-color: @fg;
border: 0px 0px 0px 0px;
border-radius: 0px;
border-color: @ac;
}

9
polybar/scripts/showdate.sh Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
# Author by : Daniel Heras
# Mail : dani.heras@hotmail.com
day="$(date +"%a %d")"
month="$(date +"%B")"
hour="$(date +"%R")"
echo " $hour at $day of $month "

View File

@@ -0,0 +1,11 @@
#!/bin/bash
if [[ $1 == "off" ]]; then
xmodmap -e "keycode 49 = dead_grave dead_tilde dead_grave dead_tilde grave asciitilde grave"
xmodmap -e "keycode 9 = Escape NoSymbol Escape"
else
xmodmap -e "keycode 49 = Escape NoSymbol Escape"
xmodmap -e "keycode 9 = dead_grave dead_tilde dead_grave dead_tilde grave asciitilde grave"
xmodmap -e "keycode 66 = Escape NoSymbol Escape"
xmodmap -e "clear lock"
fi

View File

@@ -0,0 +1,32 @@
#!/bin/bash
masterId=$(xinput list | grep "Virtual core keyboard" | awk '{print $5}')
internalId=$(xinput list | grep "AT Translated.*keyboard" | awk '{print $7}')
floatingId=$(xinput list | grep "AT Translated.*keyboard.*floating" | awk '{print $7}')
masterId=${masterId:3}
internalId=${internalId:3}
floatingId=${floatingId:3}
if [[ $1 == "toggle" ]]; then
if [[ -n $floatingId ]]; then
xinput reattach $floatingId $masterId
xmodmap -e "keycode 49 = dead_grave dead_tilde dead_grave dead_tilde grave asciitilde grave"
xmodmap -e "keycode 9 = Escape NoSymbol Escape"
else
xinput float $internalId
xmodmap -e "keycode 49 = Escape NoSymbol Escape"
xmodmap -e "keycode 9 = dead_grave dead_tilde dead_grave dead_tilde grave asciitilde grave"
xmodmap -e "keycode 66 = Escape NoSymbol Escape"
xmodmap -e "clear lock"
fi
elif [[ $1 == "on" ]]; then
xinput reattach $floatingId $masterId
xmodmap -e "keycode 49 = dead_grave dead_tilde dead_grave dead_tilde grave asciitilde grave"
xmodmap -e "keycode 9 = Escape NoSymbol Escape"
else
if [[ -n $floatingId ]]; then
echo " off"
else
echo " on"
fi
fi

View File

@@ -0,0 +1,11 @@
#!/bin/sh
# Author by : Daniel Heras
# Mail : dani.heras@hotmail.com
if [ $(bluetoothctl show | grep "Powered: yes" | wc -c) -eq 0 ]
then
bluetoothctl power on
else
bluetoothctl power off
fi

17
polybar/scripts/wifi_status.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
# Author by : Daniel Heras
# Mail : dani.heras@hotmail.com
n=$(nmcli device status | grep -wc connected)
#id=$(nmcli device status | grep -w connected | awk '{print $4}')
id=$(nmcli -t -f active,ssid dev wifi | grep -E '^yes' | cut -d\' -f2)
final_id=$(echo "${id#*:}")
if test $n -gt 1; then
echo "%{F#ffffff} %{F#ced4da}$final_id"
elif test $n -eq 0; then
echo "%{F#a4133c} %{F#ced4da}Sin conexión"
else
echo "%{F#ffffff} %{F#ced4da}$final_id"
fi

297
polybar/user_modules.ini Normal file
View File

@@ -0,0 +1,297 @@
; Original Author : Aditya Shakya
; Mail : adi1090x@gmail.com
; Modified by : Daniel Heras
; Mail : dani.heras@hotmail.com
[module/user_memory]
type = custom/script
exec = ~/.config/polybar/scripts/getMemory.sh
interval = 3
# click-left = exec ~/.config/polybar/scripts/cyclexkbmap.sh &
format-foreground = ${color.foreground}
format-background = ${color.background-alt}
label-padding = 1
format-prefix = :
format-prefix-background = ${color.blue-gray}
format-prefix-padding = 1
[module/user_sysmenu]
type = custom/text
;content-prefix = 
;content-prefix-background = ${color.cyan}
;content-prefix-padding = 1
content = "  "
content-background = ${color.item-background}
content-foreground = ${color.foreground-alt}
content-overline = ${color.background}
content-underline = ${color.background}
click-left = eww open --toggle volumeapplet
[module/user_sysinfo]
type = custom/text
content = "Sysinfo"
content-foreground = ${color.foreground}
content-background = ${color.item-background}
content-overline = ${color.background}
content-underline = ${color.background}
click-left = eww open --toggle sysinfo
click-right = eww open --toggle sysinfo_compact
[module/user_keyboard]
type = custom/script
exec = ~/.config/polybar/scripts/listxkbmap.sh
interval = 2
click-middle = exec ~/.config/polybar/scripts/cyclexkbmap.sh &
click-right = exec ~/.config/polybar/scripts/toggleEscSwap.sh &
click-left = exec ~/.config/polybar/scripts/toggleEscSwap.sh off &
format-foreground = ${color.foreground}
format-background = ${color.background-alt}
format-prefix =
format-prefix-background = ${color.blue-gray}
format-prefix-padding = 1
[module/user_keyboard_toggle]
type = custom/script
exec = ~/.config/polybar/scripts/toggleInternalKeyboard.sh
interval = 5
click-left = exec ~/.config/polybar/scripts/toggleInternalKeyboard.sh toggle &
click-right = exec ~/Scripts/System/checkOzoneKeyboard.sh &
format-foreground = ${color.foreground}
format-background = ${color.background-alt}
format-prefix-background = ${color.blue-gray}
format-prefix-padding = 1
[module/user_date]
type = custom/script
exec = ~/.config/polybar/scripts/muestraFecha.sh
interval = 10
click-left = /usr/lib/jvm/java-19-openjdk/bin/java -jar ~/.config/polybar/scripts/calendario.jar
format-foreground = #ffffff
format-background = ${color.background}
[module/mpd_icon]
type = custom/text
exec =
click-left = exec kitty -e ncmpcpp
content =
content-foreground = #0a0a0a
content-background = ${color.foreground}
content-padding = 2
[module/bluetooth]
type = custom/script
exec = ~/.config/polybar/scripts/bluetooth.sh
interval = 3
click-left = exec blueman-manager
click-right = exec ~/.config/polybar/scripts/toggle_bluetooth.sh
format-foreground = #ffffff
format-background = ${color.shade4}
[module/fecha]
type = custom/script
exec = ~/.config/polybar/scripts/muestraFecha.sh
interval = 10
click-left = /usr/lib/jvm/java-19-openjdk/bin/java -jar ~/.config/polybar/scripts/calendario.jar
format-foreground = #ffffff
format-background = ${color.background}
[module/tiempo]
type = custom/script
exec = ~/.config/polybar/scripts/muestraTiempo.sh
interval = 1600
;format-foreground = #ffffff
format-prefix = " "
format-prefix-font = 4
format-foreground = ${color.foreground}
format-prefix-foreground = ${color.primary}
format-background = ${color.shade1}
click-left = exec kitty -e ~/.config/polybar/scripts/muestraTiempo_detalle.sh
[module/wifi_status]
type = custom/script
exec = ~/.config/polybar/scripts/wifi_status.sh
interval = 10
;format-foreground = #ffffff
format-foreground = ${color.foreground}
format-prefix-foreground = ${color.foreground}
format-background = ${color.shade1}
click-left = exec nm-applet
click-right = exec killall nm-applet
[module/dormir]
type = custom/script
exec = ~/.config/polybar/scripts/muestraDormir.sh
interval = 3
;format-foreground = #ffffff
format-foreground = ${color.foreground}
format-background = ${color.shade1}
click-left = exec caffeine ~/.config/polybar/scripts/alternaDormir.sh
[module/touchpad]
type = custom/script
exec = ~/.config/polybar/scripts/muestraTouchpad.sh
interval = 0.5
format-foreground = ${color.foreground}
format-background = ${color.shade1}
[module/dunst]
type = custom/script
exec = ~/.config/polybar/scripts/dunst.sh
interval = 2
click-right = ~/.config/polybar/scripts/alternaNotificaciones.sh &
click-left = ~/.config/polybar/scripts/muestraNotificaciones.sh &
format-foreground = #ffffff
format-background = ${color.shade5}
[module/links]
type = custom/text
content-background = ${color.background}
content-font = 3
[module/github]
inherit = module/links
content =
content-foreground = ${color.foreground}
click-left = exec librewolf --new-window https://www.github.com/ &
[module/reddit]
inherit = module/links
content =
content-foreground = ${color.foreground}
click-left = exo-open https://www.reddit.com/ &
[module/gmail]
inherit = module/links
content =
content-foreground = ${color.foreground}
click-left = chromium --new-window https://mail.google.com/ &
[module/youtube]
inherit = module/links
content =
content-foreground = ${color.foreground}
click-left = exec brave --new-window https://www.youtube.com/ &
[module/telegram]
inherit = module/links
content-font = 3
content =
content-foreground = ${color.foreground}
click-left = exec chromium --new-window https://web.telegram.org/z/ &
[module/whatsapp]
inherit = module/links
content-font = 3
content =
content-foreground = ${color.foreground}
click-left = exec chromium --new-window https://web.whatsapp.com/ &
[module/nemo]
inherit = module/links
content-font = 3
content =
content-foreground = ${color.foreground}
content-background = ${color.background}
click-left = exec nemo &
[module/terminal]
inherit = module/links
content-font = 3
content =
content-foreground = ${color.foreground}
content-background = ${color.background}
click-left = exec kitty &
[module/firefox]
inherit = module/links
content-font = 3
content =
content-foreground = ${color.foreground}
content-background = ${color.background}
click-left = exec librewolf &
[module/launcher]
type = custom/text
content = 󰣇
; "content" has the same properties as "format-NAME"
content-foreground = ${color.primary}
content-background = ${color.background-alt}
content-font = 5
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND"
click-left = rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/scripts/rofi/launcherLeft.rasi &
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/sysmenu]
type = custom/text
content = "Menu"
content-foreground = ${color.foreground}
click-left = eww open --toggle volumeapplet
;click-left = ~/.config/polybar/scripts/powermenu.sh &
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
[module/sep]
type = custom/text
content = "  "
content-foreground = ${color.muted}
content-background = ${color.background-alt}
[module/sep2]
type = custom/text
content = " "
content-foreground = ${color.foreground-alt}
content-background = ${color.background-alt}
[module/sep3]
type = custom/text
content = " "
content-foreground = ${color.primary}
[module/sep4]
type = custom/text
content = " "
content-foreground = ${color.background-alt}
[module/sep5]
type = custom/text
content = "  "
content-foreground = ${color.muted}
content-background = ${color.background-alt}
[module/sep6]
type = custom/text
content = " "
content-foreground = ${color.muted}
content-background = ${color.background-alt}
[module/border_left]
type = custom/text
content-font = 4
content = ""
content-foreground = ${color.background-alt}
[module/border_right]
type = custom/text
content-font = 4
content = ""
content-foreground = ${color.background-alt}
[module/border_right_fancy]
type = custom/text
content-font = 3
;   
content = ""
content-foreground = ${color.background-alt}