doas, pinentry-dmenu y scripts en vez de blueman, autorandr y gammastep
- doas en vez de sudo (sistema/etc/doas.conf; xbps.d permite quitar sudo). - pinentry-dmenu en X y pinentry-curses en una tty (pinentry-menu); fuera GTK 2 (.gtkrc-2.0 y el arreglo de colores del tema). - bluetooth: menú de dmenu con bluetoothctl en vez de blueman. - pantallas: xrandr a pelo en vez de autorandr, también desde udev. - luz: sct cada minuto en vez de gammastep. - xwallpaper para el fondo y nsxiv para las imágenes de st, en vez de feh. - volumen salida en vez de pavucontrol; menu reúne los colores de dmenu. - mpv en vez de vlc; fuera btop. - install.sh: paso quitar para desinstalar lo sustituido. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C5v1qWDwgkaVM5kjVHGGh8
This commit is contained in:
parent
5fee14ab7f
commit
a83294ace4
23 changed files with 362 additions and 430 deletions
|
|
@ -61,13 +61,13 @@ alias mv='mv -i'
|
|||
|
||||
# --- 4. Aliases para Void Linux (xbps) ---
|
||||
# Te ahorrarán teclear 'xbps-lo-que-sea' 40 veces al día
|
||||
alias xi='sudo xbps-install' # Instalar paquete
|
||||
alias xu='sudo xbps-install -Su' # Actualizar todo el sistema
|
||||
alias xi='doas xbps-install' # Instalar paquete
|
||||
alias xu='doas xbps-install -Su' # Actualizar todo el sistema
|
||||
alias xq='xbps-query -Rs' # Buscar paquete en el repositorio
|
||||
alias xl='xbps-query -l' # Listar paquetes instalados
|
||||
alias xr='sudo xbps-remove -R' # Eliminar paquete y sus huérfanos
|
||||
alias xr='doas xbps-remove -R' # Eliminar paquete y sus huérfanos
|
||||
|
||||
alias esp32='sudo chmod a+rw /dev/ttyUSB0'
|
||||
alias esp32='doas chmod a+rw /dev/ttyUSB0'
|
||||
|
||||
# --- 5. Funciones Útiles ---
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
#!/bin/sh
|
||||
# Tras cambiar de pantallas: la interna del portátil (eDP*/LVDS*) como
|
||||
# principal y el fondo pintado de nuevo con la geometría nueva.
|
||||
interna=$(xrandr | awk '/^(eDP|LVDS)[^ ]* connected/ { print $1; exit }')
|
||||
[ -n "$interna" ] && xrandr --output "$interna" --primary
|
||||
feh --no-fehbg --bg-fill "$HOME/.local/share/wallpaper.jpg"
|
||||
|
|
@ -1,286 +0,0 @@
|
|||
#? Config file for btop v.1.4.7
|
||||
|
||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||
color_theme = "everforest-dark-medium"
|
||||
|
||||
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||
theme_background = false
|
||||
|
||||
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
||||
truecolor = true
|
||||
|
||||
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
||||
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
||||
force_tty = false
|
||||
|
||||
#* Option to disable presets. Either the default preset, custom presets, or all presets.
|
||||
#* "Off" All presets are enabled.
|
||||
#* "Default" preset is disabled.#* "Custom" presets are disabled.#* "All" presets are disabled.
|
||||
disable_presets = "Off"
|
||||
|
||||
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
||||
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
||||
#* Use whitespace " " as separator between different presets.
|
||||
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
|
||||
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
|
||||
|
||||
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
|
||||
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
||||
vim_keys = false
|
||||
|
||||
#* Disable all mouse events.
|
||||
disable_mouse = false
|
||||
|
||||
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||
rounded_corners = true
|
||||
|
||||
#* Use terminal synchronized output sequences to reduce flickering on supported terminals.
|
||||
terminal_sync = true
|
||||
|
||||
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
||||
#* "braille" offers the highest resolution but might not be included in all fonts.
|
||||
#* "block" has half the resolution of braille but uses more common characters.
|
||||
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
||||
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
||||
graph_symbol = "braille"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_cpu = "default"
|
||||
|
||||
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_gpu = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_mem = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_net = "default"
|
||||
|
||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||
graph_symbol_proc = "default"
|
||||
|
||||
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
||||
shown_boxes = "cpu mem net proc"
|
||||
|
||||
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||
update_ms = 2000
|
||||
|
||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||
proc_sorting = "cpu lazy"
|
||||
|
||||
#* Reverse sorting order, True or False.
|
||||
proc_reversed = false
|
||||
|
||||
#* Show processes as a tree.
|
||||
proc_tree = false
|
||||
|
||||
#* Use the cpu graph colors in the process list.
|
||||
proc_colors = true
|
||||
|
||||
#* Use a darkening gradient in the process list.
|
||||
proc_gradient = true
|
||||
|
||||
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
||||
proc_per_core = false
|
||||
|
||||
#* Show process memory as bytes instead of percent.
|
||||
proc_mem_bytes = true
|
||||
|
||||
#* Show cpu graph for each process.
|
||||
proc_cpu_graphs = true
|
||||
|
||||
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
|
||||
proc_info_smaps = false
|
||||
|
||||
#* Show proc box on left side of screen instead of right.
|
||||
proc_left = false
|
||||
|
||||
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
||||
proc_filter_kernel = false
|
||||
|
||||
#* Should the process list follow the selected process when detailed view is open.
|
||||
proc_follow_detailed = true
|
||||
|
||||
#* In tree-view, always accumulate child process resources in the parent process.
|
||||
proc_aggregate = false
|
||||
|
||||
#* Should cpu and memory usage display be preserved for dead processes when paused.
|
||||
keep_dead_proc_usage = false
|
||||
|
||||
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
||||
#* Select from a list of detected attributes from the options menu.
|
||||
cpu_graph_upper = "Auto"
|
||||
|
||||
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
||||
#* Select from a list of detected attributes from the options menu.
|
||||
cpu_graph_lower = "Auto"
|
||||
|
||||
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
|
||||
show_gpu_info = "Auto"
|
||||
|
||||
#* Toggles if the lower CPU graph should be inverted.
|
||||
cpu_invert_lower = true
|
||||
|
||||
#* Set to True to completely disable the lower CPU graph.
|
||||
cpu_single_graph = false
|
||||
|
||||
#* Show cpu box at bottom of screen instead of top.
|
||||
cpu_bottom = false
|
||||
|
||||
#* Shows the system uptime in the CPU box.
|
||||
show_uptime = true
|
||||
|
||||
#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo.
|
||||
show_cpu_watts = true
|
||||
|
||||
#* Show cpu temperature.
|
||||
check_temp = true
|
||||
|
||||
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
|
||||
cpu_sensor = "Auto"
|
||||
|
||||
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
|
||||
show_coretemp = true
|
||||
|
||||
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
|
||||
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
||||
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
|
||||
#* Example: "4:0 5:1 6:3"
|
||||
cpu_core_map = ""
|
||||
|
||||
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
|
||||
temp_scale = "celsius"
|
||||
|
||||
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
||||
base_10_sizes = false
|
||||
|
||||
#* Show CPU frequency.
|
||||
show_cpu_freq = true
|
||||
|
||||
#* How to calculate CPU frequency, available values: "first", "range", "lowest", "highest" and "average".
|
||||
freq_mode = "first"
|
||||
|
||||
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
||||
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
||||
clock_format = "%X"
|
||||
|
||||
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
||||
background_update = true
|
||||
|
||||
#* Custom cpu model name, empty string to disable.
|
||||
custom_cpu_name = ""
|
||||
|
||||
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
||||
#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user"
|
||||
disks_filter = ""
|
||||
|
||||
#* Show graphs instead of meters for memory values.
|
||||
mem_graphs = true
|
||||
|
||||
#* Show mem box below net box instead of above.
|
||||
mem_below_net = false
|
||||
|
||||
#* Count ZFS ARC in cached and available memory.
|
||||
zfs_arc_cached = true
|
||||
|
||||
#* If swap memory should be shown in memory box.
|
||||
show_swap = true
|
||||
|
||||
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
||||
swap_disk = true
|
||||
|
||||
#* If mem box should be split to also show disks info.
|
||||
show_disks = true
|
||||
|
||||
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
||||
only_physical = true
|
||||
|
||||
#* Read disks list from /etc/fstab. This also disables only_physical.
|
||||
use_fstab = true
|
||||
|
||||
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
|
||||
zfs_hide_datasets = false
|
||||
|
||||
#* Set to true to show available disk space for privileged users.
|
||||
disk_free_priv = false
|
||||
|
||||
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
||||
show_io_stat = true
|
||||
|
||||
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
||||
io_mode = false
|
||||
|
||||
#* Set to True to show combined read/write io graphs in io mode.
|
||||
io_graph_combined = false
|
||||
|
||||
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
|
||||
#* Example: "/mnt/media:100 /:20 /boot:1".
|
||||
io_graph_speeds = ""
|
||||
|
||||
#* Swap the positions of the upload and download speed graphs. When true, upload will be on top.
|
||||
swap_upload_download = false
|
||||
|
||||
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
||||
net_download = 100
|
||||
|
||||
net_upload = 100
|
||||
|
||||
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
||||
net_auto = true
|
||||
|
||||
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
||||
net_sync = true
|
||||
|
||||
#* Starts with the Network Interface specified here.
|
||||
net_iface = ""
|
||||
|
||||
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
|
||||
base_10_bitrate = "Auto"
|
||||
|
||||
#* Show battery stats in top right if battery is present.
|
||||
show_battery = true
|
||||
|
||||
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
||||
selected_battery = "Auto"
|
||||
|
||||
#* Show power stats of battery next to charge indicator.
|
||||
show_battery_watts = true
|
||||
|
||||
#* Set loglevel for "~/.local/state/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
||||
log_level = "WARNING"
|
||||
|
||||
#* Automatically save current settings to config file on exit.
|
||||
save_config_on_exit = true
|
||||
|
||||
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
||||
nvml_measure_pcie_speeds = true
|
||||
|
||||
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
|
||||
rsmi_measure_pcie_speeds = true
|
||||
|
||||
#* Horizontally mirror the GPU graph.
|
||||
gpu_mirror_graph = true
|
||||
|
||||
#* Set which GPU vendors to show. Available values are "nvidia amd intel apple"
|
||||
shown_gpus = "nvidia amd intel apple"
|
||||
|
||||
#* Custom gpu0 model name, empty string to disable.
|
||||
custom_gpu_name0 = ""
|
||||
|
||||
#* Custom gpu1 model name, empty string to disable.
|
||||
custom_gpu_name1 = ""
|
||||
|
||||
#* Custom gpu2 model name, empty string to disable.
|
||||
custom_gpu_name2 = ""
|
||||
|
||||
#* Custom gpu3 model name, empty string to disable.
|
||||
custom_gpu_name3 = ""
|
||||
|
||||
#* Custom gpu4 model name, empty string to disable.
|
||||
custom_gpu_name4 = ""
|
||||
|
||||
#* Custom gpu5 model name, empty string to disable.
|
||||
custom_gpu_name5 = ""
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
; Luz nocturna. Con horas fijas en vez de ubicación: de 20:00 a 21:00 pasa
|
||||
; poco a poco a luz cálida y de 7:00 a 8:00 vuelve a la normal.
|
||||
[general]
|
||||
temp-day=6500
|
||||
temp-night=4000
|
||||
fade=1
|
||||
dusk-time=20:00-21:00
|
||||
dawn-time=07:00-08:00
|
||||
adjustment-method=randr
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
# GTK 2 (pinentry-gtk, entre otros). El tema lo instala install.sh (paso gtk).
|
||||
gtk-theme-name="Everforest-Green-Dark-Medium"
|
||||
gtk-icon-theme-name="Papirus-Dark"
|
||||
|
|
@ -1,15 +1,10 @@
|
|||
#!/bin/sh
|
||||
# Menú de apagado con dmenu (Mod+Shift+Escape en dwm). Apagar, reiniciar y
|
||||
# salir de dwm piden confirmación. Suspender, apagar y reiniciar usan sudo
|
||||
# sin contraseña (sistema/etc/sudoers.d/energia).
|
||||
|
||||
menu() {
|
||||
dmenu -i -p "$1" -fn "Fira Code:size=11" \
|
||||
-nb "#2d353b" -nf "#d3c6aa" -sb "#a7c080" -sf "#2d353b"
|
||||
}
|
||||
# salir de dwm piden confirmación. Suspender, apagar y reiniciar usan doas
|
||||
# sin contraseña (sistema/etc/doas.conf).
|
||||
|
||||
confirmar() {
|
||||
[ "$(printf 'No\nSí\n' | menu "¿$1?")" = "Sí" ]
|
||||
[ "$(printf 'No\nSí\n' | menu -p "¿$1?")" = "Sí" ]
|
||||
}
|
||||
|
||||
opcion=$(printf '%s\n' \
|
||||
|
|
@ -17,12 +12,12 @@ opcion=$(printf '%s\n' \
|
|||
" Suspender" \
|
||||
" Salir de dwm" \
|
||||
" Reiniciar" \
|
||||
" Apagar" | menu "Sesión:")
|
||||
" Apagar" | menu -p "Sesión:")
|
||||
|
||||
case $opcion in
|
||||
*Bloquear) slock ;;
|
||||
*Suspender) sudo -n zzz ;;
|
||||
*Suspender) doas -n zzz ;;
|
||||
*Salir*) confirmar "Salir de dwm" && pkill -TERM -x dwm ;;
|
||||
*Reiniciar) confirmar "Reiniciar" && sudo -n reboot ;;
|
||||
*Apagar) confirmar "Apagar" && sudo -n poweroff ;;
|
||||
*Reiniciar) confirmar "Reiniciar" && doas -n reboot ;;
|
||||
*Apagar) confirmar "Apagar" && doas -n poweroff ;;
|
||||
esac
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
# mientras se descarga, y al 3 % suspende (con slock, como al cerrar la
|
||||
# tapa) en vez de dejar que se apague de golpe. Cada umbral actúa una vez;
|
||||
# al enchufar el cargador se reinicia. Se lanza desde .xinitrc y comprueba
|
||||
# cada minuto. Suspender usa "sudo -n zzz" (regla en sistema/etc/sudoers.d).
|
||||
# cada minuto. Suspender usa "doas -n zzz" (regla en sistema/etc/doas.conf).
|
||||
|
||||
BAJA=15
|
||||
CRITICA=5
|
||||
|
|
@ -26,7 +26,7 @@ while :; do
|
|||
-i battery-empty "Batería agotada" "Queda un $nivel %: suspendiendo en 10 s"
|
||||
avisado=$SUSPENDER
|
||||
sleep 10
|
||||
[ "$(cat "$bat/status")" = Discharging ] && sudo -n zzz
|
||||
[ "$(cat "$bat/status")" = Discharging ] && doas -n zzz
|
||||
elif [ "$nivel" -le "$CRITICA" ] && [ "$avisado" -gt "$CRITICA" ]; then
|
||||
notify-send -u critical -h string:x-dunst-stack-tag:bateria \
|
||||
-i battery-empty "Batería crítica" "Queda un $nivel %: enchufa el cargador ya"
|
||||
|
|
|
|||
70
home/.local/bin/bluetooth
Executable file
70
home/.local/bin/bluetooth
Executable file
|
|
@ -0,0 +1,70 @@
|
|||
#!/bin/sh
|
||||
# Menú de bluetooth con dmenu (clic izquierdo en BT de la barra): conectar o
|
||||
# desconectar los dispositivos emparejados ( = conectado), buscar y
|
||||
# emparejar uno nuevo y apagar el adaptador. Si está apagado, ofrece
|
||||
# encenderlo.
|
||||
|
||||
avisar() {
|
||||
notify-send -h string:x-dunst-stack-tag:bluetooth -i bluetooth "Bluetooth" "$1"
|
||||
}
|
||||
|
||||
# "Device AA:BB:CC:DD:EE:FF Nombre" -> "Nombre (AA:BB:CC:DD:EE:FF)"
|
||||
lista() { sed -n 's/^Device \([^ ]*\) \(.*\)/\2 (\1)/p'; }
|
||||
mac() { printf '%s\n' "$1" | sed 's/.*(\([^)]*\))$/\1/'; }
|
||||
|
||||
if ! bluetoothctl show | grep -q 'Powered: yes'; then
|
||||
[ "$(echo Encender | menu -p Bluetooth:)" = Encender ] || exit 0
|
||||
bluetoothctl power on >/dev/null
|
||||
pkill -USR1 -x slstatus
|
||||
fi
|
||||
|
||||
conectados=$(bluetoothctl devices Connected | lista)
|
||||
emparejados=$(bluetoothctl devices Paired | lista)
|
||||
|
||||
opcion=$(
|
||||
printf '%s\n' "$emparejados" | while IFS= read -r d; do
|
||||
[ -n "$d" ] || continue
|
||||
if printf '%s\n' "$conectados" | grep -qxF "$d"; then
|
||||
echo " $d"
|
||||
else
|
||||
echo " $d"
|
||||
fi
|
||||
done
|
||||
echo " Buscar dispositivos"
|
||||
echo " Apagar"
|
||||
)
|
||||
opcion=$(printf '%s\n' "$opcion" | menu -p Bluetooth:)
|
||||
|
||||
case $opcion in
|
||||
'') exit 0 ;;
|
||||
*" Apagar")
|
||||
bluetoothctl power off >/dev/null
|
||||
;;
|
||||
*" Buscar dispositivos")
|
||||
avisar "Buscando dispositivos durante 10 s..."
|
||||
bluetoothctl --timeout 10 scan on >/dev/null
|
||||
nuevo=$(bluetoothctl devices | lista | awk -v e="$emparejados" '
|
||||
BEGIN { n = split(e, a, "\n"); for (i = 1; i <= n; i++) visto[a[i]] }
|
||||
!($0 in visto)' | menu -p Emparejar:)
|
||||
[ -n "$nuevo" ] || exit 0
|
||||
m=$(mac "$nuevo")
|
||||
if bluetoothctl pair "$m" >/dev/null && bluetoothctl trust "$m" >/dev/null &&
|
||||
bluetoothctl connect "$m" >/dev/null; then
|
||||
avisar "Conectado: $nuevo"
|
||||
else
|
||||
avisar "No se pudo emparejar: $nuevo"
|
||||
fi
|
||||
;;
|
||||
" "*)
|
||||
bluetoothctl disconnect "$(mac "$opcion")" >/dev/null &&
|
||||
avisar "Desconectado: ${opcion#" "}"
|
||||
;;
|
||||
*)
|
||||
if bluetoothctl connect "$(mac "$opcion")" >/dev/null; then
|
||||
avisar "Conectado: ${opcion#" "}"
|
||||
else
|
||||
avisar "No se pudo conectar: ${opcion#" "}"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
pkill -USR1 -x slstatus
|
||||
22
home/.local/bin/luz
Executable file
22
home/.local/bin/luz
Executable file
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/sh
|
||||
# Luz nocturna con sct: de 20:00 a 21:00 pasa poco a poco a luz cálida y de
|
||||
# 7:00 a 8:00 vuelve a la normal. Se lanza desde .xinitrc y la ajusta cada
|
||||
# minuto, así que también vuelve sola si xrandr la reinicia.
|
||||
|
||||
DIA=6500
|
||||
NOCHE=4000
|
||||
|
||||
while :; do
|
||||
m=$(($(date +%-H) * 60 + $(date +%-M)))
|
||||
if [ "$m" -lt 420 ] || [ "$m" -ge 1260 ]; then
|
||||
t=$NOCHE
|
||||
elif [ "$m" -lt 480 ]; then
|
||||
t=$((NOCHE + (DIA - NOCHE) * (m - 420) / 60))
|
||||
elif [ "$m" -lt 1200 ]; then
|
||||
t=$DIA
|
||||
else
|
||||
t=$((DIA - (DIA - NOCHE) * (m - 1200) / 60))
|
||||
fi
|
||||
sct "$t"
|
||||
sleep 60
|
||||
done
|
||||
5
home/.local/bin/menu
Executable file
5
home/.local/bin/menu
Executable file
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/sh
|
||||
# dmenu con la fuente y los colores de dwm, para los scripts de ~/.local/bin.
|
||||
# Uso: menu [opciones de dmenu] (las que se pasen mandan sobre estas)
|
||||
exec dmenu -i -fn "Fira Code:size=11" \
|
||||
-nb "#2d353b" -nf "#d3c6aa" -sb "#a7c080" -sf "#2d353b" "$@"
|
||||
8
home/.local/bin/pinentry-menu
Executable file
8
home/.local/bin/pinentry-menu
Executable file
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/sh
|
||||
# pinentry de gpg-agent: pinentry-dmenu en X y pinentry-curses en una tty.
|
||||
# Los colores de pinentry-dmenu están en ~/.gnupg/pinentry-dmenu.conf
|
||||
# (lo escribe install.sh, paso gnupg).
|
||||
if [ -n "$DISPLAY" ]; then
|
||||
exec pinentry-dmenu "$@"
|
||||
fi
|
||||
exec pinentry-curses "$@"
|
||||
|
|
@ -1,14 +1,31 @@
|
|||
#!/bin/sh
|
||||
# Cambia el volumen o silencia la salida o el micro (PipeWire), refresca
|
||||
# slstatus y lo muestra en una notificación que se sustituye a sí misma.
|
||||
# Uso: volumen subir|bajar|silenciar|micro
|
||||
# "salida" elige con dmenu por dónde suena (altavoces, cascos...).
|
||||
# Uso: volumen subir|bajar|silenciar|micro|salida
|
||||
|
||||
case $1 in
|
||||
subir) wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+ ;;
|
||||
bajar) wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- ;;
|
||||
silenciar) wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle ;;
|
||||
micro) wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle ;;
|
||||
*) echo "uso: volumen subir|bajar|silenciar|micro" >&2; exit 1 ;;
|
||||
salida)
|
||||
# Las salidas de "wpctl status" (sección Sinks de Audio), con * la actual:
|
||||
# " │ * 86. Nombre [vol: 0.50]" -> "* 86. Nombre"
|
||||
s=$(wpctl status | awk '
|
||||
/Sinks:/ { dentro = 1; next }
|
||||
dentro && !/[0-9]\./ { exit }
|
||||
dentro {
|
||||
sub(/^[^*0-9]*/, ""); actual = sub(/^\* */, "")
|
||||
sub(/ *\[vol:.*/, ""); print (actual ? "* " : " ") $0
|
||||
}' | menu -p Salida:)
|
||||
[ -n "$s" ] || exit 0
|
||||
s=${s#??}
|
||||
wpctl set-default "${s%%.*}"
|
||||
exec notify-send -t 2000 -h string:x-dunst-stack-tag:volumen \
|
||||
-i audio-speakers "Salida de audio" "${s#*. }"
|
||||
;;
|
||||
*) echo "uso: volumen subir|bajar|silenciar|micro|salida" >&2; exit 1 ;;
|
||||
esac
|
||||
|
||||
pkill -USR1 -x slstatus
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ if [ -z "$XDG_RUNTIME_DIR" ]; then
|
|||
fi
|
||||
|
||||
# Abrir el bus de sesión D-Bus antes de lanzar nada, para que pipewire,
|
||||
# wireplumber, dunst, blueman... y dwm compartan el mismo bus.
|
||||
# wireplumber, dunst... y dwm compartan el mismo bus.
|
||||
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
|
||||
exec dbus-run-session -- sh "$HOME/.xinitrc"
|
||||
fi
|
||||
|
|
@ -17,13 +17,11 @@ fi
|
|||
# qt6ct también responde a "qt5ct", así que vale para Qt 5 y Qt 6.
|
||||
export QT_QPA_PLATFORMTHEME=qt5ct
|
||||
|
||||
# Teclado y monitores primero; el fondo se pinta después con la geometría final.
|
||||
# autorandr pone las pantallas conectadas en fila (la del portátil a la
|
||||
# izquierda); al conectar o desconectar una, lo repite solo (regla de udev en
|
||||
# sistema/) y vuelve a pintar el fondo (~/.config/autorandr/postswitch).
|
||||
# Teclado y pantallas primero. pantallas (sistema/usr/local/bin) las pone en
|
||||
# fila, con la del portátil a la izquierda, y pinta el fondo; al conectar o
|
||||
# desconectar una, lo repite solo (regla de udev en sistema/).
|
||||
setxkbmap es
|
||||
autorandr --change --default horizontal
|
||||
feh --no-fehbg --bg-fill "$HOME/.local/share/wallpaper.jpg" &
|
||||
pantallas
|
||||
|
||||
pipewire &
|
||||
wireplumber &
|
||||
|
|
@ -31,10 +29,9 @@ pipewire-pulse &
|
|||
|
||||
dunst &
|
||||
picom &
|
||||
blueman-applet &
|
||||
slstatus &
|
||||
clipmenud &
|
||||
gammastep &
|
||||
luz &
|
||||
bateria &
|
||||
marcadores &
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue