mirror of
https://github.com/xHyroM/dotfiles.git
synced 2024-11-21 22:31:04 +01:00
sway: add waybar
This commit is contained in:
parent
eec5faba96
commit
1aeb0e55a5
4 changed files with 241 additions and 18 deletions
|
@ -33,22 +33,6 @@ input * {
|
|||
xkb_numlock enabled
|
||||
}
|
||||
|
||||
# bar
|
||||
bar {
|
||||
font pango:FiraCode Nerd Font Mono 12
|
||||
position top
|
||||
gaps 10px
|
||||
wrap_scroll yes
|
||||
|
||||
status_command while ~/.config/sway/status.sh; do sleep 1; done
|
||||
|
||||
colors {
|
||||
background #282828
|
||||
statusline #ffffff
|
||||
focused_workspace #181818 #181818 #ffffff
|
||||
inactive_workspace #282828 #282828 #ffffff
|
||||
urgent_workspace #fe4f58 #fe4f58 #181818
|
||||
}
|
||||
}
|
||||
# waybar, configuration in ~/.config/waybar
|
||||
|
||||
include /etc/sway/config.d/*
|
||||
|
|
70
.config/waybar/config.jsonc
Normal file
70
.config/waybar/config.jsonc
Normal file
|
@ -0,0 +1,70 @@
|
|||
// -*- mode: jsonc -*-
|
||||
{
|
||||
"height": 24,
|
||||
"spacing": 4,
|
||||
"modules-left": ["sway/workspaces"],
|
||||
"modules-center": ["sway/window"],
|
||||
"modules-right": [
|
||||
"mpris",
|
||||
"wireplumber",
|
||||
"backlight",
|
||||
"clock",
|
||||
"battery",
|
||||
"tray",
|
||||
],
|
||||
// Modules configuration
|
||||
"sway/workspaces": {
|
||||
"all-outputs": true,
|
||||
"warp-on-scroll": false,
|
||||
"enable-bar-scroll": true,
|
||||
"disable-scroll-wraparound": true,
|
||||
},
|
||||
"sway/window": {
|
||||
"format": "{title}",
|
||||
"max-length": 40,
|
||||
"all-outputs": true,
|
||||
},
|
||||
"mpris": {
|
||||
"format": " {status_icon} {dynamic}",
|
||||
"interval": 1,
|
||||
"dynamic-len": 40,
|
||||
"status-icons": {
|
||||
"playing": "▶",
|
||||
"paused": "⏸",
|
||||
"stopped": "",
|
||||
},
|
||||
"dynamic-order": ["title", "artist"],
|
||||
},
|
||||
"wireplumber": {
|
||||
"scroll-step": 5,
|
||||
"format": "{icon} {volume}%",
|
||||
"format-muted": "",
|
||||
"format-icons": ["", "", ""],
|
||||
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
|
||||
},
|
||||
"backlight": {
|
||||
"format": "{icon} {percent}%",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", ""],
|
||||
},
|
||||
"clock": {
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format-alt": "{:%Y-%m-%d}",
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15,
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-full": "{icon} {capacity}%",
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
"format-alt": "{icon} {time}",
|
||||
"format-icons": ["", "", "", "", ""],
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 14,
|
||||
"spacing": 10,
|
||||
},
|
||||
}
|
169
.config/waybar/style.css
Normal file
169
.config/waybar/style.css
Normal file
|
@ -0,0 +1,169 @@
|
|||
/* https://github.com/OriginCode/dotfiles/blob/0093b62068c36f1ca89deb1514b6b2e0c6c3b1a9/waybar/.config/waybar/style.css */
|
||||
|
||||
* {
|
||||
font-size: 14px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
/* `otf-font-awesome` is required to be installed for icons */
|
||||
font-family: FontAwesome, monospace;
|
||||
background-color: transparent;
|
||||
border-bottom: 0px;
|
||||
color: #ebdbb2;
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
window#waybar.empty #window {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.modules-right {
|
||||
margin: 10px 10px 0 0;
|
||||
}
|
||||
.modules-center {
|
||||
margin: 10px 0 0 0;
|
||||
}
|
||||
.modules-left {
|
||||
margin: 10px 0 0 10px;
|
||||
}
|
||||
|
||||
button {
|
||||
/* Use box-shadow instead of border so the text isn't offset */
|
||||
/* box-shadow: inset 0 -3px transparent; */
|
||||
border: none;
|
||||
}
|
||||
|
||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||
/*
|
||||
button:hover {
|
||||
background: inherit;
|
||||
box-shadow: inset 0 -3px #ebdbb2;
|
||||
} */
|
||||
|
||||
#workspaces {
|
||||
background-color: #282828;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 5px;
|
||||
background-color: transparent;
|
||||
color: #ebdbb2;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
#workspaces button:first-child {
|
||||
border-radius: 5px 0 0 5px;
|
||||
}
|
||||
|
||||
#workspaces button:last-child {
|
||||
border-radius: 0 5px 5px 0;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
color: #d79921;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
background-color: #665c54;
|
||||
/* box-shadow: inset 0 -3px #ffffff; */
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-color: #b16286;
|
||||
}
|
||||
|
||||
#idle_inhibitor,
|
||||
#cava,
|
||||
#scratchpad,
|
||||
#mode,
|
||||
#window,
|
||||
#clock,
|
||||
#battery,
|
||||
#backlight,
|
||||
#wireplumber,
|
||||
#tray,
|
||||
#mpris,
|
||||
#load {
|
||||
padding: 0 10px;
|
||||
background-color: #282828;
|
||||
color: #ebdbb2;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background-color: #689d6a;
|
||||
color: #282828;
|
||||
/* box-shadow: inset 0 -3px #ffffff; */
|
||||
}
|
||||
|
||||
/* If workspaces is the leftmost module, omit left margin */
|
||||
.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;
|
||||
}
|
||||
|
||||
#cava {
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
#battery.charging,
|
||||
#battery.plugged {
|
||||
background-color: #98971a;
|
||||
color: #282828;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #282828;
|
||||
color: #ebdbb2;
|
||||
}
|
||||
}
|
||||
|
||||
/* Using steps() instead of linear as a timing function to limit cpu usage */
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: #cc241d;
|
||||
color: #ebdbb2;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: steps(12);
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#wireplumber.muted {
|
||||
background-color: #458588;
|
||||
}
|
||||
|
||||
#tray > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
}
|
||||
|
||||
#mpris.playing {
|
||||
background-color: #d79921;
|
||||
color: #282828;
|
||||
}
|
||||
|
||||
#tray menu {
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
#scratchpad.empty {
|
||||
background: transparent;
|
||||
}
|
2
goog
2
goog
|
@ -8,7 +8,7 @@ from common.sync import sync
|
|||
from common.util import expand
|
||||
|
||||
stuff: list[str] = [
|
||||
*expand("~/.config/{fish,kitty,nvim,pipewire,sway,swaylock,xdg-desktop-portal,zed}/**"),
|
||||
*expand("~/.config/{fish,kitty,nvim,pipewire,sway,swaylock,waybar,xdg-desktop-portal,zed}/**"),
|
||||
"~/.icons/**",
|
||||
*expand("~/.local/bin/{yarn}"),
|
||||
"~/.profile",
|
||||
|
|
Loading…
Reference in a new issue