Madadin sarrafa taga a cikin Linux

Ina daya daga cikin wadanda suka saita Caps Lock don canza shimfidar wuri saboda kasala ne don danna maɓalli 2 lokacin da zan iya danna ɗaya. Har ma ina son maɓallan da ba dole ba 2: Zan yi amfani da ɗaya don kunna shimfidar Turanci, na biyu kuma don Rashanci. Amma maɓalli na biyu da ba dole ba shine kiran menu na mahallin, wanda ba lallai ba ne don haka yawancin masana'antun kwamfyutocin ke yanke shi. Don haka dole ne ku gamsu da abin da kuke da shi.

Kuma ba na son neman gumakan su akan ma'ajin aiki lokacin da suke canza windows, ko kama sunayen yayin gungurawa. Alt Tab, gungura ta cikin kwamfyutocin tebur, da sauransu. Ina so in danna haɗin maɓallin (mahimmanci ɗaya kawai, amma babu maɓallan da ba dole ba kyauta kuma) kuma nan da nan zuwa taga da nake buƙata. Misali kamar haka:

  • Alt + F: Firefox
  • Alt+D: Firefox (Binciken sirri)
  • Alt+T: Terminal
  • Alt+M: Kalkuleta
  • Alt+E: IntelliJ Idea
  • da dai sauransu.

Bugu da ƙari, ta latsa, misali, kunna Alt+M Ina son ganin kalkuleta ba tare da la'akari da ko wannan shirin yana gudana a halin yanzu ba. Idan yana gudana, to taga nasa yana buƙatar mayar da hankali, idan kuma ba haka ba, gudanar da shirin da ake so kuma canja wurin mayar da hankali lokacin da yake lodawa.

Don lokuta waɗanda rubutun baya ba su rufe ba, Ina so in sami haɗin haɗin maɓalli na duniya waɗanda za a iya sanya su cikin sauƙi zuwa kowane buɗe taga. Misali, Ina da haɗe-haɗe 10 da aka sanya daga Alt + 1 to Alt + 0, waɗanda ba a haɗa su da kowane shirye-shirye. Zan iya danna kawai Alt + 1 kuma taga wanda a halin yanzu ake mayar da hankali zai sami mayar da hankali idan an danna Alt + 1.

A ƙasan yanke akwai bayanin ƙarin fasali guda biyu da amsar yadda za a iya yin hakan. Amma nan da nan zan faɗakar da ku cewa irin wannan gyare-gyaren "don kanku" na iya haifar da jaraba mai tsanani har ma da janyewa idan kuna buƙatar amfani da Windows, Mac OS ko ma kwamfutar wani tare da Linux.

A gaskiya ma, idan kuna tunani game da shi, ba ma amfani da shirye-shiryen da yawa a kullum. Mai bincike, tasha, IDE, wani nau'in manzo, mai sarrafa fayil, kalkuleta kuma, wataƙila, kusan duka ke nan. Ba kwa buƙatar gajerun hanyoyin keyboard da yawa don rufe kashi 95% na ayyukanku na yau da kullun.

Don shirye-shiryen da ke da tagogi da yawa a buɗe, ana iya sanya ɗaya daga cikinsu a matsayin babba. Misali, kuna da manyan windows Idea na IntelliJ da aka buɗe kuma aka sanya su Alt E. Ƙarƙashin yanayi na al'ada, lokacin da kake danna Alt E wani taga na wannan shirin zai bude, mai yiwuwa wanda aka fara budewa. Koyaya, idan kun danna Alt E lokacin da daya daga cikin tagogin wannan shirin ya riga ya mayar da hankali, to za a sanya wannan tagar ta musamman a matsayin babba kuma ita ce za a ba da hankali lokacin da aka danna haɗuwa na gaba.

