Lwm txoj kev tswj qhov rais hauv Linux

Kuv yog ib tug uas teem Caps Lock los hloov layouts vim kuv tub nkeeg dhau 2 tus yuam sij thaum kuv tuaj yeem nias ib qho. Kuv tseem xav tau 2 tus yuam sij tsis tsim nyog: Kuv yuav siv ib qho los qhib cov lus Askiv, thiab qhov thib ob rau Lavxias. Tab sis qhov tseem ceeb thib ob tsis tsim nyog yog hu rau cov ntawv qhia zaub mov, uas yog qhov tsis tsim nyog uas nws raug txiav tawm los ntawm ntau lub tuam txhab laptop. Yog li koj yuav tsum txaus siab rau yam koj muaj.

Thiab kuv kuj tsis xav nrhiav lawv cov cim ntawm lub taskbar thaum hloov lub qhov rais, lossis ntes cov npe thaum scrolling. Alt + tab, scroll los ntawm desktops, thiab lwm yam. Kuv xav kom nias ib qho tseem ceeb ua ke (qhov zoo tshaj yog ib qho, tab sis tsis muaj cov yuam sij tsis tas dawb ntxiv lawm) thiab tam sim ntawd mus rau lub qhov rais kuv xav tau. Piv txwv li no:

  • Alt + F: Firefox
  • Alt + D: Firefox (Private Browsing)
  • Alt + T: Terminal
  • Alt + M: Lub laij lej
  • Alt+E: IntelliJ tswv yim
  • lwm.

Ntxiv mus, los ntawm nias, piv txwv li, rau Alt + M Kuv xav pom lub tshuab xam zauv tsis hais seb qhov program no puas tab tom khiav. Yog tias nws khiav, ces nws lub qhov rais yuav tsum tau ua kom pom tseeb, thiab yog tias tsis yog, khiav qhov kev pab cuam xav tau thiab hloov ua kom pom tseeb thaum nws thauj khoom.

Rau cov xwm txheej uas tsis tau them los ntawm tsab ntawv dhau los, kuv xav kom muaj kev sib txuas lus thoob ntiaj teb uas tuaj yeem muab tau yooj yim rau ib qho ntawm lub qhov rais qhib. Piv txwv li, kuv muaj 10 kev sib txuas ua ke los ntawm Alt + 1 rau Alt + 0, uas tsis khi rau ib qho kev pab cuam. Kuv tuaj yeem nias Alt + 1 thiab lub qhov rais uas tam sim no nyob rau hauv kev tsom xam yuav tau ua kom pom tseeb thaum clicked Alt + 1.

Hauv qab ntawm qhov txiav muaj ib qho kev piav qhia ntawm ob peb yam ntxiv thiab cov lus teb rau qhov no yuav ua li cas. Tab sis kuv yuav ceeb toom rau koj tam sim ntawd tias qhov kev hloov kho "rau koj tus kheej" tuaj yeem ua rau muaj kev tiv thaiv hnyav thiab txawm tias tshem tawm yog tias koj xav siv Windows, Mac OS lossis lwm tus lub computer nrog Linux.

Qhov tseeb, yog tias koj xav txog nws, peb tsis siv ntau cov kev pab cuam hauv ib hnub. Ib qho browser, lub davhlau ya nyob twg, IDE, qee yam ntawm tus xa xov, tus thawj tswj ntaub ntawv, lub tshuab xam zauv thiab, tej zaum, yuav luag tag nrho. Tsis muaj ntau qhov kev sib txuas tseem ceeb uas xav tau los npog 95% ntawm cov haujlwm niaj hnub.

Rau cov kev pab cuam uas muaj ob peb lub qhov rais qhib, ib qho ntawm lawv tuaj yeem raug xaiv los ua qhov tseem ceeb. Piv txwv li, koj muaj ntau lub qhov rais IntelliJ tswv yim qhib thiab muab rau Alt + E. Raws li ib txwm muaj, thaum koj nias Alt + E qee qhov rais ntawm qhov kev pab cuam no yuav qhib, feem ntau yuav yog ib qho uas tau qhib ua ntej. Txawm li cas los xij, yog tias koj nyem rau Alt + E thaum ib lub qhov rais ntawm qhov kev pab cuam no twb nyob rau hauv kev tsom xam, ces qhov no xyov qhov rais yuav tsum tau muab raws li lub ntsiab thiab nws yuav yog ib tug uas yuav tsum tau ua kom pom tseeb thaum sib txuas ntxiv tom ntej yog nias.

Lub qhov rais loj tuaj yeem muab rov qab. Ua li no, koj yuav tsum xub pib dua qhov kev sib xyaw ua ke, thiab tom qab ntawd muab lwm lub qhov rais rau nws ua lub qhov rais loj. Txhawm rau rov pib ua ke, koj yuav tsum nias qhov sib xyaw ua ke nws tus kheej, thiab tom qab ntawd qhov tshwj xeeb rov pib ua ke, Kuv tau muab rau Alt + Backspace. Qhov no yuav hu ib tsab ntawv uas yuav unassign lub qhov rais tseem ceeb rau yav dhau los ua ke. Thiab tom qab ntawd koj tuaj yeem muab lub qhov rais tshiab tshiab raws li tau piav qhia hauv kab lus dhau los. Resetting lub qhov rais txuas rau universal ua ke tshwm sim nyob rau hauv tib txoj kev.

Kev taw qhia tau ntev, tab sis kuv xav ua ntej qhia peb yuav ua li cas, thiab mam li piav qhia yuav ua li cas.

Rau cov uas nkees nyeem ntawv

Hauv luv luv, qhov txuas mus rau cov ntawv sau yog nyob rau ntawm qhov kawg ntawm tsab xov xwm.

Tab sis koj tseem yuav tsis tuaj yeem nruab thiab siv tam sim ntawd. Koj yuav tsum xub xyuas seb tsab ntawv pom lub qhov rais xav tau li cas. Yog tsis muaj qhov no, nws yuav tsis muaj peev xwm qhia cov ntawv qhov twg raws nraim qhov xav tau hloov pauv. Thiab koj yuav tsum nkag siab tias yuav ua li cas yog tias tsis pom lub qhov rais tsim nyog.

Thiab kuv yuav tsis tsom mus rau kev teeb tsa kev ua tiav ntawm cov ntawv sau los ntawm kev nias qhov tseem ceeb ua ke. Piv txwv li, hauv KDE nws yog nyob rau hauv System Settings β†’ Shortcuts β†’ Custom Shortcuts. Qhov no kuj yuav tsum yog rooj plaub hauv lwm tus tswj qhov rais.

Qhia wmctrl

Wmctrl - console kev siv hluav taws xob rau kev cuam tshuam nrog X Window Manager. Nov yog qhov program tseem ceeb rau tsab ntawv. Cia wb mus saib seb koj yuav siv tau li cas.

Ua ntej, cia peb tso saib cov npe qhib qhov rais:

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

Xaiv -l qhia cov npe ntawm txhua qhov qhib qhov rais, thiab -NWS appends lub npe chav kawm rau cov zis (skype.Skype, Navigator.Firefox thiab lwm yam). Ntawm no peb xav tau lub qhov rais ID (kem 1), lub npe chav kawm (kem 3) thiab lub npe qhov rais (kem kawg).

Koj tuaj yeem sim qhib qee qhov rais siv qhov kev xaiv -a:

$ wmctrl -a skype.Skype -x

