From 40f02bc8088ca93224bf65f083c4ab3b17eaf435 Mon Sep 17 00:00:00 2001 From: Jacob Janzen Date: Fri, 9 Aug 2024 20:48:10 -0500 Subject: move gentoo into subdirectory --- gentoo/.config/waybar/config.org | 110 ++++++++++++++++++++++++++++++++++ gentoo/.config/waybar/style.org | 124 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 234 insertions(+) create mode 100644 gentoo/.config/waybar/config.org create mode 100644 gentoo/.config/waybar/style.org (limited to 'gentoo/.config/waybar') diff --git a/gentoo/.config/waybar/config.org b/gentoo/.config/waybar/config.org new file mode 100644 index 0000000..2a4d14b --- /dev/null +++ b/gentoo/.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": "{:%Y %B}\n{calendar}" + }, +#+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/gentoo/.config/waybar/style.org b/gentoo/.config/waybar/style.org new file mode 100644 index 0000000..3f2ae62 --- /dev/null +++ b/gentoo/.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 -- cgit v1.2.3