diff options
Diffstat (limited to 'waybar')
26 files changed, 90 insertions, 1207 deletions
diff --git a/waybar/colors.css b/waybar/colors.css deleted file mode 100644 index 9e5f3fb..0000000 --- a/waybar/colors.css +++ /dev/null @@ -1 +0,0 @@ -@import 'themes/tokyonight.css'; diff --git a/waybar/config.jsonc b/waybar/config.jsonc index 4c2af10..46467c4 100644 --- a/waybar/config.jsonc +++ b/waybar/config.jsonc @@ -1,223 +1,116 @@ -// _*_ mode: jsonc _*_ { - "reload_style_on_change": true, "layer": "top", - "position": "bottom", + "position": "top", "modules-left": [ - "niri/workspaces", - "custom/uptime", - "backlight", - "group/network" + "clock", + "mpris", + "niri/window" + ], + "modules-center": [ + "custom/workspaces" ], - "modules-center": [], "modules-right": [ - "group/expand-tray", - "group/hardware", - "group/audio", - "group/powerofmachine", - "clock" + "tray", + "network", + "pulseaudio", + "bluetooth", + "memory", + "battery" ], "niri/workspaces": { - "on-click": "activate", + "current-only": true, "format": "{icon}", - "format-icons": { - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7", - "8": "8", - "9": "9", - "10": "10" - } - }, - // module groups - "group/hardware": { - "orientation": "horizontal", - "modules": [ - "cpu", - "memory", - "temperature" - ] - }, - "group/audio": { - "orientation": "horizontal", - "modules": [ - "bluetooth", - "pulseaudio" - ] + "all-outputs": false // usually keep false so each monitor shows its own active workspace }, - "group/network": { - "orientation": "horizontal", - "modules": [ - "network", - "custom/vpn" - ] + "niri/window": { + "format": "{app_id}" }, - "group/powerofmachine": { - "orientation": "horizontal", - "modules": [ - "battery" - ] - }, - "group/expand-tray": { - "orientation": "inherit", - "drawer": { - "transition-duration": 600, - "children-class": "tray-group-item" + "mpris": { + "format": "{status_icon} {artist} - {title}", + "format-paused": "{status_icon} <i>{artist} - {title}</i>", + "player-icons": { + "default": "βΆ", + "mpv": "π΅" }, - "modules": [ - "custom/expand-icon", - "tray" - ] + "status-icons": { + "paused": "βΈ" + } }, - // Individual modules "clock": { - "interval": 60, - "tooltip": true, - "format": "ο {:%R ο³ %d/%m}", - "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", - "format-alt": "ο³ {:%a, %d, %b %Y}" + "format": "{:%a, %b %d %H:%M}", + "format-alt": "{:%Y-%m-%d}" }, "memory": { - "interval": 12, - "format": "ξΏ
{}%" - }, - "cpu": { - "interval": 5, - "format": "ο {usage}%", - "on-click": "alacritty --class TUI.float -e btop" - }, - "temperature": { - // The thermal zone for CPU changes from time to time on MSI Laptops - "thermal-zone": 5, - "critical-threshold": 80, - "format": "ο {temperatureC}Β°C" + "format": "ξΏ
{used}GiB" }, - "network": { - "interface": "wlan0", - "family": "ipv4", - "format": "{ifname}", - "format-wifi": "{icon} {essid}", - "format-ethernet": "ξ½ {ipaddr}/<span color='#aaaaaa'>{cidr}</span>", - "format-disconnected": "σ°¨ DC'D", - "format-icons": [ - "σ°€―", - "σ°€", - "σ°€’", - "σ°€₯", - "󰀨" - ], - "tooltip-format": "{ifname} via {gwaddr}", - "tooltip-format-wifi": "{essid} ({frequency} GHz)\nβ£{bandwidthDownBytes} β‘{bandwidthUpBytes}", - "tooltip-format-ethernet": "β£{bandwidthDownBytes} β‘{bandwidthUpBytes}", - "tooltip-format-disconnected": "Disconnected", - "interval": 5, - "on-click": "alacritty --class TUI.float -e wifitui", - "on-click-right": "rfkill toggle wlan" - }, - "backlight": { - "device": "intel_backlight", - "format": "{icon} {percent}%", - "format-icons": [ - "ξ", - "ξ", - "ξ", - "ξ", - "ξ", - "ξ", - "ξ", - "ξ", - "ξ" - ] + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{icon} {capacity}%", + "format-icons": { + "default": [ + "ο", + "ο", + "ο", + "ο", + "ο" + ], + "charging": "ο§" + }, + "format-plugged": "ο¦ {capacity}%" }, "bluetooth": { "format": "ο {num_connections}", "format-disabled": "<span color='#aaaaaa'>σ°²</span>", "format-connected": "ο {num_connections}", "tooltip-format": "Devices connected: {num_connections}\n{device_alias} at {device_battery_percentage}%", - "on-click": "alacritty --class=TUI.float -e bluetui", + "on-click": "$TERMINAL --app-id=TUI.float -e bluetui", "on-click-right": "rfkill toggle bluetooth" }, "pulseaudio": { "format": "{icon} {volume}%", - "on-click": "alacritty --class TUI.float -e wiremix", - "tooltip-format": "{desc}", - "scroll-step": 5, - "format-muted": "<span color='#aaaaaa' </span>", + "format-bluetooth": "ο {icon} {volume}%", + "format-muted": "ο¦", "format-icons": { + "alsa_output.pci-0000_00_1f.3.analog-stereo": "ξ", + "alsa_output.pci-0000_00_1f.3.analog-stereo-muted": "ξ", "headphone": "ο₯", + "hands-free": "ο", + "headset": "ο", + "phone": "ο", + "phone-muted": "ξ΄", + "portable": "ο", + "car": "οΉ", "default": [ - "ο¦", "ο§", "ο¨" ] - } - }, - "battery": { - "format": "{capacity}% {icon}", - "format-discharging": "{icon} {capacity}%", - "format-charging": "{icon} {capacity}%", - "format-plugged": "ο¦ {capacity}%", - "format-full": "σ°Ή {capacity}%", - "format-icons": { - "charging": [ - "σ°’", - "σ°", - "σ°", - "σ°", - "σ°’", - "σ°", - "σ°’", - "σ°", - "σ°", - "σ°
" - ], - "default": [ - "σ°Ί", - "σ°»", - "σ°Ό", - "σ°½", - "σ°Ύ", - "σ°Ώ", - "σ°", - "σ°", - "σ°", - "σ°Ή" - ] }, - "interval": 5, - "states": { - "warning": 20, - "critical": 10 - } + "on-click": "$TERMINAL --app-id=TUI.float -e wiremix", + "tooltip-format": "{desc}", + "scroll-step": 5 }, - // Tray - "tray": { - "icon-size": 10, - "spacing": 10 + "network": { + "interface": "wlo1", + "format": "{ifname}", + "format-wifi": "ο« {signalStrength}%", + "format-ethernet": "ξ½ {ipaddr}/{cidr}", + "format-disconnected": "σ°ͺ", //An empty format will hide the module. + "tooltip-format": "ξ½ {ifname} via {gwaddr}", + "tooltip-format-wifi": "ο« {essid} {signalStrength}%", + "tooltip-format-ethernet": "ο{ifname}", + "tooltip-format-disconnected": "σ°ͺ", + "max-length": 50, + "interval": 60, + "on-click": "$TERMINAL --app-id TUI.float -e wifitui", + "on-click-right": "rfkill toggle wlan" }, - // Custom modules - "custom/vpn": { - "format": "ο£ VPN", - "exec": "echo '{\"class\": \"connected\"}'", - "exec-if": "test -d /proc/sys/net/ipv4/conf/proton0", + "custom/workspaces": { + "exec": "~/.config/waybar/niri-workspaces", "return-type": "json", - "interval": 5 - }, - "custom/expand-icon": { - "format": "ο ", - "tooltip": false - }, - "custom/uptime": { - "format": "{}", - "format-icon": [ - "ο’" - ], - "tooltip": false, - "interval": 1600, - "exec": "~/.config/waybar/scripts/uptime.sh" + "format": "{}" } } diff --git a/waybar/niri-workspaces b/waybar/niri-workspaces Binary files differnew file mode 100755 index 0000000..7213da7 --- /dev/null +++ b/waybar/niri-workspaces diff --git a/waybar/scripts/mediaplayer.py b/waybar/scripts/mediaplayer.py deleted file mode 100755 index 870eabf..0000000 --- a/waybar/scripts/mediaplayer.py +++ /dev/null @@ -1,143 +0,0 @@ -#!/usr/bin/env python3 -import argparse -import logging -import sys -import signal -import gi -import json - -gi.require_version("Playerctl", "2.0") -from gi.repository import Playerctl, GLib - -logger = logging.getLogger(__name__) - - -def write_output(text, player): - logger.info("Writing output") - - output = { - "text": text, - "class": "custom-" + player.props.player_name, - "alt": player.props.player_name, - } - - sys.stdout.write(json.dumps(output) + "\n") - sys.stdout.flush() - - -def on_play(player, status, manager): - logger.info("Received new playback status") - on_metadata(player, player.props.metadata, manager) - - -def on_metadata(player, metadata, manager): - logger.info("Received new metadata") - track_info = "" - - if ( - player.props.player_name == "spotify" - and "mpris:trackid" in metadata.keys() - and ":ad:" in player.props.metadata["mpris:trackid"] - ): - track_info = "AD PLAYING" - elif player.get_artist() != "" and player.get_title() != "": - track_info = "{artist} - {title}".format( - artist=player.get_artist(), title=player.get_title() - ) - else: - track_info = player.get_title() - - if player.props.status != "Playing" and track_info: - track_info = "ο " + track_info - write_output(track_info, player) - - -def on_player_appeared(manager, player, selected_player=None): - if player is not None and ( - selected_player is None or player.name == selected_player - ): - init_player(manager, player) - else: - logger.debug("New player appeared, but it's not the selected player, skipping") - - -def on_player_vanished(manager, player): - logger.info("Player has vanished") - sys.stdout.write("\n") - sys.stdout.flush() - - -def init_player(manager, name): - logger.debug("Initialize player: {player}".format(player=name.name)) - player = Playerctl.Player.new_from_name(name) - player.connect("playback-status", on_play, manager) - player.connect("metadata", on_metadata, manager) - manager.manage_player(player) - on_metadata(player, player.props.metadata, manager) - - -def signal_handler(sig, frame): - logger.debug("Received signal to stop, exiting") - sys.stdout.write("\n") - sys.stdout.flush() - # loop.quit() - sys.exit(0) - - -def parse_arguments(): - parser = argparse.ArgumentParser() - - # Increase verbosity with every occurrence of -v - parser.add_argument("-v", "--verbose", action="count", default=0) - - # Define for which player we're listening - parser.add_argument("--player") - - return parser.parse_args() - - -def main(): - arguments = parse_arguments() - - # Initialize logging - logging.basicConfig( - stream=sys.stderr, - level=logging.DEBUG, - format="%(name)s %(levelname)s %(message)s", - ) - - # Logging is set by default to WARN and higher. - # With every occurrence of -v it's lowered by one - logger.setLevel(max((3 - arguments.verbose) * 10, 0)) - - # Log the sent command line arguments - logger.debug("Arguments received {}".format(vars(arguments))) - - manager = Playerctl.PlayerManager() - loop = GLib.MainLoop() - - manager.connect( - "name-appeared", lambda *args: on_player_appeared(*args, arguments.player) - ) - manager.connect("player-vanished", on_player_vanished) - - signal.signal(signal.SIGINT, signal_handler) - signal.signal(signal.SIGTERM, signal_handler) - signal.signal(signal.SIGPIPE, signal.SIG_DFL) - - for player in manager.props.player_names: - if arguments.player is not None and arguments.player != player.name: - logger.debug( - "{player} is not the filtered player, skipping it".format( - player=player.name - ) - ) - continue - - init_player(manager, player) - - loop.run() - - -if __name__ == "__main__": - main() diff --git a/waybar/scripts/uptime.sh b/waybar/scripts/uptime.sh deleted file mode 100755 index 786561f..0000000 --- a/waybar/scripts/uptime.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash -UPTIME_PRETTY=$(uptime -p) - -UPTIME_FORMATTED=$(echo "$UPTIME_PRETTY" | sed 's/^up //;s/,*$//;s/minute/m/; s/hour/h/; s/day/d/; s/s//g') - -echo "ο’ $UPTIME_FORMATTED" diff --git a/waybar/style.css b/waybar/style.css index 52f013a..6590d83 100644 --- a/waybar/style.css +++ b/waybar/style.css @@ -1,127 +1,28 @@ -@import "colors.css"; - * { border: none; - font-family: "GeistMono Nerd Font Propo, sans-serif"; + font-family: "JetBrainsMono Nerd Font Propo, monospace"; font-size: 12px; font-weight: bold; min-height: 0; } -/* Keyframe animations */ -@keyframes urgent-blink { - 0% { - color: #eb4d4b; - } - - 50% { - color: #ffffff; - } - - 100% { - color: #eb4d4b; - } -} - window#waybar { - background-color: @background; - color: @foreground; -} - -/* Workspaces */ -#workspaces { - margin-right: 0.75rem; -} - -#workspaces button.active { - color: @color1; -} - -#workspaces button.empty.active { - color: @color2; - /* opacity: 1; */ -} - -/* #workspaces button.empty { */ -/* opacity: 0.2; */ -/* } */ - -/* #workspaces button:not(.empty) { */ -/* opacity: 0.7; */ -/* } */ - -#workspaces button.urgent { + background-color: #000000; color: #ffffff; - background-color: rgba(255, 0, 0, 0.5); - border-radius: 0; } -/* Modules */ -#battery, -#clock { - margin: 0 0.45rem; +#workspaces button { + padding: 0 6px; } -#backlight, -#bluetooth, -#cpu, -#temperature, +#clock, +#battery, +#window, #memory, -#pulseaudio { - margin: 0 0.45rem; -} - +#network, +#mpris, +#bluetooth, +#pulseaudio, #tray { - margin-left: 0.25rem; -} - -#bluetooth.connected { - color: @color1; -} - -#battery:not(.charging).warning { - color: #FFA500; -} - -#battery:not(.charging).critical { - color: #FF0000; -} - -#network.disconnected { - color: #FF0000; -} - -/* Groups */ -#audio, -#expand-tray, -#hardware, -#powerofmachine, -#network { - margin: 0 0.55rem; -} - -#power-profiles-daemon.power-saver { - color: rgba(0, 250, 0, 1); -} - -#power-profiles-daemon.performance { - color: rgba(200, 0, 0, 1); -} - -/* Custom modules */ -#custom-screenrecording-indicator { - color: #ff0000; - animation-name: urgent-blink; - animation-duration: 1s; - animation-timing-function: steps(18); - animation-iteration-count: infinite; - animation-direction: alternate; -} - -#custom-uptime { - margin: 0 0.55rem; -} - -#custom-pomodoro { - margin: 0 0.55rem; + padding: 0 8px; } diff --git a/waybar/themes/blacklotus.css b/waybar/themes/blacklotus.css deleted file mode 100644 index 0add7da..0000000 --- a/waybar/themes/blacklotus.css +++ /dev/null @@ -1,8 +0,0 @@ -/* BlackLotus Colorscheme */ -@define-color background #0B0A0F; -@define-color foreground #D7D2E9; - -@define-color color1 #A277FF; -@define-color color3 #E363C9; -@define-color color2 #6E8CFF; -@define-color color4 #2EE2D0; diff --git a/waybar/themes/catppuccin-mocha.css b/waybar/themes/catppuccin-mocha.css deleted file mode 100644 index 19296d5..0000000 --- a/waybar/themes/catppuccin-mocha.css +++ /dev/null @@ -1,12 +0,0 @@ -/* -* Variant: Catppuccin Mocha -* Maintainer: https://github.com/catppuccin/waybar.git -*/ - -@define-color background #1e1e2e; -@define-color foreground #cdd6f4; - -@define-color color1 #fab387; -@define-color color2 #f5e0dc; -@define-color color3 #74c7ec; -@define-color color4 #f9e2af; diff --git a/waybar/themes/dracula.css b/waybar/themes/dracula.css deleted file mode 100644 index 42f7cce..0000000 --- a/waybar/themes/dracula.css +++ /dev/null @@ -1,8 +0,0 @@ -@define-color background #282a36; -@define-color selection #44475a; -@define-color foreground #f8f8f2; - -@define-color color1 #bd93f9; -@define-color color2 #ffb86c; -@define-color color3 #ff5555; -@define-color color4 #50fa7b; diff --git a/waybar/themes/gruvbox-dark.css b/waybar/themes/gruvbox-dark.css deleted file mode 100644 index 5dcf4c6..0000000 --- a/waybar/themes/gruvbox-dark.css +++ /dev/null @@ -1,12 +0,0 @@ -/* Gruvbox Dark Hard β only 8 colors youβll ever need */ -@define-color background #1d2021; /* darkest */ -@define-color background0 #282828; /* main background */ -@define-color background1 #3c3836; /* statusbars, selected lines */ -@define-color background2 #504945; /* subtle highlights */ -@define-color foreground #ebdbb2; /* main text */ -@define-color foreground0 #fbf1c7; /* brightest text (rarely used) */ -@define-color accent #fe8019; /* bright orange β main accent */ -@define-color color1 #cc241d; /* dark red */ -@define-color color2 #98971a; /* dark green */ -@define-color color3 #d79921; /* dark yellow */ -@define-color color4 #458588; /* dark blue */ diff --git a/waybar/themes/kanagawa.css b/waybar/themes/kanagawa.css deleted file mode 100644 index 2a5c343..0000000 --- a/waybar/themes/kanagawa.css +++ /dev/null @@ -1,7 +0,0 @@ -@define-color foreground #DCD7BA; -@define-color background #1F1F28; - -@define-color color1 #FF5D62; -@define-color color2 #7AA89F; -@define-color color3 #E6C384; -@define-color color4 #7E9CD8; diff --git a/waybar/themes/rose-pine.css b/waybar/themes/rose-pine.css deleted file mode 100644 index e323881..0000000 --- a/waybar/themes/rose-pine.css +++ /dev/null @@ -1,13 +0,0 @@ -/* -* Variant: RosΓ© Pine -* Maintainer: DankChoir -* Modified for few colors -*/ - -@define-color background #191724; -@define-color foreground #1f1d2e; - -@define-color color1 #eb6f92; -@define-color color2 #f6c177; -@define-color color3 #ebbcba; -@define-color color4 #31748f; diff --git a/waybar/themes/tokyonight.css b/waybar/themes/tokyonight.css deleted file mode 100644 index 2f2dcf5..0000000 --- a/waybar/themes/tokyonight.css +++ /dev/null @@ -1,6 +0,0 @@ -@define-color background #1a1b26; -@define-color foreground #c0caf5; - -@define-color color1 #7dcfff; -@define-color color2 #f7768e; -@define-color color3 #7aa2f7; diff --git a/waybar/waybar/colors.css b/waybar/waybar/colors.css deleted file mode 100644 index 9e5f3fb..0000000 --- a/waybar/waybar/colors.css +++ /dev/null @@ -1 +0,0 @@ -@import 'themes/tokyonight.css'; diff --git a/waybar/waybar/config.jsonc b/waybar/waybar/config.jsonc deleted file mode 100644 index d9915be..0000000 --- a/waybar/waybar/config.jsonc +++ /dev/null @@ -1,281 +0,0 @@ -// _*_ mode: jsonc _*_ -{ - "reload_style_on_change": true, - "layer": "top", - "position": "top", - "modules-left": [ - "niri/workspaces", - // "custom/uptime", - // "backlight", - // "group/network", - "mpris", - "custom/screenrecording-indicator" - ], - "modules-center": [], - "modules-right": [ - "group/expand-tray", - "backlight", - "custom/brightness", - "group/network", - // "group/hardware", - "group/audio", - "group/powerofmachine", - "clock" - ], - "niri/workspaces": { - "on-click": "activate", - "format": "{icon}", - "format-icons": { - // "1": "1 ο", - // "2": "2 ο
»", - // "3": "3 ο", - // "4": "4 ο", - // "5": "5 Χ€ΦΌ", - // "6": "6 ο", - // "7": "7 οΆ", - // "8": "8 οΌ", - // "9": "9 ο", - // "10": "10 ο‘", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7", - "8": "8", - "9": "9", - "10": "10", - }, - "all-outputs": true, - }, - // module groups - "group/hardware": { - "orientation": "horizontal", - "modules": [ - "cpu", - "memory", - "temperature" - ] - }, - "group/audio": { - "orientation": "horizontal", - "modules": [ - "bluetooth", - "pulseaudio" - ] - }, - "group/network": { - "orientation": "horizontal", - "modules": [ - "network", - "custom/vpn" - ] - }, - "group/powerofmachine": { - "orientation": "horizontal", - "modules": [ - // "power-profiles-daemon", - "battery" - ] - }, - "group/expand-tray": { - "orientation": "inherit", - "drawer": { - "transition-duration": 600, - "children-class": "tray-group-item" - }, - "modules": [ - "custom/expand-icon", - "tray" - ] - }, - // Individual modules - "clock": { - "interval": 60, - "tooltip": true, - "format": "ο {:%R ο³ %d/%m}", - "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", - "format-alt": "ο³ {:%a, %d, %b %Y}" - }, - "memory": { - "interval": 12, - "format": "ξΏ
{}%" - }, - "cpu": { - "interval": 5, - "format": "ο {usage}%", - "on-click": "$TERMINAL -e btop" - }, - "temperature": { - // The thermal zone for CPU changes from time to time on MSI Laptops - "thermal-zone": 5, - "critical-threshold": 80, - "format": "ο {temperatureC}Β°C" - }, - "mpris": { - "format": "{status_icon} {artist} - {title}", - "format-paused": "{status_icon} {artist} - {title}", - "player-icons": { - "default": "βΆ", - "mpv": "π΅" - }, - "status-icons": { - "paused": "βΈ", - "default": "βΆ", - }, - "ignored-players": ["zen"] - }, - "network": { - "interface": "wlan0", - "family": "ipv4", - "format": "{ifname}", - "format-wifi": "{icon} {essid}", - "format-ethernet": "ξ½ {ipaddr}/<span color='#aaaaaa'>{cidr}</span>", - "format-disconnected": "σ°¨ DC'D", - "format-icons": [ - "σ°€―", - "σ°€", - "σ°€’", - "σ°€₯", - "󰀨" - ], - "tooltip-format": "{ifname} via {gwaddr}", - "tooltip-format-wifi": "{essid} ({frequency} GHz)\nβ£{bandwidthDownBytes} β‘{bandwidthUpBytes}", - "tooltip-format-ethernet": "β£{bandwidthDownBytes} β‘{bandwidthUpBytes}", - "tooltip-format-disconnected": "Disconnected", - "interval": 5, - "on-click": "$TERMINAL --class Wifitui -e wifitui", - "on-click-right": "rfkill toggle wlan" - }, - "backlight": { - "device": "intel_backlight", - "format": "{icon} {percent}%", - "format-icons": [ - "ξ", - "ξ", - "ξ", - "ξ", - "ξ", - "ξ", - "ξ", - "ξ", - "ξ" - ] - }, - "bluetooth": { - "format": "ο {num_connections}", - "format-disabled": "<span color='#aaaaaa'>σ°²</span>", - "format-connected": "ο {num_connections}", - "tooltip-format": "Devices connected: {num_connections}\n{device_alias} at {device_battery_percentage}%", - "on-click": "$TERMINAL --title=Bluetui --class=TUI.float -e bluetui", - "on-click-right": "rfkill toggle bluetooth" - }, - "pulseaudio": { - "format": "{icon} {volume}%", - "on-click": "$TERMINAL --title=Wiremix --class=TUI.float -e wiremix", - "tooltip-format": "{desc}", - "scroll-step": 5, - "format-muted": "<span color='#aaaaaa' </span>", - "format-icons": { - "headphone": "ο₯", - "default": [ - "ο¦", - "ο§", - "ο¨" - ] - } - }, - "battery": { - "format": "{capacity}% {icon}", - "format-discharging": "{icon} {capacity}%", - "format-charging": "{icon} {capacity}%", - "format-plugged": "ο¦ {capacity}%", - "format-full": "σ°Ή {capacity}%", - "format-icons": { - "charging": [ - "σ°’", - "σ°", - "σ°", - "σ°", - "σ°’", - "σ°", - "σ°’", - "σ°", - "σ°", - "σ°
" - ], - "default": [ - "σ°Ί", - "σ°»", - "σ°Ό", - "σ°½", - "σ°Ύ", - "σ°Ώ", - "σ°", - "σ°", - "σ°", - "σ°Ή" - ] - }, - "interval": 5, - "states": { - "warning": 20, - "critical": 10 - } - }, - "power-profiles-daemon": { - "format": "{icon}", - "tooltip-format": "Power profile: {profile}\nDriver: {driver}", - "tooltip": true, - "format-icons": { - "default": "ο§", - "performance": "ο§", - "balanced": "ο", - "power-saver": "ο¬" - } - }, - // Tray - "tray": { - "icon-size": 10, - "spacing": 10 - }, - // Custom modules - "custom/vpn": { - "format": "ο£ VPN", - "exec": "echo '{\"class\": \"connected\"}'", - "exec-if": "test -d /proc/sys/net/ipv4/conf/proton0", - "return-type": "json", - "interval": 5 - }, - "custom/expand-icon": { - "format": "ο ", - "tooltip": false - }, - "custom/screenrecording-indicator": { - "on-click": "~/.local/bin/screenrecord", - "exec": "~/.local/bin/waybar-screenrecord", - "signal": 8, - "return-type": "json" - }, - "custom/uptime": { - "format": "{}", - "format-icon": [ - "ο’" - ], - "tooltip": false, - "interval": 1600, - "exec": "~/.config/waybar/scripts/uptime.sh" - }, - "custom/brightness": { - "format": "β {}%", - "tooltip-format": "EXT: β {}%", - "interval": "once", - "signal": 9, - "exec": "~/.config/waybar/scripts/brightness.sh get", - "on-scroll-up": "~/.config/waybar/scripts/brightness.sh up", - "on-scroll-down": "~/.config/waybar/scripts/brightness.sh down", - "on-click": "~/.config/waybar/scripts/brightness.sh left_click", - "on-click-right": "~/.config/waybar/scripts/brightness.sh right_click", - }, -} diff --git a/waybar/waybar/scripts/brightness.sh b/waybar/waybar/scripts/brightness.sh deleted file mode 100755 index 138f5ee..0000000 --- a/waybar/waybar/scripts/brightness.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/env bash - -# --- CONFIGURATION --- -DISPLAY_NUM=1 -STEP=5 -STATE_FILE="/tmp/waybar_brightness.tmp" -# --------------------- - -# Function to send the actual DDC/CI command in the background -set_brightness_in_background() { - pkill -f "ddcutil.*setvcp 10" - (ddcutil --display $DISPLAY_NUM setvcp 10 $1) & -} - -# Ensure state file exists, or create it by querying the monitor -if [ ! -f "$STATE_FILE" ]; then - # ddcutil terse output format: "VCP 10 C <current> <max>" - initial_brightness=$(ddcutil --display $DISPLAY_NUM getvcp 10 -t 2>/dev/null | awk '{print $4}') - # Fallback to 50 if ddcutil fails or returns non-numeric - if ! [[ "$initial_brightness" =~ ^[0-9]+$ ]]; then - initial_brightness=50 - fi - echo "$initial_brightness" >"$STATE_FILE" -fi - -current=$(cat "$STATE_FILE") -# Validate current is a number, fallback to 50 if corrupted -if ! [[ "$current" =~ ^[0-9]+$ ]]; then - current=50 - echo "$current" >"$STATE_FILE" -fi - -case "$1" in -"get") - echo "$current" - ;; -"up") - new_brightness=$((current + STEP > 100 ? 100 : current + STEP)) - if [ "$current" -ne "$new_brightness" ]; then - echo "$new_brightness" >"$STATE_FILE" - set_brightness_in_background "$new_brightness" - fi - pkill -RTMIN+9 waybar # Can add whatever RTMIN+n you please, as long as it's an integer. Make sure the signals match between the config and script. - ;; -"down") - new_brightness=$((current - STEP < 0 ? 0 : current - STEP)) - if [ "$current" -ne "$new_brightness" ]; then - echo "$new_brightness" >"$STATE_FILE" - set_brightness_in_background "$new_brightness" - fi - pkill -RTMIN+9 waybar - ;; -"right_click") - new_brightness=0 - if [ "$current" -ne "$new_brightness" ]; then - echo "$new_brightness" >"$STATE_FILE" - set_brightness_in_background "$new_brightness" - fi - pkill -RTMIN+9 waybar - ;; -"left_click") - new_brightness=100 - if [ "$current" -ne "$new_brightness" ]; then - echo "$new_brightness" >"$STATE_FILE" - set_brightness_in_background "$new_brightness" - fi - pkill -RTMIN+9 waybar - ;; -esac diff --git a/waybar/waybar/scripts/mediaplayer.py b/waybar/waybar/scripts/mediaplayer.py deleted file mode 100755 index 870eabf..0000000 --- a/waybar/waybar/scripts/mediaplayer.py +++ /dev/null @@ -1,143 +0,0 @@ -#!/usr/bin/env python3 -import argparse -import logging -import sys -import signal -import gi -import json - -gi.require_version("Playerctl", "2.0") -from gi.repository import Playerctl, GLib - -logger = logging.getLogger(__name__) - - -def write_output(text, player): - logger.info("Writing output") - - output = { - "text": text, - "class": "custom-" + player.props.player_name, - "alt": player.props.player_name, - } - - sys.stdout.write(json.dumps(output) + "\n") - sys.stdout.flush() - - -def on_play(player, status, manager): - logger.info("Received new playback status") - on_metadata(player, player.props.metadata, manager) - - -def on_metadata(player, metadata, manager): - logger.info("Received new metadata") - track_info = "" - - if ( - player.props.player_name == "spotify" - and "mpris:trackid" in metadata.keys() - and ":ad:" in player.props.metadata["mpris:trackid"] - ): - track_info = "AD PLAYING" - elif player.get_artist() != "" and player.get_title() != "": - track_info = "{artist} - {title}".format( - artist=player.get_artist(), title=player.get_title() - ) - else: - track_info = player.get_title() - - if player.props.status != "Playing" and track_info: - track_info = "ο " + track_info - write_output(track_info, player) - - -def on_player_appeared(manager, player, selected_player=None): - if player is not None and ( - selected_player is None or player.name == selected_player - ): - init_player(manager, player) - else: - logger.debug("New player appeared, but it's not the selected player, skipping") - - -def on_player_vanished(manager, player): - logger.info("Player has vanished") - sys.stdout.write("\n") - sys.stdout.flush() - - -def init_player(manager, name): - logger.debug("Initialize player: {player}".format(player=name.name)) - player = Playerctl.Player.new_from_name(name) - player.connect("playback-status", on_play, manager) - player.connect("metadata", on_metadata, manager) - manager.manage_player(player) - on_metadata(player, player.props.metadata, manager) - - -def signal_handler(sig, frame): - logger.debug("Received signal to stop, exiting") - sys.stdout.write("\n") - sys.stdout.flush() - # loop.quit() - sys.exit(0) - - -def parse_arguments(): - parser = argparse.ArgumentParser() - - # Increase verbosity with every occurrence of -v - parser.add_argument("-v", "--verbose", action="count", default=0) - - # Define for which player we're listening - parser.add_argument("--player") - - return parser.parse_args() - - -def main(): - arguments = parse_arguments() - - # Initialize logging - logging.basicConfig( - stream=sys.stderr, - level=logging.DEBUG, - format="%(name)s %(levelname)s %(message)s", - ) - - # Logging is set by default to WARN and higher. - # With every occurrence of -v it's lowered by one - logger.setLevel(max((3 - arguments.verbose) * 10, 0)) - - # Log the sent command line arguments - logger.debug("Arguments received {}".format(vars(arguments))) - - manager = Playerctl.PlayerManager() - loop = GLib.MainLoop() - - manager.connect( - "name-appeared", lambda *args: on_player_appeared(*args, arguments.player) - ) - manager.connect("player-vanished", on_player_vanished) - - signal.signal(signal.SIGINT, signal_handler) - signal.signal(signal.SIGTERM, signal_handler) - signal.signal(signal.SIGPIPE, signal.SIG_DFL) - - for player in manager.props.player_names: - if arguments.player is not None and arguments.player != player.name: - logger.debug( - "{player} is not the filtered player, skipping it".format( - player=player.name - ) - ) - continue - - init_player(manager, player) - - loop.run() - - -if __name__ == "__main__": - main() diff --git a/waybar/waybar/scripts/uptime.sh b/waybar/waybar/scripts/uptime.sh deleted file mode 100755 index 786561f..0000000 --- a/waybar/waybar/scripts/uptime.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash -UPTIME_PRETTY=$(uptime -p) - -UPTIME_FORMATTED=$(echo "$UPTIME_PRETTY" | sed 's/^up //;s/,*$//;s/minute/m/; s/hour/h/; s/day/d/; s/s//g') - -echo "ο’ $UPTIME_FORMATTED" diff --git a/waybar/waybar/style.css b/waybar/waybar/style.css deleted file mode 100644 index 15263e1..0000000 --- a/waybar/waybar/style.css +++ /dev/null @@ -1,129 +0,0 @@ -@import "colors.css"; - -* { - border: none; - font-family: "JetBrainsMono Nerd Font Propo, sans-serif"; - /* font-family: "SF Mono"; */ - font-size: 12px; - font-weight: bold; - min-height: 0; -} - -/* Keyframe animations */ -@keyframes urgent-blink { - 0% { - color: #eb4d4b; - } - - 50% { - color: #ffffff; - } - - 100% { - color: #eb4d4b; - } -} - -window#waybar { - background-color: alpha(@background, 0.7); - color: @foreground; -} - -/* Workspaces */ -#workspaces { - margin-right: 0.75rem; - min-width: 30px; -} - -#workspaces button { - margin: 0 5px 0 5px; -} - -#workspaces button.active { - color: @background; - background-color: @color1; -} - -#workspaces button.urgent { - color: #ffffff; - background-color: rgba(255, 0, 0, 0.5); -} - -/* Modules */ -#battery, -#clock { - margin: 0 0.45rem; -} - -#backlight, -#bluetooth, -#cpu, -#temperature, -#memory, -#mpris, -#pulseaudio { - margin: 0 0.45rem; -} - -#tray { - margin-left: 0.25rem; -} - -#bluetooth.connected { - color: @color1; -} - -#battery:not(.charging).warning { - color: #FFA500; -} - -#battery:not(.charging).critical { - color: #FF0000; -} - -#network.disconnected { - color: #FF0000; -} - -/* Groups */ -#audio, -#hardware, -#powerofmachine, -#network { - margin: 0 0.55rem; -} - -#expand-tray { - margin-right: 1em; -} - -#power-profiles-daemon.power-saver { - color: rgba(0, 250, 0, 1); -} - -#power-profiles-daemon.performance { - color: rgba(200, 0, 0, 1); -} - -/* Custom modules */ -#custom-screenrecording-indicator { - margin: 0 1em; - color: #ff0000; - animation-name: urgent-blink; - animation-duration: 1s; - animation-timing-function: steps(18); - animation-iteration-count: infinite; - animation-direction: alternate; -} - -#custom-uptime { - margin: 0 0.55rem; -} - -#custom-pomodoro { - margin: 0 0.55rem; -} - -#custom-brightness { - margin: 0 0.55rem; -} diff --git a/waybar/waybar/themes/blacklotus.css b/waybar/waybar/themes/blacklotus.css deleted file mode 100644 index 0add7da..0000000 --- a/waybar/waybar/themes/blacklotus.css +++ /dev/null @@ -1,8 +0,0 @@ -/* BlackLotus Colorscheme */ -@define-color background #0B0A0F; -@define-color foreground #D7D2E9; - -@define-color color1 #A277FF; -@define-color color3 #E363C9; -@define-color color2 #6E8CFF; -@define-color color4 #2EE2D0; diff --git a/waybar/waybar/themes/catppuccin-mocha.css b/waybar/waybar/themes/catppuccin-mocha.css deleted file mode 100644 index 19296d5..0000000 --- a/waybar/waybar/themes/catppuccin-mocha.css +++ /dev/null @@ -1,12 +0,0 @@ -/* -* Variant: Catppuccin Mocha -* Maintainer: https://github.com/catppuccin/waybar.git -*/ - -@define-color background #1e1e2e; -@define-color foreground #cdd6f4; - -@define-color color1 #fab387; -@define-color color2 #f5e0dc; -@define-color color3 #74c7ec; -@define-color color4 #f9e2af; diff --git a/waybar/waybar/themes/dracula.css b/waybar/waybar/themes/dracula.css deleted file mode 100644 index 42f7cce..0000000 --- a/waybar/waybar/themes/dracula.css +++ /dev/null @@ -1,8 +0,0 @@ -@define-color background #282a36; -@define-color selection #44475a; -@define-color foreground #f8f8f2; - -@define-color color1 #bd93f9; -@define-color color2 #ffb86c; -@define-color color3 #ff5555; -@define-color color4 #50fa7b; diff --git a/waybar/waybar/themes/gruvbox-dark.css b/waybar/waybar/themes/gruvbox-dark.css deleted file mode 100644 index 5dcf4c6..0000000 --- a/waybar/waybar/themes/gruvbox-dark.css +++ /dev/null @@ -1,12 +0,0 @@ -/* Gruvbox Dark Hard β only 8 colors youβll ever need */ -@define-color background #1d2021; /* darkest */ -@define-color background0 #282828; /* main background */ -@define-color background1 #3c3836; /* statusbars, selected lines */ -@define-color background2 #504945; /* subtle highlights */ -@define-color foreground #ebdbb2; /* main text */ -@define-color foreground0 #fbf1c7; /* brightest text (rarely used) */ -@define-color accent #fe8019; /* bright orange β main accent */ -@define-color color1 #cc241d; /* dark red */ -@define-color color2 #98971a; /* dark green */ -@define-color color3 #d79921; /* dark yellow */ -@define-color color4 #458588; /* dark blue */ diff --git a/waybar/waybar/themes/kanagawa.css b/waybar/waybar/themes/kanagawa.css deleted file mode 100644 index 2a5c343..0000000 --- a/waybar/waybar/themes/kanagawa.css +++ /dev/null @@ -1,7 +0,0 @@ -@define-color foreground #DCD7BA; -@define-color background #1F1F28; - -@define-color color1 #FF5D62; -@define-color color2 #7AA89F; -@define-color color3 #E6C384; -@define-color color4 #7E9CD8; diff --git a/waybar/waybar/themes/rose-pine.css b/waybar/waybar/themes/rose-pine.css deleted file mode 100644 index e323881..0000000 --- a/waybar/waybar/themes/rose-pine.css +++ /dev/null @@ -1,13 +0,0 @@ -/* -* Variant: RosΓ© Pine -* Maintainer: DankChoir -* Modified for few colors -*/ - -@define-color background #191724; -@define-color foreground #1f1d2e; - -@define-color color1 #eb6f92; -@define-color color2 #f6c177; -@define-color color3 #ebbcba; -@define-color color4 #31748f; diff --git a/waybar/waybar/themes/tokyonight.css b/waybar/waybar/themes/tokyonight.css deleted file mode 100644 index 2f2dcf5..0000000 --- a/waybar/waybar/themes/tokyonight.css +++ /dev/null @@ -1,6 +0,0 @@ -@define-color background #1a1b26; -@define-color foreground #c0caf5; - -@define-color color1 #7dcfff; -@define-color color2 #f7768e; -@define-color color3 #7aa2f7; |