Yog tias txhua yam mus raws li kev npaj, lub qhov rais Skype yuav tsum tshwm sim ntawm qhov screen. Yog tsis muaj kev xaiv -x siv kev xaiv -i, ces hloov lub npe ntawm chav kawm koj tuaj yeem qhia qhov rais id. Qhov teeb meem nrog id yog qhov rais id hloov txhua lub sij hawm daim ntawv thov raug tso tawm thiab peb tsis tuaj yeem paub nws ua ntej. Ntawm qhov tod tes, tus cwj pwm no tshwj xeeb txheeb xyuas lub qhov rais, uas tuaj yeem yog qhov tseem ceeb thaum daim ntawv thov qhib ntau dua ib lub qhov rais. Ntxiv rau qhov no me ntsis ntxiv.

Nyob rau theem no peb yuav tsum nco ntsoov tias peb yuav tshawb nrhiav lub qhov rais xav tau siv regex los ntawm cov zis wmctrl -lx. Tab sis qhov ntawd tsis tau txhais hais tias peb yuav tsum siv tej yam nyuaj. Feem ntau lub npe chav kawm lossis lub npe qhov rais txaus.

Yeej, lub tswv yim tseem ceeb yuav tsum tau meej meej. Nyob rau hauv lub ntiaj teb no hotkeys / shortcuts chaw rau koj lub qhov rais manager, configure qhov yuav tsum tau ua ke mus ua hauj lwm tsab ntawv.

Yuav siv cov ntawv li cas

Ua ntej koj yuav tsum nruab console utilities wmctrl ua ΠΈ xdotool:

$ sudo apt-get install wmctrl xdotool

Tom ntej no koj yuav tsum rub tawm cov ntawv sau thiab ntxiv rau lawv $ PATH. Kuv feem ntau muab tso rau hauv ~/ib:

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

Yog cov directory ~/ib yog tsis nyob ntawd, ces koj yuav tsum tau tsim nws thiab reboot (los yog re-login), txwv tsis pub ~/ib yuav tsis ntaus $ PATH. Yog tias txhua yam ua tiav raug, ces cov ntawv sau yuav tsum nkag tau los ntawm console thiab Tab ua tiav yuav tsum ua haujlwm.

Cov ntawv tseem ceeb showwin siv 2 qhov tsis muaj: thawj zaug yog regex, uas peb yuav tshawb nrhiav lub qhov rais uas yuav tsum tau muaj, thiab qhov thib ob parameter yog cov lus txib uas yuav tsum tau ua yog tias tsis pom lub qhov rais xav tau.

Koj tuaj yeem sim khiav ib tsab ntawv, piv txwv li:

$ showwin "Mozilla Firefox$" firefox

Yog tias Firefox raug teeb tsa, nws lub qhov rais yuav tsum tau ua kom pom tseeb. Txawm hais tias Firefox tsis tau khiav, nws yuav tsum tau pib.

Yog tias nws ua haujlwm, ces koj tuaj yeem sim teeb tsa kev ua tiav ntawm cov lus txib ntawm kev sib txuas. Hauv lub ntiaj teb hotkeys / shortcuts nqis ntxiv:

  • Alt + F: showwin "Mozilla Firefox $" firefox
  • Alt + D: showwin "Mozilla Firefox (Private Browsing)$" "firefox -private-window"
  • 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. Txhua tus tuaj yeem teeb tsa cov kev sib txuas tseem ceeb thiab software raws li lawv pom zoo.
Yog tias txhua yam ua haujlwm raug, tom qab ntawd siv cov kev sib txuas saum toj no peb tuaj yeem hloov pauv ntawm windows los ntawm kev nias cov yuam sij.

Kuv yuav poob siab chrome lovers: nws muaj peev xwm incognito paub qhov txawv qhov rais tsis tu ncua los ntawm nws cov zis wmctrl ua Koj ua tsis tau, lawv muaj tib lub npe chav kawm thiab lub qhov rais lub npe. Hauv cov lus thov regex, cov cim N * thiab kuv * tsuas yog xav tau kom cov kab lus tsis tu ncua txawv ntawm ib leeg thiab lawv tuaj yeem raug muab ua lub qhov rais loj.

Txhawm rau rov pib lub qhov rais tseem ceeb ntawm kev sib xyaw ua ke dhau los (qhov tseeb rau regex, uas showwin hu ua zaum kawg) koj yuav tsum hu rau tsab ntawv showwinDetach. Kuv muaj tsab ntawv no muab rau kev sib xyaw ua ke Alt + Backspace.

Ntawm tsab ntawv showwin muaj ib qho ntxiv. Thaum nws raug hu nrog ib qho parameter (qhov no parameter tsuas yog tus cim), nws tsis kuaj regex txhua, tab sis suav tias txhua qhov rais kom haum. Nyob rau hauv nws tus kheej, qhov no zoo li tsis muaj txiaj ntsig, tab sis nyob rau hauv txoj kev no peb tuaj yeem xaiv txhua lub qhov rais ua qhov tseem ceeb thiab hloov mus rau qhov rais tshwj xeeb.

Kuv muaj cov nram qab no ua ke configured:

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

Txoj kev no kuv tuaj yeem khi txhua qhov rais rau kev sib txuas Alt + 1...Alt + 0. Tsuas yog nias Alt + 1 Kuv khi lub qhov rais tam sim no rau kev sib xyaw ua ke. Kuv tuaj yeem thim qhov kev khi los ntawm nias Alt + 1thiab ntawd Alt + Backspace. Los yog kaw lub qhov rais, qhov ntawd kuj ua haujlwm.

Tom ntej no kuv yuav qhia koj qee cov lus qhia. Koj tsis tas yuav nyeem lawv, tab sis tsuas yog sim teeb tsa thiab pom. Tab sis kuv tseem xav kom nkag siab lwm tus neeg cov ntawv ua ntej khiav lawv hauv koj lub computer :).

Yuav ua li cas paub qhov txawv ntawm qhov rais sib txawv ntawm tib daim ntawv thov

Hauv txoj cai, thawj qhov piv txwv "wmctrl -a skype.Skype -x" tau ua haujlwm thiab siv tau. Tab sis cia peb saib dua ntawm qhov piv txwv nrog Firefox, uas 2 lub qhov rais qhib:

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

Thawj qhov rais yog hom qub, thiab qhov thib ob yog Private Browsing. Kuv xav xav txog cov qhov rais no ua cov ntawv thov sib txawv thiab hloov mus rau lawv siv cov kev sib txawv tseem ceeb.

Nws yog ib qho tsim nyog yuav tau ua kom nyuaj rau tsab ntawv uas hloov qhov rais. Kuv siv cov tshuaj no: tso saib cov npe ntawm txhua qhov rais, ua grep los ntawm regex, coj thawj kab nrog Taub hau, tau thawj kab (qhov no yuav yog lub qhov rais id) siv txiav, hloov mus rau qhov rais los ntawm id.

Yuav tsum muaj lus tso dag txog cov lus tsis tu ncua thiab ob qhov teeb meem, tab sis qhov tseeb kuv tsis siv dab tsi nyuab. Kuv xav tau cov lus qhia tsis tu ncua kom kuv tuaj yeem qhia qhov kawg ntawm kab (tus cim "$") thiab paub qhov txawv "Mozilla Firefox$" los ntawm "Mozilla Firefox (Private Browsing)$".

Cov lus txib zoo li no:

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

Ntawm no koj tuaj yeem kwv yees txog qhov thib ob ntawm tsab ntawv: yog tias grep tsis rov qab dab tsi, ces daim ntawv thov xav tau tsis qhib thiab koj yuav tsum pib nws los ntawm kev ua tiav cov lus txib ntawm qhov thib ob parameter. Thiab tom qab ntawd xyuas seb lub qhov rai yuav tsum tau qhib los txhawm rau txhawm rau txhawm rau tsom mus rau nws. Kuv yuav tsis tsom rau qhov no; leej twg xav tau nws yuav saib cov peev txheej.

Thaum daim ntawv thov windows tsis txawv

