feat: use different .dtfiles config setup

This commit is contained in:
2023-10-11 15:52:30 +02:00
parent 6b431704de
commit b755d66571
175 changed files with 268 additions and 3596 deletions

1
.config/waybar/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
media.log

143
.config/waybar/config Normal file
View File

@@ -0,0 +1,143 @@
{
"height": 20,
"spacing": 4,
"bar_id": "bar-0",
"ipc": true,
// "mode": "hide",
"hidden_state": "show",
"modules-left": [
"clock",
"custom/waybar-mpris"
],
"modules-center": [
"sway/workspaces"
],
"modules-right": [
"tray",
"custom/power-profile",
"custom/dpi",
"custom/theme",
"pulseaudio",
"network",
"battery",
],
"custom/pacman": {
"format": "{} ",
"interval": 3600, // every hour
"exec": "(checkupdates;pacman -Qm | aur vercmp) | wc -l", // # of updates
"exec-if": "exit 0", // always run; consider advanced run conditions
"on-click": "wezterm start -- yay; echo Done - Press enter to exit; read; pkill -SIGRTMIN+8 waybar", // update system
"signal": 8,
"tooltip": false,
},
"custom/theme": {
"exec": "~/.config/waybar/scripts/toggle-theme",
"on-click": "~/.config/waybar/scripts/toggle-theme --toggle",
"restart-interval": 2
},
"custom/power-consumption": {
"exec": "~/.config/waybar/scripts/power-consumption",
"interval": 1
},
"wlr/workspaces": {
"format": "{icon} {name}",
"on-click": "activate",
"format-icons": {
"1": "",
"2": "",
"3": "",
"4": "",
"5": "",
"urgent": "",
// "active": "",
"default": ""
}
},
"custom/power-profile": {
"exec": "~/.config/waybar/scripts/power-profile",
"on-click": "~/.config/waybar/scripts/power-profile --toggle",
"interval": 2
},
"custom/dpi": {
"exec": "~/.config/waybar/scripts/toggle-hdpi",
"on-click": "~/.config/waybar/scripts/toggle-hdpi --toggle",
"restart-interval": 2
},
"clock": {
"interval": 60,
"format": "{:%H:%M}",
"on-click": "gnome-calendar",
"max-length": 25
},
"battery": {
"states": {
"warning": 30,
"critical": 15
},
"format": "{capacity}% {icon}",
"format-charging": "{capacity}% ",
"format-plugged": "{capacity}% ",
"format-alt": "{time} {icon}",
"format-icons": [
"",
"",
"",
"",
""
]
},
"sway/workspaces": {
"format": "{name}"
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) ",
"format-ethernet": "{ipaddr}/{cidr} ",
"tooltip-format": "{ifname} via {gwaddr} ",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "⚠",
"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"pulseaudio": {
"format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": [
"",
"",
""
]
},
"on-click": "pavucontrol"
},
"custom/waybar-mpris": {
"max-length": 30,
"return-type": "json",
"exec": "waybar-mpris --position --autofocus --order ARTIST:ALBUM:TITLE:POSITION:SYMBOL",
"on-click": "waybar-mpris --send toggle",
// This option will switch between players on right click.
"on-click-right": "waybar-mpris --send player-next",
// The options below will switch the selected player on scroll
// "on-scroll-up": "waybar-mpris --send player-next",
// "on-scroll-down": "waybar-mpris --send player-prev",
// The options below will go to next/previous track on scroll
// "on-scroll-up": "waybar-mpris --send next",
// "on-scroll-down": "waybar-mpris --send prev",
"escape": true
},
"tray": {
"icon-size": 16,
"spacing": 0
},
}
// vi: ft=jsonc

View File