Za'a iya sake saita babban taga. Don yin wannan, dole ne ka fara sake saita haɗin, sannan ka sanya wani taga a gare shi azaman babban taga. Don sake saita haɗin, kuna buƙatar danna haɗin kanta, sannan haɗin sake saiti na musamman, na sanya shi Alt+Backspace. Wannan zai kira rubutun da zai warware babban taga don haɗin da ya gabata. Sannan zaku iya sanya sabon babban taga kamar yadda aka bayyana a cikin sakin layi na baya. Sake saitin taga mai alaƙa zuwa haɗin duniya yana faruwa ta hanya ɗaya.

Gabatarwar ta kasance mai tsawo, amma ina so in fara gaya abin da za mu yi, sannan in bayyana yadda za a yi.

Ga wadanda suka gaji da karatu

A takaice, hanyar haɗi zuwa rubutun yana a ƙarshen labarin.

Amma har yanzu ba za ku iya shigar da amfani da shi nan da nan ba. Za ku fara gano yadda rubutun ke gano taga da ake so. Idan ba tare da wannan ba, ba zai yiwu a faɗi rubutun inda ainihin abin da ake buƙatar canjawa wuri ba. Kuma kuna buƙatar fahimtar abin da za ku yi idan ba zato ba tsammani ba a sami taga mai dacewa ba.

Kuma ba zan mayar da hankali kan yadda ake daidaita aiwatar da rubutun ba ta hanyar latsa maɓalli masu haɗawa. Misali, a cikin KDE yana cikin Saitunan Tsari → Gajerun hanyoyi → Gajerun hanyoyi na al'ada. Wannan kuma yakamata ya zama lamarin a cikin sauran manajan taga.

Gabatar da wmctrl

Wmctrl - kayan aikin wasan bidiyo don yin hulɗa tare da Manajan Window X. Wannan shine mabuɗin shirin don rubutun. Bari mu yi sauri duba yadda za ku iya amfani da shi.

Da farko, bari mu nuna jerin buɗaɗɗen windows:

$ 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)
...

Zaɓi -l yana nuna jerin duk buɗe windows, da -X yana dora sunan ajin ga abin fitarwa (skype.Skype, Navigator.Firefox da sauransu). Anan muna buƙatar id ɗin taga (shafi na 1), sunan aji (shafi 3) da sunan taga (shafin ƙarshe).

Kuna iya ƙoƙarin kunna wasu taga ta amfani da zaɓi -a:

$ wmctrl -a skype.Skype -x

Idan duk abin ya tafi bisa ga shirin, Skype taga ya kamata ya bayyana akan allon. Idan maimakon zabin -x amfani da zaɓi -i, to maimakon sunan class za ku iya tantance id ɗin taga. Matsalar id ita ce taga id yana canzawa duk lokacin da aka ƙaddamar da aikace-aikacen kuma ba za mu iya saninsa a gaba ba. A gefe guda, wannan sifa ta keɓance ta musamman, wanda zai iya zama mahimmanci lokacin da aikace-aikacen ya buɗe taga fiye da ɗaya. Karin bayani kan wannan kadan kadan.

A wannan mataki muna bukatar mu tuna cewa za mu nemo taga da ake so ta amfani da regex ta fitarwa wmctrl -lx. Amma wannan ba yana nufin dole ne mu yi amfani da wani abu mai rikitarwa ba. Yawancin lokaci sunan ajin ko sunan taga ya wadatar.

Ainihin, babban ra'ayi ya kamata ya riga ya bayyana. A cikin saitunan hotkeys/gajerun hanyoyin duniya don mai sarrafa taga ku, saita haɗin da ake buƙata don aiwatar da rubutun.

Yadda ake amfani da rubutun

Da farko kuna buƙatar shigar da kayan aikin console wmctrl и xdotool:

$ sudo apt-get install wmctrl xdotool

Na gaba kuna buƙatar zazzage rubutun kuma ƙara su zuwa $ PATH. Yawancin lokaci ina saka su a ciki ~/bin:

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

Idan directory ~/bin ba a can ba, to kuna buƙatar ƙirƙirar shi kuma sake yi (ko sake shiga), in ba haka ba ~/bin ba zai buga ba $ PATH. Idan duk abin da aka yi daidai, sa'an nan rubutun ya kamata a sami dama daga na'ura wasan bidiyo da kuma Tab kammala aiki.

Babban rubutun showwin yana ɗaukar sigogi 2: na farko shine regex, wanda za mu bincika taga da ake buƙata, kuma siga na biyu umarni ne wanda ke buƙatar aiwatar da idan ba a sami taga da ake buƙata ba.

Kuna iya gwada gudanar da rubutun, misali:

$ showwin "Mozilla Firefox$" firefox

Idan an shigar da Firefox, yakamata a ba da tagar sa mai da hankali. Ko da Firefox ba ta aiki, yakamata ta fara.

Idan yana aiki, to zaku iya gwada saita aiwatar da umarni akan haɗuwa. A cikin saitunan hotkeys/gajerun hanyoyin ƙara:

  • Alt + F: showwin "Mozilla Firefox$" Firefox
  • Alt+D: showwin "Mozilla Firefox (Binciken sirri)$" "firefox -taga masu zaman kansu"
  • Alt+C: showwin "chromium-browser.Chromium-browser N*" chromium-browser
  • Alt+X: showwin "chromium-browser.Chromium-browser I*" "chromium-browser -incognito"
  • Alt + S: nunawin “skype.Skype” skypeforlinux
  • Alt+E: showwin “jetbrains-idea” ra'ayin.sh

Da dai sauransu. Kowa na iya daidaita maɓalli da software yadda ya ga dama.
Idan komai ya yi daidai, to ta amfani da abubuwan haɗin da ke sama za mu iya canzawa tsakanin windows ta danna maɓalli kawai.

Zan kunyata masu son chrome: yana iya ɓoye ɓoye taga ta yau da kullun ta fitowar sa wmctrl Ba za ku iya ba, suna da sunayen aji iri ɗaya da taken taga. A cikin regex da aka tsara, ana buƙatar haruffa N * da I * kawai don waɗannan maganganun yau da kullun sun bambanta da juna kuma ana iya sanya su azaman manyan windows.

Don sake saita babban taga na haɗin da ya gabata (a zahiri don regex, wanda showwin kira na ƙarshe) kuna buƙatar kiran rubutun showwinDetach. Ina da wannan rubutun da aka sanya wa haɗin maɓalli Alt+Backspace.

A rubutun showwin akwai wani ƙarin aiki. Lokacin da aka kira shi da siga guda ɗaya (a cikin wannan yanayin siga kawai mai ganowa ne), baya duba regex kwata-kwata, amma yana ɗaukar duk windows sun dace. A cikin kanta, wannan yana da alama ba shi da amfani, amma ta wannan hanyar za mu iya sanya kowane taga a matsayin babba kuma da sauri canza zuwa waccan taga.

Ina da haɗe-haɗe masu zuwa:

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

Ta wannan hanyar zan iya ɗaure kowane taga zuwa haɗuwa Alt + 1...Alt + 0. Kawai ta danna Alt + 1 Na ɗaure taga na yanzu zuwa wannan haɗin. Zan iya soke daurin ta danna Alt + 1sannan Alt+Backspace. Ko rufe taga, shima yana aiki.

Na gaba zan gaya muku wasu bayanan fasaha. Ba lallai ne ku karanta su ba, amma kawai kuyi ƙoƙarin saita su ku gani. Amma har yanzu ina ba da shawarar fahimtar rubutun wasu kafin kunna su akan kwamfutar ku :).

Yadda ake bambance tsakanin windows daban-daban na aikace-aikacen iri ɗaya

A ƙa'ida, ainihin misalin farko "wmctrl -a skype.Skype -x" yana aiki kuma ana iya amfani dashi. Amma bari mu sake duba misali tare da Firefox, wanda a ciki akwai windows 2:

0x04400003  0 Navigator.Firefox                   N/A Google Переводчик - Mozilla Firefox
0x04400218  0 Navigator.Firefox                   N/A Лучшие публикации за сутки / Хабр - Mozilla Firefox (Private Browsing)

Tagar farko yanayin al'ada ne, na biyu kuma shine Binciken Masu zaman kansu. Ina so in yi la'akari da waɗannan windows a matsayin aikace-aikace daban-daban kuma in canza zuwa gare su ta amfani da maɓalli daban-daban.

Wajibi ne a rikitar da rubutun da ke canza windows. Na yi amfani da wannan bayani: nuna jerin duk windows, yi grep ta regex, ɗauki layin farko tare da shugaban, sami shafi na farko (wannan zai zama id ɗin taga) ta amfani da yanke, canza zuwa taga ta id.

Yakamata a yi wasa game da maganganun yau da kullun da matsaloli guda biyu, amma a gaskiya ba na amfani da wani abu mai rikitarwa. Ina buƙatar maganganu na yau da kullun don in nuna ƙarshen layin (alamar “$”) kuma in bambanta “Mozilla Firefox$” daga “Mozilla Firefox (Browsing Private)$”.

Umurnin yayi kama da haka:

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

Anan za ku iya rigaya tsammani game da fasalin na biyu na rubutun: idan grep bai dawo da komai ba, to aikace-aikacen da ake so baya buɗewa kuma kuna buƙatar farawa ta aiwatar da umarnin daga siga na biyu. Sannan lokaci-lokaci bincika ko taga da ake buƙata ya buɗe don canja wurin mayar da hankali zuwa gare ta. Ba zan mai da hankali kan wannan ba; duk wanda yake buƙata zai kalli tushen.

Lokacin da aikace-aikacen windows ba su bambanta ba

Don haka, mun koyi yadda ake canja wurin mayar da hankali zuwa taga aikace-aikacen da ake so. Amma idan aikace-aikacen yana buɗe taga sama da ɗaya fa? Wanne zan ba da hankali ga? Rubutun da ke sama zai yi yuwuwar canjawa wuri zuwa taga budewa ta farko. Koyaya, muna son ƙarin sassauci. Ina so in iya tunawa da wace taga muke buƙata kuma in canza zuwa waccan taga.

Manufar ita ce: Idan muna so mu tuna da takamaiman taga don haɗin maɓalli, to muna buƙatar danna wannan haɗin lokacin da taga da ake so ya kasance cikin hankali. Nan gaba, lokacin da kuka danna wannan haɗin, za a ba da hankali ga wannan taga. Har sai taga ya rufe ko mu yi sake saiti don wannan haɗin rubutun showwinDetach.

Algorithm na rubutun showwin wani abu kamar haka:

  • Bincika idan a baya mun tuna da id na taga wanda ya kamata a mayar da hankali zuwa gare shi.
    Idan kun tuna kuma irin wannan taga har yanzu yana nan, to muna canja wurin mayar da hankali zuwa gare shi kuma mu fita.
  • Muna duba wane taga ne a halin yanzu, kuma idan ya dace da buƙatarmu, to ku tuna da id ɗinsa don zuwa gare ta a gaba kuma ku fita.
  • Muna zuwa aƙalla taga da ta dace idan akwai ko buɗe aikace-aikacen da ake so.

Kuna iya gano wane taga a halin yanzu yana mai da hankali ta amfani da xdotool console utility ta hanyar canza fitowar sa zuwa tsarin hexadecimal:

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

Hanya mafi sauƙi don tunawa da wani abu a cikin bash shine ƙirƙirar fayiloli a cikin tsarin fayil ɗin kama-da-wane da ke cikin ƙwaƙwalwar ajiya. A cikin Ubuntu an kunna wannan ta tsohuwa a ciki /dev/shm/. Ba zan iya cewa komai game da sauran rabawa ba, ina fatan akwai wani abu makamancin haka kuma. Kuna iya duba tare da umarni:

$ mount -l | grep tmpfs

