update
24
dotfiles/config/waybar/config.ctl
Normal file
@@ -0,0 +1,24 @@
|
||||
0|28|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock )|( hyprland/workspaces hyprland/window )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
|
||||
0|28|top|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock )|( hyprland/workspaces hyprland/window )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
|
||||
0|28|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( hyprland/window )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
|
||||
0|28|top|( cpu memory custom/cpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( hyprland/window )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
|
||||
0||bottom||( hyprland/workspaces hyprland/window )|( idle_inhibitor clock )|( cpu memory custom/cpuinfo custom/gpuinfo ) ( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
|
||||
0||top||( hyprland/workspaces hyprland/window )|( idle_inhibitor clock )|( cpu memory custom/cpuinfo custom/gpuinfo ) ( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
|
||||
0|31|bottom|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( tray battery ) ( backlight network bluetooth pulseaudio pulseaudio#microphone custom/keybindhint )
|
||||
0|31|left|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( tray battery ) ( backlight network bluetooth pulseaudio pulseaudio#microphone custom/keybindhint )
|
||||
1|31|top|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( tray battery ) ( backlight network bluetooth pulseaudio pulseaudio#microphone custom/keybindhint )
|
||||
0|31|right|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( tray battery ) ( backlight network bluetooth pulseaudio pulseaudio#microphone custom/keybindhint )
|
||||
0|32|bottom||( custom/power ) ( tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )|
|
||||
0|32|left||( custom/power ) ( tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )|
|
||||
0|32|top||( custom/power ) ( tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )|
|
||||
0|32|right||( custom/power ) ( tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )|
|
||||
0|31|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( wlr/taskbar )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
|
||||
0|31|top|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( wlr/taskbar )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
|
||||
0|29|bottom|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
|
||||
0|29|left|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
|
||||
0|29|top|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
|
||||
0|29|right|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
|
||||
0|28|bottom|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( tray ) ( backlight network bluetooth pulseaudio pulseaudio#microphone )
|
||||
0|28|left|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( tray ) ( backlight network bluetooth pulseaudio pulseaudio#microphone )
|
||||
0|28|top|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( tray ) ( backlight network bluetooth pulseaudio pulseaudio#microphone )
|
||||
0|28|right|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( tray ) ( backlight network bluetooth pulseaudio pulseaudio#microphone )
|
||||
@@ -1,261 +1,214 @@
|
||||
// --// waybar config generated by wbarconfgen.sh //-- //
|
||||
|
||||
{
|
||||
// sourced from header module //
|
||||
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"mod": "dock",
|
||||
"height": 31,
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"gtk-layer-shell": true,
|
||||
"height": 30,
|
||||
"modules-left": [
|
||||
"custom/launcher",
|
||||
"clock",
|
||||
//"wlr/workspaces",
|
||||
"hyprland/workspaces",
|
||||
"wlr/taskbar",
|
||||
"hyprland/window"
|
||||
//"custom/playerctl",
|
||||
//"custom/playerlabel"
|
||||
],
|
||||
//"modules-center": [
|
||||
//"hyprland/window",
|
||||
//"wlr/taskbar"
|
||||
|
||||
//],
|
||||
"modules-right": [
|
||||
"custom/weather",
|
||||
//"custom/weather_sway",
|
||||
//"network",
|
||||
//"idle_inhibitor",
|
||||
"cpu",
|
||||
"memory",
|
||||
//"disk",
|
||||
"temperature",
|
||||
"battery",
|
||||
//"custom/PBPbattery",
|
||||
"pulseaudio",
|
||||
//"pulseaudio_pamixer",
|
||||
//"pulseaudio_pamixer#microphone",
|
||||
//"custom/keyboard-layout",
|
||||
"backlight#icon",
|
||||
//"backlight#value",
|
||||
"custom/updates",
|
||||
//"clock",
|
||||
"tray",
|
||||
//"custom/power",
|
||||
//"custom/lock_screen",
|
||||
"custom/notification",
|
||||
"custom/light_dark"
|
||||
],
|
||||
"custom/launcher": {
|
||||
"format": " ",
|
||||
"on-click": "sh -c '(sleep 0.5s; pkill wofi || wofi -c ~/.config/wofi/config-lmenu)' & disown",
|
||||
"tooltip": false
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:%H:%M}",
|
||||
"tooltip-format": "{: %A, %e %B %Y}"
|
||||
},
|
||||
"wlr/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"all-outputs": true,
|
||||
"on-click": "activate",
|
||||
"on-scroll-up": "hyprctl dispatch workspace -1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace +1",
|
||||
"persistent_workspaces": {
|
||||
"1": [],
|
||||
"2": [],
|
||||
"3": [],
|
||||
"4": [],
|
||||
"5": [],
|
||||
"6": [],
|
||||
"7": [],
|
||||
"8": [],
|
||||
"9": [],
|
||||
"10": []
|
||||
}
|
||||
},
|
||||
"hyprland/workspaces": {
|
||||
"format": "{name}",
|
||||
"format-icons": {
|
||||
"active": "",
|
||||
"default": "",
|
||||
"persistent": ""
|
||||
},
|
||||
"on-scroll-up": "hyprctl dispatch workspace r-1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace r+1",
|
||||
"all-outputs": false,
|
||||
"persistent_workspaces": {
|
||||
"*": 1
|
||||
}
|
||||
},
|
||||
"custom/playerctl": {
|
||||
"format": "{icon}",
|
||||
"return-type": "json",
|
||||
"max-length": 64,
|
||||
"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
|
||||
"on-click-middle": "playerctl play-pause",
|
||||
"on-click": "playerctl play-pause",
|
||||
//"on-click": "playerctl previous",
|
||||
"on-click-right": "playerctl next",
|
||||
"format-icons": {
|
||||
"Playing": "<span foreground='#E5B9C6'> </span>",
|
||||
"Paused": "<span foreground='#928374'> </span>"
|
||||
}
|
||||
},
|
||||
|
||||
"custom/playerlabel": {
|
||||
"format": "<span>{}</span>",
|
||||
"return-type": "json",
|
||||
"max-length": 48,
|
||||
"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
|
||||
"on-click-middle": "playerctl play-pause",
|
||||
"on-click": "playerctl play-pause",
|
||||
//"on-click": "playerctl previous",
|
||||
"on-click-right": "playerctl next",
|
||||
"format-icons": {
|
||||
"Playing": "<span foreground='#E5B9C6'> </span>",
|
||||
"Paused": "<span foreground='#928374'> </span>"
|
||||
}
|
||||
},
|
||||
|
||||
// --------------------
|
||||
|
||||
"hyprland/window": {
|
||||
"format": "{}"
|
||||
},
|
||||
"wlr/taskbar": {
|
||||
"format": "{icon}",
|
||||
"icon-size": 24,
|
||||
"all-outputs": true,
|
||||
"tooltip-format": "{name} - {title}",
|
||||
"on-click": "activate",
|
||||
"on-click-middle": "close",
|
||||
"ignore-list": [
|
||||
"wofi"
|
||||
],
|
||||
"app_ids-mapping": {
|
||||
"steam_app_39210": "Final Fantasy 14"
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
// --------------------
|
||||
// positions generated based on config.ctl //
|
||||
|
||||
"modules-left": ["custom/padd","custom/l_end","custom/power","custom/cliphist","custom/wbar","custom/theme","custom/wallchange","custom/r_end","custom/l_end","wlr/taskbar","custom/spotify","custom/r_end","","custom/padd"],
|
||||
"modules-center": ["custom/padd","custom/l_end","idle_inhibitor","clock","custom/r_end","custom/padd"],
|
||||
"modules-right": ["custom/padd","custom/l_end","tray","battery","custom/r_end","custom/l_end","backlight","network","bluetooth","pulseaudio","pulseaudio#microphone","custom/keybindhint","custom/r_end","custom/padd"],
|
||||
|
||||
|
||||
"custom/weather": {
|
||||
//shows the current weather and forecast
|
||||
"tooltip" : true,
|
||||
"format" : "{}",
|
||||
"interval" : 30,
|
||||
"exec" : "~/.config/waybar/scripts/waybar-wttr.py",
|
||||
"return-type" : "json"
|
||||
// sourced from modules based on config.ctl //
|
||||
|
||||
"custom/power": {
|
||||
"format": "{}",
|
||||
"rotate": 0,
|
||||
"exec": "echo ; echo logout",
|
||||
"on-click": "/home/lostecho/.config/hyprdots/scripts/logoutlaunch.sh 2",
|
||||
"on-click-right": "/home/lostecho/.config/hyprdots/scripts/logoutlaunch.sh 1",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
// to use the weather module replace <your_location> with your city or town
|
||||
// note: do not use spaces: new york would be newyork
|
||||
"custom/weather_sway": {
|
||||
"exec": "~/.config/waybar/scripts/weather.sh <your_location>",
|
||||
|
||||
"custom/cliphist": {
|
||||
"format": "{}",
|
||||
"rotate": 0,
|
||||
"exec": "echo ; echo clipboard history",
|
||||
"on-click": "sleep 0.1 && /home/lostecho/.config/hyprdots/scripts/cliphist.sh c",
|
||||
"on-click-right": "sleep 0.1 && /home/lostecho/.config/hyprdots/scripts/cliphist.sh d",
|
||||
"on-click-middle": "sleep 0.1 && /home/lostecho/.config/hyprdots/scripts/cliphist.sh w",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"custom/wbar": {
|
||||
"format": "{}", // //
|
||||
"rotate": 0,
|
||||
"exec": "echo ; echo switch bar // dock",
|
||||
"on-click": "/home/lostecho/.config/hyprdots/scripts/wbarconfgen.sh n",
|
||||
"on-click-right": "/home/lostecho/.config/hyprdots/scripts/wbarconfgen.sh p",
|
||||
"on-click-middle": "sleep 0.1 && /home/lostecho/.config/hyprdots/scripts/quickapps.sh kitty firefox spotify code dolphin",
|
||||
"interval" : 86400,
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"custom/theme": {
|
||||
"format": "{}",
|
||||
"rotate": 0,
|
||||
"exec": "echo ; echo switch theme",
|
||||
"on-click": "/home/lostecho/.config/hyprdots/scripts/themeswitch.sh -n",
|
||||
"on-click-right": "/home/lostecho/.config/hyprdots/scripts/themeswitch.sh -p",
|
||||
"on-click-middle": "sleep 0.1 && /home/lostecho/.config/hyprdots/scripts/themeselect.sh",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"custom/wallchange": {
|
||||
"format": "{}",
|
||||
"rotate": 0,
|
||||
"exec": "echo ; echo switch wallpaper",
|
||||
"on-click": "/home/lostecho/.config/hyprdots/scripts/swwwallpaper.sh -n",
|
||||
"on-click-right": "/home/lostecho/.config/hyprdots/scripts/swwwallpaper.sh -p",
|
||||
"on-click-middle": "sleep 0.1 && /home/lostecho/.config/hyprdots/scripts/swwwallselect.sh",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"wlr/taskbar": {
|
||||
"format": "{icon}",
|
||||
"rotate": 0,
|
||||
"icon-size": 18,
|
||||
"icon-theme": "Tela-circle-dracula",
|
||||
"spacing": 0,
|
||||
"tooltip-format": "{title}",
|
||||
"on-click": "activate",
|
||||
"on-click-middle": "close",
|
||||
"ignore-list": [
|
||||
"Alacritty"
|
||||
],
|
||||
"app_ids-mapping": {
|
||||
"firefoxdeveloperedition": "firefox-developer-edition"
|
||||
}
|
||||
},
|
||||
|
||||
"custom/spotify": {
|
||||
"exec": "/usr/bin/env python3 /home/lostecho/.config/waybar/modules/mediaplayer.py --player spotify",
|
||||
"format": " {}",
|
||||
"rotate": 0,
|
||||
"return-type": "json",
|
||||
"interval": 600
|
||||
},
|
||||
"network": {
|
||||
"interval": 5,
|
||||
"format-wifi": " {essid} ({signalStrength}%)", // Icon: wifi
|
||||
"format-ethernet": " {ifname}: {ipaddr}/{cidr}", // Icon: ethernet
|
||||
"format-disconnected": "⚠ Disconnected",
|
||||
"tooltip-format": "{ifname}: {ipaddr}",
|
||||
"on-click": "xfce4-terminal -e 'nmtui'"
|
||||
},
|
||||
"network#vpn": {
|
||||
"interface": "tun0",
|
||||
"format": " {essid} ({signalStrength}%)",
|
||||
"format-disconnected": "⚠ Disconnected",
|
||||
"tooltip-format": "{ifname}: {ipaddr}/{cidr}"
|
||||
"on-click": "playerctl play-pause --player spotify",
|
||||
"on-click-right": "playerctl next --player spotify",
|
||||
"on-click-middle": "playerctl previous --player spotify",
|
||||
"on-scroll-up": "/home/lostecho/.config/hyprdots/scripts/volumecontrol.sh -p spotify i",
|
||||
"on-scroll-down": "/home/lostecho/.config/hyprdots/scripts/volumecontrol.sh -p spotify d",
|
||||
"max-length": 25,
|
||||
"escape": true,
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon} ",
|
||||
"format-icons":{
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
"format": "{icon}",
|
||||
"rotate": 0,
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
"cpu": {
|
||||
"interval": 10,
|
||||
"format": " {usage}%",
|
||||
"max-length": 10,
|
||||
"on-click": "kitty --start-as=fullscreen --title htop sh -c 'htop'"
|
||||
},
|
||||
"memory": {
|
||||
"interval": 30,
|
||||
"format": " {}%",
|
||||
"max-length": 10,
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Memory - {used:0.1f}GB used",
|
||||
"on-click": "kitty --start-as=fullscreen --title htop sh -c 'htop'"
|
||||
},
|
||||
"disk": {
|
||||
"interval": 30,
|
||||
"format": " {percentage_used}%",
|
||||
"path": "/",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "HDD - {used} used out of {total} on {path} ({percentage_used}%)",
|
||||
"on-click": "kitty --start-as=fullscreen --title htop sh -c 'htop'"
|
||||
},
|
||||
"temperature": {
|
||||
"thermal-zone": 1,
|
||||
"format": " {temperatureC}°C",
|
||||
"format-alt-click": "click-right",
|
||||
"format-alt": "",
|
||||
"critical-threshold": 70,
|
||||
"format-critical": " {temperatureC}°C",
|
||||
"on-click": "kitty --start-as=fullscreen --title htop sh -c 'htop'"
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
"good": 80,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
|
||||
"clock": {
|
||||
"format": "{:%I:%M %p}",
|
||||
"rotate": 0,
|
||||
"format-alt": "{:%R %d·%m·%y}",
|
||||
"tooltip-format": "<tt>{calendar}</tt>",
|
||||
"calendar": {
|
||||
"mode": "month",
|
||||
"mode-mon-col": 3,
|
||||
"on-scroll": 1,
|
||||
"on-click-right": "mode",
|
||||
"format": {
|
||||
"months": "<span color='#ffead3'><b>{}</b></span>",
|
||||
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
|
||||
"today": "<span color='#ff6699'><b>{}</b></span>"
|
||||
}
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-click-forward": "tz_up",
|
||||
"on-click-backward": "tz_down",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
}
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 18,
|
||||
"rotate": 0,
|
||||
"spacing": 5
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 20
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"rotate": 0,
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
// "format-good": "", // An empty format will hide the module
|
||||
// "format-full": "",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
"format-alt": "{time} {icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
|
||||
"custom/PBPbattery": {
|
||||
"exec": "~/.config/waybar/scripts/PBPbattery.sh",
|
||||
"format": "{}"
|
||||
"backlight": {
|
||||
"device": "intel_backlight",
|
||||
"rotate": 0,
|
||||
"format": "{icon} {percent}%",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", ""],
|
||||
"on-scroll-up": "brightnessctl set 1%+",
|
||||
"on-scroll-down": "brightnessctl set 1%-",
|
||||
"min-length": 6
|
||||
},
|
||||
|
||||
"network": {
|
||||
"tooltip": true,
|
||||
"format-wifi": " ",
|
||||
"rotate": 0,
|
||||
"format-ethernet": " ",
|
||||
"tooltip-format": "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>",
|
||||
"format-linked": " {ifname} (No IP)",
|
||||
"format-disconnected": " ",
|
||||
"tooltip-format-disconnected": "Disconnected",
|
||||
"format-alt": "<span foreground='#99ffdd'> {bandwidthDownBytes}</span> <span foreground='#ffcc66'> {bandwidthUpBytes}</span>",
|
||||
"interval": 2,
|
||||
},
|
||||
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"rotate": 0,
|
||||
"format-disabled": "",
|
||||
"format-connected": " {num_connections}",
|
||||
"format-connected-battery": "{icon} {num_connections}",
|
||||
// "format-connected-battery": "{icon} {device_alias}-{device_battery_percentage}%",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", "", "", ""],
|
||||
// "format-device-preference": [ "device1", "device2" ], // preference list deciding the displayed device If this config option is not defined or none of the devices in the list are connected, it will fall back to showing the last connected device.
|
||||
"tooltip-format": "{controller_alias}\n{num_connections} connected",
|
||||
"tooltip-format-connected": "{controller_alias}\n{num_connections} connected\n\n{device_enumerate}",
|
||||
"tooltip-format-enumerate-connected": "{device_alias}",
|
||||
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{icon} {device_battery_percentage}%"
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"scroll-step": 1, // %, can be a float
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": " {volume}%", //"{icon} {volume}%", //{format_source}",
|
||||
"format-bluetooth-muted": " {icon}", //{format_source}",
|
||||
"format-muted": "",
|
||||
"format-source": " {volume}%",
|
||||
"format-source-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "וֹ",
|
||||
"headset": " ",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [""]
|
||||
},
|
||||
"on-click": "pavucontrol",
|
||||
"on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +1%",
|
||||
"on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -1%"
|
||||
},
|
||||
"pulseaudio_pamixer": {
|
||||
"format": "{icon}",
|
||||
"format-muted": "",
|
||||
"on-click": "~/.config/waybar/scripts/volume --toggle",
|
||||
"on-click-right": "pavucontrol",
|
||||
"on-scroll-up": "~/.config/waybar/scripts/volume --inc",
|
||||
"on-scroll-down": "~/.config/waybar/scripts/volume --dec",
|
||||
"scroll-step": 1,
|
||||
"format": "{icon} {volume}",
|
||||
"rotate": 0,
|
||||
"format-muted": "婢",
|
||||
"on-click": "pavucontrol -t 3",
|
||||
"on-click-middle": "/home/lostecho/.config/hyprdots/scripts/volumecontrol.sh -o m",
|
||||
"on-scroll-up": "/home/lostecho/.config/hyprdots/scripts/volumecontrol.sh -o i",
|
||||
"on-scroll-down": "/home/lostecho/.config/hyprdots/scripts/volumecontrol.sh -o d",
|
||||
"tooltip-format": "{icon} {desc} // {volume}%",
|
||||
"scroll-step": 5,
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
@@ -264,82 +217,72 @@
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{icon} at {volume}%"
|
||||
},
|
||||
"pulseaudio_pamixer#microphone": {
|
||||
"format": "{format_source}",
|
||||
"format-source": "",
|
||||
"format-source-muted": "",
|
||||
"on-click": "~/.config/waybar/scripts/volume --toggle-mic",
|
||||
"on-click-right": "pavucontrol",
|
||||
"on-scroll-up": "~/.config/waybar/scripts/volume --mic-inc",
|
||||
"on-scroll-down": "~/.config/waybar/scripts/volume --mic-dec",
|
||||
"scroll-step": 1,
|
||||
"tooltip": true,
|
||||
"tooltip-format": " at {volume}%"
|
||||
},
|
||||
"custom/keyboard-layout": {
|
||||
"exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4",
|
||||
// Interval set only as a fallback, as the value is updated by signal
|
||||
"interval": 30,
|
||||
"format": " {}", // Icon: keyboard
|
||||
// Signal sent by Sway key binding (~/.config/sway/key-bindings)
|
||||
"signal": 1, // SIGHUP
|
||||
"tooltip": false,
|
||||
"on-click": "~/.config/waybar/scripts/keyhint.sh"
|
||||
},
|
||||
"backlight#icon": {
|
||||
"format": "{icon}",
|
||||
"format": "{icon} {percent}%",
|
||||
"format-icons": [""],
|
||||
"on-scroll-down": "brightnessctl -c backlight set 1%-",
|
||||
"on-scroll-up": "brightnessctl -c backlight set +1%"
|
||||
}
|
||||
},
|
||||
|
||||
"backlight#value" :{
|
||||
"format": "{percent}%",
|
||||
"on-scroll-down": "brightnessctl -c backlight set 1%-",
|
||||
"on-scroll-up": "brightnessctl -c backlight set +1%"
|
||||
"pulseaudio#microphone": {
|
||||
"format": "{format_source}",
|
||||
"rotate": 0,
|
||||
"format-source": "",
|
||||
"format-source-muted": "",
|
||||
"on-click": "pavucontrol -t 4",
|
||||
"on-click-middle": "/home/lostecho/.config/hyprdots/scripts/volumecontrol.sh -i m",
|
||||
"on-scroll-up": "/home/lostecho/.config/hyprdots/scripts/volumecontrol.sh -i i",
|
||||
"on-scroll-down": "/home/lostecho/.config/hyprdots/scripts/volumecontrol.sh -i d",
|
||||
"tooltip-format": "{format_source} {source_desc} // {source_volume}%",
|
||||
"scroll-step": 5
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 18,
|
||||
"spacing": 10
|
||||
|
||||
"custom/keybindhint": {
|
||||
"format": " ",
|
||||
"rotate": 0,
|
||||
"on-click": "/home/lostecho/.config/hyprdots/scripts/keybinds_hint.sh"
|
||||
},
|
||||
"custom/power": {
|
||||
"format":"⏻ ",
|
||||
"on-click": "exec ~/.config/waybar/scripts/power-menu.sh",
|
||||
|
||||
|
||||
// modules for padding //
|
||||
|
||||
"custom/l_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/lock_screen": {
|
||||
"format": "",
|
||||
"on-click": "sh -c '(sleep 0.5s; swaylock)' & disown",
|
||||
|
||||
"custom/r_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/light_dark": {
|
||||
"format": "",
|
||||
"on-click": "~/.config/waybar/scripts/baraction light",
|
||||
|
||||
"custom/sl_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/notification": {
|
||||
"tooltip": false,
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"notification": "<span foreground='red'><sup></sup></span>",
|
||||
"none": "",
|
||||
"dnd-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"dnd-none": "",
|
||||
"inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"inhibited-none": "",
|
||||
"dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"dnd-inhibited-none": ""
|
||||
|
||||
"custom/sr_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"return-type": "json",
|
||||
"exec-if": "which swaync-client",
|
||||
"exec": "swaync-client -swb",
|
||||
"on-click": "swaync-client -t -sw",
|
||||
"on-click-right": "swaync-client -d -sw",
|
||||
"escape": true
|
||||
}
|
||||
|
||||
"custom/rl_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/rr_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/padd": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 23 KiB |
@@ -1,25 +0,0 @@
|
||||
{
|
||||
"clock": {
|
||||
"format": "{:%H:%M}",
|
||||
"tooltip-format": "{: %A, %e %B %Y}"
|
||||
},
|
||||
|
||||
"custom/weather": {
|
||||
//shows the current weather and forecast
|
||||
"tooltip" : true,
|
||||
"format" : "{}",
|
||||
"interval" : 30,
|
||||
"exec" : "~/.config/HyprV/waybar/scripts/waybar-wttr-c.py",
|
||||
"return-type" : "json"
|
||||
},
|
||||
|
||||
"temperature": {
|
||||
"thermal-zone": 1,
|
||||
"format": "",
|
||||
"format-alt-click": "click-right",
|
||||
"format-alt": " {temperatureC}°C",
|
||||
"critical-threshold": 70,
|
||||
"format-critical": " {temperatureC}°C",
|
||||
"on-click": "kitty --start-as=fullscreen --title btop sh -c 'btop'"
|
||||
}
|
||||
}
|
||||
10
dotfiles/config/waybar/modules/backlight.jsonc
Normal file
@@ -0,0 +1,10 @@
|
||||
"backlight": {
|
||||
"device": "intel_backlight",
|
||||
"rotate": ${r_deg},
|
||||
"format": "{icon} {percent}%",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", ""],
|
||||
"on-scroll-up": "brightnessctl set 1%+",
|
||||
"on-scroll-down": "brightnessctl set 1%-",
|
||||
"min-length": 6
|
||||
},
|
||||
|
||||
14
dotfiles/config/waybar/modules/battery.jsonc
Normal file
@@ -0,0 +1,14 @@
|
||||
"battery": {
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 20
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"rotate": ${r_deg},
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
"format-alt": "{time} {icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
|
||||
15
dotfiles/config/waybar/modules/bluetooth.jsonc
Normal file
@@ -0,0 +1,15 @@
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"rotate": ${r_deg},
|
||||
"format-disabled": "",
|
||||
"format-connected": " {num_connections}",
|
||||
"format-connected-battery": "{icon} {num_connections}",
|
||||
// "format-connected-battery": "{icon} {device_alias}-{device_battery_percentage}%",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", "", "", ""],
|
||||
// "format-device-preference": [ "device1", "device2" ], // preference list deciding the displayed device If this config option is not defined or none of the devices in the list are connected, it will fall back to showing the last connected device.
|
||||
"tooltip-format": "{controller_alias}\n{num_connections} connected",
|
||||
"tooltip-format-connected": "{controller_alias}\n{num_connections} connected\n\n{device_enumerate}",
|
||||
"tooltip-format-enumerate-connected": "{device_alias}",
|
||||
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{icon} {device_battery_percentage}%"
|
||||
},
|
||||
|
||||
11
dotfiles/config/waybar/modules/cliphist.jsonc
Normal file
@@ -0,0 +1,11 @@
|
||||
"custom/cliphist": {
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"exec": "echo ; echo clipboard history",
|
||||
"on-click": "sleep 0.1 && ${ScrDir}/cliphist.sh c",
|
||||
"on-click-right": "sleep 0.1 && ${ScrDir}/cliphist.sh d",
|
||||
"on-click-middle": "sleep 0.1 && ${ScrDir}/cliphist.sh w",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
25
dotfiles/config/waybar/modules/clock.jsonc
Normal file
@@ -0,0 +1,25 @@
|
||||
"clock": {
|
||||
"format": "{:%I:%M %p}",
|
||||
"rotate": ${r_deg},
|
||||
"format-alt": "{:%R %d·%m·%y}",
|
||||
"tooltip-format": "<tt>{calendar}</tt>",
|
||||
"calendar": {
|
||||
"mode": "month",
|
||||
"mode-mon-col": 3,
|
||||
"on-scroll": 1,
|
||||
"on-click-right": "mode",
|
||||
"format": {
|
||||
"months": "<span color='#ffead3'><b>{}</b></span>",
|
||||
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
|
||||
"today": "<span color='#ff6699'><b>{}</b></span>"
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-click-forward": "tz_up",
|
||||
"on-click-backward": "tz_down",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
}
|
||||
},
|
||||
|
||||
8
dotfiles/config/waybar/modules/cpu.jsonc
Normal file
@@ -0,0 +1,8 @@
|
||||
"cpu": {
|
||||
"interval": 10,
|
||||
"format": " {usage}%",
|
||||
"rotate": ${r_deg},
|
||||
"format-alt": "{icon0}{icon1}{icon2}{icon3}",
|
||||
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"]
|
||||
},
|
||||
|
||||
10
dotfiles/config/waybar/modules/cpuinfo.jsonc
Normal file
@@ -0,0 +1,10 @@
|
||||
"custom/cpuinfo": {
|
||||
"exec": " ${ScrDir}/cpuinfo.sh",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"interval": 5, // once every 5 seconds
|
||||
"tooltip": true,
|
||||
"max-length": 1000
|
||||
},
|
||||
|
||||
47
dotfiles/config/waybar/modules/footer.jsonc
Normal file
@@ -0,0 +1,47 @@
|
||||
|
||||
// modules for padding //
|
||||
|
||||
"custom/l_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/r_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/sl_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/sr_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/rl_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/rr_end": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/padd": {
|
||||
"format": " ",
|
||||
"interval" : "once",
|
||||
"tooltip": false
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
41
dotfiles/config/waybar/modules/gpuinfo.jsonc
Normal file
@@ -0,0 +1,41 @@
|
||||
"custom/gpuinfo": {
|
||||
"exec": " ${ScrDir}/gpuinfo.sh",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"interval": 5, // once every 5 seconds
|
||||
"tooltip": true,
|
||||
"max-length": 1000,
|
||||
"on-click": "${ScrDir}/gpuinfo.sh --toggle",
|
||||
},
|
||||
|
||||
"custom/gpuinfo#nvidia": {
|
||||
"exec": " ${ScrDir}/gpuinfo.sh --use nvidia ",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"interval": 5, // once every 5 seconds
|
||||
"tooltip": true,
|
||||
"max-length": 1000,
|
||||
},
|
||||
|
||||
"custom/gpuinfo#amd": {
|
||||
"exec": " ${ScrDir}/gpuinfo.sh --use amd ",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"interval": 5, // once every 5 seconds
|
||||
"tooltip": true,
|
||||
"max-length": 1000,
|
||||
},
|
||||
|
||||
"custom/gpuinfo#intel": {
|
||||
"exec": " ${ScrDir}/gpuinfo.sh --use intel ",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"interval": 5, // once every 5 seconds
|
||||
"tooltip": true,
|
||||
"max-length": 1000,
|
||||
},
|
||||
|
||||
12
dotfiles/config/waybar/modules/header.jsonc
Normal file
@@ -0,0 +1,12 @@
|
||||
// --// waybar config generated by wbarconfgen.sh //-- //
|
||||
|
||||
{
|
||||
// sourced from header module //
|
||||
|
||||
"layer": "top",
|
||||
"position": "${w_position}",
|
||||
"mod": "dock",
|
||||
"${hv_pos}": ${w_height},
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"gtk-layer-shell": true,
|
||||
9
dotfiles/config/waybar/modules/idle_inhibitor.jsonc
Normal file
@@ -0,0 +1,9 @@
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"rotate": ${r_deg},
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
|
||||
6
dotfiles/config/waybar/modules/keybindhint.jsonc
Normal file
@@ -0,0 +1,6 @@
|
||||
"custom/keybindhint": {
|
||||
"format": " ",
|
||||
"rotate": ${r_deg},
|
||||
"on-click": "${ScrDir}/keybinds_hint.sh"
|
||||
},
|
||||
|
||||
6
dotfiles/config/waybar/modules/language.jsonc
Normal file
@@ -0,0 +1,6 @@
|
||||
"hyprland/language": {
|
||||
"format": "{short} {variant}",
|
||||
"rotate": ${r_deg},
|
||||
"on-click": "${ScrDir}/keyboardswitch.sh",
|
||||
},
|
||||
|
||||
183
dotfiles/config/waybar/modules/mediaplayer.py
Normal file
@@ -0,0 +1,183 @@
|
||||
#!/usr/bin/env python3
|
||||
import gi
|
||||
gi.require_version("Playerctl", "2.0")
|
||||
from gi.repository import Playerctl, GLib
|
||||
from gi.repository.Playerctl import Player
|
||||
import argparse
|
||||
import logging
|
||||
import sys
|
||||
import signal
|
||||
import gi
|
||||
import json
|
||||
import os
|
||||
from typing import List
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
def signal_handler(sig, frame):
|
||||
logger.info("Received signal to stop, exiting")
|
||||
sys.stdout.write("\n")
|
||||
sys.stdout.flush()
|
||||
# loop.quit()
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
class PlayerManager:
|
||||
def __init__(self, selected_player=None):
|
||||
self.manager = Playerctl.PlayerManager()
|
||||
self.loop = GLib.MainLoop()
|
||||
self.manager.connect(
|
||||
"name-appeared", lambda *args: self.on_player_appeared(*args))
|
||||
self.manager.connect(
|
||||
"player-vanished", lambda *args: self.on_player_vanished(*args))
|
||||
|
||||
signal.signal(signal.SIGINT, signal_handler)
|
||||
signal.signal(signal.SIGTERM, signal_handler)
|
||||
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
|
||||
self.selected_player = selected_player
|
||||
|
||||
self.init_players()
|
||||
|
||||
def init_players(self):
|
||||
for player in self.manager.props.player_names:
|
||||
if self.selected_player is not None and self.selected_player != player.name:
|
||||
logger.debug(f"{player.name} is not the filtered player, skipping it")
|
||||
continue
|
||||
self.init_player(player)
|
||||
|
||||
def run(self):
|
||||
logger.info("Starting main loop")
|
||||
self.loop.run()
|
||||
|
||||
def init_player(self, player):
|
||||
logger.info(f"Initialize new player: {player.name}")
|
||||
player = Playerctl.Player.new_from_name(player)
|
||||
player.connect("playback-status",
|
||||
self.on_playback_status_changed, None)
|
||||
player.connect("metadata", self.on_metadata_changed, None)
|
||||
self.manager.manage_player(player)
|
||||
self.on_metadata_changed(player, player.props.metadata)
|
||||
|
||||
def get_players(self) -> List[Player]:
|
||||
return self.manager.props.players
|
||||
|
||||
def write_output(self, text, player, tooltip):
|
||||
logger.debug(f"Writing output: {text}")
|
||||
|
||||
output = {"text": text,
|
||||
"class": "custom-" + player.props.player_name,
|
||||
"alt": player.props.player_name,
|
||||
"tooltip": tooltip}
|
||||
|
||||
sys.stdout.write(json.dumps(output) + "\n")
|
||||
sys.stdout.flush()
|
||||
|
||||
def clear_output(self):
|
||||
sys.stdout.write("\n")
|
||||
sys.stdout.flush()
|
||||
|
||||
def on_playback_status_changed(self, player, status, _=None):
|
||||
logger.debug(f"Playback status changed for player {player.props.player_name}: {status}")
|
||||
self.on_metadata_changed(player, player.props.metadata)
|
||||
|
||||
def get_first_playing_player(self):
|
||||
players = self.get_players()
|
||||
logger.debug(f"Getting first playing player from {len(players)} players")
|
||||
if len(players) > 0:
|
||||
# if any are playing, show the first one that is playing
|
||||
# reverse order, so that the most recently added ones are preferred
|
||||
for player in players[::-1]:
|
||||
if player.props.status == "Playing":
|
||||
return player
|
||||
# if none are playing, show the first one
|
||||
return players[0]
|
||||
else:
|
||||
logger.debug("No players found")
|
||||
return None
|
||||
|
||||
def show_most_important_player(self):
|
||||
logger.debug("Showing most important player")
|
||||
# show the currently playing player
|
||||
# or else show the first paused player
|
||||
# or else show nothing
|
||||
current_player = self.get_first_playing_player()
|
||||
if current_player is not None:
|
||||
self.on_metadata_changed(current_player, current_player.props.metadata)
|
||||
else:
|
||||
self.clear_output()
|
||||
|
||||
def on_metadata_changed(self, player, metadata, _=None):
|
||||
logger.debug(f"Metadata changed for player {player.props.player_name}")
|
||||
player_name = player.props.player_name
|
||||
artist = player.get_artist()
|
||||
title = player.get_title()
|
||||
|
||||
track_info = ""
|
||||
if player_name == "spotify" and "mpris:trackid" in metadata.keys() and ":ad:" in player.props.metadata["mpris:trackid"]:
|
||||
track_info = "Advertisement"
|
||||
elif artist is not None and title is not None:
|
||||
track_info = f"{artist} - {title}"
|
||||
else:
|
||||
track_info = title
|
||||
tooltip = track_info
|
||||
if track_info:
|
||||
if player.props.status == "Playing":
|
||||
track_info = " " + track_info
|
||||
else:
|
||||
track_info = " " + track_info
|
||||
# only print output if no other player is playing
|
||||
current_playing = self.get_first_playing_player()
|
||||
if current_playing is None or current_playing.props.player_name == player.props.player_name:
|
||||
self.write_output(track_info, player, tooltip)
|
||||
else:
|
||||
logger.debug(f"Other player {current_playing.props.player_name} is playing, skipping")
|
||||
|
||||
def on_player_appeared(self, _, player):
|
||||
logger.info(f"Player has appeared: {player.name}")
|
||||
if player is not None and (self.selected_player is None or player.name == self.selected_player):
|
||||
self.init_player(player)
|
||||
else:
|
||||
logger.debug(
|
||||
"New player appeared, but it's not the selected player, skipping")
|
||||
|
||||
def on_player_vanished(self, _, player):
|
||||
logger.info(f"Player {player.props.player_name} has vanished")
|
||||
self.show_most_important_player()
|
||||
|
||||
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("--enable-logging", action="store_true")
|
||||
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
def main():
|
||||
arguments = parse_arguments()
|
||||
|
||||
# Initialize logging
|
||||
if arguments.enable_logging:
|
||||
logfile = os.path.join(os.path.dirname(
|
||||
os.path.realpath(__file__)), "media-player.log")
|
||||
logging.basicConfig(filename=logfile, level=logging.DEBUG,
|
||||
format="%(asctime)s %(name)s %(levelname)s:%(lineno)d %(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))
|
||||
|
||||
logger.info("Creating player manager")
|
||||
if arguments.player:
|
||||
logger.info(f"Filtering for player: {arguments.player}")
|
||||
player = PlayerManager(arguments.player)
|
||||
player.run()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
18
dotfiles/config/waybar/modules/memory.jsonc
Normal file
@@ -0,0 +1,18 @@
|
||||
"memory": {
|
||||
"states": {
|
||||
"c": 90, // critical
|
||||
"h": 60, // high
|
||||
"m": 30, // medium
|
||||
},
|
||||
"interval": 30,
|
||||
"format": " {used}GB",
|
||||
"rotate": ${r_deg},
|
||||
"format-m": " {used}GB",
|
||||
"format-h": " {used}GB",
|
||||
"format-c": " {used}GB",
|
||||
"format-alt": " {percentage}%",
|
||||
"max-length": 10,
|
||||
"tooltip": true,
|
||||
"tooltip-format": " {percentage}%\n {used:0.1f}GB/{total:0.1f}GB"
|
||||
},
|
||||
|
||||
16
dotfiles/config/waybar/modules/mpris.jsonc
Normal file
@@ -0,0 +1,16 @@
|
||||
"mpris": {
|
||||
"format": "{player_icon} {dynamic}",
|
||||
"rotate": ${r_deg},
|
||||
"format-paused": "{status_icon} <i>{dynamic}</i>",
|
||||
"player-icons": {
|
||||
"default": "▶",
|
||||
"mpv": "🎵"
|
||||
},
|
||||
"status-icons": {
|
||||
"paused": "⏸"
|
||||
},
|
||||
// "ignored-players": ["firefox"]
|
||||
"max-length": 1000,
|
||||
"interval": 1
|
||||
},
|
||||
|
||||
13
dotfiles/config/waybar/modules/network.jsonc
Normal file
@@ -0,0 +1,13 @@
|
||||
"network": {
|
||||
"tooltip": true,
|
||||
"format-wifi": " ",
|
||||
"rotate": ${r_deg},
|
||||
"format-ethernet": " ",
|
||||
"tooltip-format": "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>",
|
||||
"format-linked": " {ifname} (No IP)",
|
||||
"format-disconnected": " ",
|
||||
"tooltip-format-disconnected": "Disconnected",
|
||||
"format-alt": "<span foreground='#99ffdd'> {bandwidthDownBytes}</span> <span foreground='#ffcc66'> {bandwidthUpBytes}</span>",
|
||||
"interval": 2,
|
||||
},
|
||||
|
||||
10
dotfiles/config/waybar/modules/power.jsonc
Normal file
@@ -0,0 +1,10 @@
|
||||
"custom/power": {
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"exec": "echo ; echo logout",
|
||||
"on-click": "${ScrDir}/logoutlaunch.sh 2",
|
||||
"on-click-right": "${ScrDir}/logoutlaunch.sh 1",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
34
dotfiles/config/waybar/modules/pulseaudio.jsonc
Normal file
@@ -0,0 +1,34 @@
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}",
|
||||
"rotate": ${r_deg},
|
||||
"format-muted": "婢",
|
||||
"on-click": "pavucontrol -t 3",
|
||||
"on-click-middle": "${ScrDir}/volumecontrol.sh -o m",
|
||||
"on-scroll-up": "${ScrDir}/volumecontrol.sh -o i",
|
||||
"on-scroll-down": "${ScrDir}/volumecontrol.sh -o d",
|
||||
"tooltip-format": "{icon} {desc} // {volume}%",
|
||||
"scroll-step": 5,
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
}
|
||||
},
|
||||
|
||||
"pulseaudio#microphone": {
|
||||
"format": "{format_source}",
|
||||
"rotate": ${r_deg},
|
||||
"format-source": "",
|
||||
"format-source-muted": "",
|
||||
"on-click": "pavucontrol -t 4",
|
||||
"on-click-middle": "${ScrDir}/volumecontrol.sh -i m",
|
||||
"on-scroll-up": "${ScrDir}/volumecontrol.sh -i i",
|
||||
"on-scroll-down": "${ScrDir}/volumecontrol.sh -i d",
|
||||
"tooltip-format": "{format_source} {source_desc} // {source_volume}%",
|
||||
"scroll-step": 5
|
||||
},
|
||||
|
||||
15
dotfiles/config/waybar/modules/spotify.jsonc
Normal file
@@ -0,0 +1,15 @@
|
||||
"custom/spotify": {
|
||||
"exec": "/usr/bin/env python3 $HOME/.config/waybar/modules/mediaplayer.py --player spotify",
|
||||
"format": " {}",
|
||||
"rotate": ${r_deg},
|
||||
"return-type": "json",
|
||||
"on-click": "playerctl play-pause --player spotify",
|
||||
"on-click-right": "playerctl next --player spotify",
|
||||
"on-click-middle": "playerctl previous --player spotify",
|
||||
"on-scroll-up": "${ScrDir}/volumecontrol.sh -p spotify i",
|
||||
"on-scroll-down": "${ScrDir}/volumecontrol.sh -p spotify d",
|
||||
"max-length": 25,
|
||||
"escape": true,
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
143
dotfiles/config/waybar/modules/style.css
Normal file
@@ -0,0 +1,143 @@
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
font-family: "JetBrainsMono Nerd Font";
|
||||
font-weight: bold;
|
||||
font-size: ${s_fontpx}px;
|
||||
min-height: 10px;
|
||||
}
|
||||
|
||||
@import "themes/theme.css";
|
||||
|
||||
window#waybar {
|
||||
background: @bar-bg;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: @main-bg;
|
||||
color: @main-fg;
|
||||
border-radius: ${t_radius}px;
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
padding: 0px;
|
||||
border-radius: ${w_radius}px;
|
||||
margin-${x1}: ${w_margin}px;
|
||||
margin-${x2}: ${w_margin}px;
|
||||
margin-${x3}: 0px;
|
||||
padding-${x3}: ${w_paddin}px;
|
||||
padding-${x4}: ${w_paddin}px;
|
||||
margin-${x4}: 0px;
|
||||
color: @main-fg;
|
||||
animation: ws_normal 20s ease-in-out 1;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background: @wb-act-bg;
|
||||
color: @wb-act-fg;
|
||||
margin-${x3}: ${w_margin}px;
|
||||
padding-${x3}: ${w_padact}px;
|
||||
padding-${x4}: ${w_padact}px;
|
||||
margin-${x4}: ${w_margin}px;
|
||||
animation: ws_active 20s ease-in-out 1;
|
||||
transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: @wb-hvr-bg;
|
||||
color: @wb-hvr-fg;
|
||||
animation: ws_hover 20s ease-in-out 1;
|
||||
transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#taskbar button {
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
padding: 0px;
|
||||
border-radius: ${w_radius}px;
|
||||
margin-${x1}: ${w_margin}px;
|
||||
margin-${x2}: ${w_margin}px;
|
||||
margin-${x3}: 0px;
|
||||
padding-${x3}: ${w_paddin}px;
|
||||
padding-${x4}: ${w_paddin}px;
|
||||
margin-${x4}: 0px;
|
||||
color: @wb-color;
|
||||
animation: tb_normal 20s ease-in-out 1;
|
||||
}
|
||||
|
||||
#taskbar button.active {
|
||||
background: @wb-act-bg;
|
||||
color: @wb-act-color;
|
||||
margin-${x3}: ${w_margin}px;
|
||||
padding-${x3}: ${w_padact}px;
|
||||
padding-${x4}: ${w_padact}px;
|
||||
margin-${x4}: ${w_margin}px;
|
||||
animation: tb_active 20s ease-in-out 1;
|
||||
transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#taskbar button:hover {
|
||||
background: @wb-hvr-bg;
|
||||
color: @wb-hvr-color;
|
||||
animation: tb_hover 20s ease-in-out 1;
|
||||
transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
${modules_ls}
|
||||
#custom-l_end,
|
||||
#custom-r_end,
|
||||
#custom-sl_end,
|
||||
#custom-sr_end,
|
||||
#custom-rl_end,
|
||||
#custom-rr_end {
|
||||
color: @main-fg;
|
||||
background: @main-bg;
|
||||
opacity: 1;
|
||||
margin: ${x1g_margin}px ${x2g_margin}px ${x3g_margin}px ${x4g_margin}px;
|
||||
padding-${x3}: ${g_paddin}px;
|
||||
padding-${x4}: ${g_paddin}px;
|
||||
}
|
||||
|
||||
#workspaces,
|
||||
#taskbar {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
#custom-r_end {
|
||||
border-radius: ${x1rb_radius}px ${x2rb_radius}px ${x3rb_radius}px ${x4rb_radius}px;
|
||||
margin-${x4}: ${e_margin}px;
|
||||
padding-${x4}: ${e_paddin}px;
|
||||
}
|
||||
|
||||
#custom-l_end {
|
||||
border-radius: ${x1lb_radius}px ${x2lb_radius}px ${x3lb_radius}px ${x4lb_radius}px;
|
||||
margin-${x3}: ${e_margin}px;
|
||||
padding-${x3}: ${e_paddin}px;
|
||||
}
|
||||
|
||||
#custom-sr_end {
|
||||
border-radius: 0px;
|
||||
margin-${x4}: ${e_margin}px;
|
||||
padding-${x4}: ${e_paddin}px;
|
||||
}
|
||||
|
||||
#custom-sl_end {
|
||||
border-radius: 0px;
|
||||
margin-${x3}: ${e_margin}px;
|
||||
padding-${x3}: ${e_paddin}px;
|
||||
}
|
||||
|
||||
#custom-rr_end {
|
||||
border-radius: ${x1rc_radius}px ${x2rc_radius}px ${x3rc_radius}px ${x4rc_radius}px;
|
||||
margin-${x4}: ${e_margin}px;
|
||||
padding-${x4}: ${e_paddin}px;
|
||||
}
|
||||
|
||||
#custom-rl_end {
|
||||
border-radius: ${x1lc_radius}px ${x2lc_radius}px ${x3lc_radius}px ${x4lc_radius}px;
|
||||
margin-${x3}: ${e_margin}px;
|
||||
padding-${x3}: ${e_paddin}px;
|
||||
}
|
||||
17
dotfiles/config/waybar/modules/taskbar.jsonc
Normal file
@@ -0,0 +1,17 @@
|
||||
"wlr/taskbar": {
|
||||
"format": "{icon}",
|
||||
"rotate": ${r_deg},
|
||||
"icon-size": ${i_task},
|
||||
"icon-theme": "${i_theme}",
|
||||
"spacing": 0,
|
||||
"tooltip-format": "{title}",
|
||||
"on-click": "activate",
|
||||
"on-click-middle": "close",
|
||||
"ignore-list": [
|
||||
"Alacritty"
|
||||
],
|
||||
"app_ids-mapping": {
|
||||
"firefoxdeveloperedition": "firefox-developer-edition"
|
||||
}
|
||||
},
|
||||
|
||||
11
dotfiles/config/waybar/modules/theme.jsonc
Normal file
@@ -0,0 +1,11 @@
|
||||
"custom/theme": {
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"exec": "echo ; echo switch theme",
|
||||
"on-click": "${ScrDir}/themeswitch.sh -n",
|
||||
"on-click-right": "${ScrDir}/themeswitch.sh -p",
|
||||
"on-click-middle": "sleep 0.1 && ${ScrDir}/themeselect.sh",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
6
dotfiles/config/waybar/modules/tray.jsonc
Normal file
@@ -0,0 +1,6 @@
|
||||
"tray": {
|
||||
"icon-size": ${i_size},
|
||||
"rotate": ${r_deg},
|
||||
"spacing": 5
|
||||
},
|
||||
|
||||
10
dotfiles/config/waybar/modules/updates.jsonc
Normal file
@@ -0,0 +1,10 @@
|
||||
"custom/updates": {
|
||||
"exec": "${ScrDir}/systemupdate.sh",
|
||||
"return-type": "json",
|
||||
"format": " {}",
|
||||
"rotate": ${r_deg},
|
||||
"on-click": "${ScrDir}/systemupdate.sh up",
|
||||
"interval": 86400, // once every day
|
||||
"tooltip": true,
|
||||
},
|
||||
|
||||
11
dotfiles/config/waybar/modules/wallchange.jsonc
Normal file
@@ -0,0 +1,11 @@
|
||||
"custom/wallchange": {
|
||||
"format": "{}",
|
||||
"rotate": ${r_deg},
|
||||
"exec": "echo ; echo switch wallpaper",
|
||||
"on-click": "${ScrDir}/swwwallpaper.sh -n",
|
||||
"on-click-right": "${ScrDir}/swwwallpaper.sh -p",
|
||||
"on-click-middle": "sleep 0.1 && ${ScrDir}/swwwallselect.sh",
|
||||
"interval" : 86400, // once every day
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
11
dotfiles/config/waybar/modules/wbar.jsonc
Normal file
@@ -0,0 +1,11 @@
|
||||
"custom/wbar": {
|
||||
"format": "{}", // //
|
||||
"rotate": ${r_deg},
|
||||
"exec": "echo ; echo switch bar // dock",
|
||||
"on-click": "${ScrDir}/wbarconfgen.sh n",
|
||||
"on-click-right": "${ScrDir}/wbarconfgen.sh p",
|
||||
"on-click-middle": "sleep 0.1 && ${ScrDir}/quickapps.sh kitty firefox spotify code dolphin",
|
||||
"interval" : 86400,
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
17
dotfiles/config/waybar/modules/window.jsonc
Normal file
@@ -0,0 +1,17 @@
|
||||
"hyprland/window": {
|
||||
"format": " {}",
|
||||
"rotate": ${r_deg},
|
||||
"separate-outputs": true,
|
||||
"rewrite": {
|
||||
"${USER}@${set_sysname}:(.*)": "$1 ",
|
||||
"(.*) — Mozilla Firefox": "$1 ",
|
||||
"(.*)Mozilla Firefox": "Firefox ",
|
||||
"(.*) - Visual Studio Code": "$1 ",
|
||||
"(.*)Visual Studio Code": "Code ",
|
||||
"(.*) — Dolphin": "$1 ",
|
||||
"(.*)Spotify": "Spotify ",
|
||||
"(.*)Steam": "Steam "
|
||||
},
|
||||
"max-length": 1000
|
||||
},
|
||||
|
||||
10
dotfiles/config/waybar/modules/workspaces.jsonc
Normal file
@@ -0,0 +1,10 @@
|
||||
"hyprland/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"rotate": ${r_deg},
|
||||
"all-outputs": true,
|
||||
"active-only": false,
|
||||
"on-click": "activate",
|
||||
"persistent-workspaces": {
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
|
||||
#!/bin/bash
|
||||
#simple Shellscript for waybar/i3blocks/polybar on Pinebook pro
|
||||
#05012020 geri123@gmx.net Gerhard S.
|
||||
|
||||
PERCENT=$(cat /sys/class/power_supply/cw2015-battery/capacity)
|
||||
STATUS=$(cat /sys/class/power_supply/cw2015-battery/status)
|
||||
case $((
|
||||
$PERCENT >= 0 && $PERCENT <= 20 ? 1 :
|
||||
$PERCENT > 20 && $PERCENT <= 40 ? 2 :
|
||||
$PERCENT > 40 && $PERCENT <= 60 ? 3 :
|
||||
$PERCENT > 60 && $PERCENT <= 80 ? 4 : 5)) in
|
||||
#
|
||||
(1) echo $STATUS:"":$PERCENT%;;
|
||||
(2) echo $STATUS:"":$PERCENT%;;
|
||||
(3) echo $STATUS:"":$PERCENT%;;
|
||||
(4) echo $STATUS:"":$PERCENT%;;
|
||||
(5) echo $STATUS:"":$PERCENT%;;
|
||||
esac
|
||||
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Check which waybar theme is set
|
||||
THEMEIS=$(readlink -f ~/.config/waybar/style.css | cut -d '-' -f2)
|
||||
|
||||
#if the theme is not dark then we need to switch to it
|
||||
if [ $THEMEIS != "dark.css" ]; then
|
||||
SWITCHTO="-dark"
|
||||
fi
|
||||
|
||||
#set the waybar theme
|
||||
ln -sf ~/.config/waybar/style/style$SWITCHTO.css ~/.config/waybar/style.css
|
||||
|
||||
#set the wofi theme
|
||||
ln -sf ~/.config/wofi/style/style$SWITCHTO.css ~/.config/wofi/style.css
|
||||
|
||||
#set the xfce and GTK theme
|
||||
# if [ $VER == "v4" ]; then
|
||||
# xfconf-query -c xsettings -p /Net/IconThemeName -s "Papirus-Dark"
|
||||
# gsettings set org.gnome.desktop.interface icon-theme "Papirus-Dark"
|
||||
# else
|
||||
# xfconf-query -c xsettings -p /Net/IconThemeName -s "Adwaita$SWITCHTO"
|
||||
# gsettings set org.gnome.desktop.interface icon-theme "Adwaita$SWITCHTO"
|
||||
# fi
|
||||
|
||||
#change the background image and be cool about it ;)
|
||||
swww img ~/.config/hypr/wallpaper$SWITCHTO.jpg --transition-fps 60 --transition-type wipe --transition-duration 2
|
||||
|
||||
#reset mako
|
||||
sleep 1
|
||||
killall -SIGUSR2 dunst
|
||||
dunst &
|
||||
|
||||
#restart the waybar
|
||||
#killall -SIGUSR2 waybar <-- start causing web brwsers to close so switched to below...
|
||||
pkill waybar
|
||||
waybar &
|
||||
|
||||
# bottom waybar
|
||||
#waybar --config ~/.config/waybar/config-bottom.jsonc
|
||||
@@ -1,52 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
iDIR="$HOME/.config/waybar/icons"
|
||||
|
||||
# Get brightness
|
||||
get_backlight() {
|
||||
LIGHT=$(printf "%.0f\n" $(brightnessctl i))
|
||||
echo "${LIGHT}%"
|
||||
}
|
||||
|
||||
# Get icons
|
||||
get_icon() {
|
||||
backlight="$(brightnessctl g)"
|
||||
current="${backlight%%%}"
|
||||
if [[ ("$current" -ge "0") && ("$current" -le "52") ]]; then
|
||||
icon="$iDIR/brightness-20.png"
|
||||
elif [[ ("$current" -ge "52") && ("$current" -le "103") ]]; then
|
||||
icon="$iDIR/brightness-40.png"
|
||||
elif [[ ("$current" -ge "103") && ("$current" -le "155") ]]; then
|
||||
icon="$iDIR/brightness-60.png"
|
||||
elif [[ ("$current" -ge "155") && ("$current" -le "207") ]]; then
|
||||
icon="$iDIR/brightness-80.png"
|
||||
elif [[ ("$current" -ge "180") && ("$current" -le "255") ]]; then
|
||||
icon="$iDIR/brightness-100.png"
|
||||
fi
|
||||
}
|
||||
|
||||
# Notify
|
||||
notify_user() {
|
||||
notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$icon" "Brightness : $(brightnessctl g)"
|
||||
}
|
||||
|
||||
# Increase brightness
|
||||
inc_backlight() {
|
||||
brightnessctl set 10%+ && get_icon && notify_user
|
||||
}
|
||||
|
||||
# Decrease brightness
|
||||
dec_backlight() {
|
||||
brightnessctl set 10%- && get_icon && notify_user
|
||||
}
|
||||
|
||||
# Execute accordingly
|
||||
if [[ "$1" == "--get" ]]; then
|
||||
brightnessctl g
|
||||
elif [[ "$1" == "--inc" ]]; then
|
||||
inc_backlight
|
||||
elif [[ "$1" == "--dec" ]]; then
|
||||
dec_backlight
|
||||
else
|
||||
get_backlight
|
||||
fi
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
yad --title="EndeavourOS Sway-WM keybindings:" --no-buttons --geometry=400x345-15-400 --list --column=key: --column=description: --column=command: "ESC" "close this app" "" "=" "modkey" "(set mod Mod4)" "+enter" "Terminal" "(xfce4-terminal)" "+d" "Application Menu" "(wofi)" "+p" "Activities" "(wofi)" "+o" "" "Open Broswer" "+n" "" "Open Files" "+q" "close focused app" "(kill)" "[Shift]+Print-key" "screenshot" "(grim)" "+Shift+e" "power-menu" "(wofi)" "+t" "open keybinding helper" "full list"
|
||||
@@ -1,16 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
entries="Logout Suspend Reboot Shutdown"
|
||||
|
||||
selected=$(printf '%s\n' $entries | wofi --conf=$HOME/.config/wofi/config.power --style=$HOME/.config/wofi/style.widgets.css | awk '{print tolower($1)}')
|
||||
|
||||
case $selected in
|
||||
logout)
|
||||
swaymsg exit;;
|
||||
suspend)
|
||||
exec systemctl suspend;;
|
||||
reboot)
|
||||
exec systemctl reboot;;
|
||||
shutdown)
|
||||
exec systemctl poweroff -i;;
|
||||
esac
|
||||
@@ -1,41 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Original script by @speltriao on GitHub
|
||||
# https://github.com/speltriao/Pacman-Update-for-GNOME-Shell
|
||||
|
||||
# If the operating system is not Arch Linux, exit the script successfully
|
||||
if [ ! -f /etc/arch-release ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Calculate updates for each service
|
||||
AUR=$(yay -Qua | wc -l)
|
||||
OFFICIAL=$(pacman -Qu | wc -l)
|
||||
|
||||
# Case/switch for each service updates
|
||||
case $1 in
|
||||
aur) echo " $AUR";;
|
||||
official) echo " $OFFICIAL";;
|
||||
esac
|
||||
|
||||
# If the parameter is "update", update all services
|
||||
if [ "$1" = "update" ]; then
|
||||
kitty --title update-sys sh -c 'yay -Syu'
|
||||
fi
|
||||
|
||||
# If there aren't any parameters, return the total number of updates
|
||||
if [ "$1" = "" ]; then
|
||||
# Calculate total number of updates
|
||||
COUNT=$((OFFICIAL+AUR))
|
||||
# If there are updates, the script will output the following: Updates
|
||||
# If there are no updates, the script will output nothing.
|
||||
|
||||
if [[ "$COUNT" = "0" ]]
|
||||
then
|
||||
echo ""
|
||||
else
|
||||
# This Update symbol is RTL. So ‭ is left-to-right override.
|
||||
echo " $COUNT"
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
@@ -1,106 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
iDIR="$HOME/.config/waybar/icons"
|
||||
|
||||
# Get Volume
|
||||
get_volume() {
|
||||
volume=$(pamixer --get-volume)
|
||||
echo "$volume"
|
||||
}
|
||||
|
||||
# Get icons
|
||||
get_icon() {
|
||||
current=$(get_volume)
|
||||
if [[ "$current" -eq "0" ]]; then
|
||||
echo "$iDIR/volume-mute.png"
|
||||
elif [[ ("$current" -ge "0") && ("$current" -le "30") ]]; then
|
||||
echo "$iDIR/volume-low.png"
|
||||
elif [[ ("$current" -ge "30") && ("$current" -le "60") ]]; then
|
||||
echo "$iDIR/volume-mid.png"
|
||||
elif [[ ("$current" -ge "60") && ("$current" -le "100") ]]; then
|
||||
echo "$iDIR/volume-high.png"
|
||||
fi
|
||||
}
|
||||
|
||||
# Notify
|
||||
notify_user() {
|
||||
notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$(get_icon)" "Volume : $(get_volume) %"
|
||||
}
|
||||
|
||||
# Increase Volume
|
||||
inc_volume() {
|
||||
pamixer -i 5 && notify_user
|
||||
}
|
||||
|
||||
# Decrease Volume
|
||||
dec_volume() {
|
||||
pamixer -d 5 && notify_user
|
||||
}
|
||||
|
||||
# Toggle Mute
|
||||
toggle_mute() {
|
||||
if [ "$(pamixer --get-mute)" == "false" ]; then
|
||||
pamixer -m && notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$iDIR/volume-mute.png" "Volume Switched OFF"
|
||||
elif [ "$(pamixer --get-mute)" == "true" ]; then
|
||||
pamixer -u && notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$(get_icon)" "Volume Switched ON"
|
||||
fi
|
||||
}
|
||||
|
||||
# Toggle Mic
|
||||
toggle_mic() {
|
||||
if [ "$(pamixer --default-source --get-mute)" == "false" ]; then
|
||||
pamixer --default-source -m && notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$iDIR/microphone-mute.png" "Microphone Switched OFF"
|
||||
elif [ "$(pamixer --default-source --get-mute)" == "true" ]; then
|
||||
pamixer -u --default-source u && notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$iDIR/microphone.png" "Microphone Switched ON"
|
||||
fi
|
||||
}
|
||||
# Get icons
|
||||
get_mic_icon() {
|
||||
current=$(pamixer --default-source --get-volume)
|
||||
if [[ "$current" -eq "0" ]]; then
|
||||
echo "$iDIR/microphone.png"
|
||||
elif [[ ("$current" -ge "0") && ("$current" -le "30") ]]; then
|
||||
echo "$iDIR/microphone.png"
|
||||
elif [[ ("$current" -ge "30") && ("$current" -le "60") ]]; then
|
||||
echo "$iDIR/microphone.png"
|
||||
elif [[ ("$current" -ge "60") && ("$current" -le "100") ]]; then
|
||||
echo "$iDIR/microphone.png"
|
||||
fi
|
||||
}
|
||||
# Notify
|
||||
notify_mic_user() {
|
||||
notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$(get_mic_icon)" "Mic-Level : $(pamixer --default-source --get-volume) %"
|
||||
}
|
||||
|
||||
# Increase MIC Volume
|
||||
inc_mic_volume() {
|
||||
pamixer --default-source -i 5 && notify_mic_user
|
||||
}
|
||||
|
||||
# Decrease MIC Volume
|
||||
dec_mic_volume() {
|
||||
pamixer --default-source -d 5 && notify_mic_user
|
||||
}
|
||||
|
||||
# Execute accordingly
|
||||
if [[ "$1" == "--get" ]]; then
|
||||
get_volume
|
||||
elif [[ "$1" == "--inc" ]]; then
|
||||
inc_volume
|
||||
elif [[ "$1" == "--dec" ]]; then
|
||||
dec_volume
|
||||
elif [[ "$1" == "--toggle" ]]; then
|
||||
toggle_mute
|
||||
elif [[ "$1" == "--toggle-mic" ]]; then
|
||||
toggle_mic
|
||||
elif [[ "$1" == "--get-icon" ]]; then
|
||||
get_icon
|
||||
elif [[ "$1" == "--get-mic-icon" ]]; then
|
||||
get_mic_icon
|
||||
elif [[ "$1" == "--mic-inc" ]]; then
|
||||
inc_mic_volume
|
||||
elif [[ "$1" == "--mic-dec" ]]; then
|
||||
dec_mic_volume
|
||||
else
|
||||
get_volume
|
||||
fi
|
||||
@@ -1,119 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import json
|
||||
import requests
|
||||
from datetime import datetime
|
||||
|
||||
WEATHER_CODES = {
|
||||
'113': '☀️ ',
|
||||
'116': '⛅ ',
|
||||
'119': '☁️ ',
|
||||
'122': '☁️ ',
|
||||
'143': '☁️ ',
|
||||
'176': '🌧️',
|
||||
'179': '🌧️',
|
||||
'182': '🌧️',
|
||||
'185': '🌧️',
|
||||
'200': '⛈️ ',
|
||||
'227': '🌨️',
|
||||
'230': '🌨️',
|
||||
'248': '☁️ ',
|
||||
'260': '☁️ ',
|
||||
'263': '🌧️',
|
||||
'266': '🌧️',
|
||||
'281': '🌧️',
|
||||
'284': '🌧️',
|
||||
'293': '🌧️',
|
||||
'296': '🌧️',
|
||||
'299': '🌧️',
|
||||
'302': '🌧️',
|
||||
'305': '🌧️',
|
||||
'308': '🌧️',
|
||||
'311': '🌧️',
|
||||
'314': '🌧️',
|
||||
'317': '🌧️',
|
||||
'320': '🌨️',
|
||||
'323': '🌨️',
|
||||
'326': '🌨️',
|
||||
'329': '❄️ ',
|
||||
'332': '❄️ ',
|
||||
'335': '❄️ ',
|
||||
'338': '❄️ ',
|
||||
'350': '🌧️',
|
||||
'353': '🌧️',
|
||||
'356': '🌧️',
|
||||
'359': '🌧️',
|
||||
'362': '🌧️',
|
||||
'365': '🌧️',
|
||||
'368': '🌧️',
|
||||
'371': '❄️',
|
||||
'374': '🌨️',
|
||||
'377': '🌨️',
|
||||
'386': '🌨️',
|
||||
'389': '🌨️',
|
||||
'392': '🌧️',
|
||||
'395': '❄️ '
|
||||
}
|
||||
|
||||
data = {}
|
||||
|
||||
|
||||
weather = requests.get("https://wttr.in/?format=j1").json()
|
||||
|
||||
|
||||
def format_time(time):
|
||||
return time.replace("00", "").zfill(2)
|
||||
|
||||
|
||||
def format_temp(temp):
|
||||
return (hour['FeelsLikeC']+"°").ljust(3)
|
||||
|
||||
|
||||
def format_chances(hour):
|
||||
chances = {
|
||||
"chanceoffog": "Fog",
|
||||
"chanceoffrost": "Frost",
|
||||
"chanceofovercast": "Overcast",
|
||||
"chanceofrain": "Rain",
|
||||
"chanceofsnow": "Snow",
|
||||
"chanceofsunshine": "Sunshine",
|
||||
"chanceofthunder": "Thunder",
|
||||
"chanceofwindy": "Wind"
|
||||
}
|
||||
|
||||
conditions = []
|
||||
for event in chances.keys():
|
||||
if int(hour[event]) > 0:
|
||||
conditions.append(chances[event]+" "+hour[event]+"%")
|
||||
return ", ".join(conditions)
|
||||
|
||||
tempint = int(weather['current_condition'][0]['FeelsLikeC'])
|
||||
extrachar = ''
|
||||
if tempint > 0 and tempint < 10:
|
||||
extrachar = '+'
|
||||
|
||||
|
||||
data['text'] = ' '+WEATHER_CODES[weather['current_condition'][0]['weatherCode']] + \
|
||||
" "+extrachar+weather['current_condition'][0]['FeelsLikeC']+"°"
|
||||
|
||||
data['tooltip'] = f"<b>{weather['current_condition'][0]['weatherDesc'][0]['value']} {weather['current_condition'][0]['temp_C']}°</b>\n"
|
||||
data['tooltip'] += f"Feels like: {weather['current_condition'][0]['FeelsLikeC']}°\n"
|
||||
data['tooltip'] += f"Wind: {weather['current_condition'][0]['windspeedKmph']}Km/h\n"
|
||||
data['tooltip'] += f"Humidity: {weather['current_condition'][0]['humidity']}%\n"
|
||||
for i, day in enumerate(weather['weather']):
|
||||
data['tooltip'] += f"\n<b>"
|
||||
if i == 0:
|
||||
data['tooltip'] += "Today, "
|
||||
if i == 1:
|
||||
data['tooltip'] += "Tomorrow, "
|
||||
data['tooltip'] += f"{day['date']}</b>\n"
|
||||
data['tooltip'] += f"⬆️ {day['maxtempC']}° ⬇️ {day['mintempC']}° "
|
||||
data['tooltip'] += f"🌅 {day['astronomy'][0]['sunrise']} 🌇 {day['astronomy'][0]['sunset']}\n"
|
||||
for hour in day['hourly']:
|
||||
if i == 0:
|
||||
if int(format_time(hour['time'])) < datetime.now().hour-2:
|
||||
continue
|
||||
data['tooltip'] += f"{format_time(hour['time'])} {WEATHER_CODES[hour['weatherCode']]} {format_temp(hour['FeelsLikeC'])} {hour['weatherDesc'][0]['value']}, {format_chances(hour)}\n"
|
||||
|
||||
|
||||
print(json.dumps(data))
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
LOC="$1"
|
||||
# HTML encode string as %20
|
||||
LOCATION=$(sed -e "s/ /%20/g" <<<"$LOC")
|
||||
content=$(curl -sS "https://thisdavej.azurewebsites.net/api/weather/current?loc=$LOCATION°=C")
|
||||
ICON=$(curl -s 'https://wttr.in/?format=1' | sed 's/[+0-9a-cA-Z°-]//g' )
|
||||
# echo $ICON
|
||||
TEMP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)"' | sed 's/"//g')
|
||||
TOOLTIP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)\n\(.skytext)"' | sed 's/"//g')
|
||||
CLASS=$(echo $content | jq .skytext)
|
||||
echo '{"text": "'$TEMP'", "tooltip": "'$ICON $TOOLTIP $LOC'", "class": '$CLASS' }'
|
||||
|
||||
@@ -1,109 +1,167 @@
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
border-radius: 0px;
|
||||
font-family: "JetBrainsMono Nerd Font";
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
min-height: 0;
|
||||
font-size: 10px;
|
||||
min-height: 10px;
|
||||
}
|
||||
|
||||
@import "themes/theme.css";
|
||||
|
||||
window#waybar {
|
||||
background: rgba(21, 18, 27, 0);
|
||||
color: #f6f7fc;
|
||||
background: @bar-bg;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: #e7e7ec;
|
||||
opacity: 0.8;
|
||||
border-radius: 10px;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
border-color: #11111b;
|
||||
}
|
||||
|
||||
tooltip label{
|
||||
color: #2b2b2c;
|
||||
background: @main-bg;
|
||||
color: @main-fg;
|
||||
border-radius: 7px;
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 5px;
|
||||
color: #f6f7fc;
|
||||
margin-right: 5px;
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
padding: 0px;
|
||||
border-radius: 9px;
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
margin-left: 0px;
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
margin-right: 0px;
|
||||
color: @main-fg;
|
||||
animation: ws_normal 20s ease-in-out 1;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: #000000;
|
||||
background: #a6e3a1;
|
||||
border-radius: 10px;
|
||||
background: @wb-act-bg;
|
||||
color: @wb-act-fg;
|
||||
margin-left: 3px;
|
||||
padding-left: 12px;
|
||||
padding-right: 12px;
|
||||
margin-right: 3px;
|
||||
animation: ws_active 20s ease-in-out 1;
|
||||
transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: #11111b;
|
||||
color: #cdd6f4;
|
||||
border-radius: 10px;
|
||||
background: @wb-hvr-bg;
|
||||
color: @wb-hvr-fg;
|
||||
animation: ws_hover 20s ease-in-out 1;
|
||||
transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#custom-launch_wofi,
|
||||
#custom-launch_firefox,
|
||||
#custom-launch_thunderbird,
|
||||
#custom-launch_thunar,
|
||||
#custom-launch_kitty,
|
||||
#custom-lock_screen,
|
||||
#custom-light_dark,
|
||||
#custom-power_btn,
|
||||
#custom-power_profile,
|
||||
#custom-weather,
|
||||
#custom-myhyprv,
|
||||
#window,
|
||||
#cpu,
|
||||
#disk,
|
||||
#custom-updates,
|
||||
#memory,
|
||||
#clock,
|
||||
#battery,
|
||||
#pulseaudio,
|
||||
#network,
|
||||
#tray,
|
||||
#temperature,
|
||||
#workspaces,
|
||||
#idle_inhibitor,
|
||||
#backlight {
|
||||
background: rgba(21, 18, 27, 0);
|
||||
opacity: 0.8;
|
||||
padding: 0px 8px;
|
||||
margin: 0px 3px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
color: #e92d4d;
|
||||
}
|
||||
|
||||
|
||||
#workspaces {
|
||||
padding-right: 0px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
#window {
|
||||
border-radius: 10px;
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
#custom-launch_firefox,
|
||||
#custom-launch_thunderbird,
|
||||
#custom-launch_thunar,
|
||||
#custom-launch_wofi,
|
||||
#custom-launch_kitty,
|
||||
#custom-weather {
|
||||
#taskbar button {
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
padding: 0px;
|
||||
border-radius: 9px;
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
margin-left: 0px;
|
||||
border-right: 0px;
|
||||
font-size: 24px;
|
||||
margin-right: 20px;
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
margin-right: 0px;
|
||||
color: @wb-color;
|
||||
animation: tb_normal 20s ease-in-out 1;
|
||||
}
|
||||
|
||||
#custom-launch_firefox,
|
||||
#custom-launch_kitty {
|
||||
font-size: 20px;
|
||||
}
|
||||
#taskbar button.active {
|
||||
background: @wb-act-bg;
|
||||
color: @wb-act-color;
|
||||
margin-left: 3px;
|
||||
padding-left: 12px;
|
||||
padding-right: 12px;
|
||||
margin-right: 3px;
|
||||
animation: tb_active 20s ease-in-out 1;
|
||||
transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#taskbar button:hover {
|
||||
background: @wb-hvr-bg;
|
||||
color: @wb-hvr-color;
|
||||
animation: tb_hover 20s ease-in-out 1;
|
||||
transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
|
||||
}
|
||||
|
||||
#backlight,
|
||||
#battery,
|
||||
#bluetooth,
|
||||
#custom-cliphist,
|
||||
#clock,
|
||||
#custom-cpuinfo,
|
||||
#cpu,
|
||||
#custom-gpuinfo,
|
||||
#idle_inhibitor,
|
||||
#custom-keybindhint,
|
||||
#language,
|
||||
#memory,
|
||||
#mpris,
|
||||
#network,
|
||||
#custom-power,
|
||||
#pulseaudio,
|
||||
#custom-spotify,
|
||||
#taskbar,
|
||||
#custom-theme,
|
||||
#tray,
|
||||
#custom-updates,
|
||||
#custom-wallchange,
|
||||
#custom-wbar,
|
||||
#window,
|
||||
#workspaces,
|
||||
#custom-l_end,
|
||||
#custom-r_end,
|
||||
#custom-sl_end,
|
||||
#custom-sr_end,
|
||||
#custom-rl_end,
|
||||
#custom-rr_end {
|
||||
color: @main-fg;
|
||||
background: @main-bg;
|
||||
opacity: 1;
|
||||
margin: 4px 0px 4px 0px;
|
||||
padding-left: 4px;
|
||||
padding-right: 4px;
|
||||
}
|
||||
|
||||
#workspaces,
|
||||
#taskbar {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
#custom-r_end {
|
||||
border-radius: 0px 21px 21px 0px;
|
||||
margin-right: 9px;
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
#custom-l_end {
|
||||
border-radius: 21px 0px 0px 21px;
|
||||
margin-left: 9px;
|
||||
padding-left: 3px;
|
||||
}
|
||||
|
||||
#custom-sr_end {
|
||||
border-radius: 0px;
|
||||
margin-right: 9px;
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
#custom-sl_end {
|
||||
border-radius: 0px;
|
||||
margin-left: 9px;
|
||||
padding-left: 3px;
|
||||
}
|
||||
|
||||
#custom-rr_end {
|
||||
border-radius: 0px 7px 7px 0px;
|
||||
margin-right: 9px;
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
#custom-rl_end {
|
||||
border-radius: 7px 0px 0px 7px;
|
||||
margin-left: 9px;
|
||||
padding-left: 3px;
|
||||
}
|
||||
|
||||
@@ -1,108 +0,0 @@
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: "JetBrainsMono Nerd Font";
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: rgba(21, 18, 27, 0);
|
||||
color: #f6f7fc;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: #1e1e2e;
|
||||
opacity: 0.8;
|
||||
border-radius: 10px;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
border-color: #11111b;
|
||||
}
|
||||
|
||||
tooltip label{
|
||||
color: #cdd6f4;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 5px;
|
||||
color: #f6f7fc;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: #000000;
|
||||
background: #a6e3a1;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: #11111b;
|
||||
color: #cdd6f4;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#custom-launch_wofi,
|
||||
#custom-launch_firefox,
|
||||
#custom-launch_thunderbird,
|
||||
#custom-launch_thunar,
|
||||
#custom-launch_kitty,
|
||||
#custom-lock_screen,
|
||||
#custom-light_dark,
|
||||
#custom-power_btn,
|
||||
#custom-power_profile,
|
||||
#custom-weather,
|
||||
#custom-myhyprv,
|
||||
#window,
|
||||
#cpu,
|
||||
#disk,
|
||||
#custom-updates,
|
||||
#memory,
|
||||
#clock,
|
||||
#battery,
|
||||
#pulseaudio,
|
||||
#network,
|
||||
#tray,
|
||||
#temperature,
|
||||
#workspaces,
|
||||
#idle_inhibitor,
|
||||
#backlight {
|
||||
background: rgba(21, 18, 27, 0);
|
||||
opacity: 1;
|
||||
padding: 0px 8px;
|
||||
margin: 0px 3px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
color: #e92d4d;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
padding-right: 0px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
#window {
|
||||
border-radius: 10px;
|
||||
margin-left: 0px;
|
||||
margin-right: 0px;
|
||||
}
|
||||
|
||||
#custom-launch_firefox,
|
||||
#custom-launch_thunderbird,
|
||||
#custom-launch_thunar,
|
||||
#custom-launch_wofi,
|
||||
#custom-launch_kitty,
|
||||
#custom-weather {
|
||||
margin-left: 0px;
|
||||
border-right: 0px;
|
||||
font-size: 24px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
#custom-launch_firefox,
|
||||
#custom-launch_kitty {
|
||||
font-size: 20px;
|
||||
}
|
||||
@@ -1,109 +0,0 @@
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: "JetBrainsMono Nerd Font";
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: rgba(21, 18, 27, 0);
|
||||
color: #f6f7fc;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: #e7e7ec;
|
||||
opacity: 0.8;
|
||||
border-radius: 10px;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
border-color: #11111b;
|
||||
}
|
||||
|
||||
tooltip label{
|
||||
color: #2b2b2c;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 5px;
|
||||
color: #f6f7fc;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: #000000;
|
||||
background: #a6e3a1;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: #11111b;
|
||||
color: #cdd6f4;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#custom-launch_wofi,
|
||||
#custom-launch_firefox,
|
||||
#custom-launch_thunderbird,
|
||||
#custom-launch_thunar,
|
||||
#custom-launch_kitty,
|
||||
#custom-lock_screen,
|
||||
#custom-light_dark,
|
||||
#custom-power_btn,
|
||||
#custom-power_profile,
|
||||
#custom-weather,
|
||||
#custom-myhyprv,
|
||||
#window,
|
||||
#cpu,
|
||||
#disk,
|
||||
#custom-updates,
|
||||
#memory,
|
||||
#clock,
|
||||
#battery,
|
||||
#pulseaudio,
|
||||
#network,
|
||||
#tray,
|
||||
#temperature,
|
||||
#workspaces,
|
||||
#idle_inhibitor,
|
||||
#backlight {
|
||||
background: rgba(21, 18, 27, 0);
|
||||
opacity: 0.8;
|
||||
padding: 0px 8px;
|
||||
margin: 0px 3px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
color: #e92d4d;
|
||||
}
|
||||
|
||||
|
||||
#workspaces {
|
||||
padding-right: 0px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
#window {
|
||||
border-radius: 10px;
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
#custom-launch_firefox,
|
||||
#custom-launch_thunderbird,
|
||||
#custom-launch_thunar,
|
||||
#custom-launch_wofi,
|
||||
#custom-launch_kitty,
|
||||
#custom-weather {
|
||||
margin-left: 0px;
|
||||
border-right: 0px;
|
||||
font-size: 24px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
#custom-launch_firefox,
|
||||
#custom-launch_kitty {
|
||||
font-size: 20px;
|
||||
}
|
||||
10
dotfiles/config/waybar/themes/Catppuccin-Latte.css
Normal file
@@ -0,0 +1,10 @@
|
||||
@define-color bar-bg rgba(0, 0, 0, 0);
|
||||
|
||||
@define-color main-bg #9ca0b0;
|
||||
@define-color main-fg #4c4f69;
|
||||
|
||||
@define-color wb-act-bg #5c5f77;
|
||||
@define-color wb-act-fg #dce0e8;
|
||||
|
||||
@define-color wb-hvr-bg #dc8a78;
|
||||
@define-color wb-hvr-fg #dce0e8;
|
||||
10
dotfiles/config/waybar/themes/Catppuccin-Mocha.css
Normal file
@@ -0,0 +1,10 @@
|
||||
@define-color bar-bg rgba(0, 0, 0, 0);
|
||||
|
||||
@define-color main-bg #11111b;
|
||||
@define-color main-fg #cdd6f4;
|
||||
|
||||
@define-color wb-act-bg #a6adc8;
|
||||
@define-color wb-act-fg #313244;
|
||||
|
||||
@define-color wb-hvr-bg #f5c2e7;
|
||||
@define-color wb-hvr-fg #313244;
|
||||
10
dotfiles/config/waybar/themes/Cyberpunk-Edge.css
Normal file
@@ -0,0 +1,10 @@
|
||||
@define-color bar-bg rgba(0, 0, 0, 1);
|
||||
|
||||
@define-color main-bg #000000;
|
||||
@define-color main-fg #FFA6C2;
|
||||
|
||||
@define-color wb-act-bg #FFA6C2;
|
||||
@define-color wb-act-fg #000000;
|
||||
|
||||
@define-color wb-hvr-bg #FADA16;
|
||||
@define-color wb-hvr-fg #000000;
|
||||
10
dotfiles/config/waybar/themes/Decay-Green.css
Normal file
@@ -0,0 +1,10 @@
|
||||
@define-color bar-bg rgba(31, 35, 40, 0.95);
|
||||
|
||||
@define-color main-bg #101419;
|
||||
@define-color main-fg #93cee9;
|
||||
|
||||
@define-color wb-act-bg #93cee9;
|
||||
@define-color wb-act-fg #1f2328;
|
||||
|
||||
@define-color wb-hvr-bg #93cee9;
|
||||
@define-color wb-hvr-fg #1f2328;
|
||||
10
dotfiles/config/waybar/themes/Frosted-Glass.css
Normal file
@@ -0,0 +1,10 @@
|
||||
@define-color bar-bg rgba(255, 255, 255, 0);
|
||||
|
||||
@define-color main-bg #7ed6ff;
|
||||
@define-color main-fg #1E4C84;
|
||||
|
||||
@define-color wb-act-bg #A44185;
|
||||
@define-color wb-act-fg #e6f1f4;
|
||||
|
||||
@define-color wb-hvr-bg #1E4C84;
|
||||
@define-color wb-hvr-fg #e6f1f4;
|
||||
10
dotfiles/config/waybar/themes/Graphite-Mono.css
Normal file
@@ -0,0 +1,10 @@
|
||||
@define-color bar-bg rgba(38, 38, 38, 1);
|
||||
|
||||
@define-color main-bg #262626;
|
||||
@define-color main-fg #d9d9d9;
|
||||
|
||||
@define-color wb-act-bg #d9d9d9;
|
||||
@define-color wb-act-fg #262626;
|
||||
|
||||
@define-color wb-hvr-bg #a6a6a6;
|
||||
@define-color wb-hvr-fg #262626;
|
||||
10
dotfiles/config/waybar/themes/Gruvbox-Retro.css
Normal file
@@ -0,0 +1,10 @@
|
||||
@define-color bar-bg rgba(0, 0, 0, 0);
|
||||
|
||||
@define-color main-bg #475437;
|
||||
@define-color main-fg #b5cc97;
|
||||
|
||||
@define-color wb-act-bg #668f31;
|
||||
@define-color wb-act-fg #c2d89c;
|
||||
|
||||
@define-color wb-hvr-bg #c6eb6f;
|
||||
@define-color wb-hvr-fg #c0fc47;
|
||||
10
dotfiles/config/waybar/themes/Material-Sakura.css
Normal file
@@ -0,0 +1,10 @@
|
||||
@define-color bar-bg rgba(0, 0, 0, 0);
|
||||
|
||||
@define-color main-bg #faf4ed;
|
||||
@define-color main-fg #907aa9;
|
||||
|
||||
@define-color wb-act-bg #b4637a;
|
||||
@define-color wb-act-fg #fffaf3;
|
||||
|
||||
@define-color wb-hvr-bg #56949f;
|
||||
@define-color wb-hvr-fg #fffaf3;
|
||||
10
dotfiles/config/waybar/themes/Rose-Pine.css
Normal file
@@ -0,0 +1,10 @@
|
||||
@define-color bar-bg rgba(0, 0, 0, 0);
|
||||
|
||||
@define-color main-bg #26233a;
|
||||
@define-color main-fg #ebbcba;
|
||||
|
||||
@define-color wb-act-bg #31748f;
|
||||
@define-color wb-act-fg #9ccfd8;
|
||||
|
||||
@define-color wb-hvr-bg #eb6f92;
|
||||
@define-color wb-hvr-fg #f6c177;
|
||||
10
dotfiles/config/waybar/themes/Tokyo-Night.css
Normal file
@@ -0,0 +1,10 @@
|
||||
@define-color bar-bg rgba(0, 0, 0, 0);
|
||||
|
||||
@define-color main-bg #24283b;
|
||||
@define-color main-fg #7aa2f7;
|
||||
|
||||
@define-color wb-act-bg #bb9af7;
|
||||
@define-color wb-act-fg #b4f9f8;
|
||||
|
||||
@define-color wb-hvr-bg #7aa2f7;
|
||||
@define-color wb-hvr-fg #cfc9c2;
|
||||
7
dotfiles/config/waybar/themes/Wall-Dcol.css
Normal file
@@ -0,0 +1,7 @@
|
||||
@define-color bar-bg rgba(0, 0, 0, 0);
|
||||
@define-color main-bg #1B1B29;
|
||||
@define-color main-fg #9F9FD6;
|
||||
@define-color wb-act-bg #974C4E;
|
||||
@define-color wb-act-fg #00001A;
|
||||
@define-color wb-hvr-bg #1F293D;
|
||||
@define-color wb-hvr-fg #9FC6D6;
|
||||
10
dotfiles/config/waybar/themes/theme.css
Normal file
@@ -0,0 +1,10 @@
|
||||
@define-color bar-bg rgba(0, 0, 0, 0);
|
||||
|
||||
@define-color main-bg #11111b;
|
||||
@define-color main-fg #cdd6f4;
|
||||
|
||||
@define-color wb-act-bg #a6adc8;
|
||||
@define-color wb-act-fg #313244;
|
||||
|
||||
@define-color wb-hvr-bg #f5c2e7;
|
||||
@define-color wb-hvr-fg #313244;
|
||||