@@ -0,0 +1,35 @@
[2022-07-06 12:54:31.514] [info] Using configuration file /home/max/.config/waybar/config
[2022-07-06 12:54:31.515] [info] Using CSS file /home/max/.config/waybar/style.css
[2022-07-06 12:54:31.562] [info] config update for bar-0: id bar-0, mode dock, hidden_state hide
[2022-07-06 12:54:31.565] [warning] As using a timezone, some format args may be missing as the date library haven't got a release since 2018.
[2022-07-06 12:54:31.594] [warning] Waybar has been built without rfkill support.
** (waybar:7369): WARNING **: 12:54:31.720: gtk-layer-shell v0.7.0 may not work on GTK v3.24.34. If you experience crashes, check https://github.com/wmww/gtk-layer-shell/blob/master/compatibility.md
[2022-07-06 12:54:31.842] [warning] Requested height: 20 is less than the minimum height: 40 required by the modules
[2022-07-06 12:54:31.842] [info] Bar configured (width: 1920, height: 40) for output: eDP-1
Failed to communicate with power-profiles-daemon: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Not Authorized: net.hadess.PowerProfiles.switch-profile (9)
🐢
[2022-07-06 12:58:10.903] [info] Using configuration file /home/max/.config/waybar/config
[2022-07-06 12:58:10.910] [info] Using CSS file /home/max/.config/waybar/style.css
[2022-07-06 12:58:10.917] [info] config update for bar-0: id bar-0, mode dock, hidden_state hide
[2022-07-06 12:58:10.918] [warning] As using a timezone, some format args may be missing as the date library haven't got a release since 2018.
[2022-07-06 12:58:10.927] [warning] Waybar has been built without rfkill support.
** (waybar:1557): WARNING **: 12:58:10.947: gtk-layer-shell v0.7.0 may not work on GTK v3.24.34. If you experience crashes, check https://github.com/wmww/gtk-layer-shell/blob/master/compatibility.md
[2022-07-06 12:58:10.962] [warning] Requested height: 20 is less than the minimum height: 40 required by the modules
[2022-07-06 12:58:10.962] [info] Bar configured (width: 1920, height: 40) for output: eDP-1
[2022-07-26 01:09:41.209] [info] Using configuration file /home/max/.config/waybar/config
[2022-07-26 01:09:41.221] [info] Using CSS file /home/max/.config/waybar/style.css
[2022-07-26 01:09:41.246] [info] config update for bar-0: id bar-0, mode dock, hidden_state hide
[2022-07-26 01:09:41.247] [warning] As using a timezone, some format args may be missing as the date library haven't got a release since 2018.
[2022-07-26 01:09:41.278] [warning] Waybar has been built without rfkill support.
** (waybar:491379): WARNING **: 01:09:41.375: gtk-layer-shell v0.7.0 may not work on GTK v3.24.34. If you experience crashes, check https://github.com/wmww/gtk-layer-shell/blob/master/compatibility.md
[2022-07-26 01:09:41.388] [warning] Requested height: 20 is less than the minimum height: 40 required by the modules
[2022-07-26 01:09:41.388] [info] Bar configured (width: 1920, height: 40) for output: eDP-1
[2022-12-28 14:08:55.894] [info] Using configuration file /home/max/.config/waybar/config
[2022-12-28 14:08:55.894] [info] Using CSS file /home/max/.config/waybar/style.css
[2022-12-28 14:08:55.900] [info] config update for bar-0: id bar-0, mode dock, hidden_state hide
[2022-12-28 14:08:55.900] [warning] As using a timezone, some format args may be missing as the date library haven't got a release since 2018.
[2022-12-28 14:08:55.951] [warning] Requested height: 20 is less than the minimum height: 44 required by the modules
[2022-12-28 14:08:55.951] [info] Bar configured (width: 1920, height: 44) for output: eDP-1

View File

@@ -0,0 +1,6 @@
#!/bin/bash
echo - | awk "{printf \"%.1f\", \
$(( \
$(cat /sys/class/power_supply/BAT0/current_now) * \
$(cat /sys/class/power_supply/BAT0/voltage_now) \
)) / 1000000000000 }" ; echo "W "

