feat: mpv, waybar, zathura

This commit is contained in:
Ryan 2024-01-14 17:53:01 +08:00
parent ee4f05860c
commit d9b78e8b0b
6 changed files with 105 additions and 183 deletions

View File

@ -30,7 +30,7 @@ layer = overlay
[colors]
background=282828ff
text=665c54ff
match=bdae93ff
match=928374ff
selection=3c3836ff
selection-text=ebdbb2ff
selection-match=ebdbb2ff

View File

@ -1,87 +0,0 @@
import argparse
import collections
import json
import pathlib
class Profile:
def __init__(self, object, json, groups_key="setting-groups"):
self.json = json
self.groups_key = groups_key
self._settings = []
self._shaders = []
self._collect(object)
def _collect(self, object):
self._settings.extend(object.get("settings", []))
self._shaders.extend(object.get("shaders", []))
for key in object.get(self.groups_key, []):
self._collect(self.json["setting-groups"][key])
parser = argparse.ArgumentParser()
parser.add_argument("--profile", default=None)
parser.add_argument(
"--path", default=f"{pathlib.Path.home()}/.config/mpv/default-shader-pack")
parser.add_argument("--config", default=False, action="store_true")
arguments = parser.parse_args()
arguments.path = str(pathlib.Path(arguments.path))
# with open(pathlib.Path(arguments.path, "pack.json"), "rb") as file:
with open(pathlib.Path(arguments.path, "pack-hq.json"), "rb") as file:
json_ = json.load(file)
if arguments.profile is None:
for profile in json_["profiles"].values():
print(profile["displayname"])
else:
if arguments.config:
prefix = ""
end = None
else:
prefix = "--"
end = " "
default_profile = Profile(
json_, json_, groups_key="default-setting-groups")
(_,) = (
profile
for profile in json_["profiles"].values()
if profile["displayname"] == arguments.profile
)
profile = Profile(_, json_)
for key, value in collections.OrderedDict(
default_profile._settings + profile._settings
).items():
key = key.replace("_", "-")
if value is True:
print(prefix, key, sep="", end=end)
continue
print(prefix, key, "=", value, sep="", end=end)
print(
prefix,
"glsl-shaders=",
":".join(
str(pathlib.Path(arguments.path, "shaders", shader))
for shader in collections.OrderedDict(
(_, None) for _ in default_profile._shaders + profile._shaders
).keys()
),
sep="",
end=end,
)
print()

@ -1 +0,0 @@
Subproject commit ca506a6bf3937881ebd1ab35bfbaf3d9b0221e0d

View File

@ -1,3 +1,3 @@
volume=70
sub-auto=fuzzy
# hwdec=auto-safe
hwdec=auto-safe

View File

@ -1,95 +1,102 @@
{
"layer": "top",
"modules-left": [
"sway/workspaces"
],
"fixed-center": false,
"modules-center": [
"sway/window"
],
"modules-right": [
"tray",
"custom/notification",
"custom/player",
"cpu",
"memory",
"network",
"battery",
"clock"
],
"sway/workspaces": {
"show_special": true,
"on-click": "activate",
"persistent_workspaces": {
"9": ["HDMI-A-1"]
}
},
"sway/window": {
"max-length": 50,
"separate-outputs": true
},
"tray": {
"spacing": 10
},
"cpu": {
"format": " {load}",
"format-alt": " {usage}% @ {avg_frequency}GHz"
},
"memory": {
"format": "󰍛 {used:0.1f}G / {total:0.1f}G",
"format-alt": "󰓡 Swap: {swapUsed:0.1f}G / {swapTotal:0.1f}G"
},
"network": {
"format-wifi": " {essid} ({signalStrength}%)",
"format-ethernet": "󰈀 {ifname}",
"format-linked": " {ifname}",
"format-disconnected": "󰌙 Disconnected",
"format-alt": "󰩟 {ifname}: {ipaddr}/{cidr}",
"tooltip-format": "{ifname} via {gwaddr}"
},
"battery": {
"states": {
"good": 75,
"warning": 15,
"critical": 5
},
"format": "{icon} {capacity}%",
"format-charging": "󰉁 {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{icon} ETA: {time}",
"format-icons": [
"",
"",
"",
"",
""
]
},
"clock": {
"format": "{:󰅐 %H:%M\t %m-%d}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
},
"custom/notification": {
"tooltip": true,
"format": "{icon}",
"format-icons": {
"notification": " <span foreground='red'><sup></sup></span> New notifications",
"none": " No notifications",
"dnd-notification": " DND on",
"dnd-none": " DND on"
},
"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/player": {
"format": "󰎈 {}",
"return-type": "json",
"exec": "playerctl -a metadata --format '{\"text\": \"{{uc(playerName)}}: {{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"class\": \"{{status}}\"}' -F",
"max-length": 35,
"on-click": "playerctl play-pause"
}
"layer": "top",
"modules-left": [
"sway/workspaces"
],
"fixed-center": false,
"modules-center": [
"sway/window"
],
"modules-right": [
"tray",
"custom/notification",
"custom/player",
"cpu",
"memory",
"network",
"battery",
"clock"
],
"sway/workspaces": {
"show_special": true,
"on-click": "activate",
"persistent_workspaces": {
"9": [
"HDMI-A-1"
]
}
},
"sway/window": {
"max-length": 50,
"separate-outputs": true
},
"tray": {
"spacing": 10
},
"cpu": {
"format": " {load}",
"format-alt": " {usage}% @ {avg_frequency}GHz"
},
"memory": {
"format": "󰍛 {used:0.1f}G / {total:0.1f}G",
"format-alt": "󰓡 Swap: {swapUsed:0.1f}G / {swapTotal:0.1f}G"
},
"network": {
"format-wifi": " {essid} ({signalStrength}%)",
"format-ethernet": "󰈀 {ifname}",
"format-linked": " {ifname}",
"format-disconnected": "󰌙 Disconnected",
"format-alt": "󰩟 {ifname}: {ipaddr}/{cidr}",
"tooltip-format": "{ifname} via {gwaddr}"
},
"battery": {
"states": {
"good": 75,
"warning": 15,
"critical": 5
},
"format": "{icon} {capacity}%",
"format-charging": "󰉁 {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{icon} ETA: {time}",
"format-icons": [
"",
"",
"",
"",
""
]
},
"clock": {
"format": "{:󰅐 %H:%M\t %m-%d}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
},
"custom/notification": {
"tooltip": true,
"format": "{icon}",
"format-icons": {
"notification": " <span foreground='red'><sup></sup></span> New notifications",
"none": " No notifications",
"dnd-notification": " DND on",
"dnd-none": " DND on"
},
"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/player": {
"format": "{icon} {}",
"format-icons": {
"Playing": "󰎈 ",
"Paused": "󰏤 "
},
"return-type": "json",
"exec": "playerctl -a metadata --format '{\"text\": \"{{playerName}}: {{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{markup_escape(title)}} - {{markup_escape(album)}}\", \"class\": \"{{status}}\", \"alt\": \"{{status}}\" }' -F",
"max-length": 40,
"on-click": "playerctl play-pause",
"on-click-right": "pavucontrol"
}
}

View File

@ -38,3 +38,6 @@ set recolor-lightcolor "#282828" # bg
set recolor-darkcolor "#ebdbb2" # fg
set recolor "true"
# set recolor-keephue true # keep original color
# selection clipboard
set selection-clipboard clipboard