Yog li, peb tau kawm yuav ua li cas hloov kev tsom mus rau lub qhov rais ntawm daim ntawv thov xav tau. Tab sis yuav ua li cas yog tias daim ntawv thov muaj ntau dua ib lub qhov rais qhib? Kuv yuav tsum tsom rau qhov twg? Cov ntawv sau saum toj no feem ntau yuav hloov mus rau thawj qhov rais qhib. Txawm li cas los xij, peb xav tau yooj yim dua. Kuv xav kom nco ntsoov lub qhov rais uas peb xav tau thiab hloov mus rau lub qhov rais tshwj xeeb.

Lub tswv yim yog qhov no: Yog tias peb xav nco txog lub qhov rais tshwj xeeb rau kev sib xyaw ua ke, ces peb yuav tsum nias qhov kev sib txuas no thaum lub qhov rais xav tau nyob rau hauv tsom. Nyob rau hauv lub neej yav tom ntej, thaum koj nias qhov kev sib xyaw ua ke, qhov tsom xam yuav muab rau lub qhov rais no. Kom txog rau thaum lub qhov rais kaw los yog peb ua ib tug reset rau no tsab ntawv ua ke showwinDetach.

Tsab ntawv algorithm showwin ib yam li no:

  • Tshawb xyuas yog tias peb tau nco ntsoov yav dhau los tus id ntawm lub qhov rais uas yuav tsum tau hloov pauv.
    Yog tias koj nco qab thiab zoo li lub qhov rais tseem muaj, ces peb hloov tsom mus rau nws thiab tawm mus.
  • Peb saib lub qhov rais twg tam sim no nyob rau hauv tsom, thiab yog tias nws phim peb qhov kev thov, ces nco ntsoov nws tus ID mus rau nws yav tom ntej thiab tawm.
  • Peb mus rau yam tsawg kawg ib lub qhov rais tsim nyog yog tias nws muaj los yog qhib daim ntawv thov xav tau.

Koj tuaj yeem nrhiav seb lub qhov rais twg tam sim no nyob rau hauv tsom siv xdotool console siv hluav taws xob los ntawm kev hloov nws cov zis rau hom hexadecimal:

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

Qhov yooj yim tshaj plaws kom nco ntsoov qee yam hauv bash yog tsim cov ntaub ntawv hauv cov ntaub ntawv virtual nyob hauv lub cim xeeb. Hauv Ubuntu qhov no tau qhib los ntawm lub neej ntawd hauv /dev/shm/. Kuv tsis tuaj yeem hais dab tsi txog lwm qhov kev faib tawm, Kuv vam tias yuav muaj qee yam zoo sib xws. Koj tuaj yeem saib nrog cov lus txib:

$ mount -l | grep tmpfs

Tsab ntawv yuav tsim cov ntawv khoob hauv daim nplaub tshev no, zoo li qhov no: /dev/shm/$USER/showwin/$SEARCH_REGEX/$WINDOW_ID. Tsis tas li ntawd, txhua zaus nws raug hu nws yuav tsim ib qho symlink /dev/shm/$USER/showwin/showwin_last rau /dev/shm/$USER/showwin/$SEARCH_REGEX. Qhov no yuav xav tau nyob rau hauv thiaj li yuav, yog tias tsim nyog, tshem tawm lub qhov rais id rau ib qho kev sib xyaw ua ke siv ib tsab ntawv showwinDetach.

Dab tsi tuaj yeem txhim kho

Ua ntej, cov ntawv sau yuav tsum tau teeb tsa manually. Muaj tseeb tiag, vim yog qhov xav tau delve rau hauv thiab ua ntau nrog koj txhais tes, ntau ntawm koj yuav tsis txawm sim teeb tsa lub system. Yog tias nws tuaj yeem yooj yim nruab lub pob thiab teeb tsa txhua yam yooj yim dua, ces tej zaum nws yuav tau txais qee qhov chaw. Thiab tom qab ntawd saib, daim ntawv thov yuav raug tso tawm rau hauv cov qauv kev faib tawm.