View File

@@ -0,0 +1,25 @@
#!/bin/bash
CURRENT=$(powerprofilesctl get)
LOW="🐢"
BALANCED="☯️"
HIGH="🐇"
if [ "$CURRENT" = 'power-saver' ]; then
if [ "$1" = "--toggle" ]; then
powerprofilesctl set balanced
fi
echo $LOW
elif [ "$CURRENT" = 'balanced' ]; then
if [ "$1" = "--toggle" ]; then
powerprofilesctl set performance
fi
echo $BALANCED
elif [ "$CURRENT" = 'performance' ]; then
if [ "$1" = "--toggle" ]; then
powerprofilesctl set power-saver
fi
echo $HIGH
fi

216
.config/waybar/scripts/set-theme Executable file
View File

@@ -0,0 +1,216 @@
#!/usr/bin/env bash
# https://gitlab.com/wef/dotfiles/-/blob/master/bin/dark-mode
TIME_STAMP="20220227.144601"
# dark-mode [light|dark|refresh]
# sets dark mode on or off
# Copyright (C) 2021 Bob Hepple < bob dot hepple at gmail dot com>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or (at
# your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# I like to have this called by my
# ~/.config/i3blocks/i3blocks/weather script which runs every 10m and
# knows about sunset and sunrise times.
PROG=$( basename $0 )
KITTY_ONLY=""
[[ "$1" == "--kitty-only" ]] && {
KITTY_ONLY="true"
shift
}
CMD="$1"
DARK_MODE_STATUS_FILE=~/.cache/dark-mode
CURRENT_DARK_MODE=$( cat $DARK_MODE_STATUS_FILE )
case $CMD in
-h|--help)
echo "Usage: $PROG <[on|start|dark]|refresh|[off|stop|light]>"
echo
echo "toggles or refreshes dark-mode for emacs, kitty, gtk and qt"
exit 0
;;
on|start|dark)
CMD="dark"
;;
re*)
CMD="refresh"
;;
*) # off|stop|light
CMD="light"
;;
esac
if [[ "$CMD" == "refresh" ]]; then
CMD="$CURRENT_DARK_MODE"
else
[[ "$CURRENT_DARK_MODE" == "$CMD" ]] && exit 0
fi
# for emacs, these themes can be chosen from the standard ones (in
# custom-theme-load-path) or they can be installed in
# custom-theme-directory (usually ~/.emacs.d)
# They must have a filename of $THEMENAME-theme.el
case "$CMD" in
light)
# light mode
# new_emacs_theme="dichromacy-bh"
# new_emacs_theme="modus-operandi"
#new_emacs_theme="Adwaita" # text background is #ededed !!!
#new_emacs_theme="solarized-light"
# new_emacs_modeline_theme="smart-mode-line-light"
# new_gtk_theme='WhiteSur'
new_gtk_theme='adw-gtk3'
#new_gtk_theme='Solarized-Light'
#new_gtk_theme='Crux'
new_icon_theme='WhiteSur'
new_cursor_theme='WhiteSur-cursors'
# new_kitty_theme="$HOME/.config/kitty/Adwaita.conf"
# new_nvim_theme="dayfox"
new_kitty_theme="Atom One Light"
# new_fg='black'
# new_fg='00/00/00'
# new_bg='white'
# new_bg='ff/ff/ff'
BRIGHTNESS=100
TERM_BACKGROUND=light
;;
*)
# dark mode
# new_emacs_theme="dichromacy-dark-bh"
# new_emacs_theme="modus-vivendi"
# new_emacs_theme="manoj-dark-bh"
# new_emacs_theme="solarized-dark"
# new_emacs_modeline_theme="smart-mode-line-dark"
new_gtk_theme='adw-gtk3-dark'
#new_gtk_theme='Solarized-Dark'
#new_gtk_theme='Crux-dark'
# 'Breeze' icons are too dark for Adwaita-dark:
new_icon_theme='WhiteSur-dark'
new_cursor_theme='WhiteSur-cursors'
#new_kitty_theme="$HOME/.config/kitty/Adwaita-dark.conf"
new_kitty_theme="Argonaut"
# new_nvim_theme="nightfox"
# new_fg='white'
# new_fg='ff/ff/ff'
# new_bg='#232729'
# new_bg='black'
# new_bg='00/00/00'
BRIGHTNESS=20
TERM_BACKGROUND=dark
;;
esac
(
[[ -z "$KITTY_ONLY" ]] && {
# brightnessctl set $BRIGHTNESS
## look for an emacs running as this user:
#emacs_pid=$(pgrep -u $USER emacs | head -n 1)
#[[ "$emacs_pid" ]] && emacsclient --eval "
# (progn
# (mapcar 'disable-theme custom-enabled-themes)
# (load-theme '$new_emacs_theme t))"
##(load-theme '$new_emacs_modeline_theme))"
f=~/.gtkrc-2.0
[[ -w $f ]] && {
sed -i "s/^gtk-theme-name=.*/gtk-theme-name=\"$new_gtk_theme\"/" $f
sed -i "s/^gtk-icon-theme-name=.*/gtk-icon-theme-name=\"$new_icon_theme\"/" $f
sed -i "s/^gtk-cursor-theme-name=.*/gtk-cursor-theme-name=\"$new_cursor_theme\"/" $f
}
# gtkreload # gtk2 only!
# if ! command -v nvr &> /dev/null
# then
# echo "nvr not installed"
# elif [ "$(pgrep nvim)" != "" ]; then
# echo "new theme $new_nvim_theme"
# nvr --nostart --remote-send ":colorscheme $new_nvim_theme<CR>"
# exit
# fi
f=~/.config/gtk-3.0/settings.ini
[[ -w $f ]] && {
sed -i "s/^gtk-theme-name=.*/gtk-theme-name=$new_gtk_theme/" $f
sed -i "s/^gtk-icon-theme-name=.*/gtk-icon-theme-name=$new_icon_theme/" $f
sed -i "s/^gtk-cursor-theme-name=.*/gtk-cursor-theme-name=$new_cursor_theme/" $f
}
# /usr/libexec/gsd-xsettings notifies gtk3 clients - start it in sway
# these two appear to be completely equivalent:
dconf write /org/gnome/desktop/interface/gtk-theme "'$new_gtk_theme'"
gsettings set org.gnome.desktop.interface gtk-theme $new_gtk_theme
gsettings set org.gnome.desktop.interface color-scheme "prefer-$TERM_BACKGROUND"
dconf write /org/gnome/desktop/interface/icon-theme "'$new_icon_theme'"
dconf write /org/gnome/desktop/interface/cursor-theme "'$new_cursor_theme'"
f=~/.config/qt5ct/qt5ct.conf
[[ -w $f ]] && {
sed -i "s/^style=.*/style=$new_gtk_theme/" $f
sed -i "s/^icon-theme=.*/style=$new_icon_theme/" $f
# cursor?
}
}
# requires this in ~/.config/kitty/kitty.conf:
# allow_remote_control yes
# listen_on unix:/tmp/kitty-socket
kitty +kitten themes --cache-age=-1 --reload-in=all $new_kitty_theme
# for SOCK in /tmp/kitty-socket-*; do
# if [[ -r $new_kitty_theme ]]; then
# else
# # this should work for all terms:
# for TERM in /dev/pts/[0-9]*; do
# if [[ -O $TERM ]]; then
# {
# printf "\\033]10;rgb:$new_fg\\033\\\\"
# printf "\\033]11;rgb:$new_bg\\033\\\\"
# } >$TERM
# fi
# done
# # kitty @ --to=unix:$SOCK set_colors --all foreground=$new_fg background=$new_bg
# fi
# done
# for 'low-power' script:
echo $TERM_BACKGROUND > $DARK_MODE_STATUS_FILE
) >/dev/null
# echo "TERM_BACKGROUND=$TERM_BACKGROUND; setup_prompt"
# Local Variables:
# mode: shell-script
# time-stamp-pattern: "4/TIME_STAMP=\"%:y%02m%02d.%02H%02M%02S\""
# eval: (add-hook 'before-save-hook 'time-stamp)
# End:

View File

@@ -0,0 +1,22 @@
#!/bin/sh
CURRENT=$(swaymsg -t get_outputs --raw | jq '.[] | [.current_mode.width, .current_mode.height] | join("x")')
HIGH="ﳍ"
STANDARD="ﳭ"
if [ "$CURRENT" = '"3840x2160"' ]; then
if [ "$1" = "--toggle" ]; then
swaymsg "output eDP-1 mode --custom 1920x1080@60Hz"
killall waybar
nohup waybar
fi
echo $HIGH
elif [ "$CURRENT" = '"1920x1080"' ]; then
if [ "$1" = "--toggle" ]; then
swaymsg "output eDP-1 mode --custom 3840x2160@60Hz"
killall waybar
nohup waybar
fi
echo $STANDARD
fi

View File

@@ -0,0 +1,21 @@
#!/bin/bash
DARK_MODE_STATUS_FILE=~/.cache/dark-mode
CURRENT_DARK_MODE=$( cat $DARK_MODE_STATUS_FILE )
LIGHT="盛"
DARK=""
if [ "$1" == "--toggle" ]; then
if [ $CURRENT_DARK_MODE == "light" ]; then
~/.config/waybar/scripts/set-theme dark
else
~/.config/waybar/scripts/set-theme light
fi
fi
if [ $CURRENT_DARK_MODE != "light" ]; then
echo $DARK
else
echo $LIGHT
fi

