Alternativa fenestra procuratio in Linux

Unus sum ex illis qui ponunt Caps Obfirmo ad propositum flectendum quia nimis piger sum ad urgendas 2 claves cum unam premere possum. Etiam velim 2 claves necessarias non habere: unam uti volo vertere in layout Anglicanam, alteram pro Russica. Secunda vero supervacanea clavis est vocare tabulam contextam, quae tam necessaria est ut a multis fabricantibus laptop excidatur. Sic est contentus eo quod habes.

Et etiam icones suas in negotio cum mutandis fenestris quaerere nolo, aut nomina capere cum per scrolling Alt + Lyrics, librum per desktops etc. Premere volo iuncturam clavis (idealiter unam tantum, sed claves necessariae non sunt amplius liberae) et statim ad fenestram, quam postulo. Exempli gratia sic:

  • Alt+F: Firefox
  • Alt+D: Firefox (Privata Pasco)
  • Alt+T: Terminal
  • Alt+M: Calculator
  • Alt+E: IntelliJ Idea
  • etc.

Preterea instando, e.g Alt+M Calculatorem videre cupio num haec programma nunc currente sit. Si currit, fenestra eius debet umbilico dari, sin minus, optatum propositum currendi et umbilicum transfer cum onerat.

Casus enim, qui per scripturam priorem non teguntur, universalia habere volo junctiones clavis, quae cuilibet fenestras apertas facile assignari possunt. Exempli gratia X combinationes ex assignatas habeo Alt + 1 ad Alt + 0quae programmata non ligantur. Non possum iustus click Alt + 1 et fenestra, quae nunc in foco est, focus erit cum clicked Alt + 1.

Infra incisa descriptio duorum lineamentorum et responsionis est quomodo id fieri possit. Sed statim monebo te talem customizationem "pro te" gravem accessionem et etiam recessum facere posse, si opus est uti Windows, Mac OS vel etiam alterius computatrum cum Linux.

Nam si cogitas, non multis programmatis cottidie utimur. Pasco, terminatio, IDE, quidam nuntius, fasciculus procurator, calculator et fortasse omnia fere. Non multae compositiones clavis sunt necessariae ad 95% cotidianarum operum operiendum.

Programmata enim quae habent plures fenestras apertas, earum una ut principalis designari potest. Exempli gratia, fenestras Ideas plures IntelliJ habent apertas et adsignatas Alt + E. Sub normalibus conditionibus cum premes Alt + E fenestra aliqua e programmatis huius aperiet, maxime verisimile, quae prius aperta est. Si tamen deprime Alt + E Cum una ex fenestris huius programmatis iam in umbilico est, haec fenestra particularis pro principali assignabitur, et id erit, quod umbilicus dabitur, cum subsequentes coniunctiones premuntur.

Pelagus fenestra reponi potest. Ad hoc faciendum, primum compositum est reponi, et aliam fenestram principalis ei assignare. Coniunctio ut reset, necesse est ipsam compositionem instare, et deinde specialem compositionem reset, mihi assignatam Alt+Backspace. Hoc scriptum vocabit quod fenestram principalem ad iuncturam praecedentium rescindet. Et tunc poteris novam fenestram principalem assignare de qua in praecedenti paragrapho. Repositione fenestrae coniunctae coniunctionibus universalibus eodem modo fiunt.

Prooemium longum evasit, sed volui primum dicere quid faciemus, et postea explicabimus quid faciamus.

Nam qui fatigati sunt legendi

Denique nexus scriptorum est in fine articuli.

Sed adhuc non potes hoc instituere et ilicet uti. Prius debebis indicare quomodo scriptum reperit desideratam fenestram. Sine hoc, non poterit edicere scripturam ubi umbilicus transferri debet. Et debes intelligere quid facias, si subito apta fenestra non inveniatur.

Et ego non intendo quomodo scriptorum exsecutionem configurare premendo iuncturas keys. Exempli gratia, in KDE est in Occasus Ratio β†’ Brevia β†’ Consuetudo Brevium. Hoc etiam fieri debet in aliis fenestris procuratoribus.

introducens wmctrl

Wmctrl β€” utilitas console pro mutuo cum X Fenestra Procurator. Haec est clavis programma script. Velox inspiciamus quomodo eo uti possis.

Primum, indicem fenestrarum apertarum ostendemus;

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

optionem -l index omnium fenestrarum apertarum, et -NS addit genus nomen in output (skype.Skype, Navigator.Firefox etc). Hic opus est fenestra id (columnae 1), nomen classis (columnae 3) et nomen fenestrae (columna ultima).

Vos can tendo ut strenuus quidam fenestra per optionem ad -a:

$ wmctrl -a skype.Skype -x

Si omnia secundum consilium ierunt, fenestra Skype in screen apparere debet. Si pro optio -x uti optio -ideinde pro generis nomine fenestram id significare potes. Difficultas id est quod in fenestra id mutat omni tempore applicatio immissa est et ante cognoscere non possumus. E contra, hoc attributum singulariter fenestram designat, quae magni momenti esse potest cum applicatio plus quam una fenestra aperit. Plura de his paulo infra.