Thiab tej zaum nws tuaj yeem ua tau yooj yim dua. Yog tias los ntawm id ntawm lub qhov rais koj tuaj yeem pom tus id ntawm cov txheej txheem uas tsim nws, thiab los ntawm id ntawm cov txheej txheem koj tuaj yeem pom cov lus txib twg tsim nws, ces nws yuav ua tau kom automate lub teeb. Qhov tseeb, kuv tsis nkag siab tias qhov kuv sau hauv kab lus no puas ua tau. Qhov tseeb yog tias kuv tus kheej txaus siab rau txoj kev nws ua haujlwm tam sim no. Tab sis yog tias lwm tus neeg tsis yog kuv pom tag nrho txoj hauv kev yooj yim thiab ib tus neeg txhim kho nws, ces kuv yuav zoo siab los siv cov kev daws teeb meem zoo dua.

Lwm qhov teeb meem, raws li kuv twb tau sau lawm, yog tias qee zaum lub qhov rais tsis tuaj yeem paub qhov txawv ntawm ib leeg. Txog tam sim no kuv tsuas tau pom qhov no nrog kev tsis pom hauv chrome / chromium, tab sis tej zaum muaj qee yam zoo sib xws rau lwm qhov. Raws li qhov chaw kawg, yeej ib txwm muaj kev xaiv ntawm universal ua ke Alt + 1...Alt + 0. Ib zaug ntxiv, kuv siv Firefox thiab rau kuv tus kheej qhov teeb meem no tsis tseem ceeb.

Tab sis qhov teeb meem tseem ceeb rau kuv yog tias kuv siv Mac OS ua haujlwm thiab kuv tsis tuaj yeem teeb tsa ib yam dab tsi zoo li ntawd. khoom siv wmctrl ua Kuv xav tias kuv tuaj yeem nruab nws, tab sis nws tsis ua haujlwm tiag tiag ntawm Mac OS. Ib yam dab tsi tuaj yeem ua tiav nrog daim ntawv thov Automator, tab sis nws qeeb heev uas nws tsis yooj yim siv txawm tias nws ua haujlwm. Kuv kuj tsis tuaj yeem teeb tsa cov kev sib txuas tseem ceeb kom lawv ua haujlwm hauv txhua qhov haujlwm. Yog hais tias ib tug neeg dheev tuaj nrog kev daws, kuv yuav zoo siab siv nws.

Es tsis txhob ib tug xaus

Nws tau dhau los ua ib qho kev npaj txhij txog ntau cov lus rau qhov zoo li yooj yim functionality. Kuv xav qhia lub tswv yim thiab tsis overload cov ntawv nyeem, tab sis kuv tseem tsis tau paub yuav ua li cas qhia nws yooj yim dua. Tej zaum nws yuav zoo dua hauv hom video, tab sis tib neeg tsis nyiam nws li ntawm no.

Kuv tham me ntsis txog dab tsi nyob rau hauv lub hood ntawm tsab ntawv thiab yuav ua li cas rau configure nws. Kuv tsis tau mus rau hauv cov ntsiab lus ntawm tsab ntawv nws tus kheej, tab sis nws tsuas yog 50 kab, yog li nws tsis yooj yim to taub.

Kuv vam tias lwm tus yuav sim lub tswv yim no thiab tej zaum kuj txaus siab rau nws. Kuv tuaj yeem hais txog kuv tus kheej tias tsab ntawv tau sau txog 3 xyoos dhau los thiab nws yooj yim heev rau kuv. Nws yooj yim heev uas nws ua rau tsis xis nyob thaum ua haujlwm nrog lwm tus neeg lub computer. Thiab nrog MacBook ua haujlwm.

Txuas rau cov ntawv sau

Tau qhov twg los: www.hab.com

Ntxiv ib saib