{"id":55206,"date":"2020-01-15T00:00:00","date_gmt":"2020-01-14T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/alternativnoe-upravlenie-oknami-v-linux"},"modified":"2020-02-18T14:03:18","modified_gmt":"2020-02-18T11:03:18","slug":"alternativnoe-upravlenie-oknami-v-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/alternativnoe-upravlenie-oknami-v-linux","title":{"rendered":"Alternat\u00edv ablakkezel\u00e9s Linuxon","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Olyanok k\u00f6z\u00e9 tartozom, akik a Caps Lockot haszn\u00e1lj\u00e1k a nyelvi v\u00e1lt\u00e1sra, mert lusta vagyok k\u00e9t billenty\u0171t megnyomni, amikor lehet egyet nyomni. M\u00e9g k\u00e9t felesleges billenty\u0171t is szeretn\u00e9k: az egyiket az angol nyelv\u0171 billenty\u0171zet bekapcsol\u00e1s\u00e1hoz, a m\u00e1sikat pedig az oroszhoz. De a m\u00e1sodik felesleges billenty\u0171 - a kontextus men\u00fc megnyit\u00e1sa - annyira felesleges, hogy sok laptopgy\u00e1rt\u00f3 kiszedi. \u00cdgy h\u00e1t be kell \u00e9rnem azzal, ami van. <\/p>\n<p><\/p>\n<p>Emellett nem akarom, hogy az ablakok v\u00e1lt\u00e1sakor keresg\u00e9ljem a t\u00e1lc\u00e1n a ikonjaikat, vagy a neveiket lesn\u00e9m a <em>Alt+Tab<\/em>, v\u00e1ltogassak az asztalok k\u00f6z\u00f6tt stb. Egy billenty\u0171kombin\u00e1ci\u00f3t szeretn\u00e9k megnyomni (ide\u00e1lis esetben egyet, de m\u00e1r nincsenek szabad felesleges billenty\u0171im), \u00e9s azonnal a sz\u00fcks\u00e9ges ablakba szeretn\u00e9k jutni. P\u00e9ld\u00e1ul \u00edgy:<\/p>\n<p><\/p>\n<ul>\n<li>Alt+F: Firefox<\/li>\n<li>Alt+D: Firefox (Priv\u00e1t b\u00f6ng\u00e9sz\u00e9s)<\/li>\n<li>Alt+T: Termin\u00e1l<\/li>\n<li>Alt+M: Sz\u00e1mol\u00f3g\u00e9p<\/li>\n<li>Alt+E: IntelliJ Idea<\/li>\n<li>stb.<\/li>\n<\/ul>\n<p><\/p>\n<p>R\u00e1ad\u00e1sul, ha p\u00e9ld\u00e1ul megnyomom az <em>Alt+M<\/em> , szeretn\u00e9m l\u00e1tni a sz\u00e1mol\u00f3g\u00e9pet f\u00fcggetlen\u00fcl att\u00f3l, hogy ez a program \u00e9ppen fut-e. Ha fut, akkor a f\u00f3kuszt az ablakra kell \u00e1tkapcsolni, ha meg nem, akkor el kell ind\u00edtani a sz\u00fcks\u00e9ges programot, \u00e9s a f\u00f3kuszt \u00e1tadni, amikor bet\u00f6lt\u0151dik.<\/p>\n<p><\/p>\n<p>Azokra az esetekre, amelyeket a kor\u00e1bbi forgat\u00f3k\u00f6nyv nem fed le, szeretn\u00e9m, ha lenn\u00e9nek univerz\u00e1lis billenty\u0171kombin\u00e1ci\u00f3k, amelyeket k\u00f6nnyen hozz\u00e1rendelhetek b\u00e1rmely nyitott ablakhoz. P\u00e9ld\u00e1ul nekem 10 kombin\u00e1ci\u00f3m van az <em>Alt+1<\/em> t\u00f3l <em>Alt+0<\/em>, amelyek nincsenek semmilyen programhoz hozz\u00e1kapcsolva. Egyszer\u0171en megnyomhatom, <em>Alt+1<\/em> \u00e9s az ablak, amelyik \u00e9ppen f\u00f3kuszban van, f\u00f3kuszt kap, amikor megnyomom. <em>Alt+1<\/em>.<\/p>\n<p><\/p>\n<p>A tov\u00e1bb m\u00f6g\u00f6tt egy p\u00e1r funkci\u00f3 le\u00edr\u00e1sa \u00e9s v\u00e1lasz arra, hogy ezt hogyan lehet megval\u00f3s\u00edtani. De el\u0151re figyelmeztetek, hogy az ilyen 'saj\u00e1t ig\u00e9nyek' szerinti testreszab\u00e1s er\u0151s f\u00fcgg\u0151s\u00e9get okozhat \u00e9s ak\u00e1r megvon\u00e1si t\u00fcneteket is eredm\u00e9nyezhet, ha Windows-t, Mac OS-t, vagy ak\u00e1r egy m\u00e1sik Linuxos sz\u00e1m\u00edt\u00f3g\u00e9pet kell haszn\u00e1lnom.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Val\u00f3j\u00e1ban, ha jobban belegondolunk, nem haszn\u00e1lunk olyan sok programot a mindennapokban. Egy b\u00f6ng\u00e9sz\u0151, termin\u00e1l, IDE, valamilyen \u00fczenetk\u00fcld\u0151, f\u00e1jlkezel\u0151, sz\u00e1mol\u00f3g\u00e9p, \u00e9s val\u00f3sz\u00edn\u0171leg ennyi az eg\u00e9sz. Nem sz\u00fcks\u00e9ges olyan sok billenty\u0171kombin\u00e1ci\u00f3 ahhoz, hogy a mindennapi feladatok 95%-\u00e1t lefedj\u00fck.<\/p>\n<p><\/p>\n<p>Azoknak a programoknak, amelyekb\u0151l t\u00f6bb ablak nyitva van, az egyiket f\u0151 ablaknak lehet megjel\u00f6lni. P\u00e9ld\u00e1ul t\u00f6bb IntelliJ Idea ablak van megnyitva, ezek egyik\u00e9t az <em>Alt+E<\/em>billenty\u0171h\u00f6z rendelhetj\u00fck. Norm\u00e1l k\u00f6r\u00fclm\u00e9nyek k\u00f6z\u00f6tt, amikor megnyomom ezt, <em>Alt+E<\/em> megny\u00edlik a program ablak\u00e1nak egy p\u00e9ld\u00e1nya, val\u00f3sz\u00edn\u0171leg az, amelyik az els\u0151 volt. Azonban, ha r\u00e1kattintunk, <em>Alt+E<\/em> amikor a program ablakainak egyike m\u00e1r f\u00f3kuszban van, \u00e9ppen ez az ablak lesz a f\u0151, \u00e9s erre az ablakra fog f\u00f3kusz\u00e1lni a k\u00f6vetkez\u0151 billenty\u0171kombin\u00e1ci\u00f3k megnyom\u00e1sakor. <\/p>\n<p><\/p>\n<p>A f\u0151ablakot \u00fajra be lehet \u00e1ll\u00edtani. Ehhez el\u0151sz\u00f6r vissza kell \u00e1ll\u00edtani a kombin\u00e1ci\u00f3t, majd egy m\u00e1sik ablakot kell megjel\u00f6lni f\u0151ablakk\u00e9nt. A kombin\u00e1ci\u00f3 vissza\u00e1ll\u00edt\u00e1s\u00e1hoz meg kell nyomni a kombin\u00e1ci\u00f3t, majd a speci\u00e1lis vissza\u00e1ll\u00edt\u00f3 kombin\u00e1ci\u00f3t, ami n\u00e1lam a k\u00f6vetkez\u0151: <em>Alt+Backspace<\/em>. Ez megh\u00edv egy szkriptet, ami visszavonja a f\u0151ablak be\u00e1ll\u00edt\u00e1s\u00e1t az el\u0151z\u0151 kombin\u00e1ci\u00f3hoz. Ezt k\u00f6vet\u0151en \u00faj f\u0151ablakot rendelhet\u00fcnk hozz\u00e1, ahogy azt az el\u0151z\u0151 bekezd\u00e9sben le\u00edrtam. Az \u00e1ltal\u00e1nos kombin\u00e1ci\u00f3khoz val\u00f3 ablak vissza\u00e1ll\u00edt\u00e1sa hasonl\u00f3k\u00e9ppen t\u00f6rt\u00e9nik.<\/p>\n<p><\/p>\n<p>Az intro hossz\u00fa lett, de el\u0151sz\u00f6r is arr\u00f3l akartam besz\u00e9lni, hogy mit fogunk csin\u00e1lni, majd elmondani, hogyan csin\u00e1ljuk.<\/p>\n<p><\/p>\n<h2 id=\"dlya-teh-komu-nadoelo-chitat\">Aki m\u00e1r unja az olvas\u00e1st,<\/h2>\n<p><\/p>\n<p>R\u00f6viden, a szkriptek linkje a cikk v\u00e9g\u00e9n tal\u00e1lhat\u00f3.<\/p>\n<p><\/p>\n<p>De \u00fagysem fog azonnal telep\u00edteni \u00e9s haszn\u00e1lni. El\u0151sz\u00f6r meg kell \u00e9rtenie, hogyan tal\u00e1lja meg a szkript a megfelel\u0151 ablakot. An\u00e9lk\u00fcl nem lehet megmondani, hov\u00e1 kell \u00e1tadni a f\u00f3kuszt a szkriptnek. \u00c9s meg kell \u00e9rtenie, mi a teend\u0151, ha hirtelen nem tal\u00e1lhat\u00f3 megfelel\u0151 ablak.<\/p>\n<p><\/p>\n<p>Tov\u00e1bb\u00e1 nem fogom hangs\u00falyozni, hogyan kell be\u00e1ll\u00edtani a szkriptek futtat\u00e1s\u00e1t billenty\u0171kombin\u00e1ci\u00f3k megnyom\u00e1s\u00e1val. P\u00e9ld\u00e1ul KDE-ben ez a Rendszerbe\u00e1ll\u00edt\u00e1sok \u2192 Billenty\u0171parancsok \u2192 Egyedi billenty\u0171parancsok men\u00fc alatt tal\u00e1lhat\u00f3. M\u00e1s ablakkezel\u0151kben is hasonl\u00f3nak kell lennie.<\/p>\n<p><\/p>\n<h2 id=\"znakomstvo-s-wmctrl\">Ismerj\u00fcnk meg egy wmctrl-t<\/h2>\n<p><\/p>\n<p><em>Wmctrl<\/em> \u2014 egy parancssori seg\u00e9deszk\u00f6z az X Window Manager-rel val\u00f3 interakci\u00f3hoz. Ez a kulcsfontoss\u00e1g\u00fa program a szkripthez. N\u00e9zz\u00fck meg gyorsan, hogyan haszn\u00e1lhatjuk.<\/p>\n<p><\/p>\n<p>El\u0151sz\u00f6r is, hozzuk l\u00e9tre a nyitott ablakok list\u00e1j\u00e1t:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ wmctrl -lx\n0x01e0000e -1 plasmashell.plasmashell             N\/A Desktop \u2014 Plasma\n0x01e0001e -1 plasmashell.plasmashell             N\/A Plasma\n0x03a00001  0 skype.Skype                         N\/A Skype\n0x04400003  0 Navigator.Firefox                   N\/A Google Ford\u00edt\u00f3 - Mozilla Firefox\n0x04400218  0 Navigator.Firefox                   N\/A Legjobb bejegyz\u00e9sek az utols\u00f3 24 \u00f3r\u00e1ban \/ Habr - Mozilla Firefox (Priv\u00e1t b\u00f6ng\u00e9sz\u00e9s)\n...<\/code><\/pre>\n<p><\/p>\n<p>Opci\u00f3 <em>-l<\/em> megmutatja az \u00f6sszes nyitott ablak list\u00e1j\u00e1t, m\u00edg <em>-x<\/em> hozz\u00e1adja a kimenethez az oszt\u00e1ly nev\u00e9t (<em>skype.Skype<\/em>, <em>Navigator.Firefox<\/em> stb.). Itt az ablak azonos\u00edt\u00f3ra (1. oszlop), oszt\u00e1ly nev\u00e9re (3. oszlop) \u00e9s az ablak c\u00edm\u00e9re (az utols\u00f3 oszlop) lesz sz\u00fcks\u00e9g\u00fcnk.<\/p>\n<p><\/p>\n<p>Megpr\u00f3b\u00e1lhatunk aktiv\u00e1lni egy ablakot az al\u00e1bbi opci\u00f3val: <em>-a<\/em>:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ wmctrl -a skype.Skype -x<\/code><\/pre>\n<p><\/p>\n<p>Ha minden a tervek szerint halad, akkor a k\u00e9perny\u0151n meg kell jelennie a Skype ablak\u00e1nak. Ha a lehet\u0151s\u00e9g helyett <em>-x<\/em> az opci\u00f3t istifad\u0259 etm\u0259lisiniz <em>-i<\/em>, akkor az oszt\u00e1lyn\u00e9v helyett megadhatjuk az ablak azonos\u00edt\u00f3j\u00e1t. Az azonos\u00edt\u00f3val az a probl\u00e9ma, hogy az ablak azonos\u00edt\u00f3ja minden alkalmaz\u00e1s ind\u00edt\u00e1sakor megv\u00e1ltozik, \u00edgy el\u0151re nem tudjuk, mi lesz az. M\u00e1sr\u00e9szt ez a tulajdons\u00e1g egy\u00e9rtelm\u0171en az ablakra utal, ami fontos lehet, ha az alkalmaz\u00e1s t\u00f6bb ablakot nyit. Err\u0151l k\u00e9s\u0151bb.<\/p>\n<p><\/p>\n<p>Ezen a ponton meg kell jegyezn\u00fcnk, hogy a megfelel\u0151 ablakot a regex seg\u00edts\u00e9g\u00e9vel fogjuk keresni a kimenet alapj\u00e1n <em>wmctrl -lx<\/em>. De ez nem azt jelenti, hogy felt\u00e9tlen\u00fcl valami bonyolultat kell haszn\u00e1lnunk. \u00c1ltal\u00e1ban elegend\u0151 az oszt\u00e1ly neve vagy az ablak neve. <\/p>\n<p><\/p>\n<p>Alapvet\u0151en m\u00e1r tiszt\u00e1ban kell lenn\u00fcnk a f\u0151 \u00f6tlettel. A glob\u00e1lis gyorsbillenty\u0171k\/be\u00e1ll\u00edt\u00e1sok be\u00e1ll\u00edt\u00e1sa sor\u00e1n a window managerben be\u00e1ll\u00edtjuk a sz\u00fcks\u00e9ges kombin\u00e1ci\u00f3t a script futtat\u00e1s\u00e1hoz.<\/p>\n<p><\/p>\n<h2 id=\"kak-polzovatsya-skriptami\">Hogyan haszn\u00e1ljuk a skripteket<\/h2>\n<p><\/p>\n<p>Els\u0151 l\u00e9p\u00e9sk\u00e9nt telep\u00edten\u00fcnk kell a konzolos seg\u00e9dprogramokat <em>wmctrl<\/em> \u00e9s <em>xdotool<\/em>:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ sudo apt-get install wmctrl xdotool<\/code><\/pre>\n<p><\/p>\n<p>Ezut\u00e1n le kell t\u00f6lteni a skripteket \u00e9s hozz\u00e1 kell adni a <em>$PATH<\/em>. \u00c9n \u00e1ltal\u00e1ban a k\u00f6vetkez\u0151 mapp\u00e1ba teszem \u0151ket <em>~\\\/bin<\/em>:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ cd ~\\\/bin\n$ git clone https:\\\/\\\/github.com\\\/masyamandev\\\/Showwin-script.git\n$ ln -s .\\\/Showwin-script\\\/showwin showwin\n$ ln -s .\\\/Showwin-script\\\/showwinDetach showwinDetach<\/code><\/pre>\n<p><\/p>\n<p>Ha a k\u00f6nyvt\u00e1r <em>~\\\/bin<\/em> nem l\u00e9tezett, akkor l\u00e9tre kell hozni, \u00e9s \u00fajra kell ind\u00edtani (vagy \u00fajra be kell jelentkezni), k\u00fcl\u00f6nben <em>~\\\/bin<\/em> nem fog beker\u00fclni a <em>$PATH<\/em>. Ha minden helyesen lett elv\u00e9gezve, akkor a skripteknek el\u00e9rhet\u0151nek kell lenni\u00fck a konzolb\u00f3l, \u00e9s m\u0171k\u00f6dnie kell a Tab-alap\u00fa automatikus kieg\u00e9sz\u00edt\u00e9snek.<\/p>\n<p><\/p>\n<p>A f\u0151 skript <strong>showwin<\/strong> k\u00e9t param\u00e9tert fogad: az els\u0151 a regex, amellyel a sz\u00fcks\u00e9ges ablakot keress\u00fck, a m\u00e1sodik param\u00e9ter pedig az a parancs, amelyet v\u00e9gre kell hajtani, ha nem tal\u00e1ljuk a keresett ablakot. <\/p>\n<p><\/p>\n<p>Megpr\u00f3b\u00e1lhatjuk v\u00e9grehajtani a skriptet, p\u00e9ld\u00e1ul:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ showwin \"Mozilla Firefox$\" firefox<\/code><\/pre>\n<p><\/p>\n<p>Ha a Firefox telep\u00edtve van, az ablak\u00e1nak f\u00f3kuszba kell ker\u00fclnie. M\u00e9g ha a Firefox nem is volt elind\u00edtva, el kell indulnia.<\/p>\n<p><\/p>\n<p>Ha ez siker\u00fclt, pr\u00f3b\u00e1lhatjuk be\u00e1ll\u00edtani a parancsok v\u00e9grehajt\u00e1s\u00e1t a kombin\u00e1ci\u00f3kra. A glob\u00e1lis gyorsbillenty\u0171k\/be\u00e1ll\u00edt\u00e1sokban hozz\u00e1adjuk:<\/p>\n<p><\/p>\n<ul>\n<li>Alt+F: showwin \u00abMozilla Firefox$\u00bb firefox<\/li>\n<li>Alt+D: showwin \u00abMozilla Firefox (Private Browsing)$\u00bb \u00abfirefox -private-window\u00bb<\/li>\n<li>Alt+C: showwin \u00abchromium-browser.Chromium-browser N*\u00bb chromium-browser<\/li>\n<li>Alt+X: showwin \u00abchromium-browser.Chromium-browser I*\u00bb \u00abchromium-browser -incognito\u00bb<\/li>\n<li>Alt+S: showwin \u00abskype.Skype\u00bb skypeforlinux<\/li>\n<li>Alt+E: showwin \u00abjetbrains-idea\u00bb idea.sh<\/li>\n<\/ul>\n<p><\/p>\n<p>Stb. A billenty\u0171zet- \u00e9s szoftverbe\u00e1ll\u00edt\u00e1sokat mindenki a saj\u00e1t k\u00e9nyelme szerint \u00e1ll\u00edthatja be.<br \/>\nHa minden helyesen t\u00f6rt\u00e9nt, akkor a fent megadott kombin\u00e1ci\u00f3kkal egyszer\u0171 billenty\u0171nyom\u00e1sokkal v\u00e1lthatunk az ablakok k\u00f6z\u00f6tt.<\/p>\n<p><\/p>\n<p>Csal\u00f3d\u00e1st fogok okozni a Chrome-rajong\u00f3knak: az inkognit\u00f3 m\u00f3d nem k\u00fcl\u00f6nb\u00f6zik a norm\u00e1l ablak kimenet\u00e9t\u0151l. <em>wmctrl<\/em> Nem lehet, mert az oszt\u00e1lyok nevei \u00e9s az ablakok c\u00edmei megegyeznek. A megadott regexek N* \u00e9s I* karakterei csak arra szolg\u00e1lnak, hogy ezek a regul\u00e1ris kifejez\u00e9sek k\u00fcl\u00f6nb\u00f6zzenek egym\u00e1st\u00f3l, \u00e9s \u00edgy k\u00fcl\u00f6nb\u00f6z\u0151 ablakokat lehessen f\u0151 ablakoknak kijel\u00f6lni.<\/p>\n<p><\/p>\n<p>Az el\u0151z\u0151 kombin\u00e1ci\u00f3 f\u0151 ablak\u00e1nak vissza\u00e1ll\u00edt\u00e1s\u00e1hoz (tulajdonk\u00e9ppen a regex sz\u00e1m\u00e1ra, amely <strong>showwin<\/strong> utolj\u00e1ra h\u00edvva lett) futtatni kell a szkriptet <strong>showwinDetach<\/strong>. N\u00e1lam ezt a szkriptet billenty\u0171kombin\u00e1ci\u00f3ra \u00e1ll\u00edtott\u00e1k be. <em>Alt+Backspace<\/em>. <\/p>\n<p><\/p>\n<p>A szkriptnek <strong>showwin<\/strong> m\u00e9g egy funkci\u00f3ja van. Amikor egy param\u00e9terrel h\u00edvj\u00e1k meg (ebben az esetben a param\u00e9ter csup\u00e1n egy azonos\u00edt\u00f3), akkor nem ellen\u0151rzi a regexet, hanem minden ablakot megfelel\u0151nek tekint. Ez \u00f6nmag\u00e1ban haszontalannak t\u0171nik, de \u00edgy b\u00e1rmelyik ablakot f\u0151 ablaknak lehet kijel\u00f6lni, \u00e9s gyorsan v\u00e1lthatunk erre az ablakra.<\/p>\n<p><\/p>\n<p>N\u00e1lam ezek a kombin\u00e1ci\u00f3k vannak be\u00e1ll\u00edtva:<\/p>\n<p><\/p>\n<ul>\n<li>Alt+1: showwin \u00abCustomKey1\u00bb<\/li>\n<li>Alt+2: showwin \u00abCustomKey2\u00bb<\/li>\n<li>\u2026<\/li>\n<li>Alt+0: showwin \u00abCustomKey0\u00bb<\/li>\n<li>Alt+Backspace: showwinDetach<\/li>\n<\/ul>\n<p><\/p>\n<p>\u00cdgy b\u00e1rmely ablakot hozz\u00e1rendelhetek a kombin\u00e1ci\u00f3khoz. <em>Alt+1<\/em>&#8230;<em>Alt+0<\/em>Csak megnyomva <em>Alt+1<\/em> az aktu\u00e1lis ablakot hozz\u00e1rendelem ehhez a kombin\u00e1ci\u00f3hoz. A hozz\u00e1rendel\u00e9st \u00fagy tudom t\u00f6r\u00f6lni, hogy megnyomom <em>Alt+1<\/em>, majd <em>Alt+Backspace<\/em>. Vagy egyszer\u0171en bez\u00e1rhatom az ablakot, ez is m\u0171k\u00f6dik.<\/p>\n<p><\/p>\n<p>Most mes\u00e9lek egy kicsit a technikai r\u00e9szletekr\u0151l. Nem k\u00f6telez\u0151 elolvasni, csak pr\u00f3b\u00e1ld be\u00e1ll\u00edtani \u00e9s n\u00e9zd meg. De az\u00e9rt javaslom, hogy el\u0151bb \u00e9rtsd meg m\u00e1sok szkriptjeit, miel\u0151tt futtatod \u0151ket a saj\u00e1t sz\u00e1m\u00edt\u00f3g\u00e9peden :).<\/p>\n<p><\/p>\n<h2 id=\"kak-razlichat-raznye-okna-odnogo-prilozheniya\">Hogyan k\u00fcl\u00f6nb\u00f6ztess\u00fck meg az egy alkalmaz\u00e1s k\u00fcl\u00f6nb\u00f6z\u0151 ablakait<\/h2>\n<p><\/p>\n<p>Alapvet\u0151en a legels\u0151 p\u00e9lda, a \u201ewmctrl -a skype.Skype -x\u201d, m\u0171k\u00f6d\u00f6tt, \u00e9s felhaszn\u00e1lhat\u00f3. De n\u00e9zz\u00fck meg \u00fajra a Firefox p\u00e9ld\u00e1j\u00e1t, amelyben 2 ablak van nyitva:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">0x04400003  0 Navigator.Firefox                   N\/A Google Ford\u00edt\u00f3 - Mozilla Firefox\n0x04400218  0 Navigator.Firefox                   N\/A Legjobb publik\u00e1ci\u00f3k az elm\u00falt 24 \u00f3r\u00e1ban \/ Habr - Mozilla Firefox (Priv\u00e1t b\u00f6ng\u00e9sz\u00e9s)<\/code><\/pre>\n<p><\/p>\n<p>Az els\u0151 ablak \u2014 norm\u00e1l m\u00f3d, a m\u00e1sodik \u2014 Priv\u00e1t b\u00f6ng\u00e9sz\u00e9s. Ezeket az ablakokat k\u00fcl\u00f6n alkalmaz\u00e1soknak szeretn\u00e9nk tekinteni, \u00e9s k\u00fcl\u00f6nb\u00f6z\u0151 billenty\u0171kombin\u00e1ci\u00f3kkal szeretn\u00e9nk v\u00e1ltani k\u00f6z\u00f6tt\u00fck. <\/p>\n<p><\/p>\n<p>Meg kell bonyol\u00edtani a szkriptet, amely az ablakok k\u00f6z\u00f6tt v\u00e1lt. Egy ilyen megold\u00e1st haszn\u00e1ltam: ki\u00edrtam az \u00f6sszes ablak list\u00e1j\u00e1t, k\u00e9sz\u00edtettem <em>grep<\/em> regexet, az els\u0151 sort az <em>head<\/em>seg\u00edts\u00e9g\u00e9vel kivettem, az els\u0151 oszlopot (ez az ablak azonos\u00edt\u00f3ja lesz) a <em>cut<\/em>seg\u00edts\u00e9g\u00e9vel, \u00e9s az ablakra az azonos\u00edt\u00f3 alapj\u00e1n v\u00e1ltottam.<\/p>\n<p><\/p>\n<p>Itt egy vicc kellene a regul\u00e1ris kifejez\u00e9sekr\u0151l \u00e9s k\u00e9t probl\u00e9m\u00e1r\u00f3l, de val\u00f3j\u00e1ban semmi bonyolultat nem haszn\u00e1lok. A regul\u00e1ris kifejez\u00e9sek nekem arra kellenek, hogy meg tudjam adni a sor v\u00e9g\u00e9t (a \u201e$\u201d jelet), \u00e9s meg tudjam k\u00fcl\u00f6nb\u00f6ztetni a \u201eMozilla Firefox$\u201d-ot a \u201eMozilla Firefox (Private Browsing)$\u201d-t\u00f3l.<\/p>\n<p><\/p>\n<p>A parancs k\u00f6r\u00fclbel\u00fcl \u00edgy n\u00e9z ki:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ wmctrl -i -a `wmctrl -lx | grep -i \"Mozilla Firefox$\" | head -1 | cut -d\" \" -f1`<\/code><\/pre>\n<p><\/p>\n<p>Itt m\u00e1r lehet sejteni a script m\u00e1sik saj\u00e1toss\u00e1g\u00e1t: ha a grep nem ad vissza semmit, akkor a sz\u00fcks\u00e9ges alkalmaz\u00e1s nincs megnyitva, \u00e9s el kell ind\u00edtani a m\u00e1sodik param\u00e9terben szerepl\u0151 parancsot. Azt\u00e1n id\u0151nk\u00e9nt ellen\u0151rizni kell, hogy megny\u00edlt-e a sz\u00fcks\u00e9ges ablak, hogy \u00e1t tudjuk adni neki a f\u00f3kuszt. Nem fogom t\u00fals\u00e1gosan hangs\u00falyozni ezt, aki akarja, az megn\u00e9zi a forr\u00e1st.<\/p>\n<p><\/p>\n<h2 id=\"kogda-okna-prilozheniya-ne-razlichimy\">Amikor az alkalmaz\u00e1s ablakai nem megk\u00fcl\u00f6nb\u00f6ztethet\u0151k<\/h2>\n<p><\/p>\n<p>Teh\u00e1t megtanultuk, hogyan adjuk \u00e1t a f\u00f3kuszt a sz\u00fcks\u00e9ges alkalmaz\u00e1s ablak\u00e1nak. De mi van, ha t\u00f6bb mint egy ablak van megnyitva az alkalmaz\u00e1sb\u00f3l? Melyiknek adjuk \u00e1t a f\u00f3kuszt? A fenti script val\u00f3sz\u00edn\u0171leg az els\u0151 megnyitott ablakra fog f\u00f3kusz\u00e1lni. Azonban nagyobb rugalmass\u00e1got szeretn\u00e9nk. J\u00f3 lenne, ha meg tudn\u00e1nk jegyezni, hogy pontosan melyik ablakra van sz\u00fcks\u00e9g\u00fcnk, \u00e9s ehhez az ablakhoz tudn\u00e1nk kapcsol\u00f3dni.<\/p>\n<p><\/p>\n<p>Az \u00f6tlet az volt: Ha egy megadott ablakot szeretn\u00e9nk megjegyezni a billenty\u0171kombin\u00e1ci\u00f3hoz, akkor a kombin\u00e1ci\u00f3t akkor kell megnyomni, amikor a sz\u00fcks\u00e9ges ablak f\u00f3kuszban van. K\u00e9s\u0151bb, amikor megnyomjuk ezt a kombin\u00e1ci\u00f3t, a f\u00f3kusz pontosan erre az ablakra fog menni. Am\u00edg az ablak be nem z\u00e1r\u00f3dik, vagy am\u00edg nem t\u00f6r\u00f6lj\u00fck ezt a kombin\u00e1ci\u00f3t a scriptben. <strong>showwinDetach<\/strong>.<\/p>\n<p><\/p>\n<p>A script algoritmus <strong>showwin<\/strong> kb. \u00edgy n\u00e9z ki:<\/p>\n<p><\/p>\n<ul>\n<li>Ellen\u0151rizz\u00fck, hogy nem jegyezt\u00fck-e meg kor\u00e1bban az ablak azonos\u00edt\u00f3j\u00e1t, amelynek a f\u00f3kusz\u00e1t \u00e1t kell adni.<br \/>\nHa megjegyezt\u00fck, \u00e9s az ablak tov\u00e1bbra is l\u00e9tezik, akkor \u00e1tadjuk neki a f\u00f3kuszt, majd kil\u00e9p\u00fcnk. <\/li>\n<li>N\u00e9zz\u00fck meg, hogy melyik ablak van most f\u00f3kuszban, \u00e9s ha az megfelel az ig\u00e9nyeinknek, akkor megjegyezz\u00fck az azonos\u00edt\u00f3j\u00e1t a k\u00e9s\u0151bbi v\u00e1lt\u00e1s c\u00e9lj\u00e1b\u00f3l, majd kil\u00e9p\u00fcnk.<\/li>\n<li>\u00c1tmegy\u00fcnk b\u00e1rmilyen megfelel\u0151 ablakhoz, ha az l\u00e9tezik, vagy megnyitjuk a sz\u00fcks\u00e9ges alkalmaz\u00e1st.<\/li>\n<\/ul>\n<p><\/p>\n<p>A f\u00f3kuszban l\u00e9v\u0151 ablakr\u00f3l a xdotool konzol utility seg\u00edts\u00e9g\u00e9vel tudunk inform\u00e1ci\u00f3t szerezni, a kimenet\u00e9t hexadecim\u00e1lis form\u00e1tumra \u00e1tkonvert\u00e1lva:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ printf \"0xx\" `xdotool getwindowfocus`<\/code><\/pre>\n<p><\/p>\n<p>Valamit megjegyezni bash-ben a legegyszer\u0171bb, ha f\u00e1jlokat hozunk l\u00e9tre a mem\u00f3ri\u00e1ban tal\u00e1lhat\u00f3 virtu\u00e1lis f\u00e1jlrendszerben. Az Ubuntu-ban ez alap\u00e9rtelmez\u00e9s szerint csatlakoztatva van a <em>\/dev\/shm\/<\/em>. M\u00e1s disztrib\u00faci\u00f3kr\u00f3l nem tudok mondani semmit, rem\u00e9lem, hogy hasonl\u00f3 is van. Lehet n\u00e9zni a k\u00f6vetkez\u0151 parancssal:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ mount -l | grep tmpfs<\/code><\/pre>\n<p><\/p>\n<p>A szkript \u00fcres mapp\u00e1kat fog l\u00e9trehozni ebben a mapp\u00e1ban, \u00edgy: <em>\/dev\/shm\/$USER\/showwin\/$SEARCH_REGEX\/$WINDOW_ID<\/em>. Tov\u00e1bb\u00e1, minden egyes h\u00edv\u00e1skor l\u00e9trehoz egy symlinket <em>\/dev\/shm\/$USER\/showwin\/showwin_last<\/em> Gyorsan eml\u00e9kezz\u00fcnk vissza, hogyan m\u0171k\u00f6dik a modul\u00e1ris aritmetika. Az \u00f3ra m\u00e1r egy ismert koncepci\u00f3. Az \u00f3r\u00e1k haszn\u00e1lata <em>\/dev\/shm\/$USER\/showwin\/$SEARCH_REGEX<\/em>. Erre sz\u00fcks\u00e9g lesz ahhoz, hogy sz\u00fcks\u00e9g eset\u00e9n elt\u00e1vol\u00edthasd az ablak id-j\u00e1t egy adott kombin\u00e1ci\u00f3val a szkript seg\u00edts\u00e9g\u00e9vel <strong>showwinDetach<\/strong>.<\/p>\n<p><\/p>\n<h2 id=\"chto-mozhno-uluchshit\">Mit lehet jav\u00edtani<\/h2>\n<p><\/p>\n<p>El\u0151sz\u00f6r is, a szkripteket k\u00e9zzel kell be\u00e1ll\u00edtani. Bizony\u00e1ra, az ig\u00e9ny miatt, hogy sokat kell tudni \u00e9s sokat kell k\u00e9zzel csin\u00e1lni, sokan m\u00e9g csak meg sem pr\u00f3b\u00e1lj\u00e1k be\u00e1ll\u00edtani a rendszert. Ha lenne lehet\u0151s\u00e9g egyszer\u0171en telep\u00edteni egy csomagot \u00e9s mindent k\u00f6nnyebben be\u00e1ll\u00edtani, akkor tal\u00e1n ez egy kis n\u00e9pszer\u0171s\u00e9get nyerne. \u00c9s tal\u00e1n m\u00e9g a standard disztrib\u00faci\u00f3kba is beleker\u00fclne az alkalmaz\u00e1s.<\/p>\n<p><\/p>\n<p>\u00c9s tal\u00e1n m\u00e9g egyszer\u0171bb is lenne. Ha az ablak id-j\u00e1b\u00f3l meg lehetne tudni a l\u00e9trehoz\u00f3 folyamat id-j\u00e1t, \u00e9s az id-b\u00f3l meg lehetne tudni, hogy melyik parancs hozta l\u00e9tre, akkor automatiz\u00e1lni lehetne a be\u00e1ll\u00edt\u00e1st. Val\u00f3j\u00e1ban nem n\u00e9ztem ut\u00e1na, hogy az \u00e1ltalam \u00edrtak megval\u00f3s\u00edthat\u00f3ak-e. Az a helyzet, hogy sz\u00e1momra a jelenlegi m\u0171k\u00f6d\u00e9s elfogadhat\u00f3. De ha valaki m\u00e1snak a megk\u00f6zel\u00edt\u00e9s tetszik, \u00e9s valaki jav\u00edt azon, akkor \u00f6r\u00f6mmel haszn\u00e1lom a jobb megold\u00e1st.<\/p>\n<p><\/p>\n<p>Egy m\u00e1sik probl\u00e9ma, ahogy m\u00e1r eml\u00edtettem, az, hogy bizonyos esetekben az ablakokat nem lehet megk\u00fcl\u00f6nb\u00f6ztetni egym\u00e1st\u00f3l. Eddig ezt csak a Chrome\/Chromium incognito m\u00f3dban tapasztaltam, de lehet, hogy m\u00e1shol is van hasonl\u00f3. Legrosszabb esetben mindig van lehet\u0151s\u00e9g az univerz\u00e1lis kombin\u00e1ci\u00f3kra. <em>Alt+1<\/em>&#8230;<em>Alt+0<\/em>. Ism\u00e9tlem, Firefoxot haszn\u00e1lok, \u00e9s sz\u00e1momra ez a probl\u00e9ma nem jelent\u0151s.<\/p>\n<p><\/p>\n<p>De egy sz\u00e1momra jelent\u0151s probl\u00e9ma az, hogy a munk\u00e1m miatt Mac OS-t haszn\u00e1lok, \u00e9s ott semmit sem tudtam ilyen m\u00f3don be\u00e1ll\u00edtani. Az alkalmaz\u00e1st <em>wmctrl<\/em> \u00fagy t\u0171nik, hogy siker\u00fclt telep\u00edtenem, de Mac OS-en nem igaz\u00e1n m\u0171k\u00f6dik. Valamit lehet csin\u00e1lni az <em>Automatorral<\/em>, de annyira lass\u00fa, hogy k\u00e9nyelmetlen haszn\u00e1lni, m\u00e9g akkor is, amikor m\u0171k\u00f6dik. A billenty\u0171parancsokat \u00fagy be\u00e1ll\u00edtani, hogy minden programban m\u0171k\u00f6djenek, szint\u00e9n nem siker\u00fclt. Ha valaki megold\u00e1st tal\u00e1l, \u00f6r\u00f6mmel haszn\u00e1lom.<\/p>\n<p><\/p>\n<h2 id=\"vmesto-zaklyucheniya\">\u00d6sszegz\u00e9sk\u00e9nt<\/h2>\n<p><\/p>\n<p>Megh\u00f6kkent\u0151en sok sz\u00f3 sz\u00fcletett egy olyan, l\u00e1tsz\u00f3lag egyszer\u0171 funkcionalit\u00e1sr\u00f3l. Szerettem volna \u00e1tadni az elk\u00e9pzel\u00e9st, an\u00e9lk\u00fcl hogy t\u00falterheln\u00e9m a sz\u00f6veget, de m\u00e9g nem tal\u00e1ltam ki, hogyan lehetne egyszer\u0171bben elmondani. Tal\u00e1n vide\u00f3 form\u00e1tumban jobb lenne, de itt ezt nem annyira szeretik.<\/p>\n<p><\/p>\n<p>Egy kicsit mes\u00e9ltem arr\u00f3l, hogy mi van a h\u00e1tt\u00e9rben a szkript \u00e9s hogyan lehet be\u00e1ll\u00edtani. A szkript r\u00e9szleteibe nem mentem bele, de csak 50 sorb\u00f3l \u00e1ll, \u00edgy nem neh\u00e9z kital\u00e1lni. <\/p>\n<p><\/p>\n<p>Rem\u00e9lem, hogy valaki m\u00e9g kipr\u00f3b\u00e1lja ezt az \u00f6tletet, \u00e9s tal\u00e1n \u00e9rt\u00e9kelni is fogja. Magamr\u00f3l annyit mondhatok, hogy a szkript k\u00f6r\u00fclbel\u00fcl 3 \u00e9ve k\u00e9sz\u00fclt, \u00e9s nekem EZ NAGYON k\u00e9nyelmes. Olyannyira k\u00e9nyelmes, hogy komoly diszkomfortot okoz m\u00e1s sz\u00e1m\u00edt\u00f3g\u00e9pekkel val\u00f3 munkav\u00e9gz\u00e9skor. \u00c9s a munkahelyi MacBookommal is. <\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/masyamandev\/Showwin-script\">Link a szkriptekhez<\/a><\/noindex><\/p>\n<p>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/483846\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042f \u0438\u0437 \u0442\u0435\u0445, \u043a\u0442\u043e \u0441\u0442\u0430\u0432\u0438\u0442 \u043d\u0430 Caps Lock \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043a\u0438 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043b\u0435\u043d\u044c \u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c 2 \u043a\u043b\u0430\u0432\u0438\u0448\u0438, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c \u043e\u0434\u043d\u0443. \u042f \u0431\u044b \u0434\u0430\u0436\u0435 \u0445\u043e\u0442\u0435\u043b 2 \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0438: \u043e\u0434\u043d\u0443 \u0431\u044b \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u0439 \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043a\u0438, \u0430 \u0432\u0442\u043e\u0440\u0443\u044e \u0434\u043b\u044f \u0440\u0443\u0441\u0441\u043a\u043e\u0439. \u041d\u043e \u0432\u0442\u043e\u0440\u0430\u044f \u043d\u0435\u043d\u0443\u0436\u043d\u0430\u044f \u043a\u043b\u0430\u0432\u0438\u0448\u0430 \u2014 \u044d\u0442\u043e \u0432\u044b\u0437\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043d\u0443\u0436\u043d\u0430\u044f, \u0447\u0442\u043e \u0432\u044b\u043f\u0438\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u0438\u043c\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f\u043c\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-55206","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042f \u0438\u0437 \u0442\u0435\u0445, \u043a\u0442\u043e \u0441\u0442\u0430\u0432\u0438\u0442 \u043d\u0430 Caps Lock \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043a\u0438 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043b\u0435\u043d\u044c \u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c 2 \u043a\u043b\u0430\u0432\u0438\u0448\u0438, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c \u043e\u0434\u043d\u0443.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/alternativnoe-upravlenie-oknami-v-linux\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u043a\u043d\u0430\u043c\u0438 \u0432 Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042f \u0438\u0437 \u0442\u0435\u0445, \u043a\u0442\u043e \u0441\u0442\u0430\u0432\u0438\u0442 \u043d\u0430 Caps Lock \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043a\u0438 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043b\u0435\u043d\u044c \u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c 2 \u043a\u043b\u0430\u0432\u0438\u0448\u0438, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c \u043e\u0434\u043d\u0443.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/alternativnoe-upravlenie-oknami-v-linux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-14T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:18+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Alternat\u00edv ablakkezel\u00e9s Linux alatt | ProHoster","description":"Azok k\u00f6z\u00e9 tartozom, akik a Caps Lock-ra \u00e1ll\u00edtj\u00e1k a billenty\u0171zetkioszt\u00e1s v\u00e1lt\u00e1s\u00e1t, mert lusta vagyok k\u00e9t billenty\u0171t megnyomni, amikor csak egyet is megnyomhatok.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/alternativnoe-upravlenie-oknami-v-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u043a\u043d\u0430\u043c\u0438 \u0432 Linux | ProHoster","og:description":"\u042f \u0438\u0437 \u0442\u0435\u0445, \u043a\u0442\u043e \u0441\u0442\u0430\u0432\u0438\u0442 \u043d\u0430 Caps Lock \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043a\u0438 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043b\u0435\u043d\u044c \u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c 2 \u043a\u043b\u0430\u0432\u0438\u0448\u0438, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c \u043e\u0434\u043d\u0443.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/alternativnoe-upravlenie-oknami-v-linux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-14T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:18+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55206","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:48:29","updated":"2022-09-30 14:18:59","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/55206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=55206"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/55206\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=55206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=55206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=55206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}