Hac in scaena meminisse debemus nos optatam fenestram utentem regex per output quaeramus wmctrl -lx *. Sed hoc non est, utendum est aliquo complicata. Solet genus nominis vel fenestrae nomen satis est.

Basically, the main idea should already be clear. In global hotkeys/brevia uncinis pro fenestra procuratori tuo, configurare inquisita compositione ad scripturam faciendam.

Quomodo uti scriptor

Primum opus est ut console install utilitates wmctrl ΠΈ xdotool:

$ sudo apt-get install wmctrl xdotool

Deinde debes scripta detrahere et eas addere ITER $. Soleo eos ~/bin:

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

Si indicem ~/bin ibi non erat, ergo debes eam creare et reboot (vel re-login), secus ~/bin non ledo ITER $. Si omnia recte aguntur, scripta a console et Tab pervia esse debent.

Praecipua scriptor showwin parametri sumit 2 : primus est regex, per quem inquisitam fenestram quaeramus, et secundus parameter est mandatum quod exsecutioni mandari debet si fenestra inquisita non inveniatur.

Experiri potes scriptionem cursus, exempli gratia:

$ showwin "Mozilla Firefox$" firefox

Si Firefox inauguratus est, fenestra eius umbilico danda est. Etiamsi Firefox non currit, debet incepisse.

Si operatur, exsecutionem mandatorum in combinationibus configurare potes. In global hotkeys/occasus shortcuts adde:

  • Alt+F: showwin "Incendia Mozilla$" incendia
  • Alt+D: showwin "Mozilla Firefox (Private Pasco)$" "Frefox -private-fenestram"
  • Alt+C: showwin "chromium-browser.Chromium-browser" N*" chromium-browser
  • Alt+X: showwin "chromium-browser.Chromium-browser".
  • Alt+S: showwin "skype.Skype" skypeforlinux
  • Alt+E: showwin "jetbrains-idea" idea.sh

Omnes configurare possunt clavem iuncturas et programmata prout visum fuerit.
Si omnia recte elaborata sunt, his coniunctionibus utentes, inter fenestras solum prementibus clavibus flectere poterimus.

Chrome amatores confundam: incognito regularem fenestram per output distinguere potest wmctrl Non potes, eadem nomina et titulos fenestras habent. In regex proposito, characteribus N* et I* tantum requiruntur ut hae expressiones regulares inter se differant et fenestrae principales assignari possint.

Ad reset principalis fenestra prioris iuncturae (re vera pro regex, quae " showwin vocavit ultimum tempus) debes vocare scriptor showwinDetach. Ego hoc scriptum est assignata clavem combinationem Alt+Backspace.

In scriptor showwin unum munus est. Cum uno modulo (in hoc casu parameter identifier) ​​dicitur, omnino regex non coercet, sed omnes fenestras aptas esse existimat. In se, hoc inutile videtur, sed hoc modo possumus unamquamque fenestram tanquam summam designare et ad illam particularem fenestram celeriter transcurrere.

Sequentes compositiones configuratus sum:

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

Hoc modo aliquas fenestras ad junctiones ligare possum Alt + 1...Alt + 0. Sicut strepitando Alt + 1 Fenestella hodiernam huic iuncturae obligo. Non possum remittant eis praestitum strepitando Alt + 1: А Π·Π°Ρ‚Π΅ΠΌ Alt+Backspace. Vel claude fenestram, id etiam operatur.

Deinde singula technica tibi referam. Ea legere non debes, sed modo eas erige et vide. Sed tamen commendare vellem aliorum scriptorum intelligentiam antequam ea in computatrum tuum currerent :).

Quomodo inter diversas ejusdem applicationis fenestras distinguas

In principio, ipsum primum exemplum "wmctrl -a skype.Skype -x" operabatur ac adhiberi potest. Sed rursus inspiciamus exemplum cum Firefox, in quo fenestrae 2 apertae sunt;

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

Prima fenestra est normalis modus, et secunda est privata Pasco. Velim has fenestras considerare sicut diversae applicationes et commutandum eis utentes diversis compagibus clavibus.

Inpediunt necesse est litteras fenestras permutat. Hac solutione usus sum: omnes fenestras enumerare, do grep per regex primam aciem caputAccipe primam columnam (hoc erit fenestra id) usura cutvertas ad fenestram per id.

Debet esse iocus de expressionibus regularibus et duabus quaestionibus, re vera nihil implicat. Iustis elocutionibus opus est ut finem lineae (the "$" symboli) significare et "Mozilla Firefox$" a "Mozilla Firefox" (Privata Pasco)$ significare possim.

Praeceptum spectat aliquid simile;

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

