Created
November 16, 2023 15:26
-
-
Save ecodz/302a2b4b2cbdf482fe7b508ad3794e64 to your computer and use it in GitHub Desktop.
my very messy waybar
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"layer": "top", // Waybar at top layer | |
"position": "top", // Waybar position (top|bottom|left|right) | |
"height": 30, // Waybar height (to be removed for auto height) | |
// "width": 1280, // Waybar width | |
"spacing": 0, // Gaps between modules (4px) | |
// Choose the order of the modules | |
"modules-left": ["hyprland/workspaces", "custom/newworkspace", "custom/media", "custom/mediakde", "custom/mediakdevol"], | |
"modules-center": ["hyprland/window"], | |
"modules-right": ["pulseaudio", "custom/updates", "network", "cpu", "memory", "clock", "tray"], | |
// Modules configuration | |
// "sway/workspaces": { | |
// "disable-scroll": true, | |
// "all-outputs": true, | |
// "format": "{name}: {icon}", | |
// "format-icons": { | |
// "1": "", | |
// "2": "", | |
// "3": "", | |
// "4": "", | |
// "5": "", | |
// "urgent": "", | |
// "focused": "", | |
// "default": "" | |
// } | |
// }, | |
"hyprland/workspaces": { | |
"format": "{name}", | |
"on-scroll-up": "hyprctl dispatch workspace e+1", | |
"on-scroll-down": "hyprctl dispatch workspace e-1" | |
}, | |
"hyprland/window": { | |
"max-length": 100 | |
}, | |
"keyboard-state": { | |
"numlock": true, | |
"capslock": true, | |
"format": "{name} {icon}", | |
"format-icons": { | |
"locked": "", | |
"unlocked": "" | |
} | |
}, | |
/*"mpd": { | |
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", | |
"format-disconnected": "Disconnected ", | |
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", | |
"unknown-tag": "N/A", | |
"interval": 2, | |
"consume-icons": { | |
"on": " " | |
}, | |
"random-icons": { | |
"off": "<span color=\"#f53c3c\"></span> ", | |
"on": " " | |
}, | |
"repeat-icons": { | |
"on": " " | |
}, | |
"single-icons": { | |
"on": "1 " | |
}, | |
"state-icons": { | |
"paused": "", | |
"playing": "" | |
}, | |
"tooltip-format": "MPD (connected)", | |
"tooltip-format-disconnected": "MPD (disconnected)" | |
},*/ | |
"idle_inhibitor": { | |
"format": "{icon}", | |
"format-icons": { | |
"activated": "", | |
"deactivated": "" | |
} | |
}, | |
"tray": { | |
// "icon-size": 21, | |
"spacing": 10 | |
}, | |
"clock": { | |
// "timezone": "America/New_York", | |
"format": "{:%d. %b %H:%M}", | |
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", | |
"format-alt": "{:%d.%m.%Y}" | |
}, | |
"cpu": { | |
"format": " {usage}%", | |
"tooltip": false | |
}, | |
"memory": { | |
"format": " {}%" | |
}, | |
"backlight": { | |
// "device": "acpi_video1", | |
"format": "{percent}% {icon}", | |
"format-icons": ["", "", "", "", "", "", "", "", ""] | |
}, | |
"battery": { | |
"states": { | |
// "good": 95, | |
"warning": 30, | |
"critical": 15 | |
}, | |
"format": "{capacity}% {icon}", | |
"format-charging": "{capacity}% ", | |
"format-plugged": "{capacity}% ", | |
"format-alt": "{time} {icon}", | |
// "format-good": "", // An empty format will hide the module | |
// "format-full": "", | |
"format-icons": ["", "", "", "", ""] | |
}, | |
"battery#bat2": { | |
"bat": "BAT2" | |
}, | |
"network": { | |
// "interface": "wlp2*", // (Optional) To force the use of this interface | |
"format-wifi": " {essid} ({signalStrength}%)", | |
"format-ethernet": " Connected", | |
"tooltip-format": "{ifname} via {gwaddr}", | |
"format-linked": " {ifname} (No IP)", | |
"format-disconnected": "⚠ Disconnected ", | |
"format-alt": "{ifname}: {ipaddr}/{cidr}", | |
"on-click-right": "nm-connection-editor" | |
}, | |
"pulseaudio": { | |
"scroll-step": 1, // %, can be a float | |
"format": " {volume}%", | |
"format-bluetooth": "{volume}% ", | |
"format-bluetooth-muted": " ", | |
"format-muted": "", | |
"format-source": "{volume}% ", | |
"format-source-muted": "", | |
"format-icons": { | |
"headphone": "", | |
"hands-free": "", | |
"headset": "", | |
"phone": "", | |
"portable": "", | |
"car": "", | |
"default": ["", "", ""] | |
}, | |
"on-click": "pavucontrol" | |
}, | |
"custom/media": { | |
"format": "{icon} {}", | |
"return-type": "json", | |
"max-length": 40, | |
"format-icons": { | |
"spotify": "", | |
"kdeconnect": "", | |
"default": "" | |
}, | |
"escape": true, | |
"exec": "$HOME/.config/waybar/mediaplayer.py --excludedplayer=kdeconnect 2> /dev/null", // Script in resources folder | |
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name | |
"on-click": "playerctl play-pause", | |
"on-scroll-up": "playerctl next", | |
"on-scroll-down": "playerctl previous" | |
}, | |
"custom/mediakde": { | |
"format": "{icon} {}", | |
"return-type": "json", | |
"max-length": 40, | |
"format-icons": { | |
"spotify": "", | |
"kdeconnect": "", | |
"default": "🎜" | |
}, | |
"escape": true, | |
//"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null", // Script in resources folder | |
"exec": "$HOME/.config/waybar/mediaplayer.py --player kdeconnect 2> /dev/null", // Filter player based on name | |
"on-click": "$HOME/.config/waybar/kdepp.sh", | |
"on-scroll-up": "$HOME/.config/waybar/kdenext.sh", | |
"on-scroll-down": "$HOME/.config/waybar/kdeprev.sh" | |
}, | |
"custom/mediakdevol": { | |
"format": "{icon} {}", | |
"return-type": "json", | |
"max-length": 40, | |
"format-icons": { | |
"spotify": "", | |
"kdeconnect": "", | |
"default": "🎜" | |
}, | |
"escape": true, | |
//"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null", // Script in resources folder | |
"exec": "$HOME/.config/waybar/mediaplayervol.py --player kdeconnect 2> /dev/null", // Filter player based on name | |
"on-click": "$HOME/.config/waybar/kdepp.sh", | |
"on-scroll-up": "$HOME/.config/waybar/kdevolup.sh", | |
"on-scroll-down": "$HOME/.config/waybar/kdevoldown.sh" | |
}, | |
"custom/search": { | |
"format": "", | |
"on-click": "wofi --show=drun" | |
}, | |
"custom/updates": { | |
"format": " {}", | |
"exec": "checkupdates | wc -l", | |
"inverval": 3600 | |
}, | |
"custom/newworkspace": { | |
"format": "", | |
"on-click": "$HOME/.scripts/newworkspace.sh" | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PLAYER=$(playerctl -l | grep kdeconnect) | |
playerctl -p $PLAYER next |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PLAYER=$(playerctl -l | grep kdeconnect) | |
playerctl -p $PLAYER play-pause |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PLAYER=$(playerctl -l | grep kdeconnect) | |
playerctl -p $PLAYER previous |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
PLAYER=$(playerctl -l | grep kdeconnect) | |
playerctl -p $PLAYER volume 0.07- |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PLAYER=$(playerctl -l | grep kdeconnect) | |
playerctl -p $PLAYER volume 0.07+ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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, excluded_player=None): | |
if player is not None and (selected_player is None or player.name == selected_player) and (excluded_player is None or player.name != excluded_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') | |
parser.add_argument('--excludedplayer') | |
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, arguments.excludedplayer)) | |
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 | |
if arguments.excludedplayer is not None and arguments.excludedplayer == player.name: | |
logger.debug('{player} is the excluded player, skipping it' | |
.format(player=player.name) | |
) | |
continue | |
init_player(manager, player) | |
loop.run() | |
if __name__ == '__main__': | |
main() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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': str(player.props.volume*100) + "%", | |
'class': 'custom-' + player.props.player_name, | |
'alt': player.props.player_name, | |
'vol': player.props.volume} | |
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_volume(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) | |
player.connect('volume', on_volume, 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() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* | |
* Catppuccin Mocha palette | |
* Maintainer: rubyowo | |
* | |
*/ | |
@define-color base #1e1e2e; | |
@define-color mantle #181825; | |
@define-color crust #11111b; | |
@define-color text #cdd6f4; | |
@define-color subtext0 #a6adc8; | |
@define-color subtext1 #bac2de; | |
@define-color surface0 #313244; | |
@define-color surface1 #45475a; | |
@define-color surface2 #585b70; | |
@define-color overlay0 #6c7086; | |
@define-color overlay1 #7f849c; | |
@define-color overlay2 #9399b2; | |
@define-color blue #89b4fa; | |
@define-color lavender #b4befe; | |
@define-color sapphire #74c7ec; | |
@define-color sky #89dceb; | |
@define-color teal #94e2d5; | |
@define-color green #a6e3a1; | |
@define-color yellow #f9e2af; | |
@define-color peach #fab387; | |
@define-color maroon #eba0ac; | |
@define-color red #f38ba8; | |
@define-color mauve #cba6f7; | |
@define-color pink #f5c2e7; | |
@define-color flamingo #f2cdcd; | |
@define-color rosewater #f5e0dc; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@import "mocha.css"; | |
* { | |
/* `otf-font-awesome` is required to be installed for icons */ | |
font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; | |
font-size: 13px; | |
} | |
window#waybar { | |
color: @text; | |
background-color: @mantle; | |
transition-property: background-color; | |
transition-duration: .5s; | |
padding-bottom: 4px; | |
} | |
window#waybar.hidden { | |
opacity: 0.2; | |
} | |
/* | |
window#waybar.empty { | |
background-color: transparent; | |
} | |
window#waybar.solo { | |
background-color: #FFFFFF; | |
} | |
*/ | |
window#waybar.termite { | |
background-color: #3F3F3F; | |
} | |
window#waybar.chromium { | |
background-color: #000000; | |
border: none; | |
} | |
button { | |
/* Avoid rounded borders under each button name */ | |
border: none; | |
border-radius: 4px; | |
} | |
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ | |
button:hover { | |
background: inherit; | |
} | |
#workspaces button { | |
padding: 0 4px; | |
color: @text; | |
border-radius: 4px; | |
margin-left: 8px; | |
} | |
#workspaces button:first-child { | |
margin-left: 0; | |
} | |
#workspaces button:hover { | |
background: rgba(0, 0, 0, 0.3); | |
} | |
#workspaces button.focused { | |
background-color: #64727D; | |
} | |
#workspaces button.active { | |
background-color: @mauve; | |
color: @crust; | |
} | |
#workspaces button.urgent { | |
background-color: #eb4d4b; | |
} | |
#mode { | |
background-color: #64727D; | |
} | |
#clock, | |
#battery, | |
#cpu, | |
#memory, | |
#disk, | |
#temperature, | |
#backlight, | |
#network, | |
#pulseaudio, | |
#wireplumber, | |
#custom-media, | |
#custom-power, | |
#tray, | |
#mode, | |
#idle_inhibitor, | |
#scratchpad, | |
#mpd { | |
padding-left: 12px; | |
padding-right: 12px; | |
} | |
.modules-right, #custom-media, #custom-mediakde, #custom-mediakdevol { | |
background-color: @surface0; | |
color: @text; | |
margin: 8px; | |
border-radius: 4px; | |
padding: 4px; | |
margin-bottom: 8px; | |
/*border: 2px solid @mauve;*/ | |
} | |
#custom-media, #custom-mediakdevol, #custom-mediakde { | |
padding-left: 12px; | |
padding-right: 12px; | |
} | |
#custom-media { | |
margin-right: 0; | |
} | |
#custom-mediakde { | |
margin-left: 8px; | |
margin-right: 0; | |
border-right: none; | |
border-top-right-radius: 0; | |
border-bottom-right-radius: 0; | |
} | |
#custom-mediakdevol { | |
margin-left: 0; | |
border-left: none; | |
border-top-left-radius: 0; | |
border-bottom-left-radius: 0; | |
background-color: @surface1; | |
} | |
.modules-right { | |
padding-left: 4px; | |
} | |
.modules-right:first-child { | |
padding-left: 0px; | |
} | |
#window, | |
#workspaces, | |
#custom-search, | |
#custom-newworkspace { | |
background-color: @surface0; | |
margin: 8px; | |
margin-bottom: 8px; | |
margin-right: 0px; | |
border-radius: 4px; | |
padding: 8px; | |
padding-left: 12px; | |
padding-right: 12px; | |
/*border: 2px solid @mauve;*/ | |
} | |
#custom-search { | |
margin-left: 18px; | |
padding-left: 12px; | |
padding-right: 16px; | |
background-color: @mauve; | |
color: @crust; | |
} | |
#custom-newworkspace { | |
margin-left: 0px; | |
border-top-left-radius: 0; | |
border-bottom-left-radius: 0; | |
background-color: @surface1; | |
border-left: none; | |
} | |
#workspaces { | |
border-top-right-radius: 0; | |
border-bottom-right-radius: 0; | |
margin-right: 0; | |
border-right: none; | |
} | |
#custom-updates { | |
color: @green; | |
} | |
#clock { | |
color: @text; | |
} | |
#battery { | |
background-color: #ffffff; | |
color: #000000; | |
} | |
#battery.charging, #battery.plugged { | |
color: #ffffff; | |
background-color: @green; | |
} | |
@keyframes blink { | |
to { | |
background-color: #ffffff; | |
color: #000000; | |
} | |
} | |
#battery.critical:not(.charging) { | |
background-color: @red; | |
color: #ffffff; | |
animation-name: blink; | |
animation-duration: 0.5s; | |
animation-timing-function: linear; | |
animation-iteration-count: infinite; | |
animation-direction: alternate; | |
} | |
label:focus { | |
background-color: #000000; | |
} | |
#cpu { | |
color: @teal; | |
} | |
#memory { | |
color: @maroon; | |
} | |
#disk { | |
color: #964B00; | |
} | |
#backlight { | |
color: #90b1b1; | |
} | |
#network { | |
color: @blue; | |
} | |
#network.disconnected { | |
color: @red; | |
} | |
#pulseaudio { | |
color: @peach; | |
} | |
#pulseaudio.muted { | |
color: #90b1b1; | |
} | |
#wireplumber { | |
color: #fff0f5; | |
} | |
#wireplumber.muted { | |
color: #f53c3c; | |
} | |
#custom-media { | |
color: @lavender; | |
min-width: 100px; | |
} | |
#custom-media.custom-spotify { | |
color: #66cc99; | |
} | |
#custom-media.custom-vlc { | |
color: #ffa000; | |
} | |
#temperature { | |
color: #f0932b; | |
} | |
#temperature.critical { | |
color: #eb4d4b; | |
} | |
#tray { | |
color: #2980b9; | |
} | |
#tray > .passive { | |
-gtk-icon-effect: dim; | |
} | |
#tray > .needs-attention { | |
-gtk-icon-effect: highlight; | |
color: #eb4d4b; | |
} | |
#idle_inhibitor { | |
color: #2d3436; | |
} | |
#idle_inhibitor.activated { | |
color: #ecf0f1; | |
} | |
#mpd { | |
background-color: #66cc99; | |
color: #2a5c45; | |
} | |
#mpd.disconnected { | |
background-color: #f53c3c; | |
} | |
#mpd.stopped { | |
background-color: #90b1b1; | |
} | |
#mpd.paused { | |
background-color: #51a37a; | |
} | |
#language { | |
background: #00b093; | |
color: #740864; | |
padding: 0 5px; | |
margin: 0 5px; | |
min-width: 16px; | |
} | |
#keyboard-state { | |
background: #97e1ad; | |
color: #000000; | |
padding: 0 0px; | |
margin: 0 5px; | |
min-width: 16px; | |
} | |
#keyboard-state > label { | |
padding: 0 5px; | |
} | |
#keyboard-state > label.locked { | |
background: rgba(0, 0, 0, 0.2); | |
} | |
#scratchpad { | |
background: rgba(0, 0, 0, 0.2); | |
} | |
#scratchpad.empty { | |
background-color: transparent; | |
} | |
#window { | |
margin-left: 0; | |
margin-right: 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment