Compare commits
19
Commits
b407185d1f
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
244358a99e | ||
|
|
47b461c4c0 | ||
|
|
8e783f894d | ||
|
|
f746a52f88 | ||
|
|
6e60829987 | ||
|
|
17f790d1ca | ||
|
|
030e27b13b | ||
|
|
b314a97e69 | ||
|
|
28a9d1b39a | ||
|
|
a0205f9958 | ||
|
|
cb73339adc | ||
|
|
89c3ff257d | ||
|
|
7520a1a5fb | ||
|
|
134904ce2c | ||
|
|
db4fc948d8 | ||
|
|
7584da9115 | ||
|
|
145f9171a0 | ||
|
|
644ee876e1 | ||
|
|
25dba3fe64 |
@@ -1,9 +1,9 @@
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Categories=Utility;
|
Categories=Utility;
|
||||||
Comment=OpenRGB 0.9+ (1.0rc3), for controlling RGB lighting.
|
Comment=OpenRGB 1.0
|
||||||
Icon=OpenRGB
|
Icon=OpenRGB
|
||||||
Name=OpenRGB
|
Name=OpenRGB
|
||||||
StartupNotify=true
|
StartupNotify=true
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=/usr/bin/openrgb --profile "falcon" --server
|
Exec=/usr/bin/openrgb --startminimized --server
|
||||||
|
|||||||
@@ -62,8 +62,8 @@ hl.window_rule({
|
|||||||
float = true,
|
float = true,
|
||||||
size = { "max(monitor_w, monitor_h)*0.50", "min(monitor_w, monitor_h)*0.55" },
|
size = { "max(monitor_w, monitor_h)*0.50", "min(monitor_w, monitor_h)*0.55" },
|
||||||
move = {
|
move = {
|
||||||
"max(20, min(cursor_x - (window_w*0.50), monitor_w - window_w + 20))", -- X axis clamping
|
"monitor_w - (max(monitor_w, monitor_h)*0.50) - 20", -- X axis: always align to screen right (20px margin)
|
||||||
"max(20, min(cursor_y - 50, monitor_h - window_h + 20))" -- Y axis clamping
|
"monitor_h - (min(monitor_w, monitor_h)*0.55) - 20" -- Y axis: always align to screen bottom (20px margin)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -127,11 +127,11 @@ color = "error"
|
|||||||
type = "spacer"
|
type = "spacer"
|
||||||
|
|
||||||
[widget.temp]
|
[widget.temp]
|
||||||
show_label = false
|
show_value = true
|
||||||
|
|
||||||
[widget.sysmon_2]
|
[widget.sysmon_2]
|
||||||
glyph = "gpu-usage"
|
glyph = "gpu-usage"
|
||||||
show_label = false
|
show_value = true
|
||||||
stat = "gpu_temp"
|
stat = "gpu_temp"
|
||||||
type = "sysmon"
|
type = "sysmon"
|
||||||
|
|
||||||
@@ -141,7 +141,6 @@ stat = "ram_used"
|
|||||||
type = "sysmon"
|
type = "sysmon"
|
||||||
|
|
||||||
[widget.wallhaven]
|
[widget.wallhaven]
|
||||||
color = "secondary"
|
|
||||||
glyph = "photo"
|
glyph = "photo"
|
||||||
type = "noctalia/wallhaven:wallhaven"
|
type = "noctalia/wallhaven:wallhaven"
|
||||||
|
|
||||||
@@ -156,6 +155,6 @@ color = "secondary"
|
|||||||
active_pill_size = 2.5
|
active_pill_size = 2.5
|
||||||
capsule = true
|
capsule = true
|
||||||
capsule_fill = "on_primary"
|
capsule_fill = "on_primary"
|
||||||
display = "none"
|
show_labels = false
|
||||||
inactive_pill_size = 1.0
|
inactive_pill_size = 1.0
|
||||||
pill_scale = 0.80
|
pill_scale = 0.80
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=wayvnc - VNC server for wlroots Wayland compositors
|
||||||
|
After=graphical-session.target
|
||||||
|
PartOf=graphical-session.target
|
||||||
|
Requisite=graphical-session.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/bin/wayvnc
|
||||||
|
Restart=always
|
||||||
|
RestartSec=5
|
||||||
|
StartLimitIntervalSec=0
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=graphical-session.target
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
address=100.64.0.1
|
||||||
|
port=5900
|
||||||
|
enable_auth=true
|
||||||
|
enable_pam=true
|
||||||
|
certificate_file=/home/valknar/.config/wayvnc/tls_cert.pem
|
||||||
|
private_key_file=/home/valknar/.config/wayvnc/tls_key.pem
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
// custom settings, run `zed: open default settings` from the
|
// custom settings, run `zed: open default settings` from the
|
||||||
// command palette (cmd-shift-p / ctrl-shift-p)
|
// command palette (cmd-shift-p / ctrl-shift-p)
|
||||||
{
|
{
|
||||||
|
"cli_default_open_behavior": "existing_window",
|
||||||
"icon_theme": "Catppuccin Frappé",
|
"icon_theme": "Catppuccin Frappé",
|
||||||
"ui_font_size": 16,
|
"ui_font_size": 16,
|
||||||
"buffer_font_size": 15,
|
"buffer_font_size": 15,
|
||||||
|
|||||||
+6
-3
@@ -24,9 +24,6 @@
|
|||||||
!bin/stacks
|
!bin/stacks
|
||||||
!bin/README.md
|
!bin/README.md
|
||||||
!bin/setup
|
!bin/setup
|
||||||
!.vscode/
|
|
||||||
!.vscode/settings.json
|
|
||||||
!.vscode/keybindings.json
|
|
||||||
!.config/
|
!.config/
|
||||||
!.config/yazi/
|
!.config/yazi/
|
||||||
!.config/yazi/yazi.toml
|
!.config/yazi/yazi.toml
|
||||||
@@ -58,6 +55,11 @@
|
|||||||
!.config/zed/settings.json
|
!.config/zed/settings.json
|
||||||
!.config/uwsm/
|
!.config/uwsm/
|
||||||
!.config/uwsm/env
|
!.config/uwsm/env
|
||||||
|
!.config/wayvnc/
|
||||||
|
!.config/wayvnc/config
|
||||||
|
!.config/systemd/
|
||||||
|
!.config/systemd/user/
|
||||||
|
!.config/systemd/user/wayvnc.service
|
||||||
!.config/kitty/
|
!.config/kitty/
|
||||||
!.config/kitty/kitty.conf
|
!.config/kitty/kitty.conf
|
||||||
!.config/kitty/themes/
|
!.config/kitty/themes/
|
||||||
@@ -72,5 +74,6 @@
|
|||||||
!.local/share/applications/
|
!.local/share/applications/
|
||||||
!.local/share/applications/org.openrgb.OpenRGB.desktop
|
!.local/share/applications/org.openrgb.OpenRGB.desktop
|
||||||
!.local/share/applications/rquickshare.desktop
|
!.local/share/applications/rquickshare.desktop
|
||||||
|
!.local/share/applications/vlc.desktop
|
||||||
!LICENSE
|
!LICENSE
|
||||||
!README.md
|
!README.md
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# Focuses the existing OpenRGB GUI window if one is already open,
|
|
||||||
# otherwise starts a new GUI (which connects to the headless
|
|
||||||
# autostart server instead of spawning a duplicate server instance).
|
|
||||||
if hyprctl clients -j | jq -e '.[] | select(.class == "openrgb")' > /dev/null; then
|
|
||||||
exec hyprctl dispatch focuswindow "class:^(openrgb)$" 2>/dev/null
|
|
||||||
else
|
|
||||||
exec /usr/bin/openrgb
|
|
||||||
fi
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Type=Application
|
|
||||||
Version=1.5
|
|
||||||
Name=OpenRGB
|
|
||||||
Comment=Control RGB lighting
|
|
||||||
Icon=org.openrgb.OpenRGB
|
|
||||||
StartupWMClass=openrgb
|
|
||||||
TryExec=openrgb
|
|
||||||
Exec=/home/valknar/.local/bin/openrgb-launcher.sh
|
|
||||||
Terminal=false
|
|
||||||
Categories=Utility;
|
|
||||||
@@ -0,0 +1,230 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Name=VLC media player
|
||||||
|
GenericName=Media player
|
||||||
|
Comment=Read, capture, broadcast your multimedia streams
|
||||||
|
Name[af]=VLC-mediaspeler
|
||||||
|
GenericName[af]=Mediaspeler
|
||||||
|
Comment[af]=Lees, vang, send u multimediastrome
|
||||||
|
Name[am]=የ ቪኤልሲ መገናኛ ማጫወቻ
|
||||||
|
GenericName[am]=የ መገናኛ ማጫወቻ
|
||||||
|
Comment[am]=የ እርስዎን በርካታ መገናኛ ማንበቢያ: መያዣ ማስተላለፊያ
|
||||||
|
Name[ar]=مشغل الوسائط VLC
|
||||||
|
GenericName[ar]=مشغل الوسائط
|
||||||
|
Comment[ar]=اقرأ ، التقط ، و بث تدفقات وسائطك المتعددة
|
||||||
|
Name[as_IN]=VLC মিডিয়া প্লেয়াৰ
|
||||||
|
GenericName[as_IN]=মিডিয়া প্লেয়াৰ
|
||||||
|
Comment[as_IN]=আপোনাৰ মাল্টিমিডিয়া ষ্ট্ৰীমসমূহ পঢ়ক, কেপচাৰ কৰক, সম্প্ৰচাৰ কৰক
|
||||||
|
Name[ast]=Reproductor multimedia VLC
|
||||||
|
GenericName[ast]=Reproductor multimedia
|
||||||
|
Comment[ast]=Llei, captura y emiti fluxos multimedia
|
||||||
|
Name[az]=VLC media pleyeri
|
||||||
|
GenericName[az]=Media pleyeri
|
||||||
|
Comment[az]=Multinedia axınlarını oxudun, yazın və yayımlayın
|
||||||
|
Name[be]=Медыяпрайгравальнік VLC
|
||||||
|
GenericName[be]=Медыяпрайгравальнік
|
||||||
|
Comment[be]=Чытаць, лавіць і трансляваць мультымедыйныя патокі
|
||||||
|
Name[bg]=Медиен плейър VLC
|
||||||
|
GenericName[bg]=Медиен плейър
|
||||||
|
Comment[bg]=Прочитане, прихващане и излъчване на мултимедийни потоци.
|
||||||
|
Name[bn_BD]=VLC মিডিয়া প্লেয়ার
|
||||||
|
GenericName[bn_BD]=মিডিয়া প্লেয়ার
|
||||||
|
Comment[bn_BD]=আপনার মাল্টিমিডিয়া স্ট্রীম পড়ুন, ধরে রাখুন এবং ছড়িয়ে দিন
|
||||||
|
Name[br]=VLC lenner mediaoù
|
||||||
|
GenericName[br]=Lenner mediaoù
|
||||||
|
Comment[br]=Lenn, enrollañ, skignañ ho froudoù liesvedia
|
||||||
|
Name[ca]=Reproductor multimèdia VLC
|
||||||
|
GenericName[ca]=Reproductor multimèdia
|
||||||
|
Comment[ca]=Reproduïu, captureu i emeteu fluxos multimèdia
|
||||||
|
Name[co]=Lettore multimedia VLC
|
||||||
|
GenericName[co]=Lettore multimedia
|
||||||
|
Comment[co]=Leghje, cattura, diffonde i vostri flussi multimedia
|
||||||
|
Name[cs]=Multimediální přehrávač VLC
|
||||||
|
GenericName[cs]=Multimediální přehrávač
|
||||||
|
Comment[cs]=Čtěte, zachytávejte, a vysílejte své multimediální proudy
|
||||||
|
Name[cy]=Chwaraeydd VLC
|
||||||
|
GenericName[cy]=Chwaraeydd cyfryngau
|
||||||
|
Comment[cy]=Darllen, cipio a darlledu dy ffrydiau aml-gyfrwng
|
||||||
|
Name[da]=VLC media player
|
||||||
|
GenericName[da]=Medieafspiller
|
||||||
|
Comment[da]=Læs, indspil, transmittér dine multimediestreams
|
||||||
|
Name[de]=VLC Media Player
|
||||||
|
GenericName[de]=Medienwiedergabe
|
||||||
|
Comment[de]=Wiedergabe, Aufnahme und Verbreitung Ihrer Multimedia-Streams
|
||||||
|
Name[el]=Αναπαραγωγός πολυμέσων VLC
|
||||||
|
GenericName[el]=Αναπαραγωγός πολυμέσων
|
||||||
|
Comment[el]=Διαβάστε, καταγράψτε, μεταδώστε τα πολυμέσα σας
|
||||||
|
Name[en_GB]=VLC media player
|
||||||
|
GenericName[en_GB]=Media player
|
||||||
|
Comment[en_GB]=Read, capture, broadcast your multimedia streams
|
||||||
|
Name[es]=Reproductor multimedia VLC
|
||||||
|
GenericName[es]=Reproductor multimedia
|
||||||
|
Comment[es]=Lea, capture y emita sus contenidos multimedia
|
||||||
|
Name[es_MX]=Reproductor multimedia VLC
|
||||||
|
GenericName[es_MX]=Reproductor multimedia
|
||||||
|
Comment[es_MX]=Lea, capture, emita sus transmisiones multimedia
|
||||||
|
Name[et]=VLC meediaesitaja
|
||||||
|
GenericName[et]=Meediaesitaja
|
||||||
|
Comment[et]=Multimeediafailide ja -voogude taasesitamine, lindistamine ja edastamine
|
||||||
|
Name[eu]=VLC multimedia-erreproduzigailua
|
||||||
|
GenericName[eu]=Multimedia irakurgailua
|
||||||
|
Comment[eu]=Irakurri, hartu, igorri zure multimedia jarioak
|
||||||
|
Name[fi]=VLC-mediasoitin
|
||||||
|
GenericName[fi]=Mediasoitin
|
||||||
|
Comment[fi]=Toista, tallenna ja lähetä multimediaa
|
||||||
|
Name[fr]=Lecteur multimédia VLC
|
||||||
|
GenericName[fr]=Lecteur multimédia
|
||||||
|
Comment[fr]=Lit, capture, diffuse vos flux multimédias
|
||||||
|
Name[fy]=VLC media player
|
||||||
|
GenericName[fy]=Mediaspiler
|
||||||
|
Comment[fy]=Jo multimedia-streams lêze, opnimme en útstjoere
|
||||||
|
Name[ga]=Seinnteoir meán VLC
|
||||||
|
GenericName[ga]=Seinnteoir meán
|
||||||
|
Comment[ga]=Léigh, gabh, craol do shruthanna ilmheán
|
||||||
|
Name[gd]=Cluicheadair mheadhanan VLC
|
||||||
|
GenericName[gd]=Cluicheadair mheadhanan
|
||||||
|
Comment[gd]=Leugh, glac is craol sruthan ioma-mheadhain
|
||||||
|
Name[gl]=Reprodutor multimedia VLC
|
||||||
|
GenericName[gl]=Reprodutor multimedia
|
||||||
|
Comment[gl]=Lea, capture e emita os seus fluxos multimedia
|
||||||
|
Name[he]=נגן המדיה VLC
|
||||||
|
GenericName[he]=נגן מדיה
|
||||||
|
Comment[he]=קריאה, לכידה ושידור של תזרימי המולטימדיה שלך
|
||||||
|
Name[hi]=वीएलसी मीडिया प्लेयर
|
||||||
|
GenericName[hi]=मीडिया प्लेयर
|
||||||
|
Comment[hi]=अपनी मल्टीमीडिया स्ट्रीम को पढ़ें, रिकॉर्ड करें, प्रसारित करें
|
||||||
|
Name[hu]=VLC médialejátszó
|
||||||
|
GenericName[hu]=Médialejátszó
|
||||||
|
Comment[hu]=Multimédia adatfolyamok olvasása, felvétele és továbbítása
|
||||||
|
Name[id]=Pemutar media VLC
|
||||||
|
GenericName[id]=Pemutar Media
|
||||||
|
Comment[id]=Baca, tangkap, pancarkan/broadcast aliran multimedia
|
||||||
|
Name[ie]=Reproductor de media VLC
|
||||||
|
GenericName[ie]=Reproductor de media
|
||||||
|
Comment[ie]=Leer, registrar e difuser vor fluvies multimedia
|
||||||
|
Name[is]=VLC spilarinn
|
||||||
|
GenericName[is]=Margmiðlunarspilari
|
||||||
|
Comment[is]=Lesa, taka upp og útvarpa margmiðlunarstreymi
|
||||||
|
Name[it]=Lettore multimediale VLC
|
||||||
|
GenericName[it]=Lettore multimediale
|
||||||
|
Comment[it]=Leggi, cattura, trasmetti i tuoi flussi multimediali
|
||||||
|
Name[ja]=VLCメディアプレイヤー
|
||||||
|
GenericName[ja]=メディアプレイヤー
|
||||||
|
Comment[ja]=マルチメディアストリームの読み込み、キャプチャー、ブロードキャスト
|
||||||
|
Name[ka]=VLC მედიადამკვრელი
|
||||||
|
GenericName[ka]=მედიაფაილების დამკვრელი
|
||||||
|
Comment[ka]=გახსენით, გადაიღეთ, გაუშვით მედიაფაილები ეთერში
|
||||||
|
Name[kab]=Imeɣri n umidya VLC
|
||||||
|
GenericName[kab]=Imeɣri n umidya
|
||||||
|
Comment[kab]=Ɣeṛ, ṭṭef agdil, suffeɣ-d isuddam n umidya-ik
|
||||||
|
Name[km]=កម្មវិធីចាក់មេឌៀ VLC
|
||||||
|
GenericName[km]=កម្មវិធីចាក់មេឌៀ
|
||||||
|
Comment[km]=អាន ចាប់យក ប្រកាសស្ទ្រីមពហុមេឌៀរបស់អ្នក
|
||||||
|
Name[ko]=VLC 미디어 플레이어
|
||||||
|
GenericName[ko]=미디어 플레이어
|
||||||
|
Comment[ko]=당신의 멀티미디어 스트림을 캡쳐 및 방송 할 수 있습니다
|
||||||
|
Name[lt]=VLC leistuvė
|
||||||
|
GenericName[lt]=Leistuvė
|
||||||
|
Comment[lt]=Groti, įrašyti, siųsti įvairialypės terpės kūrinius
|
||||||
|
Name[lv]=VLC mediju atskaņotājs
|
||||||
|
GenericName[lv]=Mediju atskaņotājs
|
||||||
|
Comment[lv]=Lasiet, tveriet un apraidiet savas multimediju straumes
|
||||||
|
Name[ml]=VLC മീഡിയ പ്ലെയർ
|
||||||
|
GenericName[ml]=മീഡിയ പ്ലെയർ
|
||||||
|
Comment[ml]=നിങ്ങളുടെ മൾട്ടിമീഡിയ സ്ട്രീമുകൾ റീഡ് ചെയ്യുക, ക്യാപ്ചർ ചെയ്യുക, പ്രക്ഷേപണം ചെയ്യുക
|
||||||
|
Name[mn]=VLC дамжуулга тоглуулагч
|
||||||
|
GenericName[mn]=Дамжуулга тоглуулагч
|
||||||
|
Comment[mn]=Таны дамжуулгын урсгалыг унших, бичиж авах, цацах
|
||||||
|
Name[mr]=VLC मीडिया प्लेअर
|
||||||
|
GenericName[mr]=मीडिया प्लेअर
|
||||||
|
Comment[mr]=आपले मल्टीमिडिया प्रवाह बघा, हस्तगत करा, प्रसारित करा
|
||||||
|
Name[ms]=Pemain media VLC
|
||||||
|
GenericName[ms]=Pemain media
|
||||||
|
Comment[ms]=Baca, tangkap, siarkan strim multimedia anda
|
||||||
|
Name[my]=VLC မီဒီယာ ပြစက်
|
||||||
|
GenericName[my]=မီဒီယာ ပြစက်
|
||||||
|
Comment[my]=သင်၏ မာတီမီဒီယာ တိုက်ရိုက်လွှင့်ပြ စီးကြောင်းများကို ဖတ်၊ ဖမ်းယူ၊ ထုတ်လွင့်ခြင်း
|
||||||
|
Name[nb]=VLC media player
|
||||||
|
GenericName[nb]=Mediespiller
|
||||||
|
Comment[nb]=Innless, ta opp, og kringkast dine multimediastrømmer
|
||||||
|
Name[ne]=VLC मिडिया प्लेयर
|
||||||
|
GenericName[ne]=मिडिया प्लेयर
|
||||||
|
Comment[ne]=पढ्नुहोस्, क्याप्चर गर्नुहोस्, तपाईंका मल्टिमिडिया स्ट्रिमहरू प्रसारण गर्नुहोस्
|
||||||
|
Name[nl]=VLC media player
|
||||||
|
GenericName[nl]=Mediaspeler
|
||||||
|
Comment[nl]=Uw multimedia-streams lezen, opnemen en uitzenden
|
||||||
|
Name[nn]=VLC mediespelar
|
||||||
|
GenericName[nn]=Mediespelar
|
||||||
|
Comment[nn]=Spel av, ta opp og send ut multimedia
|
||||||
|
Name[oc]=Lector multimèdia VLC
|
||||||
|
GenericName[oc]=Lector multimèdia
|
||||||
|
Comment[oc]=Legissètz, capturatz, difusatz vòstres fluxes multimèdia
|
||||||
|
Name[pa]=VLC ਮੀਡਿਆ ਪਲੇਅਰ
|
||||||
|
GenericName[pa]=ਮੀਡਿਆ ਪਲੇਅਰ
|
||||||
|
Comment[pa]=ਆਪਣੀ ਮਲਟੀਮੀਡਿਆ ਸਟਰੀਮ ਪੜ੍ਹੋ, ਕੈਪਚਰ ਤੇ ਬਰਾਡਕਾਸਟ ਕਰੋ
|
||||||
|
Name[pl]=VLC media player
|
||||||
|
GenericName[pl]=Odtwarzacz multimedialny
|
||||||
|
Comment[pl]=Odczytywanie, przechwytywanie i nadawanie strumieni multimedialnych
|
||||||
|
Name[pt_BR]=Reprodutor de Mídias VLC
|
||||||
|
GenericName[pt_BR]=Reprodutor de Mídias
|
||||||
|
Comment[pt_BR]=Reproduza, capture e transmita os seus transmissões multimídia
|
||||||
|
Name[pt_PT]=VLC media player
|
||||||
|
GenericName[pt_PT]=Reprodutor de multimédia
|
||||||
|
Comment[pt_PT]=Ler, capturar, transmitir as suas emissões de multimédia
|
||||||
|
Name[ro]=Redor media VLC
|
||||||
|
GenericName[ro]=Redor media
|
||||||
|
Comment[ro]=Citește, capturează, difuzează fluxurile multimedia
|
||||||
|
Name[ru]=Медиаплеер VLC
|
||||||
|
GenericName[ru]=Медиаплеер
|
||||||
|
Comment[ru]=Универсальный проигрыватель видео и аудио
|
||||||
|
Name[sc]=Leghidore multimediale VLC
|
||||||
|
GenericName[sc]=Leghidore multimediale
|
||||||
|
Comment[sc]=Leghe, catura, trasmite sos flussos multimediales tuos
|
||||||
|
Name[sk]=VLC media player
|
||||||
|
GenericName[sk]=Prehrávač médií
|
||||||
|
Comment[sk]=Načítavajte, zaznamenávajte, vysielajte svoje multimediálne streamy
|
||||||
|
Name[sl]=Predvajalnik VLC
|
||||||
|
GenericName[sl]=Predvajalnik predstavnih vsebin
|
||||||
|
Comment[sl]=Berite, zajemite, oddajajte vaše večpredstavne pretoke
|
||||||
|
Name[sr]=ВЛЦ медијски плејер
|
||||||
|
GenericName[sr]=Медијски плејер
|
||||||
|
Comment[sr]=Читај, хватај, емитуј своје мултимедијалне токове
|
||||||
|
Name[sq]=VLC lexues media
|
||||||
|
GenericName[sq]=Lexues Media
|
||||||
|
Comment[sq]=Lexoni, kapni dhe transmetoni transmetimet tuaja multimedia
|
||||||
|
Name[sv]=VLC media player
|
||||||
|
GenericName[sv]=Mediaspelare
|
||||||
|
Comment[sv]=Läs, fånga, sänd dina multimediaströmmar
|
||||||
|
Name[te]=VLC మాధ్యమ ప్రదర్శకం
|
||||||
|
GenericName[te]=మాధ్యమ ప్రదర్శకం
|
||||||
|
Comment[te]=మీ బహుళమాధ్యమ ప్రవాహాలను చదువు, బంధించు మరియు ప్రసారం చేయి
|
||||||
|
Name[th]=โปรแกรมเล่นสื่อ VLC
|
||||||
|
GenericName[th]=โปรแกรมเล่นสื่อ
|
||||||
|
Comment[th]=อ่าน จับ และถ่ายทอดสตรีมมัลติมีเดียของคุณ
|
||||||
|
Name[tr]=VLC ortam oynatıcısı
|
||||||
|
GenericName[tr]=Ortam oynatıcısı
|
||||||
|
Comment[tr]=Çoklu ortam akışlarınızı okuyun, yakalayın, yayınlayın
|
||||||
|
Name[uk]=Медіапрогравач VLC
|
||||||
|
GenericName[uk]=Медіапрогравач
|
||||||
|
Comment[uk]=Читання, захоплення та поширення ваших мультимедійних потоків
|
||||||
|
Name[vi]=Trình phát media VLC
|
||||||
|
GenericName[vi]=Trình phát Media
|
||||||
|
Comment[vi]=Đọc, chụp, phát các luồng đa phương tiện của bạn
|
||||||
|
Name[wa]=Djouweu d' media VLC
|
||||||
|
GenericName[wa]=Djouweu d' media
|
||||||
|
Comment[wa]=Lét, egaloye, evoye vos floûs multimedia
|
||||||
|
Name[zh_CN]=VLC 媒体播放器
|
||||||
|
GenericName[zh_CN]=媒体播放器
|
||||||
|
Comment[zh_CN]=读取、捕获、广播您的多媒体流
|
||||||
|
Name[zh_TW]=VLC 媒體播放器
|
||||||
|
GenericName[zh_TW]=媒體播放器
|
||||||
|
Comment[zh_TW]=讀取、擷取與廣播您的多媒體串流
|
||||||
|
Exec=env QT_SCALE_FACTOR=1.5 /usr/bin/vlc --started-from-file %U
|
||||||
|
TryExec=/usr/bin/vlc
|
||||||
|
Icon=vlc
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
Categories=AudioVideo;Player;Recorder;
|
||||||
|
MimeType=application/ogg;application/x-ogg;audio/ogg;audio/vorbis;audio/x-vorbis;audio/x-vorbis+ogg;video/ogg;video/x-ogm;video/x-ogm+ogg;video/x-theora+ogg;video/x-theora;audio/x-speex;audio/opus;application/x-flac;audio/flac;audio/x-flac;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;audio/x-ms-wma;video/x-ms-asf;video/x-ms-asf-plugin;video/x-ms-asx;video/x-ms-wm;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvx;video/x-msvideo;audio/x-pn-windows-acm;video/divx;video/msvideo;video/vnd.divx;video/avi;video/x-avi;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/vnd.rn-realaudio;audio/x-pn-realaudio;audio/x-pn-realaudio-plugin;audio/x-real-audio;audio/x-realaudio;video/vnd.rn-realvideo;audio/mpeg;audio/mpg;audio/mp1;audio/mp2;audio/mp3;audio/x-mp1;audio/x-mp2;audio/x-mp3;audio/x-mpeg;audio/x-mpg;video/mp2t;video/mpeg;video/mpeg-system;video/x-mpeg;video/x-mpeg2;video/x-mpeg-system;application/mpeg4-iod;application/mpeg4-muxcodetable;application/x-extension-m4a;application/x-extension-mp4;audio/aac;audio/m4a;audio/mp4;audio/x-m4a;audio/x-aac;video/mp4;video/mp4v-es;video/x-m4v;application/x-quicktime-media-link;application/x-quicktimeplayer;video/quicktime;application/x-matroska;audio/x-matroska;video/x-matroska;video/webm;audio/webm;audio/3gpp;audio/3gpp2;audio/AMR;audio/AMR-WB;video/3gp;video/3gpp;video/3gpp2;x-scheme-handler/mms;x-scheme-handler/mmsh;x-scheme-handler/rtsp;x-scheme-handler/rtp;x-scheme-handler/rtmp;x-scheme-handler/icy;x-scheme-handler/icyx;application/x-cd-image;x-content/video-vcd;x-content/video-svcd;x-content/video-dvd;x-content/audio-cdda;x-content/audio-player;application/ram;application/xspf+xml;audio/mpegurl;audio/x-mpegurl;audio/scpls;audio/x-scpls;text/google-video-pointer;text/x-google-video-pointer;video/vnd.mpegurl;application/vnd.apple.mpegurl;application/vnd.ms-asf;application/vnd.ms-wpl;application/sdp;audio/dv;video/dv;audio/x-aiff;audio/x-pn-aiff;video/x-anim;video/x-nsv;video/fli;video/flv;video/x-flc;video/x-fli;video/x-flv;audio/wav;audio/x-pn-au;audio/x-pn-wav;audio/x-wav;audio/x-adpcm;audio/ac3;audio/eac3;audio/vnd.dts;audio/vnd.dts.hd;audio/vnd.dolby.heaac.1;audio/vnd.dolby.heaac.2;audio/vnd.dolby.mlp;audio/basic;audio/midi;audio/x-ape;audio/x-gsm;audio/x-musepack;audio/x-tta;audio/x-wavpack;audio/x-shorten;application/x-shockwave-flash;application/x-flash-video;misc/ultravox;image/vnd.rn-realpix;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-xm;application/mxf;
|
||||||
|
X-KDE-Protocols=ftp,http,https,mms,rtmp,rtsp,sftp,smb
|
||||||
|
Keywords=Player;Capture;DVD;Audio;Video;Server;Broadcast;
|
||||||
Vendored
-10
@@ -1,10 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"key": "shift+enter",
|
|
||||||
"command": "workbench.action.terminal.sendSequence",
|
|
||||||
"args": {
|
|
||||||
"text": "\u001b\r"
|
|
||||||
},
|
|
||||||
"when": "terminalFocus"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
Vendored
-47
@@ -1,47 +0,0 @@
|
|||||||
{
|
|
||||||
// -------------------------------------------------------------------------
|
|
||||||
// Nord colorscheme applied via settings — no extension required.
|
|
||||||
// Source: https://github.com/arcticicestudio/nord-visual-studio-code
|
|
||||||
// Polar Night: #2E3440 #3B4252 #434C5E #4C566A
|
|
||||||
// Snow Storm: #D8DEE9 #E5E9F0 #ECEFF4
|
|
||||||
// Frost: #8FBCBB #88C0D0 #81A1C1 #5E81AC
|
|
||||||
// Aurora: #BF616A #D08770 #EBCB8B #A3BE8C #B48EAD
|
|
||||||
// -------------------------------------------------------------------------
|
|
||||||
"workbench.colorTheme": "Catppuccin Frappé",
|
|
||||||
"editor.semanticHighlighting.enabled": true,
|
|
||||||
// -------------------------------------------------------------------------
|
|
||||||
// Editor
|
|
||||||
// -------------------------------------------------------------------------
|
|
||||||
"workbench.externalBrowser": "chrome",
|
|
||||||
"explorer.confirmDragAndDrop": false,
|
|
||||||
"explorer.confirmPasteNative": false,
|
|
||||||
"editor.formatOnSave": false,
|
|
||||||
"git.confirmSync": false,
|
|
||||||
"git.repositoryScanMaxDepth": 2,
|
|
||||||
"remote.autoForwardPortsSource": "hybrid",
|
|
||||||
// -------------------------------------------------------------------------
|
|
||||||
// Terminal
|
|
||||||
// -------------------------------------------------------------------------
|
|
||||||
"terminal.integrated.fontFamily": "MesloLGLDZ Nerd Font Mono",
|
|
||||||
"terminal.integrated.sendKeybindingsToShell": true,
|
|
||||||
"terminal.integrated.defaultProfile.linux": "zsh (login)",
|
|
||||||
"terminal.integrated.profiles.linux": {
|
|
||||||
"bash": {
|
|
||||||
"path": "bash",
|
|
||||||
"icon": "terminal-bash"
|
|
||||||
},
|
|
||||||
"zsh": {
|
|
||||||
"path": "zsh"
|
|
||||||
},
|
|
||||||
"zsh (login)": {
|
|
||||||
"path": "zsh",
|
|
||||||
"args": [
|
|
||||||
"-l"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"pwsh": {
|
|
||||||
"path": "pwsh",
|
|
||||||
"icon": "terminal-powershell"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -149,11 +149,3 @@ function y() {
|
|||||||
[ "$cwd" != "$PWD" ] && [ -d "$cwd" ] && builtin cd -- "$cwd"
|
[ "$cwd" != "$PWD" ] && [ -d "$cwd" ] && builtin cd -- "$cwd"
|
||||||
command rm -f -- "$tmp"
|
command rm -f -- "$tmp"
|
||||||
}
|
}
|
||||||
|
|
||||||
# pnpm
|
|
||||||
export PNPM_HOME="/home/valknar/.local/share/pnpm"
|
|
||||||
case ":$PATH:" in
|
|
||||||
*":$PNPM_HOME/bin:"*) ;;
|
|
||||||
*) export PATH="$PNPM_HOME/bin:$PATH" ;;
|
|
||||||
esac
|
|
||||||
# pnpm end
|
|
||||||
|
|||||||
@@ -72,8 +72,6 @@ scripts:
|
|||||||
micro:plugins: |
|
micro:plugins: |
|
||||||
micro -plugin install editorconfig
|
micro -plugin install editorconfig
|
||||||
catppuccin:install: |
|
catppuccin:install: |
|
||||||
code --install-extension catppuccin.catppuccin-vsc
|
|
||||||
code --install-extension catppuccin.catppuccin-vsc-icons
|
|
||||||
mkdir -p ~/.config/micro/colorschemes
|
mkdir -p ~/.config/micro/colorschemes
|
||||||
ln -sf ~/.catppuccin/micro/themes/catppuccin-frappe.micro ~/.config/micro/colorschemes/catppuccin-frappe.micro
|
ln -sf ~/.catppuccin/micro/themes/catppuccin-frappe.micro ~/.config/micro/colorschemes/catppuccin-frappe.micro
|
||||||
mkdir -p ~/.config/bat/themes
|
mkdir -p ~/.config/bat/themes
|
||||||
@@ -85,3 +83,4 @@ scripts:
|
|||||||
mkdir -p ~/.local/share/fonts/Meslo
|
mkdir -p ~/.local/share/fonts/Meslo
|
||||||
curl -L https://github.com/ryanoasis/nerd-fonts/releases/latest/download/Meslo.tar.xz | tar --extract --xz --directory ~/.local/share/fonts/Meslo
|
curl -L https://github.com/ryanoasis/nerd-fonts/releases/latest/download/Meslo.tar.xz | tar --extract --xz --directory ~/.local/share/fonts/Meslo
|
||||||
fc-cache -fv
|
fc-cache -fv
|
||||||
|
tailscale:up: sudo tailscale up --login-server https://headscale.pivoine.art
|
||||||
|
|||||||
+77
-18
@@ -379,22 +379,32 @@ cmd_compose() {
|
|||||||
|
|
||||||
# ─── Update Service ───────────────────────────────────────────────────────────
|
# ─── Update Service ───────────────────────────────────────────────────────────
|
||||||
|
|
||||||
# Resolve each service's image tag to its current local SHA256 ID.
|
# Resolve the compose config's image references to their current local SHA256
|
||||||
# Reads from the local image store (updated by 'docker compose pull'),
|
# IDs, one per line, sorted. Reads from the local image store (updated by
|
||||||
# NOT from running containers — so the comparison reflects the pulled image.
|
# 'docker compose pull'), NOT from running containers.
|
||||||
|
#
|
||||||
|
# Returns non-zero (and prints nothing) if the image list can't be resolved or
|
||||||
|
# none of the images are present locally — callers MUST treat that as "unknown",
|
||||||
|
# never as "everything changed".
|
||||||
_stack_image_ids() {
|
_stack_image_ids() {
|
||||||
local stack_dir="$1"; shift
|
local stack_dir="$1"; shift
|
||||||
local -a env_flag=("$@")
|
local -a env_flag=("$@")
|
||||||
local images
|
local images ids
|
||||||
|
|
||||||
# 'config --images' (compose v2.19+) outputs one image name per line;
|
# 'config --images' (compose v2.19+) outputs one image name per line;
|
||||||
# fall back to parsing the resolved config yaml for older versions.
|
# fall back to parsing the resolved config yaml for older versions.
|
||||||
if images=$(cd "$stack_dir" && docker compose "${env_flag[@]}" config --images 2>/dev/null) \
|
# NOTE: the fallback regex must be POSIX ([[:space:]], not \s) — mawk, the
|
||||||
&& [[ -n "$images" ]]; then
|
# default awk on Debian, does not understand \s and silently matches nothing.
|
||||||
echo "$images"
|
if ! images=$(cd "$stack_dir" && docker compose "${env_flag[@]}" config --images 2>/dev/null) \
|
||||||
else
|
|| [[ -z "$images" ]]; then
|
||||||
cd "$stack_dir" && docker compose "${env_flag[@]}" config 2>/dev/null \
|
images=$(cd "$stack_dir" && docker compose "${env_flag[@]}" config 2>/dev/null \
|
||||||
| awk '/^\s+image:/{print $2}' | sort -u
|
| awk '/^[[:space:]]+image:/{print $2}' | sort -u) || true
|
||||||
fi | xargs -r docker image inspect --format '{{.Id}}' 2>/dev/null | sort
|
fi
|
||||||
|
[[ -n "$images" ]] || return 1
|
||||||
|
|
||||||
|
ids=$(echo "$images" | xargs -r docker image inspect --format '{{.Id}}' 2>/dev/null | sort) || true
|
||||||
|
[[ -n "$ids" ]] || return 1
|
||||||
|
echo "$ids"
|
||||||
}
|
}
|
||||||
|
|
||||||
_update_run() {
|
_update_run() {
|
||||||
@@ -402,7 +412,7 @@ _update_run() {
|
|||||||
|
|
||||||
local -a all_stacks=()
|
local -a all_stacks=()
|
||||||
mapfile -t all_stacks < <(list_all_stacks)
|
mapfile -t all_stacks < <(list_all_stacks)
|
||||||
local -a updated=() failed=()
|
local -a updated=() failed=() skipped=()
|
||||||
local -i checked=0
|
local -i checked=0
|
||||||
|
|
||||||
log "Starting image update check (${#all_stacks[@]} stacks)"
|
log "Starting image update check (${#all_stacks[@]} stacks)"
|
||||||
@@ -415,13 +425,56 @@ _update_run() {
|
|||||||
info "Checking ${BOLD}$stack${RESET}"
|
info "Checking ${BOLD}$stack${RESET}"
|
||||||
((checked++)) || true
|
((checked++)) || true
|
||||||
|
|
||||||
local before after
|
# --- Pull, with retry. Nightly runs regularly hit transient registry
|
||||||
before=$(_stack_image_ids "$stack_dir" "${env_flag[@]+"${env_flag[@]}"}") || true
|
# errors (toomanyrequests, TLS resets, gitea registry restarting) that
|
||||||
(cd "$stack_dir" && docker compose "${env_flag[@]}" pull 2>&1) || true
|
# a short backoff clears. A pull that never succeeds must NOT fall
|
||||||
after=$(_stack_image_ids "$stack_dir" "${env_flag[@]+"${env_flag[@]}"}") || true
|
# through to the change check — otherwise a stale image looks
|
||||||
|
# "up to date" forever (this is what stuck coolify). ---
|
||||||
|
local pull_ok=false attempt
|
||||||
|
for attempt in 1 2 3 4 5; do
|
||||||
|
if (cd "$stack_dir" && docker compose "${env_flag[@]}" pull 2>&1); then
|
||||||
|
pull_ok=true
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
warn " Pull failed for $stack (attempt $attempt/5)"
|
||||||
|
[[ $attempt -lt 5 ]] && sleep $((attempt * 20))
|
||||||
|
done
|
||||||
|
if ! $pull_ok; then
|
||||||
|
err " Pull failed for $stack after 5 attempts — skipping (not recreated)"
|
||||||
|
skipped+=("$stack")
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ "$before" != "$after" ]]; then
|
# --- Decide whether a recreate is needed by comparing the image IDs the
|
||||||
|
# RUNNING containers use against the IDs the (post-pull) config
|
||||||
|
# resolves to. Unlike the old before/after snapshot diff, a transient
|
||||||
|
# empty read here can't be mistaken for "everything changed" — an
|
||||||
|
# unresolvable list is skipped, not acted on. ---
|
||||||
|
local desired current
|
||||||
|
desired=$(_stack_image_ids "$stack_dir" "${env_flag[@]+"${env_flag[@]}"}") || desired=""
|
||||||
|
if [[ -z "$desired" ]]; then
|
||||||
|
warn " Could not resolve images for $stack — skipping (not recreated)"
|
||||||
|
skipped+=("$stack")
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
current=$(cd "$stack_dir" && docker compose "${env_flag[@]}" ps -q 2>/dev/null \
|
||||||
|
| xargs -r docker inspect --format '{{.Image}}' 2>/dev/null | sort -u)
|
||||||
|
|
||||||
|
if [[ -z "$current" ]]; then
|
||||||
|
info " Up to date (stack not running — left as is)"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
local stale=false cid
|
||||||
|
while IFS= read -r cid; do
|
||||||
|
[[ -z "$cid" ]] && continue
|
||||||
|
grep -qxF -- "$cid" <<<"$desired" || stale=true
|
||||||
|
done <<<"$current"
|
||||||
|
|
||||||
|
if $stale; then
|
||||||
info " Updates found — recreating $stack"
|
info " Updates found — recreating $stack"
|
||||||
|
info " running: ${current//$'\n'/ }"
|
||||||
|
info " resolved: ${desired//$'\n'/ }"
|
||||||
if (cd "$stack_dir" && docker compose "${env_flag[@]}" up -d 2>&1); then
|
if (cd "$stack_dir" && docker compose "${env_flag[@]}" up -d 2>&1); then
|
||||||
updated+=("$stack")
|
updated+=("$stack")
|
||||||
ok " $stack updated"
|
ok " $stack updated"
|
||||||
@@ -440,9 +493,14 @@ _update_run() {
|
|||||||
local date_str
|
local date_str
|
||||||
date_str="$(date '+%Y-%m-%d %H:%M')"
|
date_str="$(date '+%Y-%m-%d %H:%M')"
|
||||||
|
|
||||||
|
local skipped_line=""
|
||||||
|
[[ ${#skipped[@]} -gt 0 ]] && skipped_line="\n⚠️ Skipped (transient errors, not recreated): ${skipped[*]}"
|
||||||
|
|
||||||
if [[ ${#failed[@]} -gt 0 ]]; then
|
if [[ ${#failed[@]} -gt 0 ]]; then
|
||||||
_notify "#cc0000" "❌ **Update failed** — $date_str\nUpdated: ${updated[*]:-none}\nFailed: ${failed[*]}"
|
_notify "#cc0000" "❌ **Update failed** — $date_str\nUpdated: ${updated[*]:-none}\nFailed: ${failed[*]}${skipped_line}"
|
||||||
return 1
|
return 1
|
||||||
|
elif [[ ${#skipped[@]} -gt 0 ]]; then
|
||||||
|
_notify "#e8a33d" "⚠️ **Update finished with warnings** — $date_str\nUpdated: ${updated[*]:-none}${skipped_line}"
|
||||||
elif [[ ${#updated[@]} -gt 0 ]]; then
|
elif [[ ${#updated[@]} -gt 0 ]]; then
|
||||||
_notify "#36a64f" "✅ **Updates applied** — $date_str\nStacks updated (${#updated[@]}/$checked): ${updated[*]}"
|
_notify "#36a64f" "✅ **Updates applied** — $date_str\nStacks updated (${#updated[@]}/$checked): ${updated[*]}"
|
||||||
else
|
else
|
||||||
@@ -482,6 +540,7 @@ Description=Daily Docker stacks image update at 2:00 AM
|
|||||||
|
|
||||||
[Timer]
|
[Timer]
|
||||||
OnCalendar=*-*-* 02:00:00 Europe/Amsterdam
|
OnCalendar=*-*-* 02:00:00 Europe/Amsterdam
|
||||||
|
RandomizedDelaySec=1800
|
||||||
Persistent=true
|
Persistent=true
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
exec /home/valknar/Projekte/openrgb-hue/.venv/bin/openrgb-hue apply "$SCENE" "$@"
|
|
||||||
+203
-1
@@ -32,7 +32,20 @@ scripts:
|
|||||||
name: "OpenRGB: Apply Hue Scene"
|
name: "OpenRGB: Apply Hue Scene"
|
||||||
description: Apply a Philips Hue scene as a static color gradient across OpenRGB-controlled lights (motherboard, GPU, RAM, etc).
|
description: Apply a Philips Hue scene as a static color gradient across OpenRGB-controlled lights (motherboard, GPU, RAM, etc).
|
||||||
command: bash
|
command: bash
|
||||||
args: ["./scripts/openrgb-hue-apply.sh"]
|
args:
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
# systemd --user units run with a minimal PATH that skips pyenv shims
|
||||||
|
# and pip's --user bin dir, so add the common locations as a fallback.
|
||||||
|
export PATH="$HOME/.local/bin:$HOME/.pyenv/shims:$PATH"
|
||||||
|
if ! command -v openrgb-hue >/dev/null 2>&1; then
|
||||||
|
echo "error: 'openrgb-hue' was not found on PATH." >&2
|
||||||
|
echo "Install it with:" >&2
|
||||||
|
echo " pip install --index-url https://dev.pivoine.art/api/packages/valknar/pypi/simple/ --extra-index-url https://pypi.org/simple openrgb-hue" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
exec openrgb-hue apply "$SCENE" "$@"
|
||||||
|
- openrgb-hue-apply
|
||||||
cwd: ./
|
cwd: ./
|
||||||
timeoutSeconds: 30
|
timeoutSeconds: 30
|
||||||
variables:
|
variables:
|
||||||
@@ -282,3 +295,192 @@ scripts:
|
|||||||
min: 1
|
min: 1
|
||||||
passAs: arg
|
passAs: arg
|
||||||
argName: --dry-run-leds
|
argName: --dry-run-leds
|
||||||
|
|
||||||
|
- id: openrgb-hue-off
|
||||||
|
name: "OpenRGB: Turn Off Lights"
|
||||||
|
description: Turn off OpenRGB-controlled LEDs. Leave every filter unset to turn off all of them.
|
||||||
|
command: bash
|
||||||
|
args:
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
export PATH="$HOME/.local/bin:$HOME/.pyenv/shims:$PATH"
|
||||||
|
if ! command -v openrgb-hue >/dev/null 2>&1; then
|
||||||
|
echo "error: 'openrgb-hue' was not found on PATH." >&2
|
||||||
|
echo "Install it with:" >&2
|
||||||
|
echo " pip install --index-url https://dev.pivoine.art/api/packages/valknar/pypi/simple/ --extra-index-url https://pypi.org/simple openrgb-hue" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
exec openrgb-hue off "$@"
|
||||||
|
- openrgb-hue-off
|
||||||
|
cwd: ./
|
||||||
|
timeoutSeconds: 30
|
||||||
|
variables:
|
||||||
|
- name: deviceType
|
||||||
|
label: Device Type
|
||||||
|
description: Limit to devices of this type. Leave unset to target every device.
|
||||||
|
type: enum
|
||||||
|
required: false
|
||||||
|
choices: [DRAM, GPU, MOTHERBOARD]
|
||||||
|
control: select
|
||||||
|
passAs: arg
|
||||||
|
argName: --device-type
|
||||||
|
|
||||||
|
- name: device
|
||||||
|
label: Device
|
||||||
|
description: Limit to a single device by name. Leave unset to target every device.
|
||||||
|
type: enum
|
||||||
|
required: false
|
||||||
|
choices:
|
||||||
|
- "Corsair Vengeance RGB DDR5"
|
||||||
|
- "Gigabyte GeForce RTX 3060 Gaming OC"
|
||||||
|
- "MSI MYSTIC LIGHT"
|
||||||
|
control: select
|
||||||
|
passAs: arg
|
||||||
|
argName: --device
|
||||||
|
|
||||||
|
- name: zone
|
||||||
|
label: Zone
|
||||||
|
description: Limit to a single zone by name. Leave unset to target every zone.
|
||||||
|
type: enum
|
||||||
|
required: false
|
||||||
|
choices:
|
||||||
|
- "Corsair DRAM"
|
||||||
|
- "GPU Zone"
|
||||||
|
- "JAF"
|
||||||
|
- "JARGB 1"
|
||||||
|
- "JARGB 2"
|
||||||
|
- "JARGB 3"
|
||||||
|
control: select
|
||||||
|
passAs: arg
|
||||||
|
argName: --zone
|
||||||
|
|
||||||
|
- id: spotify-start
|
||||||
|
name: "Spotify: Start App"
|
||||||
|
description: >-
|
||||||
|
Launch the Spotify desktop app on the local session. Does nothing if it is
|
||||||
|
already running (Spotify focuses its existing window).
|
||||||
|
command: bash
|
||||||
|
args:
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
# triggershell.service starts before the graphical session, so its own
|
||||||
|
# environment has no WAYLAND_DISPLAY/DISPLAY and a stripped-down PATH.
|
||||||
|
# systemd-run --user launches Spotify from the user manager instead,
|
||||||
|
# which does carry the full graphical environment.
|
||||||
|
if systemctl --user --quiet is-active spotify.service; then
|
||||||
|
echo "Spotify is already running."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
systemctl --user reset-failed spotify.service 2>/dev/null || true
|
||||||
|
exec systemd-run --user --collect --quiet --unit=spotify spotify-launcher
|
||||||
|
- spotify-start
|
||||||
|
cwd: ./
|
||||||
|
timeoutSeconds: 20
|
||||||
|
variables: []
|
||||||
|
|
||||||
|
- id: spotify-stop
|
||||||
|
name: "Spotify: Stop Playback"
|
||||||
|
description: >-
|
||||||
|
Pauses Spotify playback on the local session via its MPRIS D-Bus
|
||||||
|
interface. Does nothing if Spotify is not running.
|
||||||
|
command: bash
|
||||||
|
args:
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
# triggershell.service starts before the graphical session and has no
|
||||||
|
# DBUS_SESSION_BUS_ADDRESS, so point dbus-send at the user bus socket
|
||||||
|
# directly (systemctl --user works here, so this socket exists).
|
||||||
|
bus="unix:path=${XDG_RUNTIME_DIR:-/run/user/$(id -u)}/bus"
|
||||||
|
if ! dbus-send --bus="$bus" --print-reply --dest=org.freedesktop.DBus \
|
||||||
|
/org/freedesktop/DBus org.freedesktop.DBus.ListNames 2>/dev/null \
|
||||||
|
| grep -q '"org.mpris.MediaPlayer2.spotify"'; then
|
||||||
|
echo "Spotify is not running."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
exec dbus-send --bus="$bus" --print-reply --type=method_call \
|
||||||
|
--dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 \
|
||||||
|
org.mpris.MediaPlayer2.Player.Pause
|
||||||
|
- spotify-stop
|
||||||
|
cwd: ./
|
||||||
|
timeoutSeconds: 15
|
||||||
|
variables: []
|
||||||
|
|
||||||
|
- id: system-shutdown
|
||||||
|
name: "System: Shutdown"
|
||||||
|
description: >-
|
||||||
|
Powers off this machine. Type "shutdown" in the Confirm field to proceed.
|
||||||
|
Optionally schedule it a few minutes out (cancel a pending one with "System: Cancel Shutdown").
|
||||||
|
command: bash
|
||||||
|
args:
|
||||||
|
- -c
|
||||||
|
- >-
|
||||||
|
if [ "$CONFIRM" != "shutdown" ]; then
|
||||||
|
echo 'Aborted: type "shutdown" in the Confirm field to proceed.' >&2; exit 1;
|
||||||
|
fi;
|
||||||
|
when=now;
|
||||||
|
if [ "${DELAY_MINUTES:-0}" -gt 0 ] 2>/dev/null; then when="+$DELAY_MINUTES"; fi;
|
||||||
|
echo "Scheduling poweroff ($when)...";
|
||||||
|
exec shutdown -h "$when"
|
||||||
|
timeoutSeconds: 30
|
||||||
|
variables:
|
||||||
|
- name: confirm
|
||||||
|
label: Confirm
|
||||||
|
description: Type "shutdown" (exactly) to confirm you want to power off this machine.
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
pattern: "^shutdown$"
|
||||||
|
passAs: env
|
||||||
|
envName: CONFIRM
|
||||||
|
- name: delayMinutes
|
||||||
|
label: Delay (minutes)
|
||||||
|
description: Wait this many minutes before powering off. 0 = immediately.
|
||||||
|
type: number
|
||||||
|
default: 0
|
||||||
|
min: 0
|
||||||
|
max: 120
|
||||||
|
passAs: env
|
||||||
|
envName: DELAY_MINUTES
|
||||||
|
|
||||||
|
- id: system-reboot
|
||||||
|
name: "System: Reboot"
|
||||||
|
description: >-
|
||||||
|
Reboots this machine. Type "reboot" in the Confirm field to proceed.
|
||||||
|
Optionally schedule it a few minutes out (cancel a pending one with "System: Cancel Shutdown").
|
||||||
|
command: bash
|
||||||
|
args:
|
||||||
|
- -c
|
||||||
|
- >-
|
||||||
|
if [ "$CONFIRM" != "reboot" ]; then
|
||||||
|
echo 'Aborted: type "reboot" in the Confirm field to proceed.' >&2; exit 1;
|
||||||
|
fi;
|
||||||
|
when=now;
|
||||||
|
if [ "${DELAY_MINUTES:-0}" -gt 0 ] 2>/dev/null; then when="+$DELAY_MINUTES"; fi;
|
||||||
|
echo "Scheduling reboot ($when)...";
|
||||||
|
exec shutdown -r "$when"
|
||||||
|
timeoutSeconds: 30
|
||||||
|
variables:
|
||||||
|
- name: confirm
|
||||||
|
label: Confirm
|
||||||
|
description: Type "reboot" (exactly) to confirm you want to reboot this machine.
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
pattern: "^reboot$"
|
||||||
|
passAs: env
|
||||||
|
envName: CONFIRM
|
||||||
|
- name: delayMinutes
|
||||||
|
label: Delay (minutes)
|
||||||
|
description: Wait this many minutes before rebooting. 0 = immediately.
|
||||||
|
type: number
|
||||||
|
default: 0
|
||||||
|
min: 0
|
||||||
|
max: 120
|
||||||
|
passAs: env
|
||||||
|
envName: DELAY_MINUTES
|
||||||
|
|
||||||
|
- id: system-cancel-shutdown
|
||||||
|
name: "System: Cancel Shutdown"
|
||||||
|
description: Cancels a pending scheduled shutdown or reboot.
|
||||||
|
command: shutdown
|
||||||
|
args: ["-c"]
|
||||||
|
timeoutSeconds: 15
|
||||||
|
variables: []
|
||||||
|
|||||||
Reference in New Issue
Block a user