Zsh kiegészítő – zsh-auto-notify

A zsh használóknak érdemes telepíteni ezt a ki plugint: zsh-auto-notify. Itt található meg,  és a telepítése egyszerű.
Mit is tud ez a beépülő? Ha fut egy terminálos feladat, és az egy meghatározott időnél tovább dolgozik a befejezéskor küld egy asztali üzenetet. Mi az értelme? Így értesítést kapok, ha vége a munkamenetnek, nem kell figyelni, hogy mikor ér véget egy telepítés, vagy akár ez fordítási művelet. Ez akkor hasznos, ha utána egy következőt szeretnénk indítani. Illetve kiírja a futási időt is. Ebből tudjuk – ha az számunkra érdekes – a pontos idejét a munka elvégzésének. Bár ez legtöbb esetben csak érdekes adat, de egy-egy hosszabb lefutású scriptnél nem árt, ha tudjuk a várható futásidőt.

Én az oh-my-zsh gyűjteményt használom, így a
git clone https://github.com/MichaelAquilina/zsh-auto-notify.git $ZSH_CUSTOM/plugins/auto-notify
paranccsal telepítem. Mivel nem egy nagy adattömeg, pillanatok alatt lefutott. Érdemes akkor is ezt a klónozást használni, ha a disztribúciód tárolójában helyet kapott, mert nekem az AUR-ból nem sikerült korrektül telepíteni.

Egy függőséget vár el, de ez nagy valószínűséggel telepítve van: notify-send. Ha nincs, akkor telepítsd.

A beállítása egyszerű, az első lépés a megszokott mód a .zshrc-ben aktiválni kell.

Megnyitod, majd a source $ZSH/oh-my-zsh.sh sor ELÉ beszúrod ezt a sort: plugins=(auto-notify $plugins) szöveget. Bár a leírás is felhívja a figyelmet erre, én kipróbáltam, hogy mögé teszem, ott nem működött jól.
Ha elég neked az alapbeállítás, akkor pár másodpercnél hosszabban futó parancsnál kapsz egy korrekt értesítést. Kipróbálni a legegyszerűbb, ha a sleep 21 parancsot adod ki terminálból. Ha a kimenet, és a kapott infó jó, akkor nincs több feladatod.

A beállítás a .zshrc-ben történik, így nagyon figyelj arra, mit és hogyan írsz bele.

export AUTO_NOTIFY_THRESHOLD=20

Értelemszerűen a küszöböt adja meg, ennél hosszabb futásidejű munkafolyamat után ír csak ki üzenetet. Én levettem 5-re. Így minden, nem azonnal lefutó után kapok üzenetet.

export AUTO_NOTIFY_EXPIRE_TIME=10000

Tíz másodpercig marad nem az üzenetpanel. Érdemes testreszabni, mert a túl gyors esetén nem látod meg, ha picit máshova figyelsz, ha túl hosszú, akkor zavaró lehet, hogy ott fityeg a sarokban.

AUTO_NOTIFY_IGNORE+=("program")

Ha egy programot nem akarsz figyeltetni, akkor azt érdemes letiltatni. Alapból a /home/laci/.oh-my-zsh/custom/plugins/auto-notify-ban található auto-notify-plugint.zsh-ban le van tiltva a

export AUTO_NOTIFY_IGNORE=(“vim” “nvim” “less” “more” “man” “tig” “watch” “git commit” “top” “htop” “ssh” “nano”)

de ezt kiegészítheted a .zshrc-ben, ha kell,  AUTO_NOTIFY_IGNORE+=(“program”) sorban. Értelemszerűen a auto-notify-plugint.zsh-ba is beírhatsz ebbe a sorba pluszt, vagy ki is törölhetsz. Én jobbnak tartom a rshrc-be való beírást, mert ha magához a programhoz nyúlsz, akkor egy hiba esetén nehezebben találod meg, és ha jelented a hibát, akkor nem fognak tudni segíteni.

Már csak a kijelzett adatokat, szöveget kell testre szabni. Én hagytam úgy,a hogy van, a lényeget mutatja, és nem zavar, hogy azt angolul teszi.

Három dolog, amit be tudsz állítani:

%command - a felhasználó által végrehajtott parancs
%elapsed - az eltelt másodpercek száma
%exit_code - a végrehajtott parancs kilépési kódja

Amit két sorban állítasz:

export AUTO_NOTIFY_TITLE="Hey! %command has just finished"
export AUTO_NOTIFY_BODY="It completed in %elapsed seconds with exit code %exit_code"

Gondolom nem okoz senkinek gondot a használata. 🙂

Nekem ez első kérdésem az volt, amikor ajánlotta valaki, hogy: OK, ez szép, de ha videót rögzítek, akkor ez a sarokba bedobja az értesítést, az meg zavaró. De erre is gondoltak a készítők:

Ideiglenesen letilthatjuk az automatikus értesítést: disable_auto_notify.
Ha újra engedélyezni szeretnéd: enable_auto_notify.
A terminálból futtatható parancsot lehet gyorsbillentyűkhöz rendelni, vagy akár a tint2-es panelban is kaphat egy gombot, ha gyakran használod.

Ennyi. Nem egy világmegváltó csodafegyver, amitől nagyobb guruk leszünk, de hasznos tud lenni.

2020. márciusában teszteltem, arch alapú linuxon.

Related Posts