KDE Plasma Activities na steroidech

linux kde

KDE Plasma Activities jsem vždycky považoval za zbytečnou a nudnou funkci -- takové vylepšené pracovní plochy s přidanou režií navíc. Nemohl jsem se ale víc mýlit!

Bohužel tato funkcionalita není pro běžného uživatele snadno viditelná, což je nevýhoda Activities.

Activities podporují spouštění skriptů pro čtyři akce:

  • Activated: Spustí se, když je aktivita vybrána nebo získá focus.
  • Deactivated: Spustí se při přepnutí na jinou aktivitu.
  • Started: Spustí se při inicializaci aktivity.
  • Stopped: Spustí se při zastavení aktivity.

Pro tuto funkcionalitu ale neexistuje žádné grafické rozhraní (GUI). Na KDE fóru sice existuje diskuze z června 2023, ale zdá se, že se na tom od té doby nepracuje.

Pojďme si tedy skripty nastavit ručně.

Nastavení skriptů

Nejprve musíte zjistit ID aktivit, které máte spuštěné. To uděláte následujícím příkazem:

kactivities-cli --list-activities

Tento příkaz vám vrátí tabulku obsahující Activity ID, Activity Name a Activity Icon. Potřebujete pouze Activity ID. Dále přejděte do složky .local/share/kactivitymanagerd/activities/ (vytvořte ji, pokud neexistuje). Uvnitř této složky vytvořte podsložku se stejným názvem jako Activity ID, pro které chcete skripty nastavit. Poté vytvořte podsložky pro jednotlivé akce: activated, deactivated, started nebo stopped. Můžete vytvořit složky pro všechny. Jakýkoli skript umístěný do některé z těchto složek se pak automaticky spustí.

Rozšířená funkcionalita

S těmito skripty máte plně automatizované přepínání aktivit v Plasmě. Co dál? Například můžete přizpůsobit výchozí prohlížeč pro každou aktivitu.

K tomu využijeme skript utils.sh, který si můžete umístit kamkoli:

#!/bin/bash

function writeconf() {
  kwriteconfig5 --file ~/.config/kdeglobals --group General --key BrowserApplication "$1"
  xdg-settings set default-web-browser "$1"
  xdg-mime default "$1" x-scheme-handler/https
  xdg-mime default "$1" x-scheme-handler/http
  xdg-mime default "$1" text/html
}

function readconf() {
  kreadconfig5 --file ~/.config/kdeglobals --group General --key BrowserApplication
}

Poté vytvořte samostatné skripty pro aktivaci Chrome a Firefoxu:

activate-chrome.sh -- umístěte do activated:

#!/bin/bash

source ~/.bin/activities/utils.sh

service=org.kde.ActivityManager
interface=$service.Activities
path=/ActivityManager/Activities
signal=CurrentActivityChanged

curact=$(qdbus $service $path $interface.CurrentActivity)
name="$(qdbus $service $path $interface.ActivityName $curact)"
echo "Switched to activity $name"
echo "Previous browser: $(readconf)"
echo "Setting browser to Chrome"
writeconf google-chrome.desktop
echo "Current Browser: $(readconf)"

activate-firefox.sh -- umístěte do deactivated:

#!/bin/bash

source ~/.bin/activities/utils.sh

service=org.kde.ActivityManager
interface=$service.Activities
path=/ActivityManager/Activities
signal=CurrentActivityChanged

curact=$(qdbus $service $path $interface.CurrentActivity)
name="$(qdbus $service $path $interface.ActivityName $curact)"
echo "Switched to activity $name"
echo "Previous browser: $(readconf)"
echo "Setting browser to Firefox"
writeconf firefox.desktop
echo "Current Browser: $(readconf)"

Představte si, že tyto skripty aplikujete na aktivitu Work. Když přepnete na Personal, výchozí prohlížeč se automaticky přepne zpět na Firefox. Získáte tak přizpůsobené přepínání prohlížečů pro různé aktivity v Plasmě.

Pokud preferujete jiné prohlížeče než Firefox nebo Chrome, můžete skripty snadno upravit.

Další tipy

Často se mi hodí mít určité aplikace připnuté na liště across všech aktivit. Ve výchozím nastavení se aplikace zobrazují pouze v aktivitě, kde byly spuštěny. Můžete ale vytvořit KWin pravidlo okna s podmínkou "All activities", čímž zajistíte, že budou tyto aplikace vždy přístupné.

Závěr

Toto nastavení pro mě bylo zásadní změna. Jako někdo, kdo intenzivně používá Slack pro pracovní i osobní komunikaci, mi automatické přepínání prohlížeče podle aktivit výrazně zefektivnilo workflow.

Dále plánuji ještě více přizpůsobit práci se Slackem oddělením pracovních workspace od ostatních, což umožní ještě větší efektivitu a organizaci.

Alternativy pro přepínání prohlížečů

Pokud vás zajímají alternativní metody pro přepínání aktivit a skriptování, podívejte se na Browsers -- intuitivní kontextové menu, které se zobrazí, když kliknete na odkaz v aplikaci mimo webový prohlížeč.

Předchozí příspěvek Následující příspěvek

Related Posts