Hic iam coniecturam facere potes de secundo scriptionis notatione: si grep nihil reddit, desiderata applicatio aperta non est et necesse est illud incipere ex mandato secundi parametri. Et tunc temporis intervallum inspicias num fenestra inquisita aperiatur ut umbilicum transferat ad eam. Hoc non intendunt: quisquis indiget, fontes aspiciet.

Cum application fenestras non distinguuntur

Ita didicimus focus ad fenestram transferendi desideratae applicationis. Sed quid si plus quam una fenestra aperta est applicatio? Quod quis ut focus in me dare? Scriptum supra fere ad primam fenestram apertam transferet. Sed magis flexibilitatem nolumus. Velim meminisse possim quam fenestrae nobis necessariae sint et ad illam peculiarem fenestram commutandam.

Idea haec erat: Si fenestrae specificae pro clavis iuncturae meminisse velimus, necesse est hanc coniunctionem premere cum fenestra desiderata in umbilico est. In posterum, cum hanc coniunctionem urgeas, focus huic fenestrae dabitur. Usque ad fenestram claudit vel resetem pro compositione huius scripto facimus showwinDetach.

Scriptor algorithmus showwin aliquid simile hoc:

  • Reprehendo si antea meminimus id fenestrae ad quod umbilicus transferri debet.
    Si meministi et talis fenestra adhuc exsistit, umbilicum ad eam transferimus et eximus.
  • Videmus cuius fenestrae sit amet in umbilico et si petitioni nostrae respondeat, memento illius id quod est in futuro et exitu ad eam pergere.
  • Imus ad aliquam saltem fenestram idoneam si existat vel applicatio optatam aperiat.

Invenire potes quae fenestra sit amet in umbilico utens xdotool consolandi utilitatem convertendo suum output ad formas hexadecimales:

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

Facillime modus est ut aliquid in bash recordari sit creare lima in virtuali lima ratio in memoria posita. In Ubuntu hoc est per defaltam /dev/shm/. De aliis distributionibus nihil possum dicere, spero etiam simile aliquid esse. Potes inspicere cum imperio;

$ mount -l | grep tmpfs

Scriptum in hoc folder inanibus directoriis creabit, sic: /dev/shm/$User/showwin/$SEARCH_REGEX/$WINDOW_ID. Accedit, quodlibet tempus dicitur quod symlink creabit /dev/shm/$User/showwin/showwin_last on /dev/shm/$User/showwin/$SEARCH_REGEX. Hoc opus erit ut fenestram, si opus sit, remove id pro certa compositione utens scripto showwinDetach.

Quod potest melius

Uno modo, scripto configurari debet manually. Certe, propter necessitatem incurrere et multum manibus tuis facere, multi etiam rationem configurare non conantur. Si fieri posset, sarcinam simpliciter instituere et omnia facilius configurare, tunc fortasse aliquam gratiam consequi. Et vide, applicationes in distributiones vexillum solvere.

Et fortassis facilius fieri potest. Si per id fenestrae invenire potes id processus, qui creavit, et per id processus invenire potes quo mandatum illud creaverit, tunc fieri posset automate emolumento. Equidem non intellexi num quidnam in hac paragrapho scripsissem potuerit. Ita est quod ego personaliter sum contentus eo modo quo nunc agit. Sed si aliquis alius a me invenerit omnem accessionem commodam et aliquis meliorem illam, laetus erit ut meliori solutione utatur.

Alia quaestio, ut iam scripsimus, est in quibusdam fenestris ab invicem discerni non posse. Hactenus hoc solum observavi in ​​chromium incognito, sed fortasse aliud simile. Ad ultimum recursum semper est optio coniunctionum universalium Alt + 1...Alt + 0. Iterum, Firefox utor, et pro me personaliter hoc problema non significat.

Sed problema significans me est quod Mac OS utor in labore et nihil tale configurare potui. utilitatem wmctrl Puto me eam institutionem posse, sed in Mac OS vere non operatur. Aliquid fieri potest cum applicatione Automatorsed tam tardus est ut etiam cum laborat uti non conveniat. Ego quoque compositiones key facere non potui ut in omnibus programmatis operarentur. Si quis subito obvenit solutione, ea uti gaudeam.

Sed in finem

Evenit ut numerus inopinatus verborum pro huiusmodi functione simplici apparenti. Ideam notare volui et textum non onerare, sed nondum indicavi quomodo simplicius dicam. Fortassis melius esset in forma video, sed homines hoc modo hic non placent.

Pauca locutus sum quid sub cucullo scripturae sit et quomodo illud configurare possit. Singula ipsius scripturae non intravi, sed tantum 50 lineas est, ut intelligere difficile non est.

Spero quod aliquis hanc opinionem temptabit et fortasse etiam bene aestimabit. De me possum dicere scripturam ante annos circiter III scriptam et perquam commodam mihi esse. Ita opportunum est ut gravem incommodum gravem faciat cum in aliis computatoribus laborat. Et cum MacBook.

Link to scriptor

Source: www.habr.com