diff options
author | Jacob Janzen <jjanzenn@proton.me> | 2024-08-08 17:07:35 -0500 |
---|---|---|
committer | Jacob Janzen <jjanzenn@proton.me> | 2024-08-08 17:07:35 -0500 |
commit | 57667f82145277920ddacf59bf57c0046129bd63 (patch) | |
tree | 61dbee1960ab39bd69a1da0010c9f78b4fe6659d /.config/waybar | |
parent | 545dfbb53f2bb6d7669ca7bfd1f4775a9150b530 (diff) |
move configs to hidden directories
Diffstat (limited to '.config/waybar')
-rw-r--r-- | .config/waybar/config.org | 110 | ||||
-rw-r--r-- | .config/waybar/style.org | 124 |
2 files changed, 234 insertions, 0 deletions
diff --git a/.config/waybar/config.org b/.config/waybar/config.org new file mode 100644 index 0000000..2a4d14b --- /dev/null +++ b/.config/waybar/config.org @@ -0,0 +1,110 @@ +#+title: Waybar Configuration +* Layout +Define the layout of the bar with workspaces and scratchpad on the left, the current window in the middle, and music player daemon, sound, network, CPU usage, memory usage, clock, and system tray on the right. +#+begin_src js :tangle ~/.config/waybar/config :mkdirp yes + { + "height": 30, + "spacing": 4, + "modules-left": ["sway/workspaces", "sway/scratchpad"], + "modules-center": ["sway/window"], + "modules-right": ["mpd", "pulseaudio", "network", "cpu", "memory", "clock", "tray"], +#+end_src + +* Components +Define scratchpad component. To show an icon and the count of items in it. +#+begin_src js :tangle ~/.config/waybar/config :mkdirp yes + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, +#+end_src + +Define music player daemon component to list the current song, album, artist, and position in the song with an icon representing the status. Clicking it opens a TUI interface to the daemon. +#+begin_src js :tangle ~/.config/waybar/config :mkdirp yes + "mpd": { + "format": "{stateIcon} {artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) [{songPosition}|{queueLength}] 🎵", + "format-disconnected": "Disconnected 🎵", + "format-stopped": "{consumeIcon}Stopped 🎵", + "unknown-tag": "N/A", + "interval": 2, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)", + "on-click": "foot -e ncmpcpp" + }, +#+end_src + +Define tray component. +#+begin_src js :tangle ~/.config/waybar/config :mkdirp yes + "tray": { + "icon-size": 21, + "spacing": 10, + "show-passive-items": true + }, +#+end_src + +Define clock component to show the current time and a calendar in a tooltip. +#+begin_src js :tangle ~/.config/waybar/config :mkdirp yes + "clock": { + "format": "{:%H:%M\t%Y-%m-%d}", + "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>" + }, +#+end_src + +Define CPU usage component to show usage in percent with an icon. +#+begin_src js :tangle ~/.config/waybar/config :mkdirp yes + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, +#+end_src + +Define memory usage component to show usage in percent with an icon. +#+begin_src js :tangle ~/.config/waybar/config :mkdirp yes + "memory": { + "format": "{}% " + }, +#+end_src + +Define network component to show a Wi-Fi icon if connected and a warning signal if not. +#+begin_src js :tangle ~/.config/waybar/config :mkdirp yes + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "", + "tooltip": false, + "format-ethernet": "", + "format-linked": "", + "format-disconnected": "⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, +#+end_src + +Define audio component to show the volume level and whether or not it is muted with an icon. Clicking it opens a GUI sound menu. +#+begin_src js :tangle ~/.config/waybar/config :mkdirp yes + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon}", + "format-bluetooth": "{volume}% {icon}", + "format-bluetooth-muted": " {icon}", + "format-muted": " ", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + } + } +#+end_src diff --git a/.config/waybar/style.org b/.config/waybar/style.org new file mode 100644 index 0000000..3f2ae62 --- /dev/null +++ b/.config/waybar/style.org @@ -0,0 +1,124 @@ +#+title: Waybar Styling +Set global font, colours, and transitions to have a transparent background. The text is white with a small shadow. +#+begin_src css :tangle ~/.config/waybar/style.css :mkdirp yes + window#waybar { + font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; + font-size: 13px; + background: transparent; + color: #ffffff; + text-shadow: 1px 1px #64727D; + transition-property: background-color; + transition-duration: .5s; + } +#+end_src + +Remove the border from buttons and make them square. +#+begin_src css :tangle ~/.config/waybar/style.css :mkdirp yes + button { + border: none; + border-radius: 0; + } +#+end_src + +Hovering over a button should inherit the background colour and add a white border to the bottom. +#+begin_src css :tangle ~/.config/waybar/style.css :mkdirp yes + button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; + } +#+end_src + +Workspace buttons should have white with a small shadow, a little bit of extra horizontal padding, and a transparent background. +#+begin_src css :tangle ~/.config/waybar/style.css :mkdirp yes + #workspaces button { + padding: 0 5px; + text-shadow: 1px 1px #64727D; + background-color: transparent; + color: #ffffff; + } +#+end_src + +Hovering over a workspace button should darken it. +#+begin_src css :tangle ~/.config/waybar/style.css :mkdirp yes + #workspaces button:hover { + background: rgba(0, 0, 0, 0.2); + } +#+end_src + +The focused workspace should have a white bottom border. +#+begin_src css :tangle ~/.config/waybar/style.css :mkdirp yes + #workspaces button.focused { + background: transparent; + box-shadow: inset 0 -3px #ffffff; + } +#+end_src + +Urgent workspaces should be red. +#+begin_src css :tangle ~/.config/waybar/style.css :mkdirp yes + #workspaces button.urgent { + background-color: #eb4d4b; + } +#+end_src + +Add extra horizontal padding where needed. +#+begin_src css :tangle ~/.config/waybar/style.css :mkdirp yes + #clock, + #cpu, + #memory, + #disk, + #network, + #pulseaudio, + #wireplumber, + #custom-media, + #tray, + #mode, + #scratchpad, + #mpd { + padding: 0 10px; + } +#+end_src + +Add extra horizontal margins where needed. +#+begin_src css :tangle ~/.config/waybar/style.css :mkdirp yes + #window, + #workspaces { + margin: 0 4px; + } +#+end_src + +Omit margins on the leftmost and rightmost workspaces. +#+begin_src css :tangle ~/.config/waybar/style.css :mkdirp yes + .modules-left > widget:first-child > #workspaces { + margin-left: 0; + } + + /* If workspaces is the rightmost module, omit right margin */ + .modules-right > widget:last-child > #workspaces { + margin-right: 0; + } +#+end_src + +Passive system tray icons are dimmed. +#+begin_src css :tangle ~/.config/waybar/style.css :mkdirp yes + #tray > .passive { + -gtk-icon-effect: dim; + } +#+end_src + +Tray icons that need attention are highlighted. +#+begin_src css :tangle ~/.config/waybar/style.css :mkdirp yes + #tray > .needs-attention { + -gtk-icon-effect: highlight; + } +#+end_src + +The scratchpad should be darkened and transparent when empty. +#+begin_src css :tangle ~/.config/waybar/style.css :mkdirp yes + #scratchpad { + background: rgba(0, 0, 0, 0.2); + } + + #scratchpad.empty { + background-color: transparent; + } +#+end_src |