Rubutun zai ƙirƙiri kundayen adireshi marasa komai a cikin wannan babban fayil, kamar haka: /dev/shm/$ USER/showwin/$SEARCH_REGEX/$WINDOW_ID. Bugu da ƙari, duk lokacin da aka kira shi zai haifar da alamar alamar /dev/shm/$USER/showwin/showwin_last a kan /dev/shm/$ USER/showwin/$SEARCH_REGEX. Ana buƙatar wannan don, idan ya cancanta, cire id ɗin taga don takamaiman haɗin ta amfani da rubutun showwinDetach.

Me za a iya inganta

Da farko, dole ne a saita rubutun da hannu. Tabbas, saboda buƙatar zurfafawa da yin abubuwa da yawa da hannayenku, da yawa daga cikinku ba za su yi ƙoƙarin daidaita tsarin ba. Idan zai yiwu a shigar da kunshin kawai kuma a daidaita komai cikin sauƙi, to watakila zai sami farin jini. Sannan duba, za a fitar da aikace-aikacen zuwa daidaitattun rarrabawa.

Kuma watakila ana iya yin shi cikin sauƙi. Idan ta hanyar ID na taga za ku iya gano ID na tsarin da ya ƙirƙira shi, kuma ta hanyar id na tsari za ku iya gano wane umarni ne ya ƙirƙira shi, to za ku iya yin aiki da atomatik. A gaskiya, ban gane ko abin da na rubuta a cikin wannan sakin layi zai yiwu ba. Gaskiyar ita ce, ni da kaina na gamsu da yadda yake aiki a yanzu. Amma idan wanin ni ya sami cikakkiyar hanyar da ta dace kuma wani ya inganta shi, to zan yi farin cikin yin amfani da mafita mafi kyau.

Wata matsala, kamar yadda na riga na rubuta, ita ce, a wasu lokuta ba za a iya bambanta windows da juna ba. Ya zuwa yanzu kawai na lura da wannan tare da incognito a cikin chrome/chromium, amma watakila akwai wani abu makamancin haka a wani wuri dabam. A matsayin maƙasudin ƙarshe, koyaushe akwai zaɓi na haɗuwa na duniya Alt + 1...Alt + 0. Bugu da ƙari, Ina amfani da Firefox kuma a gare ni da kaina wannan matsalar ba ta da mahimmanci.

Amma babbar matsala a gare ni ita ce ina amfani da Mac OS don aiki kuma ba zan iya saita wani abu makamancin haka a can ba. mai amfani wmctrl Ina tsammanin na sami damar shigar da shi, amma ba ya aiki da gaske akan Mac OS. Ana iya yin wani abu tare da aikace-aikacen Mai sarrafawa, amma yana da jinkirin cewa ba shi da dacewa don amfani ko da lokacin da yake aiki. Har ila yau, ba zan iya saita maɓalli masu mahimmanci ba don su yi aiki a duk shirye-shirye. Idan wani ya zo da mafita ba zato ba tsammani, zan yi farin cikin amfani da shi.

Maimakon a ƙarshe

Ya zama babban adadin kalmomin da ba zato ba tsammani don irin wannan aiki mai sauƙi. Ina so in isar da ra'ayin kuma ban yi nauyi da rubutu ba, amma har yanzu ban gano yadda zan fada cikin sauki ba. Wataƙila zai fi kyau a cikin tsarin bidiyo, amma mutane ba sa son haka a nan.

Na yi magana kadan game da abin da ke ƙarƙashin murfin rubutun da yadda za a daidaita shi. Ban shiga cikakkun bayanai game da rubutun da kansa ba, amma layin 50 ne kawai, don haka ba shi da wahala a fahimta.

Ina fatan cewa wani zai gwada wannan ra'ayin kuma watakila ma yaba shi. Zan iya faɗi game da kaina cewa an rubuta rubutun kusan shekaru 3 da suka gabata kuma ya fi dacewa da ni. Don haka dace cewa yana haifar da rashin jin daɗi yayin aiki tare da kwamfutocin wasu. Kuma tare da MacBook mai aiki.

Hanyar haɗi zuwa rubutun

source: www.habr.com

Add a comment