Alternative hwindo manejimendi muLinux

Ini ndiri mumwe weavo vanoseta Caps Lock kuti vachinje marongero nekuti ndine nungo yekudzvanya makiyi maviri pandinogona kudzvanya imwe. Ndingatoda makiyi maviri asina kufanira: Ini ndaizoshandisa imwe kuvhura dhizaini yeChirungu, uye yechipiri yeRussia. Asi yechipiri isingakoshi kiyi ndeyekudaidza iyo yemukati menyu, iyo isingaite zvekuti inotemwa nevazhinji vanogadzira malaptop. Saka unofanira kugutsikana nezvaunazvo.

Uye ini zvakare handidi kutsvaga zvidhori zvavo pabhara rebasa kana uchichinja windows, kana kubata mazita kana uchipfuura. Alt + Tab, penya kuburikidza nedesktops, etc. Ndinoda kudzvanya kiyi musanganiswa (zvakanakisa imwe chete, asi hapasisina makiyi asingakoshi emahara) uye nekukurumidza svika pahwindo randinoda. Somuenzaniso seizvi:

  • Alt+F: Firefox
  • Alt+D: Firefox (Private Browsing)
  • Alt+T: Terminal
  • Alt+M: Calculator
  • Alt+E: IntelliJ Idea
  • nezvimwewo.

Uyezve, nekudzvanya, semuenzaniso, pa Alt+M Ndinoda kuona Calculator zvisinei nekuti chirongwa ichi chiri kushanda. Kana iri kushanda, saka hwindo rayo rinoda kupihwa tarisiro, uye kana zvisiri, mhanyisa chirongwa chaunoda uye kutamisa kutarisisa kana ichiremedza.

Kune zviitiko zvisina kuvharwa neyakapfuura script, ini ndoda kuve neakawanda kiyi misanganiswa iyo inogona kupihwa nyore kune chero yakavhurika windows. Semuenzaniso, ndine gumi masanganiswa akapihwa kubva Alt + 1 up to Alt + 0, iyo isina kusungirirwa kune chero mapurogiramu. Ndinogona kungodzvanya Alt + 1 uye hwindo iro riri kutarisisa parizvino rinozotariswa kana radzvanywa Alt + 1.

Pazasi pekucheka pane tsananguro yemamwe akati wandei maficha uye mhinduro yekuti izvi zvinogona kuitwa sei. Asi ini ndichakurumidza kukuyambira kuti kuita kwakadai "kwako" kunogona kukonzera kupindwa muropa kwakanyanya uye kunyange kurega kana uchida kushandisa Windows, Mac OS kana komputa yemumwe munhu ine Linux.

Muchokwadi, kana iwe uchifunga nezvazvo, isu hatishandise akawanda mapurogiramu mazuva ese. Browser, terminal, IDE, imwe mhando yemutumwa, faira maneja, karukureta uye, pamwe, zvinenge zvese. Iko hakuna akawanda makiyi musanganiswa anodiwa kuvhara 95% yemazuva ese mabasa.

Kune mapurogiramu ane akati wandei akavhurika windows, imwe yacho inogona kusarudzwa seyo huru. Semuenzaniso, une akawanda IntelliJ Idea windows akavhurwa uye akagoverwa Alt + E. Pasi pemamiriro akajairika, paunodzvanya Alt + E rimwe hwindo rechirongwa ichi richavhurika, pamwe ndiro rakatanga kuvhurwa. Nekudaro, kana ukadzvanya pa Alt + E kana imwe yemahwindo echirongwa ichi yatove mukutarisa, ipapo iyi hwindo ichapihwa seyo huru uye ichave iyo ichapihwa kutariswa kana inotevera misanganiswa yadzvanywa.

Iwindo guru rinogona kugoverwa zvakare. Kuti uite izvi, unofanira kutanga wagadzirisa musanganiswa, uye wozopa imwe hwindo kwairi sehwindo guru. Kuti ugadzirise zvakare musanganiswa, iwe unofanirwa kudzvanya iyo musanganiswa pachayo, uyezve yakakosha reset musanganiswa, ini ndinopihwa iyo Alt + Backspace. Izvi zvinodaidza script iyo inobvisa iyo huru hwindo remusanganiswa wapfuura. Uye ipapo iwe unogona kugovera hwindo guru idzva sezvakatsanangurwa mundima yapfuura. Kudzoreredza hwindo rakabatana kune ese masanganiswa kunoitika nenzira imwechete.

Nhanganyaya yakazove yakareba, asi ndaida kutanga ndataura zvatichaita, ndozotsanangura kuti tozviita sei.

Kune vaya vaneta nekuverenga

Muchidimbu, chinongedzo kune zvinyorwa chiri pamagumo echinyorwa.

Asi iwe haugone kuisa nekuishandisa ipapo ipapo. Iwe unofanirwa kutanga waona kuti script inowana sei hwindo raunoda. Pasina izvi, hazvizogone kuudza script kuti papi chaipo panoda kutamiswa. Uye iwe unofanirwa kunzwisisa kuti chii chaunofanira kuita kana kamwe kamwe hwindo rakakodzera harina kuwanikwa.

Uye ini handisi kuzotarisa maitiro ekugadzirisa maitirwo ezvinyorwa nekudzvanya makiyi masanganiswa. Semuenzaniso, muKDE iri muSystem Settings β†’ Shortcuts β†’ Tsika mapfupi. Izvi zvinofanirwa kunge zvakadaro mune mamwe vatariri vehwindo.

Kusuma wmctrl

Wmctrl - console utility yekudyidzana neX Window Manager. Iyi ndiyo purogiramu yakakosha yescript. Ngatitarisei nekukurumidza kuti ungaishandisa sei.

Kutanga, ngatiratidze runyoro rwemahwindo akavhurwa:

$ wmctrl -lx
0x01e0000e -1 plasmashell.plasmashell             N/A Desktop β€” Plasma
0x01e0001e -1 plasmashell.plasmashell             N/A Plasma
0x03a00001  0 skype.Skype                         N/A Skype
0x04400003  0 Navigator.Firefox                   N/A Google ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ - Mozilla Firefox
0x04400218  0 Navigator.Firefox                   N/A Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π° сутки / Π₯Π°Π±Ρ€ - Mozilla Firefox (Private Browsing)
...

Sarudzo -l inoratidza rondedzero yeese akavhurika windows, uye -X inowedzera zita rekirasi kune zvakabuda (skype.Skype, Navigator.Firefox etc). Pano tinoda id yehwindo (column 1), zita rekirasi (column 3) uye zita rehwindo (yekupedzisira column).

Iwe unogona kuedza kumisa imwe hwindo uchishandisa sarudzo -a:

$ wmctrl -a skype.Skype -x

Kana zvese zvikafamba sekuronga, hwindo reSkype rinofanira kuoneka pachiratidziri. Kana pachinzvimbo chesarudzo -x kushandisa sarudzo -i, ipapo panzvimbo yezita rekirasi unogona kutsanangura id yehwindo. Dambudziko neid nderekuti id yewindow inochinja pese panotangwa application uye hatigone kuzviziva pachine nguva. Kune rimwe divi, hunhu uhu hunozivisa hwindo, iro rinogona kuve rakakosha kana application ikavhura anopfuura hwindo rimwe. Zvimwe pane izvi zvishoma mberi.

Panguva ino isu tinofanirwa kuyeuka kuti isu tichatsvaga hwindo ratinoda tichishandisa regex nekubuda wmctrl -lx. Asi hazvirevi kuti tinofanira kushandisa chimwe chinhu chakaoma. Kazhinji zita rekirasi kana zita rehwindo rinokwana.

Chaizvoizvo, pfungwa huru inofanira kunge yatova yakajeka. Mune epasi rose hotkeys / mapfupi marongero kune yako hwindo maneja, gadzirisa inodiwa musanganiswa kuti uite script.

Mashandisiro ezvinyorwa

Kutanga iwe unofanirwa kuisa console utilities wmctrl ΠΈ wemusi:

$ sudo apt-get install wmctrl xdotool

Tevere iwe unofanirwa kudhawunirodha zvinyorwa uye wozviwedzera kune $ PATH. Ndinowanzodziisa mukati ~/bin:

$ cd ~/bin
$ git clone https://github.com/masyamandev/Showwin-script.git
$ ln -s ./Showwin-script/showwin showwin
$ ln -s ./Showwin-script/showwinDetach showwinDetach

Kana dhairekitori ~/bin yanga isipo, saka iwe unofanirwa kuigadzira uye wotangazve (kana kuti re-login), neimwe nzira ~/bin hairove $ PATH. Kana zvese zvikaitwa nemazvo, saka zvinyorwa zvinofanirwa kuwanikwa kubva kuconsole uye Tab kupedzisa kunofanira kushanda.

Main script showwin inotora 2 parameters: yekutanga ndeye regex, iyo yatichatsvaga hwindo rinodiwa, uye yechipiri parameter murairo unoda kuurayiwa kana hwindo rinodiwa risipo.

Unogona kuedza kumhanyisa script, semuenzaniso:

$ showwin "Mozilla Firefox$" firefox

Kana Firefox yakaiswa, hwindo rayo rinofanira kutariswa. Kunyangwe dai Firefox isiri kushanda, yaifanira kunge yakatanga.

Kana ikashanda, saka unogona kuedza kugadzirisa kuurayiwa kwemirairo pamisanganiswa. Mune epasi rose hotkeys / mapfupi marongero wedzera:

  • Alt+F: showwin "Mozilla Firefox$" firefox
  • Alt+D: showwin "Mozilla Firefox (Private Browsing) $" "firefox -yakavanzika-hwindo"
  • Alt+C: showwin "chromium-browser.Chromium-browser N*" chromium-browser
  • Alt+X: showwin "chromium-browser.Chromium-browser I*" "chromium-browser -incognito"
  • Alt+S: showwin "skype.Skype" skypeforlinux
  • Alt+E: showwin "jetbrains-idea" idea.sh

Etc. Wese munhu anogona kugadzirisa makiyi masanganiswa uye software sezvavanoona zvakakodzera.
Kana zvese zvikafamba nemazvo, tozoshandisa masanganiswa ari pamusoro apa tichakwanisa kushandura pakati windows nekungodzvanya makiyi.

Ini ndichaodza mwoyo vanoda chrome: inogona incognito kusiyanisa hwindo renguva dzose nekubuda kwaro wmctrl Iwe haugone, vane iwo akafanana kirasi mazita uye mahwindo mazita. Mune yakarongwa regex, mavara N * uye ini * anodiwa chete kuti aya mataurirwo enguva dzose akasiyana kubva kune mumwe uye anogona kugoverwa semahwindo makuru.

Kugadzirisazve hwindo guru remusanganiswa wekare (pachokwadi ye regex, iyo showwin yakadanwa kekupedzisira) unofanirwa kufonera script showwinDetach. Ndine script iyi yakapihwa kune kiyi musanganiswa Alt + Backspace.

Pa script showwin pane rimwe basa zvakare. Kana ichidanwa neimwe parameter (munyaya iyi parameter ingori chiziviso), haitarise regex zvachose, asi inoona mahwindo ese akakodzera. Pachezvayo, izvi zvinoita sezvisingabatsiri, asi nenzira iyi tinogona kusarudza chero hwindo seyo huru uye nekukurumidza chinja kune iyo chaiyo hwindo.

Ndine zvinotevera zvinosanganiswa zvakagadziriswa:

  • Alt+1: showwin "CustomKey1"
  • Alt+2: showwin "CustomKey2"
  • ...
  • Alt+0: showwin "CustomKey0"
  • Alt+Backspace: showwinDetach

Nenzira iyi ndinogona kusunga chero windows kumisanganiswa Alt + 1...Alt + 0. Nekungodzvanya Alt + 1 Ini ndinosunga hwindo razvino kune iyi musanganiswa. Ndinogona kukanzura kusunga nekudzvanya Alt + 1, ndokuzo Alt + Backspace. Kana kuvhara hwindo, iro rinoshanda zvakare.

Tevere ini ndichakuudza mamwe maitiro ehunyanzvi. Iwe haufanirwe kuaverenga, asi ingoedza kuamisa uye ona. Asi ini ndichiri kukurudzira kunzwisisa zvinyorwa zvevamwe vanhu usati waamhanyisa pakombuta yako :).

Nzira yekusiyanisa pakati pemahwindo akasiyana ekushandiswa kwakafanana

Muchidimbu, muenzaniso wekutanga "wmctrl -a skype.Skype -x" waishanda uye unogona kushandiswa. Asi ngatitarisei zvakare muenzaniso neFirefox, umo mahwindo maviri akavhurwa:

0x04400003  0 Navigator.Firefox                   N/A Google ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ - Mozilla Firefox
0x04400218  0 Navigator.Firefox                   N/A Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π° сутки / Π₯Π°Π±Ρ€ - Mozilla Firefox (Private Browsing)

Iwindo rekutanga rakajairwa modhi, uye yechipiri ndeyeKubhurawuza Kwakavanzika. Ndinoda kufunga aya mahwindo semashandisirwo akasiyana uye chinja kwavari uchishandisa akasiyana kiyi musanganiswa.

Izvo zvinodiwa kuomesa script inochinja windows. Ndakashandisa iyi mhinduro: ratidza runyoro rweese windows, ita grep ne regex, tora mutsara wekutanga ne Musoro, tora koramu yekutanga (iyi ichave iyo hwindo id) uchishandisa vendu, chinja kuhwindo neid.

Panofanira kunge paine jee pamusoro pekutaura nguva dzose uye matambudziko maviri, asi chokwadi ini handisi kushandisa chero chinhu chakaoma. Ndinoda matauriro enguva dzose kuitira kuti ndiratidze magumo emutsara (chiratidzo che "$") uye kusiyanisa "Mozilla Firefox$" kubva "Mozilla Firefox (Private Browsing) $".

Murairo unotaridzika seizvi:

$ wmctrl -i -a `wmctrl -lx | grep -i "Mozilla Firefox$" | head -1 | cut -d" " -f1`

Pano iwe unogona kutofembera nezve yechipiri chimiro chechinyorwa: kana grep isingadzose chero chinhu, saka iyo yaunoda application haina kuvhurika uye iwe unofanirwa kuitanga nekuita murairo kubva pachipiri parameter. Uye wobva watarisa nguva nenguva kana hwindo rinodiwa rakavhurika kuitira kuendesa kutarisa kwairi. Ini handisi kuzotarisa pane izvi; chero munhu anoida anozotarisa kune kwakabva.

Apo mahwindo ekushandisa haasi kusiyanisa

Saka, isu takadzidza nzira yekuchinjisa kutarisa kune hwindo rekushandisa raunoda. Asi ko kana application iine anopfuura hwindo rimwe rakavhurwa? Ndeipi yandinofanira kutarisa kwairi? Iyo script iri pamusoro inogona kuendesa kune yekutanga yakavhurika hwindo. Nekudaro, isu tinoda kuwedzera kuchinjika. Ndinoda kukwanisa kurangarira kuti hwindo ripi ratinoda tochinja kune iro hwindo.

Pfungwa yaive iyi: Kana isu tichida kurangarira hwindo chairo remusanganiswa wekiyi, saka isu tinofanirwa kudzvanya iyi musanganiswa kana hwindo rinodiwa rakatarisana. Mune ramangwana, paunodzvanya iyi musanganiswa, iyo inotariswa ichapihwa kune iyi chaiyo hwindo. Kusvikira hwindo ravhara kana isu toita reset yeiyi script musanganiswa showwinDetach.

Script algorithm showwin chinhu chakadai:

  • Tarisa kana isu takamborangarira id yehwindo iro rinofanirwa kutamiswa.
    Kana iwe uchirangarira uye hwindo rakadaro richiripo, saka tinotamisa tarisiro kwariri uye tobuda.
  • Isu tinotarisa kuti hwindo ripi riri kutarisa parizvino, uye kana richienderana nechikumbiro chedu, saka rangarira id yayo kuti uende kwairi mune ramangwana uye kubuda.
  • Isu tinoenda kune rimwe hwindo rakakodzera kana riripo kana kuvhura iyo yaunoda application.

Iwe unogona kuona kuti ndeipi hwindo riri kutarisa parizvino uchishandisa xdotool console utility nekushandura yakabuda kuita hexadecimal fomati:

$ printf "0x%08x" `xdotool getwindowfocus`

Nzira iri nyore yekurangarira chimwe chinhu mubash kugadzira mafaera mune chaiyo faira system iri mundangariro. MuUbuntu izvi zvinogoneswa nekusarudzika mukati /dev/shm/. Ini handikwanise kutaura chero chinhu nezve kumwe kugovera, ndinovimba kuti pane chimwe chinhu chakafanana futi. Unogona kutarisa nemurairo:

$ mount -l | grep tmpfs

Iyo script ichagadzira madhairekitori asina chinhu mune iyi folda, seizvi: /dev/shm/$USER/showwin/$SEARCH_REGEX/$WINDOW_ID. Pamusoro pezvo, pese painodanwa ichagadzira symlink /dev/shm/$USER/showwin/showwin_last pamusoro /dev/shm/$USER/showwin/$SEARCH_REGEX. Izvi zvichadikanwa kuitira, kana zvichidikanwa, kubvisa id yewindow kune imwe musanganiswa uchishandisa script showwinDetach.

Chii chinogona kuvandudzwa

Chekutanga, zvinyorwa zvinofanirwa kugadzirwa nemaoko. Chokwadi, nekuda kwekuda kunyura mukati uye kuita zvakawanda nemaoko ako, vazhinji vako havatomboedza kugadzirisa iyo system. Dai zvaikwanisika kungoisa pasuru uye kugadzirisa zvese zviri nyore, saka pamwe yaizowana mukurumbira. Uye wobva watarisa, application yacho yaizoburitswa mumigove yakajairwa.

Uye pamwe zvinogona kuitwa nyore. Kana ne id yehwindo iwe unogona kuwana iyo id yemaitiro akaigadzira, uye neid yemaitiro iwe unogona kuona kuti ndeupi murairo wakaigadzira, zvino zvingaite kuti ugadzirise kuseta. Kutaura zvazviri, handina kunzwisisa kuti zvandainyora mundima iyi zvaiita here. Chokwadi ndechekuti ini pachangu ndinogutsikana nemashandiro airi kuita iye zvino. Asi kana mumwe munhu asiri ini akawana nzira yese iri nyore uye mumwe munhu akaivandudza, ipapo ndichafara kushandisa mhinduro iri nani.

Rimwe dambudziko, sezvandatonyora, nderekuti mune dzimwe nguva mahwindo haagoni kusiyaniswa kubva kune mumwe. Parizvino ndangoona izvi ne incognito mu chrome/chromium, asi pamwe pane chimwe chinhu chakafanana kumwewo. Senzira yekupedzisira, pane nguva dzose sarudzo yekusanganiswa kwepasirese Alt + 1...Alt + 0. Zvakare, ini ndinoshandisa Firefox uye kwandiri pachangu dambudziko iri harina kukosha.

Asi dambudziko rakakosha kwandiri nderekuti ini ndinoshandisa Mac OS yebasa uye handina kukwanisa kugadzirisa chero chinhu chakadaro ipapo. utility wmctrl Ndinofunga ndakakwanisa kuiisa, asi hainyatso kushanda paMac OS. Chimwe chinhu chinogona kuitwa nekushandisa Automator, asi inononoka zvekuti haikodzeri kushandisa kunyangwe ichishanda. Iniwo handina kukwanisa kuseta makiyi masanganiswa kuti ashande muzvirongwa zvese. Kana mumwe munhu akangoerekana auya nemhinduro, ini ndichafara kuishandisa.

Pane mhedziso

Yakazove nhamba huru isingatarisirwe yemazwi ekuita kunge kuri nyore kuita. Ini ndaida kuburitsa iyo pfungwa uye kwete kuwandisa iwo mameseji, asi ini handisati ndafunga kuti ndingazvitaura sei zviri nyore. Zvimwe zvingave zviri nani mufomati yevhidhiyo, asi vanhu havazvide nenzira iyoyo pano.

Ndakataura zvishoma nezve izvo zviri pasi pehodhi ye script uye maitiro ekugadzirisa. Handina kupinda muzvinyorwa zvezvinyorwa pachazvo, asi ingori mitsara makumi mashanu, saka hazvina kuoma kunzwisisa.

Ndinovimba kuti mumwe munhu achaedza pfungwa iyi uye pamwe kutoikoshesa. Ndinogona kutaura nezvangu kuti script yakanyorwa anenge makore 3 apfuura uye ZVAKANAKA kwandiri. Saka zviri nyore zvekuti zvinokonzeresa kusagadzikana kana uchishanda nemakomputa evamwe vanhu. Uye neMacBook inoshanda.

Batanidza kune zvinyorwa

Source: www.habr.com

Voeg