Switch audio sink in eww

This commit is contained in:
Cedric Bonhomme 2024-08-19 10:11:02 +02:00
parent 5c46ec47fc
commit c572d657dc
7 changed files with 151 additions and 180 deletions

View file

@ -22,6 +22,9 @@
`playerctl status -F`
)
(defpoll audio-output :interval "1s" :initial " "
`pactl get-default-sink | grep -qo Scarlett && echo " " || echo "󰴸 "`)
(defpoll music-position-percent :interval "1s" :initial "0"
`mixer position`)
@ -47,6 +50,12 @@
(label :class "inline" :text {window-title} :valign "center" :wrap "false" :limit-width 120 :visible {window-title != ""})
)
(defwidget audio-output []
(eventbox :onclick "switch-audio"
(label :class "inline" :text {audio-output} :valign "center")
)
)
(defwidget clock []
(box :orientation "h" :class "clock" :space-evenly "false" :spacing 0
;(image :path {mascot} :image-width 90 :image-height 225)
@ -120,6 +129,7 @@
(window-title)
(box :orientation "h" :space-evenly "false" :spacing 10 :halign "end"
(inline-music)
(audio-output)
(inline-clock)
)
)

View file

@ -15,7 +15,10 @@ misc {
mouse_move_focuses_monitor = true
enable_swallow = true
swallow_regex = ^(kitty)$
no_direct_scanout = true #for fullscreen games
}
render {
explicit_sync = true
}
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/

View file

@ -102,7 +102,7 @@ bind=,escape,submap,reset
# will reset the submap, meaning end the current one and return to the global one
submap=reset
bind = ,print , exec, grimblast copysave screen $HOME"/Pictures/Screenshots/Screenshot_"$(date +'%Y%m%d_%H%M%S.png')
bind = SHIFT, print, exec, grimblast copysave area $HOME"/Pictures/Screenshots/Screenshot_"$(date +'%Y%m%d_%H%M%S.png')
bind=,Print, exec, grimblast copysave screen $HOME"/Pictures/Screenshots/Screenshot_"$(date +'%Y%m%d_%H%M%S.png')
bind=SHIFT, Print, exec, grimblast copysave area $HOME"/Pictures/Screenshots/Screenshot_"$(date +'%Y%m%d_%H%M%S.png')
# bind=$mainMod, F1, exec, ~/.config/hypr/gamemode.sh

View file

@ -1,183 +1,131 @@
version = "1.1.13"
version = "1.1.14"
[format]
# Deduplicate icons if enable.
# A superscripted counter will be added.
dedup = false
dedup_inactive_fullscreen = false # dedup more
# window delimiter
delim = ""
# max_clients = 30 # you should not need this
# available formatter:
# {counter_sup} - superscripted count of clients on the workspace, and simple {counter}, {delim}
# {icon}, {client}
# workspace formatter
workspace = "{clients}" # {id}, {delim} and {clients} are supported
workspace_empty = " " # {id}, {delim} and {clients} are supported
# client formatter
client = "{icon}"
client_active = "{icon}"
# deduplicate client formatter
client_fullscreen = "[{icon}]"
client_dup = "{icon}{counter_sup}"
client_dup_fullscreen = "[{icon}]{delim}{icon}{counter_unfocused}"
client_dup_active = "[{icon}{counter_sup}]"
[class]
kristall = " "
krita = " "
kinfocenter = " "
Steam = " "
scrcpy = " "
qt5ct = " "
"ToneLib Metal" = "🔥"
"Tor Browser" = "﨩"
qutebrowser = " "
gwenview = " "
konqueror = " "
steam_app_0 = "⛨ "
"Tonelib Jam" = " "
easyeffects = "󰺣 "
Vivaldi-stable = " "
nvim = " "
steam = " "
nheko = " "
antimicro = " "
Firefox = " "
yuzu = " "
lsp-plugins = "󰺣 "
Kotatogram = "󰭹 "
"org.kde.importwizard" = "󱑷 "
st-256color = " "
mpv = " "
okular = " "
k3b = " "
filelight = " "
"kdeconnect.app" = " "
Evince = " "
ktorrent = " "
DEFAULT = ""
MuPDF = " "
pcmanfm-qt = " "
systemsettings = " "
ProtonUp-Qt = " "
Eww = " "
Microsoft-edge = " "
trojita = " "
MuseScore3 = " "
"io.github.rinigus.PureMaps" = "﫴"
imv = " "
"org.kde.kdialog" = "󰉙 "
"XIVLauncher.Core" = "󰞇 "
TelegramDesktop = " "
llpp = " "
Audacity = " "
discover = " "
PokeMMO = "󰐝 "
"Bitwig Studio" = " "
konsole = " "
Ardour = "🎹"
OpenTabletDriver = "󰻎 "
keepassxc = " "
kitty = " "
vivaldi-stable = " "
p3x-onenote = " "
Guitarix = "🔥"
Termite = " "
cantata = " "
Sneedacity = " "
Olive = " "
kate = " "
kaidan = "󰭹 "
"ToneLib GFX" = "🔥"
pavucontrol-qt = " "
KeePassXC = " "
sxiv = " "
monero-core = " "
Chromium = " "
"Com.github.tkashkin.gamehub" = " "
calibre = " "
qt6ct = " "
lxqt-config-appearance = " "
konversation = " "
Chad-launcher = " "
electrum = " "
betterbird = "󰛮 "
"org.kde.kmail2" = "󰛮 "
kid3 = " "
Alacritty = " "
URxvt = " "
xst-256color = " "
Lutris = " "
Wine = " "
dolphin = " "
Rofi = ""
Zathura = " "
steamwebhelper = " "
qpwgraph = "󰣲 "
kcharselect = " "
"Cemu.exe" = " "
plasma-systemmonitor = " "
"Kvantum Manager" = " "
transmission = " "
mupdf = " "
Spectral = " "
feh = " "
lxqt-config = " "
spectacle = " "
Falkon = "🦅"
terminator = " "
elisa = " "
strawberry = "🍓"
heroic = " "
[class_active]
DEFAULT = "{icon}"
#"(?i)ExampleOneTerm" = "<span foreground='red'>{icon}</span>"
[initial_class]
"DEFAULT" = " {class}"
# "(?i)Kitty" = "term"
DEFAULT = " {class}"
# [initial_class_active]
# "(?i)Kitty" = "*TERM*"
#[title_in_class."(?i)kitty"]
#"(?i)neomutt" = "neomutt"
# regex captures support is supported
# "emerge: (.+?/.+?)-.*" = "{match1}"
#[title_in_class_active."(?i)firefox"]
#"(?i)twitch" = "<span color='purple'>{icon}</span>"
# [title_in_initial_class."(?i)kitty"]
# "(?i)neomutt" = "neomutt"
# [initial_title_in_class."(?i)kitty"]
# "(?i)neomutt" = "neomutt"
# [initial_title_in_initial_class."(?i)kitty"]
# "(?i)neomutt" = "neomutt"
# [initial_title."(?i)kitty"]
# "zsh" = "Zsh"
# [initial_title_active."(?i)kitty"]
# "zsh" = "*Zsh*"
# Add your applications that need to be exclude
# The key is the class, the value is the title.
# You can put an empty title to exclude based on
# class name only, "" make the job.
[exclude]
"" = "^$" # prevent displaying clients with empty class
#"(?i)fcitx" = ".*" # will match all title for fcitx
#"(?i)TestApp" = "" # will match all title for TestApp
#aProgram = "^$" # will match null title for aProgram
#"[Ss]team" = "^(Friends List.*)?$" # will match Steam friends list plus all popups (empty titles)
"" = "^$"
[class]
# Add your icons mapping
# use double quote the key and the value
# take class name from 'hyprctl clients'
#"" = " "
DEFAULT = ""
"monero-core" = " "
"electrum" = " "
"Chromium" = " "
"Tor Browser" = "﨩"
"Firefox" = " "
"qutebrowser" = " "
"konqueror" = " "
"Vivaldi-stable" = " "
"vivaldi-stable" = " "
"Steam" = " "
"steam" = " "
"steamwebhelper" = " "
"keepassxc" = " "
"KeePassXC" = " "
"krita" = " "
"Cemu.exe" = " "
"antimicro" = " "
"Wine" = " "
"Lutris" = " "
"Com.github.tkashkin.gamehub" = " "
"Chad-launcher" = " "
"heroic" = " "
"TelegramDesktop" = " "
"Spectral" = " "
"nheko" = " "
"konversation" = " "
"nvim" = " "
"Termite" = " "
"Alacritty" = " "
"konsole" = " "
"terminator" = " "
"URxvt" = " "
"xst-256color" = " "
"st-256color" = " "
"kitty" = " "
"calibre" = " "
"dolphin" = " "
"pcmanfm-qt" = " "
"okular" = " "
"llpp" = " "
"Zathura" = " "
"mupdf" = " "
"Evince" = " "
"MuPDF" = " "
"cantata" = " "
"elisa" = " "
"mpv" = " "
"transmission" = " "
"ktorrent" = " "
"spectacle" = " "
"gwenview"= " "
"feh" = " "
"imv" = " "
"sxiv" = " "
"Bitwig Studio" = " "
"qpwgraph" = "󰣲 "
"Audacity" = " "
"Sneedacity" = " "
"kcharselect" = " "
"scrcpy" = " "
"p3x-onenote" = " "
"lxqt-config-appearance" = " "
"Kvantum Manager" = " "
"lxqt-config" = " "
"systemsettings" = " "
"qt5ct" = " "
"qt6ct" = " "
"yuzu" = " "
"Olive" = " "
"k3b" = " "
"filelight" = " "
"kid3" = " "
"steam_app_0" = "⛨ "
"MuseScore3" = " "
"Tonelib Jam" = " "
"trojita" = " "
"pavucontrol-qt" = " "
"Microsoft-edge" = " "
"kristall" = " "
"kate" = " "
"XIVLauncher.Core" = "󰞇 "
"discover" = " "
"ProtonUp-Qt" = " "
"easyeffects" = "󰺣 "
"lsp-plugins" = "󰺣 "
"kaidan" = "󰭹 "
"Kotatogram" = "󰭹 "
"betterbird" = "󰛮 "
"org.kde.kmail2" = "󰛮 "
"org.kde.importwizard" = "󱑷 "
"kdeconnect.app" = " "
"Ardour" = "🎹"
"Guitarix" = "🔥"
"ToneLib Metal" = "🔥"
"ToneLib GFX" = "🔥"
"strawberry" = "🍓"
"Falkon" = "🦅"
"kinfocenter" = " "
"plasma-systemmonitor" = " "
"Eww" = " "
"Rofi" = ""
"OpenTabletDriver" = "󰻎 "
"io.github.rinigus.PureMaps" = "﫴"
"PokeMMO" = "󰐝 "
"org.kde.kdialog" = "󰉙 "
[format]
dedup = false
dedup_inactive_fullscreen = false
delim = ""
workspace = "{clients}"
workspace_empty = " "
client = "{icon}"
client_fullscreen = "[{icon}]"
client_active = "{icon}"
client_dup = "{icon}{counter_sup}"
client_dup_active = "[{icon}{counter_sup}]"
client_dup_fullscreen = "[{icon}]{delim}{icon}{counter_unfocused}"

View file

@ -110,8 +110,8 @@ m no-osd cycle mute; script-binding uosc/flash-volume
#8 add saturation 1
# toggle deinterlacer (automatically inserts or removes required filter)
#d cycle deinterlace
#r add sub-pos -1 # move subtitles up
#R add sub-pos +1 # down
r add sub-pos -1 # move subtitles up
R add sub-pos +1 # down
#t add sub-pos +1 # same as previous binding (discouraged)
v cycle sub-visibility
# stretch SSA/ASS subtitles with anamorphic videos to match historical

View file

@ -536,6 +536,6 @@ feeds:
- url: "https://nyaa.si/?page=rss&q=Kono+Sekai+wa+Fukanzen+Sugiru+1080+erai&c=0_0&f=0"
regexp: ^((?!HEVC).)*$
download_path: "/media/sakura/jojo/Videos/Kono Sekai wa Fukanzen Sugiru"
- url: "https://nyaa.si/?page=rss&q=kinnikuman+perfect+1080+kanpeki&c=1_2&f=0"
- url: "https://nyaa.si/?page=rss&q=kinnikuman+1080+perfect+nandesuka&c=0_0&f=0"
regexp: ^((?!HEVC).)*$
download_path: "/media/sakura/jojo/Videos/Kinnikuman"

10
script/bin/switch-audio Executable file
View file

@ -0,0 +1,10 @@
#!/bin/bash
sink1="alsa_output.usb-Focusrite_Scarlett_2i2_USB_Y89FPQT1906962-00.Direct__Direct__sink"
sink2="alsa_output.pci-0000_1e_00.3.analog-stereo"
sink_current=$(pactl get-default-sink)
case $sink_current in
$sink1) pactl set-default-sink $sink2 ;;
$sink2) pactl set-default-sink $sink1 ;;
*) pactl set-default-sink $sink1 ;;
esac