112
.config/waybar/style.css Normal file
View File

@@ -0,0 +1,112 @@
* {
border: none;
font-family: Font Awesome, Hack Nerd Font Mono;
font-weight: 600;
font-size: 13px;
}
window#waybar {
background: transparent;
}
window > box {
margin: 6px;
margin-bottom: 0px;
background: #2b303b;
background: @theme_bg_color;
border-radius: 4px;
padding: 7px;
padding-left: 4px;
padding-right: 10px;
}
#workspaces button {
padding: 0px 8px;
color: @theme_fg_color;
background: transparent;
border-radius: 2px;
}
#workspaces button:hover{
background: rgba(255, 255, 255, 0.1);
}
#workspaces button.active,
#workspaces button.focused {
background-color: @theme_fg_color;
color: @theme_bg_color;
}
#clock {
margin: 0px 10px 0px 10px;
}
#custom-power {
color: #cc241d;
}
#battery {
color: #689d6a;
}
#battery.critical {
color: #fb4934;
}
#battery.good {
color: #689d6a;
}
#battery.charging {
color: #b8bb26;
}
#network.wifi {
color: #689d6a;
}
#network.disconnected {
color: #fe8019;
}
#tray > widget > * {
margin-right:8px;
}
#tray > widget:last-child > * {
margin-right:0px;
}
#custom-power-consumption,
#custom-power-profile,
#custom-dpi,
#custom-theme,
#pulseaudio,
#battery,
#tray,
#custom-pacman,
#network {
/* margin: 0px 5px; */
/* padding: 0px 5px; */
padding-right: 10px;
padding-left: 7px;
/* margin-left: 2px; */
border-right: 1px solid rgba(255, 255, 255, 0.2);
/* background: rgba(255, 255, 255, 1); */
/* border-radius: 2px; */
}
#battery {
/* padding-left: 5px; */
border-right: none;
padding-right: 5px;
}
widget:hover {
background-color: red;
}