{"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\/sq\/blog\/administrirovanie\/alternativnoe-upravlenie-oknami-v-linux","title":{"rendered":"Menaxhimi alternativ i dritareve n\u00eb Linux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Un\u00eb jam ai q\u00eb aktivizon kalimin e gjuh\u00ebve me Caps Lock sepse m\u00eb len\u00eb t\u00eb shtyp dy butona, kur mund t\u00eb p\u00ebrdor nj\u00eb. Do t\u00eb doja madje dy butona t\u00eb panevojsh\u00ebm: nj\u00eb p\u00ebr anglishten dhe tjetrin p\u00ebr rusishten. Por butoni i dyt\u00eb i panevojsh\u00ebm \u00ebsht\u00eb p\u00ebr hapjen e menus\u00eb kontekstuale, e cila \u00ebsht\u00eb aq e panevojshme sa shum\u00eb prodhues laptop\u00ebsh e kan\u00eb hequr. Prandaj duhet t\u00eb k\u00ebnaqem me at\u00eb q\u00eb kam. <\/p>\n<p><\/p>\n<p>Dhe nuk dua t\u00eb k\u00ebrkoj ikonat e dritareve n\u00eb panele p\u00ebr t'i kthyer, as t'i kap emrat e tyre gjat\u00eb kalimit p\u00ebrmes <em>Alt+Tab<\/em>, kalimi nd\u00ebrmjet pun\u00ebs dhe k\u00ebshtu me radh\u00eb. Dua t\u00eb shtyp nj\u00eb kombinim butonash (idealisht vet\u00ebm nj\u00eb, por nuk ka m\u00eb butona t\u00eb panevojsh\u00ebm t\u00eb lir\u00eb) dhe menj\u00ebher\u00eb t\u00eb shkoj n\u00eb dritaren q\u00eb m\u00eb nevojitet. Nj\u00eb shembull i till\u00eb:<\/p>\n<p><\/p>\n<ul>\n<li>Alt+F: Firefox<\/li>\n<li>Alt+D: Firefox (Shfletim Privat)<\/li>\n<li>Alt+T: Terminal<\/li>\n<li>Alt+M: Kalkulator<\/li>\n<li>Alt+E: IntelliJ Idea<\/li>\n<li>dhe k\u00ebshtu me radh\u00eb.<\/li>\n<\/ul>\n<p><\/p>\n<p>Pra, kur shtyp, p\u00ebr shembull, <em>Alt+M<\/em> , dua t\u00eb shoh kalkulatorin pavar\u00ebsisht n\u00ebse ky program \u00ebsht\u00eb aktiv apo jo. N\u00ebse \u00ebsht\u00eb aktiv, at\u00ebher\u00eb fokusin duhet t'i kaloj dritares s\u00eb tij, dhe n\u00ebse jo \u2014 duhet ta nis programin p\u00ebrkat\u00ebs dhe t'i kaloj fokusin kur t\u00eb ngarkohet.<\/p>\n<p><\/p>\n<p>P\u00ebr raste q\u00eb nuk mbulohen nga skenari paraprak, d\u00ebshiroj t\u00eb kem kombinime t\u00eb p\u00ebrgjithshme t\u00eb \u00e7el\u00ebsave, t\u00eb cilat mund t\u00eb caktoj leht\u00ebsisht p\u00ebr ndonj\u00eb nga dritaret e hapura. P\u00ebr shembull, kam caktuar 10 kombinime nga <em>Alt+1<\/em> deri te <em>Alt+0<\/em>, t\u00eb cilat nuk jan\u00eb t\u00eb lidhura me ndonj\u00eb program. Mund t\u00eb thjesht shtyp <em>Alt+1<\/em> dhe dritarja q\u00eb \u00ebsht\u00eb aktualisht n\u00eb fokus do t\u00eb marr\u00eb fokusin pasi t\u00eb shtypet <em>Alt+1<\/em>.<\/p>\n<p><\/p>\n<p>Posht\u00eb \u00ebsht\u00eb p\u00ebrshkrimi i disa karakteristikave t\u00eb tjera dhe p\u00ebrgjigjja p\u00ebr m\u00ebnyr\u00ebn se si mund ta b\u00ebni k\u00ebt\u00eb. Por menj\u00ebher\u00eb paralajm\u00ebroj se nj\u00eb personalizim i till\u00eb \"n\u00ebn vete\" mund t\u00eb krijoj\u00eb var\u00ebsi t\u00eb madhe dhe madje t\u00eb shkaktoj\u00eb sindrom t\u00eb hiqjes n\u00eb rast se duhet t\u00eb p\u00ebrdorni Windows, Mac OS, ose madje nj\u00eb kompjuter t\u00eb huaj me Linux.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>N\u00eb t\u00eb v\u00ebrtet\u00eb, n\u00ebse mendojm\u00eb, nuk p\u00ebrdorim kaq shum\u00eb programe \u00e7do dit\u00eb. Shfletuesi, terminali, IDE, ndonj\u00eb mesazher, menaxheri i skedar\u00ebve, kalkulatori dhe, ndoshta, kjo \u00ebsht\u00eb pothuajse gjith\u00e7ka. Nuk nevojiten kaq shum\u00eb kombinime \u00e7el\u00ebsash p\u00ebr t\u00eb mbuluar 95% t\u00eb detyrave t\u00eb p\u00ebrditshme.<\/p>\n<p><\/p>\n<p>P\u00ebr programet, ku jan\u00eb hapur disa dritare, nj\u00ebra nga to mund t\u00eb caktohet si kryesore. P\u00ebr shembull, jan\u00eb hapur disa dritare IntelliJ Idea, t\u00eb caktuara n\u00eb <em>Alt+E<\/em>. N\u00eb kushte normale, kur t\u00eb shtypet n\u00eb <em>Alt+E<\/em> do t'u hap\u00eb nj\u00eb dritare e k\u00ebtij programi, ndoshta ajo q\u00eb u hap p\u00ebr her\u00eb t\u00eb par\u00eb. Megjithat\u00eb, n\u00ebse klikoni mbi <em>Alt+E<\/em> kur nj\u00eb nga dritaret e k\u00ebtij programi \u00ebsht\u00eb tashm\u00eb n\u00eb fokus, kjo dritare do t\u00eb caktohet si kryesorja dhe pik\u00ebrisht asaj do t'i kaloj\u00eb fokusi gjat\u00eb klikimeve t\u00eb m\u00ebtejshme t\u00eb kombinimeve. <\/p>\n<p><\/p>\n<p>Dritarja kryesore mund t\u00eb ri-em\u00ebrohet. P\u00ebr k\u00ebt\u00eb, kombinimi duhet s\u00eb pari t\u00eb resetoj\u00eb, dhe pastaj t\u00eb caktohet nj\u00eb dritare tjet\u00ebr si kryesore. P\u00ebr ta resetuar kombinimin, duhet t\u00eb klikoni mbi vet\u00eb kombinimin dhe pastaj mbi nj\u00eb kombinim t\u00eb ve\u00e7ant\u00eb p\u00ebr resetim, i cili p\u00ebr mua \u00ebsht\u00eb caktuar n\u00eb <em>Alt+Backspace<\/em>. Kjo do t\u00eb th\u00ebrras\u00eb nj\u00eb skript q\u00eb do t\u00eb anuloj\u00eb caktimin e dritares kryesore p\u00ebr kombinimin e m\u00ebparsh\u00ebm. Pastaj mund t\u00eb caktoni nj\u00eb dritare t\u00eb re kryesore si\u00e7 \u00ebsht\u00eb p\u00ebrshkruar n\u00eb paragrafin e m\u00ebparsh\u00ebm. Risetimi i dritares s\u00eb lidhur me kombinimet universale ndodh n\u00eb m\u00ebnyr\u00eb t\u00eb ngjashme.<\/p>\n<p><\/p>\n<p>Hyjja doli e gjat\u00eb, por d\u00ebshiroja fillimisht t\u00eb tregoj se \u00e7far\u00eb do t\u00eb b\u00ebjm\u00eb, dhe pastaj t\u00eb shpjegoj si ta b\u00ebjm\u00eb k\u00ebt\u00eb.<\/p>\n<p><\/p>\n<h2 id=\"dlya-teh-komu-nadoelo-chitat\">P\u00ebr ata q\u00eb jan\u00eb lodhur duke lexuar<\/h2>\n<p><\/p>\n<p>N\u00ebse e p\u00ebrmbledhim, lidhja p\u00ebr skriptet \u00ebsht\u00eb n\u00eb fund t\u00eb artikullit.<\/p>\n<p><\/p>\n<p>Por megjithat\u00eb, nuk do t\u00eb jet\u00eb e mundur ta vendos\u00ebsh dhe ta p\u00ebrdor\u00ebsh menj\u00ebher\u00eb. Fillimisht duhen kuptuar se si skenari gjen dritaren e duhur. Pa k\u00ebt\u00eb nuk do t\u00eb jet\u00eb e mundur t\u00eb tregosh skenarit se ku duhet t\u00eb fokusohet. Gjithashtu, duhet t\u00eb kuptohet se \u00e7far\u00eb duhet b\u00ebr\u00eb n\u00ebse p\u00ebr ndonj\u00eb arsye nuk gjendet nj\u00eb dritare e p\u00ebrshtatshme.<\/p>\n<p><\/p>\n<p>Po ashtu, nuk do t\u00eb p\u00ebrqendrohem n\u00eb m\u00ebnyr\u00ebn e konfigurimit t\u00eb ekzekutimit t\u00eb skriptave me kombinime \u00e7el\u00ebsish. P\u00ebr shembull, n\u00eb KDE kjo \u00ebsht\u00eb n\u00eb System Settings \u2192 Shortcuts \u2192 Custom Shortcuts. Kjo duhet t\u00eb ekzistoj\u00eb edhe n\u00eb menaxher\u00ebt e tjer\u00eb t\u00eb dritareve.<\/p>\n<p><\/p>\n<h2 id=\"znakomstvo-s-wmctrl\">Njoftimi me wmctrl<\/h2>\n<p><\/p>\n<p><em>Wmctrl<\/em> \u2014 \u00ebsht\u00eb nj\u00eb mjet konsol\u00eb p\u00ebr komunikimin me X Window Manager. Kjo \u00ebsht\u00eb nj\u00eb program thelb\u00ebsor p\u00ebr skriptin. Le t\u00eb shohim shkurtimisht se si mund ta p\u00ebrdorim at\u00eb.<\/p>\n<p><\/p>\n<p>S\u00eb pari, le t\u00eb dalim me nj\u00eb list\u00eb t\u00eb dritareve t\u00eb hapura:<\/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 Translate - Mozilla Firefox\n0x04400218  0 Navigator.Firefox                   N\\\/A M\u00eb t\u00eb mirat e publikuara p\u00ebr 24 or\u00eb \/ Habr - Mozilla Firefox (Private Browsing)\n...<\/code><\/pre>\n<p><\/p>\n<p>Opcioni <em>-l<\/em> tregon nj\u00eb list\u00eb t\u00eb t\u00eb gjitha dritareve t\u00eb hapura, dhe <em>-h<\/em> shton n\u00eb daljen emrin e klas\u00ebs (<em>skype.Skype<\/em>, <em>Navigator.Firefox<\/em> dhe t\u00eb tjera). K\u00ebtu do t\u00eb na nevojitet id e dritares (kolona 1), emri i klas\u00ebs (kolona 3) dhe emri i dritares (kolona e fundit).<\/p>\n<p><\/p>\n<p>Mund t\u00eb provosh t\u00eb aktivizosh ndonj\u00eb dritare p\u00ebrmes opsionit <em>-a<\/em>:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ wmctrl -a skype.Skype -x<\/code><\/pre>\n<p><\/p>\n<p>N\u00ebse gjith\u00e7ka shkoi sipas planit, duhet t\u00eb shfaqet dritarja Skype n\u00eb ekran. N\u00ebse n\u00eb vend t\u00eb opsionit <em>-x<\/em> p\u00ebrdor opsionin <em>-i<\/em>, at\u00ebher\u00eb n\u00eb vend t\u00eb emrit t\u00eb klas\u00ebs, mund t\u00eb jap\u00ebsh id e dritares. Problemi me id \u00ebsht\u00eb se id e dritares ndryshon me \u00e7do her\u00eb q\u00eb nis aplikacionin dhe nuk mund ta dim\u00eb paraprakisht. Nga ana tjet\u00ebr, ky atribut qart\u00eb tregon p\u00ebr dritaren, q\u00eb mund t\u00eb jet\u00eb e r\u00ebnd\u00ebsishme kur aplikacioni hap m\u00eb shum\u00eb se nj\u00eb dritare. P\u00ebr k\u00ebt\u00eb, pak m\u00eb von\u00eb.<\/p>\n<p><\/p>\n<p>N\u00eb k\u00ebt\u00eb faz\u00eb, na nevojitet t\u00eb mbajm\u00eb mend se do t\u00eb k\u00ebrkojm\u00eb dritaren e duhur p\u00ebrmes regex n\u00eb daljen <em>wmctrl -lx<\/em>. Por kjo nuk do t\u00eb thot\u00eb se duhet t\u00eb p\u00ebrdorim di\u00e7ka t\u00eb komplikuar. Zakonisht, emri i klas\u00ebs ose emri i dritares mjafton. <\/p>\n<p><\/p>\n<p>N\u00eb parim, ideja kryesore duhet t\u00eb jet\u00eb e qart\u00eb. N\u00eb cil\u00ebsimet e shkurtesave t\u00eb globalizuara p\u00ebr menaxherin e dritareve tuaj, vendosni kombinimin e duhur p\u00ebr t\u00eb ekzekutuar skriptin.<\/p>\n<p><\/p>\n<h2 id=\"kak-polzovatsya-skriptami\">Si t\u00eb p\u00ebrdorni skriptet<\/h2>\n<p><\/p>\n<p>S\u00eb pari, duhet t\u00eb instaloni utilitar\u00ebt e konsol\u00ebs <em>wmctrl<\/em> dhe <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>M\u00eb pas duhet t\u00eb shkarkoni skriptet dhe t'i shtoni ato n\u00eb <em>$PATH<\/em>. Un\u00eb zakonisht i vendos ata n\u00eb <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>N\u00ebse direktoriumi <em>~\/bin<\/em> nuk kishte, at\u00ebher\u00eb duhet ta krijoni dhe t\u00eb rindizni (ose t\u00eb rinovoni sesionin), p\u00ebrndryshe <em>~\/bin<\/em> nuk do t\u00eb shfaqet n\u00eb <em>$PATH<\/em>. N\u00ebse gjith\u00e7ka \u00ebsht\u00eb b\u00ebr\u00eb si\u00e7 duhet, skriptet duhet t\u00eb jen\u00eb t\u00eb aksesueshme nga consola dhe autocompletion duhet t\u00eb funksionoj\u00eb me Tab.<\/p>\n<p><\/p>\n<p>Skripti kryesor <strong>showwin<\/strong> pranon 2 parametra: i pari \u00ebsht\u00eb regex-i, sipas t\u00eb cilit do t\u00eb k\u00ebrkojm\u00eb dritaren e nevojshme, dhe parametri i dyt\u00eb \u00ebsht\u00eb komand\u00ebn q\u00eb duhet t\u00eb ekzekutohet, n\u00ebse dritarja e nevojshme nuk u gjet. <\/p>\n<p><\/p>\n<p>Mund t\u00eb provoni t\u00eb ekzekutoni skriptin, p\u00ebr shembull:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ showwin \"Mozilla Firefox$\" firefox<\/code><\/pre>\n<p><\/p>\n<p>N\u00ebse Firefox \u00ebsht\u00eb instaluar, atij dritar\u00ebs duhet t'i jepet fokusi. Edhe n\u00ebse Firefox nuk ka qen\u00eb i hapur, ai duhet t\u00eb hapet.<\/p>\n<p><\/p>\n<p>N\u00ebse arrit\u00ebt, mund t\u00eb provoni t\u00eb konfiguroni ekzekutimin e komandave me kombinime. N\u00eb cil\u00ebsimet e hotkeys\/'shortcuts' globale shtoni:<\/p>\n<p><\/p>\n<ul>\n<li>Alt+F: showwin &#171;Mozilla Firefox$&#187; firefox<\/li>\n<li>Alt+D: showwin &#171;Mozilla Firefox (Private Browsing)$&#187; &#171;firefox -private-window&#187;<\/li>\n<li>Alt+C: showwin &#171;chromium-browser.Chromium-browser N*&#187; chromium-browser<\/li>\n<li>Alt+X: showwin &#171;chromium-browser.Chromium-browser I*&#187; &#171;chromium-browser -incognito&#187;<\/li>\n<li>Alt+S: showwin &#171;skype.Skype&#187; skypeforlinux<\/li>\n<li>Alt+E: showwin &#171;jetbrains-idea&#187; idea.sh<\/li>\n<\/ul>\n<p><\/p>\n<p>Dhe tjer\u00eb. \u00c7el\u00ebsat e shkurtra dhe programet mund t\u00eb konfigurohen nga secili sipas d\u00ebshir\u00ebs s\u00eb tij.<br \/>\nN\u00ebse gjith\u00e7ka \u00ebsht\u00eb b\u00ebr\u00eb si\u00e7 duhet, me kombinimet e lartp\u00ebrmendura do t\u00eb mund t\u00eb kalojm\u00eb midis dritareve me nj\u00eb shtypje t\u00eb thjesht\u00eb t\u00eb \u00e7el\u00ebsave.<\/p>\n<p><\/p>\n<p>Do t'i zhg\u00ebnjej adhuruesit e Chrome-it: nj\u00eb dritare e zakonshme nuk mund t\u00eb dalloj\u00eb incognito nga rezultati. <em>wmctrl<\/em> nuk \u00ebsht\u00eb e mundur, pasi kan\u00eb t\u00eb nj\u00ebjtat emra klasash dhe tituj dritare. Simbolet N* dhe I* n\u00eb regex t\u00eb propozuar jan\u00eb t\u00eb nevojshme vet\u00ebm q\u00eb k\u00ebto regjex t\u00eb dallohet nga nj\u00ebri-tjetri dhe t\u00eb mund t'u caktohen dritare t\u00eb ndryshme si kryesore.<\/p>\n<p><\/p>\n<p>P\u00ebr t\u00eb rikthyer dritaren kryesore t\u00eb kombinimit t\u00eb m\u00ebparsh\u00ebm (faktikisht p\u00ebr regex-in q\u00eb u thirr p\u00ebr her\u00eb t\u00eb fundit), \u00ebsht\u00eb e nevojshme t\u00eb th\u00ebrritet skripti <strong>showwin<\/strong> showwinDetach <strong>. Un\u00eb k\u00ebt\u00eb skript e kam caktuar n\u00eb kombinimin e \u00e7el\u00ebsave<\/strong>Ky skript <em>Alt+Backspace<\/em>. <\/p>\n<p><\/p>\n<p>ka nj\u00eb funksion tjet\u00ebr. Kur thirret me nj\u00eb paramet\u00ebr (n\u00eb k\u00ebt\u00eb rast parametri \u00ebsht\u00eb thjesht identifikuesi), at\u00ebher\u00eb ai nuk kontrollon fare regex-in, por i konsideron t\u00eb gjitha dritaret si t\u00eb p\u00ebrshtatshme. Vet\u00ebm kjo duket e padobishme, megjithat\u00eb n\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb ne mund t\u00eb caktojm\u00eb \u00e7do dritare si kryesore dhe t\u00eb kalojm\u00eb shpejt n\u00eb k\u00ebt\u00eb dritare. <strong>showwin<\/strong> ka nj\u00eb tjet\u00ebr funksion. Kur thirret me nj\u00eb paramet\u00ebr (n\u00eb k\u00ebt\u00eb rast parametri \u00ebsht\u00eb thjesht nj\u00eb identifikues), ai nuk kontrollon fare regex-in dhe e konsideron t\u00eb gjitha dritaret si t\u00eb p\u00ebrshtatshme. Kjo duket e panevojshme, megjithat\u00eb n\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb ne mund t\u00eb caktojm\u00eb \u00e7do dritare si kryesore dhe t\u00eb kalojm\u00eb shpejt pik\u00ebrisht n\u00eb k\u00ebt\u00eb dritare.<\/p>\n<p><\/p>\n<p>Un\u00eb kam caktuar k\u00ebto kombinime:<\/p>\n<p><\/p>\n<ul>\n<li>Alt+1: showwin &#171;CustomKey1&#187;<\/li>\n<li>Alt+2: showwin &#171;CustomKey2&#187;<\/li>\n<li>\u2026<\/li>\n<li>Alt+0: showwin &#171;CustomKey0&#187;<\/li>\n<li>Alt+Backspace: shfaqwinDetach<\/li>\n<\/ul>\n<p><\/p>\n<p>K\u00ebshtu mund t\u00eb lidh \u00e7do dritare me kombinime <em>Alt+1<\/em>&#8230;<em>Alt+0<\/em>. Thjesht duke shtypur <em>Alt+1<\/em> e lidh dritaren aktuale me k\u00ebt\u00eb kombinim. Mund ta anuloj lidhjen duke shtypur <em>Alt+1<\/em>, dhe pastaj <em>Alt+Backspace<\/em>. Ose mund ta mbyll dritaren, ashtu edhe funksionon.<\/p>\n<p><\/p>\n<p>M\u00eb tutje, do t\u00eb flas pak p\u00ebr detajet teknike. Mund t'i injorosh ato dhe thjesht t\u00eb provosh t\u00eb konfigurash dhe t\u00eb shoh\u00ebsh. Por un\u00eb ende do t\u00eb rekomandoja t\u00eb kuptosh skenar\u00eb t\u00eb tjer\u00eb para se t'i ekzekutosh n\u00eb kompjuterin t\u00ebnd :).<\/p>\n<p><\/p>\n<h2 id=\"kak-razlichat-raznye-okna-odnogo-prilozheniya\">Si t\u00eb dallosh dritaret e ndryshme t\u00eb nj\u00eb aplikacioni<\/h2>\n<p><\/p>\n<p>N\u00eb thelb, shembulli m\u00eb i par\u00eb \"wmctrl -a skype.Skype -x\" funksiononte dhe mund t\u00eb p\u00ebrdoret. Por le t\u00eb hedhim nj\u00eb shikim n\u00eb shembullin me Firefox, ku jan\u00eb hapur 2 dritare:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">0x04400003  0 Navigator.Firefox                   N\/A Google Translate - Mozilla Firefox\n0x04400218  0 Navigator.Firefox                   N\/A Postimet m\u00eb t\u00eb mira t\u00eb dit\u00ebs \/ Habr - Mozilla Firefox (Private Browsing)<\/code><\/pre>\n<p><\/p>\n<p>Dritarja e par\u00eb \u2014 modaliteti i zakonsh\u00ebm, nd\u00ebrsa e dyta \u2014 Shikim Privat. K\u00ebto dritare do t\u00eb d\u00ebshironim t'i konsideronim si aplikacione t\u00eb ndryshme dhe t\u00eb kalonim n\u00eb to me kombinime t\u00eb ndryshme \u00e7el\u00ebsish. <\/p>\n<p><\/p>\n<p>Duhet ta komplikohet skripti, q\u00eb kalon dritaret. Kam p\u00ebrdorur nj\u00eb zgjidhje t\u00eb till\u00eb: t\u00eb outputoj list\u00ebn e t\u00eb gjitha dritareve, t\u00eb b\u00ebj <em>grep<\/em> me regex, t\u00eb marr rreshtin e par\u00eb me ndihm\u00ebn e <em>head<\/em>, nxjerrni kolon\u00ebn e par\u00eb (kjo do t\u00eb jet\u00eb id e dritares) me ndihm\u00ebn e <em>prer\u00eb<\/em>, kaloni n\u00eb dritaren me id.<\/p>\n<p><\/p>\n<p>K\u00ebtu duhet t\u00eb ket\u00eb nj\u00eb shaka mbi shprehjet e rregullta dhe dy probleme, por n\u00eb t\u00eb v\u00ebrtet\u00eb nuk po p\u00ebrdor asgj\u00eb t\u00eb komplikuar. Shprehjet e rregullta jan\u00eb t\u00eb nevojshme p\u00ebr t\u00eb treguar fundin e vargut (simbolin \u00ab$\u00bb) dhe p\u00ebr t\u00eb dalluar \u00abMozilla Firefox$\u00bb nga \u00abMozilla Firefox (Private Browsing)$\u00bb.<\/p>\n<p><\/p>\n<p>Komanda duket p\u00ebraf\u00ebrsisht k\u00ebshtu:<\/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>K\u00ebtu mund t\u00eb dyshohet tashm\u00eb mbi ve\u00e7orin\u00eb e dyt\u00eb t\u00eb skriptit: n\u00ebse grep nuk ka dh\u00ebn\u00eb asgj\u00eb, at\u00ebher\u00eb aplikacioni i nevojsh\u00ebm nuk \u00ebsht\u00eb hapur dhe duhet ta nisni duke ekzekutuar komand\u00ebn nga parametri i dyt\u00eb. Pastaj, kontrolloni periodikisht n\u00ebse dritarja e nevojshme \u00ebsht\u00eb hapur, p\u00ebr t'i dh\u00ebn\u00eb asaj fokusin. Nuk po e theksoj k\u00ebt\u00eb, kush e ka nevoj\u00ebn, mund t\u00eb shikoj\u00eb burimet.<\/p>\n<p><\/p>\n<h2 id=\"kogda-okna-prilozheniya-ne-razlichimy\">Kur dritaret e aplikacionit nuk jan\u00eb t\u00eb dallueshme<\/h2>\n<p><\/p>\n<p>Pra ndaj, ne kemi m\u00ebsuar t\u00eb transferojm\u00eb fokusin n\u00eb dritaren e aplikacionit t\u00eb duhur. Por \u00e7far\u00eb n\u00ebse jan\u00eb hapur m\u00eb shum\u00eb se nj\u00eb dritare nga aplikacioni? Cila dritare duhet t\u00eb merr fokusin? Skripti i m\u00ebsip\u00ebrm do ta kaloj\u00eb, megjithat\u00eb, ndoshta, n\u00eb dritaren e par\u00eb t\u00eb hapur. Sidoqoft\u00eb, do t\u00eb d\u00ebshironim m\u00eb shum\u00eb fleksibilitet. Do t\u00eb ishte mir\u00eb t\u00eb kishim mund\u00ebsin\u00eb t\u00eb mbajm\u00eb mend se cila dritare na nevojitet dhe t\u00eb kalojm\u00eb pik\u00ebrisht n\u00eb at\u00eb dritare.<\/p>\n<p><\/p>\n<p>Ideja ishte si kjo: N\u00ebse duam t\u00eb mbajm\u00eb mend p\u00ebr kombinimin e \u00e7el\u00ebsave nj\u00eb dritare t\u00eb caktuar, at\u00ebher\u00eb duhet t\u00eb shtypim k\u00ebt\u00eb kombinim kur dritarja e nevojshme \u00ebsht\u00eb duke u fokusuar. N\u00eb t\u00eb ardhmen, kur t\u00eb shtypim k\u00ebt\u00eb kombinim, fokusi do t\u00eb kaloj\u00eb pik\u00ebrisht n\u00eb k\u00ebt\u00eb dritare. Deri sa dritarja t\u00eb mbyllet ose t\u00eb b\u00ebjm\u00eb nj\u00eb rivendosje p\u00ebr k\u00ebt\u00eb kombinim skripti. <strong>. Un\u00eb k\u00ebt\u00eb skript e kam caktuar n\u00eb kombinimin e \u00e7el\u00ebsave<\/strong>.<\/p>\n<p><\/p>\n<p>Algoritmi i skriptit <strong>showwin<\/strong> \u00ebsht\u00eb p\u00ebraf\u00ebrsisht si ky:<\/p>\n<p><\/p>\n<ul>\n<li>Kontrollo n\u00ebse ne kemi mbajtur mend m\u00eb par\u00eb id-n\u00eb e dritares, s\u00eb cil\u00ebs i duhen kaluar fokusin.<br \/>\nN\u00ebse kemi mbajtur mend dhe nj\u00eb dritare e till\u00eb akoma ekziston, at\u00ebher\u00eb i kalojm\u00eb fokusin dhe dalim. <\/li>\n<li>Shikojm\u00eb cila dritare \u00ebsht\u00eb aktualisht n\u00eb fokus, dhe n\u00ebse ajo i p\u00ebrputhet k\u00ebrkes\u00ebs son\u00eb, at\u00ebher\u00eb do ta mbajm\u00eb mend id-n\u00eb e saj p\u00ebr t'u kaluar n\u00eb t\u00eb n\u00eb t\u00eb ardhmen dhe dalim.<\/li>\n<li>Kalojm\u00eb n\u00eb ndonj\u00eb dritare t\u00eb p\u00ebrshtatshme n\u00ebse ekziston, ose hapim aplikacionin e nevojsh\u00ebm.<\/li>\n<\/ul>\n<p><\/p>\n<p>Mund t\u00eb kuptoni se cili dritare \u00ebsht\u00eb aktualisht n\u00eb fokus duke p\u00ebrdorur utilitarin e konsol\u00ebs xdotool, duke e shnd\u00ebrruar t\u00eb dh\u00ebnat e tij n\u00eb formatin hexadecimal:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ printf \"0x%08x\" `xdotool getwindowfocus`<\/code><\/pre>\n<p><\/p>\n<p>Nj\u00eb m\u00ebnyr\u00eb e leht\u00eb p\u00ebr t\u00eb mbajtur mend di\u00e7ka n\u00eb bash \u00ebsht\u00eb t\u00eb krijoni skedar\u00eb n\u00eb nj\u00eb sistem t\u00eb skedar\u00ebve virtual, i cili \u00ebsht\u00eb n\u00eb kujtes\u00eb. N\u00eb Ubuntu, nj\u00eb i till\u00eb aktivizohet automatikisht n\u00eb <em>\/dev\/shm\/<\/em>. P\u00ebr shp\u00ebrndarje t\u00eb tjera nuk mund t\u00eb them asgj\u00eb, shpresoj q\u00eb di\u00e7ka e till\u00eb t\u00eb ekzistoj\u00eb gjithashtu. Mund ta kontrolloni me komand\u00ebn:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ mount -l | grep tmpfs<\/code><\/pre>\n<p><\/p>\n<p>Skripti do t\u00eb krijoj\u00eb drejtorit\u00eb e zbraz\u00ebta n\u00eb k\u00ebt\u00eb dosje, t\u00eb tilla si: <em>\/dev\/shm\/$USER\/showwin\/$SEARCH_REGEX\/$WINDOW_ID<\/em>. Shtes\u00eb, n\u00eb \u00e7do thirrje ai do t\u00eb krijoj\u00eb nj\u00eb symlink <em>\/dev\/shm\/$USER\/showwin\/showwin_last<\/em> n\u00eb <em>\/dev\/shm\/$USER\/showwin\/$SEARCH_REGEX<\/em>. Kjo do t\u00eb nevojitet p\u00ebr t\u00eb pasur mund\u00ebsin\u00eb t\u00eb hiqni id e dritares p\u00ebr nj\u00eb kombinim t\u00eb caktuar me an\u00eb t\u00eb skriptit <strong>. Un\u00eb k\u00ebt\u00eb skript e kam caktuar n\u00eb kombinimin e \u00e7el\u00ebsave<\/strong>.<\/p>\n<p><\/p>\n<h2 id=\"chto-mozhno-uluchshit\">\u00c7far\u00eb mund t\u00eb p\u00ebrmir\u00ebsohet<\/h2>\n<p><\/p>\n<p>S\u00eb pari, skriptet duhet t\u00eb konfigurohen manualisht. Me siguri, p\u00ebr shkak t\u00eb nevoj\u00ebs p\u00ebr t\u00eb kuptuar dhe b\u00ebr\u00eb shum\u00eb gj\u00ebra manualisht, shum\u00eb prej jush ndoshta nuk do t\u00eb p\u00ebrpiqen ta konfiguroni sistemin. N\u00ebse do t\u00eb kishte mund\u00ebsi t\u00eb thjesht\u00eb p\u00ebr t\u00eb instaluar nj\u00eb paket\u00eb dhe p\u00ebr t\u00eb konfiguruar gjith\u00e7ka m\u00eb leht\u00eb, ndoshta kjo do t\u00eb fitonte disa popullaritet. Pastaj, ndoshta do t\u00eb p\u00ebrfshihej edhe n\u00eb shp\u00ebrndarjet standarde.<\/p>\n<p><\/p>\n<p>Dhe mund t\u00eb jet\u00eb m\u00eb e thjesht\u00eb. N\u00ebse me id-n\u00eb e dritares mund t\u00eb dihet id e procesit q\u00eb e krijoi at\u00eb, dhe me id-n\u00eb e procesit t\u00eb dihet se cila komand\u00eb e krijoi, at\u00ebher\u00eb do t\u00eb ishte e mundur t\u00eb automatizohej konfigurimi. N\u00eb t\u00eb v\u00ebrtet\u00eb, nuk kam ndjekur n\u00ebse \u00ebsht\u00eb e mundur ajo q\u00eb kam shkruar n\u00eb k\u00ebt\u00eb paragraf. \u00c7\u00ebshtja \u00ebsht\u00eb se personalisht p\u00ebr mua, m\u00ebnyra se si funksionon tani \u00ebsht\u00eb e pranueshme. Por, n\u00ebse dikujt tjet\u00ebr do t'i dukej e p\u00ebrshtatshme dhe dikush do ta p\u00ebrmir\u00ebsonte, do t\u00eb isha me k\u00ebnaq\u00ebsi p\u00ebr ta p\u00ebrdorur zgjidhjen m\u00eb t\u00eb mir\u00eb.<\/p>\n<p><\/p>\n<p>Nj\u00eb problem tjet\u00ebr, si\u00e7 kam shkruar m\u00eb par\u00eb, \u00ebsht\u00eb se n\u00eb disa raste dritaret nuk mund t\u00eb dallohen nga nj\u00ebra-tjetra. Deri m\u00eb tani kam v\u00ebzhguar di\u00e7ka t\u00eb till\u00eb vet\u00ebm me incognito n\u00eb chrome\/chromium, por ndoshta ka ndodhur diku tjet\u00ebr. N\u00eb rastin m\u00eb t\u00eb keq, gjithmon\u00eb ka mund\u00ebsin\u00eb e kombinimeve universale. <em>Alt+1<\/em>&#8230;<em>Alt+0<\/em>P\u00ebrs\u00ebri, un\u00eb p\u00ebrdor Firefox dhe p\u00ebr mua k\u00ebt\u00eb problem nuk \u00ebsht\u00eb i r\u00ebnd\u00ebsish\u00ebm.<\/p>\n<p><\/p>\n<p>Por nj\u00eb problem q\u00eb \u00ebsht\u00eb i r\u00ebnd\u00ebsish\u00ebm p\u00ebr mua \u00ebsht\u00eb se n\u00eb pun\u00eb p\u00ebrdor Mac OS dhe atje nuk kam mundur t\u00eb b\u00ebj asgj\u00eb t\u00eb till\u00eb. Duke instaluar <em>wmctrl<\/em> duke duket se kam mundur, por ajo nuk funksionon mir\u00eb n\u00eb Mac OS. Mund t\u00eb b\u00ebhet di\u00e7ka me aplikacionin. <em>Automator<\/em>, por \u00ebsht\u00eb aq ngadal\u00eb, sa q\u00eb nuk \u00ebsht\u00eb e p\u00ebrshtatshme t\u00eb p\u00ebrdoret edhe kur funksionon. Nuk pata mund\u00ebsi t\u00eb konfiguroj kombinimet e \u00e7el\u00ebsave q\u00eb t\u00eb funksiononin n\u00eb t\u00eb gjitha programet. N\u00ebse ndokush gjen nj\u00eb zgjidhje \u2014 do t\u00eb m\u00eb p\u00eblqente ta p\u00ebrdorja.<\/p>\n<p><\/p>\n<h2 id=\"vmesto-zaklyucheniya\">N\u00eb vend t\u00eb p\u00ebrfundimit<\/h2>\n<p><\/p>\n<p>Doli papritur shum\u00eb fjal\u00eb p\u00ebr nj\u00eb funksionalitet aq t\u00eb thjesht\u00eb. Deshta t\u00eb p\u00ebrcjell iden\u00eb dhe t\u00eb mos e mbingarkoj tekstin, por ende nuk kam gjetur nj\u00eb m\u00ebnyr\u00eb m\u00eb t\u00eb thjesht\u00eb p\u00ebr ta shprehur. Ndoshta n\u00eb format video do ishte m\u00eb mir\u00eb, por k\u00ebtu nuk e duan shum\u00eb.<\/p>\n<p><\/p>\n<p>Kam folur pak p\u00ebr at\u00eb q\u00eb ndodhi n\u00ebn kapak t\u00eb skriptit dhe si ta konfiguroj at\u00eb. Nuk u thella n\u00eb detajet e vet\u00eb skriptit, por kan\u00eb vet\u00ebm 50 rreshta, nuk \u00ebsht\u00eb e v\u00ebshtir\u00eb t\u00eb kuptohet. <\/p>\n<p><\/p>\n<p>Shpresoj q\u00eb dikush tjet\u00ebr t\u00eb provoj\u00eb k\u00ebt\u00eb ide dhe, ndoshta, madje ta vler\u00ebsoj\u00eb. P\u00ebr veten time mund t\u00eb them se skripti \u00ebsht\u00eb shkruar rreth 3 vjet m\u00eb par\u00eb dhe \u00ebsht\u00eb shum\u00eb i p\u00ebrshtatsh\u00ebm p\u00ebr mua. Aq i p\u00ebrshtatsh\u00ebm, sa q\u00eb shkakton nj\u00eb shqet\u00ebsim t\u00eb madh kur punoj me kompjuter\u00eb t\u00eb tjer\u00eb. Dhe me MacBook-un tim t\u00eb pun\u00ebs. <\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/masyamandev\/Showwin-script\">Linku p\u00ebr skriptet<\/a><\/noindex><\/p>\n<p>Burimi: <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 4.9.10 - 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. \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\" \/>\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\/sq\/blog\/administrirovanie\/alternativnoe-upravlenie-oknami-v-linux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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. \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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/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\udd47Kontroll alternativ i dritareve n\u00eb Linux | ProHoster","description":"Jam nga ata q\u00eb e vendos nd\u00ebrrimin e layout-it n\u00eb Caps Lock, sepse nuk kam d\u00ebshir\u00eb t\u00eb shtyp dy \u00e7el\u00ebsa kur mund t\u00eb shtyp nj\u00eb. Madhe do t\u00eb doja t\u00eb kisha 2 \u00e7el\u00ebsa t\u00eb padobish\u00ebm: nj\u00eb do ta p\u00ebrdornja p\u00ebr t\u00eb aktivizuar layout-in n\u00eb anglisht, dhe tjetrin p\u00ebr at\u00eb n\u00eb rusisht. Por \u00e7el\u00ebsi i dyt\u00eb t\u00eb padobish\u00ebm \u00ebsht\u00eb thirrja e menus\u00eb kontekstuale, q\u00eb \u00ebsht\u00eb aq e panevojshme sa shum\u00eb prodhues e heqin.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/alternativnoe-upravlenie-oknami-v-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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. \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","og:url":"https:\/\/prohoster.info\/sq\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/55206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=55206"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/55206\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=55206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=55206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=55206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}