АлтСрнативно ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈΡ‚Π΅ Π² Linux

Аз съм ΠΎΡ‚ Ρ…ΠΎΡ€Π°Ρ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ задСйстват Caps Lock Π·Π° ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° Ρ€Π°Π·Ρ€Π΅Π΄ΠΊΠ°Ρ‚Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΌΠΈ Π΅ ΠΌΡŠΡ€Π·Π΅Π»ΠΈΠ²ΠΎ Π΄Π° натискам 2 Π±ΡƒΡ‚ΠΎΠ½Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΌΠΎΠ³Π° Π΄Π° натисна само Π΅Π΄ΠΈΠ½. Π”ΠΎΡ€ΠΈ Π±ΠΈΡ… ΠΆΠ΅Π»Π°Π» 2 Π½Π΅Π½ΡƒΠΆΠ½ΠΈ Π±ΡƒΡ‚ΠΎΠ½Π°: Π΅Π΄ΠΈΠ½ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Π·Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° английската Ρ€Π°Π·Ρ€Π΅Π΄ΠΊΠ°, Π° втория Π·Π° руската. Но вторият Π½Π΅Π½ΡƒΠΆΠ΅Π½ Π±ΡƒΡ‚ΠΎΠ½ Π΅ Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° контСкстното мСню, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π½Π΅Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Π½Π° Π»Π°ΠΏΡ‚ΠΎΠΏΠΈ Π³ΠΎ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Ρ‚. Π’Π°ΠΊΠ° Ρ‡Π΅ ΠΌΠΈ сС Π½Π°Π»Π°Π³Π° Π΄Π° сС задоволя с Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠΌΠ°ΠΌ.

А ΠΎΡ‰Π΅ Π½Π΅ искам ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈΡ‚Π΅ Π΄Π° Ρ‚ΡŠΡ€ΡΡ ΠΈΠΊΠΎΠ½ΠΊΠΈΡ‚Π΅ ΠΈΠΌ Π½Π° ΠΏΠ°Π½Π΅Π»Π° с инструмСнти, Π΄Π° улавям ΠΈΠΌΠ΅Π½Π°Ρ‚Π° ΠΈΠΌ ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π²ΡŠΡ€Ρ‚Π°Π½Π΅ ΠΏΡ€Π΅Π· Alt+Tab, Π΄Π° ΠΏΡ€Π΅Π²ΡŠΡ€Ρ‚Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ‚Π΅ настолия ΠΈ Ρ‚.Π½. Искам Π΄Π° натисна комбинация ΠΎΡ‚ Π±ΡƒΡ‚ΠΎΠ½ΠΈ (Π² идСалния случай Π΄ΠΎΡ€ΠΈ Π΅Π΄ΠΈΠ½, Π½ΠΎ Π²Π΅Ρ‡Π΅ няма свободни Π½Π΅Π½ΡƒΠΆΠ½ΠΈ Π±ΡƒΡ‚ΠΎΠ½ΠΈ) ΠΈ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° ΠΏΠΎΠΏΠ°Π΄Π½Π° Π² ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π°, ΠΎΡ‚ ΠΊΠΎΠΉΡ‚ΠΎ сС нуТдая. НапримСр Ρ‚Π°ΠΊΠ°:

  • Alt+F: Firefox
  • Alt+D: Firefox (Частно Browsing)
  • Alt+T: Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π»
  • Alt+M: ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€
  • Alt+E: IntelliJ Idea
  • ΠΈ Ρ‚.Π½.

ΠŸΡ€ΠΈ натисканС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Alt+M искам Π΄Π° Π²ΠΈΠΆΠ΄Π°ΠΌ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° нСзависимо Π΄Π°Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π΅ стартирана Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°. Ако Π΅ стартирана, Ρ„ΠΎΠΊΡƒΡΡŠΡ‚ трябва Π΄Π° бъдС ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ Π½Π° нСйния ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†, Π° Π°ΠΊΠΎ Π½Π΅ Π΅ β€” Π΄Π° стартира Π½ΡƒΠΆΠ½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ΠΈ Π΄Π° ΠΏΡ€Π΅Π΄Π°Π΄Π΅ фокус, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС Π·Π°Ρ€Π΅Π΄ΠΈ.

Π—Π° случаи, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΏΠΎΠΊΡ€ΠΈΠ²Π°Ρ‚ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ сцСнарий, искам Π΄Π° ΠΈΠΌΠ°ΠΌ унивСрсални ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΎΡ‚ Π±ΡƒΡ‚ΠΎΠ½ΠΈ, Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ лСсно Π΄Π° ΠΌΠΎΠ³Π° Π΄Π° Π½Π°Π·Π½Π°Ρ‡Π°Π²Π°ΠΌ всякакви ΠΎΡ‚ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ. НапримСр, ΠΈΠΌΠ°ΠΌ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ 10 ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΎΡ‚ Alt+1 Π΄ΠΎ Alt+0, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΌΠΎΠ³Π° Π΄Π° натисна Alt+1 ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†ΡŠΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅ във фокус, Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈ фокус ΠΏΡ€ΠΈ натисканС Π½Π° Alt+1.

Под ΠΊΠΎΡ‚Π°, описвам ΠΎΡ‰Π΅ няколко Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π½Π° Π²ΡŠΠΏΡ€ΠΎΡΠ° ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ²Π°. Но Π²Π΅Π΄Π½Π°Π³Π° Ρ‰Π΅ прСдупрСдя, Ρ‡Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° пСрсонализация "ΠΏΠΎΠ΄ сСбС си" ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° сСриозна зависимост ΠΈ Π΄ΠΎΡ€ΠΈ синдром Π½Π° абстинСнция ΠΏΡ€ΠΈ нСобходимост Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Windows, Mac OS ΠΈΠ»ΠΈ Π΄ΠΎΡ€ΠΈ Ρ‡ΡƒΠΆΠ΄ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€ с Linux.

Наистина, Π°ΠΊΠΎ сС замислим, Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π² Π΅ΠΆΠ΅Π΄Π½Π΅Π²ΠΈΠ΅Ρ‚ΠΎ. Π‘Ρ€Π°ΡƒΠ·ΡŠΡ€, Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», IDE, някой Messenger, Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€, ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ ΠΈ, вСроятно, Ρ‚ΠΎΠ²Π° Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ всичко. НС са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΎΡ‚ Π±ΡƒΡ‚ΠΎΠ½ΠΈ, Π·Π° Π΄Π° покрият 95% ΠΎΡ‚ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π—Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, ΠΏΡ€ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ са ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ няколко ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π°, Π΅Π΄ΠΈΠ½ ΠΎΡ‚ тях ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° Π³Π»Π°Π²Π΅Π½. НапримСр, ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ са няколко ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†Π° Π½Π° IntelliJ Idea, Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ Π½Π° Alt+E. Π’ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ условия, ΠΏΡ€ΠΈ натисканС Π½Π° Alt+E Ρ‰Π΅ сС отваря някакъв ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π½Π° Ρ‚Π°Π·ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, вСроятно Ρ‚ΠΎΠ·ΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ Π±Π΅ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΏΡŠΡ€Π²ΠΈ. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Π°ΠΊΠΎ натиснСтС Π½Π° Alt+E ΠšΠΎΠ³Π°Ρ‚ΠΎ Π΅Π΄Π½ΠΎ ΠΎΡ‚ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈΡ‚Π΅ Π½Π° Ρ‚Π°Π·ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ, Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Ρ‰Π΅ бъдС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π·Π° основно ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½Π΅Π³ΠΎ Ρ‰Π΅ бъдС ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ Ρ„ΠΎΠΊΡƒΡΡŠΡ‚ ΠΏΡ€ΠΈ слСдващи натискания Π½Π° комбинацията.

ΠžΡΠ½ΠΎΠ²Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€Π΅Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ. Π—Π° Ρ†Π΅Π»Ρ‚Π° комбинацията ΠΏΡŠΡ€Π²ΠΎ трябва Π΄Π° бъдС Π½ΡƒΠ»ΠΈΡ€Π°Π½Π°, Π° слСд Ρ‚ΠΎΠ²Π° Π½Π° Π½Π΅Π³ΠΎ Π΄Π° бъдС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ основно ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†. Π—Π° Π½ΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° комбинацията Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° натиснСтС самата комбинация, Π° слСд Ρ‚ΠΎΠ²Π° спСциалната комбинация Π·Π° Π½ΡƒΠ»ΠΈΡ€Π°Π½Π΅, Π·Π° ΠΌΠ΅Π½ тя Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π½Π° Alt+Backspace. Π’ΠΎΠ²Π° Ρ‰Π΅ изпълни скрипт, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ ΠΎΡ‚ΠΌΠ΅Π½ΠΈ Π½Π°Π·Π½Π°Ρ‡Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° основното ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π·Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° комбинация. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚Π΅ Π½ΠΎΠ²ΠΎ основно ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Ρ‚Π°ΠΊΠ°, ΠΊΠ°ΠΊΡ‚ΠΎ бСшС описано Π² ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„. НулиранСто Π½Π° ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† към унивСрсални ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ става ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½.

Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ дълго, Π½ΠΎ ΠΏΡŠΡ€Π²ΠΎ исках Π΄Π° Ρ€Π°Π·ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ ΠΏΡ€Π°Π²ΠΈΠΌ, Π° слСд Ρ‚ΠΎΠ²Π° Π΄Π° обясня ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ.

Π—Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са сС ΡƒΠΌΠΎΡ€ΠΈΠ»ΠΈ ΠΎΡ‚ Ρ‡Π΅Ρ‚Π΅Π½Π΅

Ако ΠΊΡ€Π°Ρ‚ΠΊΠΎ, Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° към скриптовСтС Π΅ Π² края Π½Π° статията.

Но всС ΠΏΠ°ΠΊ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° инсталиратС ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ няма Π΄Π° станС. ΠŸΡŠΡ€Π²ΠΎ трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ ΡΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ Π½Π°ΠΌΠΈΡ€Π° Π½ΡƒΠΆΠ½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†. Π‘Π΅Π· Ρ‚ΠΎΠ²Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ Π½Π° скрипта къдС Ρ‚ΠΎΡ‡Π½ΠΎ Π΄Π° ΠΏΡ€Π΅Π΄Π°Π΄Π΅ фокуса. И трябва Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ, Π°ΠΊΠΎ извСднъТ Π½Π΅ Π΅ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΎ подходящо ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†.

И ΠΎΡ‰Π΅, няма Π΄Π° сС Π·Π°Π΄ΡŠΠ»Π±ΠΎΡ‡Π°Π²Π°ΠΌ Π² Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° настроитС ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° скриптовС ΠΏΡ€ΠΈ натисканС Π½Π° клавишни ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ. НапримСр, Π² KDE Ρ‚ΠΎΠ²Π° Π΅ Π² System Settings β†’ Shortcuts β†’ Custom Shortcuts. И Π² Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ‡Π½ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈ ΡΡŠΡ‰ΠΎ трябва Π΄Π° ΠΈΠΌΠ° Π½Π΅Ρ‰ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ.

Π—Π°ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ с wmctrl

Wmctrl β€” ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Π·Π° взаимодСйствиС с X Window Manager. Π’ΠΎΠ²Π° Π΅ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° скрипта. НСка Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π°ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°.

ΠŸΡŠΡ€Π²ΠΎ, Ρ‰Π΅ ΠΈΠ·Π²Π΅Π΄Π΅ΠΌ списък Π½Π° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ:

$ 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 Translate - Mozilla Firefox
0x04400218  0 Navigator.Firefox                   N/A Най-Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π° дСня / Π₯Π°Π±Ρ€ - Mozilla Firefox (Private Browsing)
...

ΠžΠΏΡ†ΠΈΡ -l ΠΈΠ·Π²Π΅ΠΆΠ΄Π° списък Π½Π° всички ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ, Π° -Ρ… добавя към ΠΈΠ·Ρ…ΠΎΠ΄Π° ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° класа (skype.Skype, Navigator.Firefox ΠΈ Π΄Ρ€.). Π©Π΅ Π½ΠΈ Π΅ Π½ΡƒΠΆΠ½ΠΎ id Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† (ΠΊΠΎΠ»ΠΎΠ½Π° 1), ΠΈΠΌΠ΅ Π½Π° класа (ΠΊΠΎΠ»ΠΎΠ½Π° 3) ΠΈ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† (послСдната ΠΊΠΎΠ»ΠΎΠ½Π°).

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ някоС ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° опцията -a:

$ wmctrl -a skype.Skype -x

Ако всичко Π΅ ΠΌΠΈΠ½Π°Π»ΠΎ ΠΏΠΎ ΠΏΠ»Π°Π½, Π½Π° Π΅ΠΊΡ€Π°Π½Π° трябва Π΄Π° сС появи ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Skype. Ако вмСсто опцията -x ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ опцията -i, вмСсто ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° класа, ΠΌΠΎΠΆΠ΅ Π΄Π° сС посочи id Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π°. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с id Π΅, Ρ‡Π΅ Ρ‚ΠΎΠΉ сС промСня ΠΏΡ€ΠΈ всяко стартиранС Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΎ Π·Π½Π°Π΅ΠΌ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ. ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, Ρ‚ΠΎΠ·ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ясно ΡƒΠΊΠ°Π·Π²Π° Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π²Π°ΠΆΠ½ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ отваря ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†. ΠŸΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Ρ‚ΠΎΠ²Π° ΠΏΠΎ-късно.

На Ρ‚ΠΎΠ·ΠΈ Π΅Ρ‚Π°ΠΏ трябва Π΄Π° Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Π΅ Ρ‰Π΅ Ρ‚ΡŠΡ€ΡΠΈΠΌ нуТния ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Ρ‡Ρ€Π΅Π· regex ΠΏΠΎ ΠΈΠ·Ρ…ΠΎΠ΄Π° wmctrl -lx. Но Ρ‚ΠΎΠ²Π° Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ трябва Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½Π΅Ρ‰ΠΎ слоТно. ОбикновСно ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° класа ΠΈΠ»ΠΈ Π·Π°Π³Π»Π°Π²ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π° Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ.

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, основната идСя Π²Π΅Ρ‡Π΅ трябва Π΄Π° Π΅ ясна. Π’ настройкитС Π·Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ Π±ΡŠΡ€Π·ΠΈ клавиши/ΡˆΠΎΡ€Ρ‚ΠΊΡŠΡ‚ΠΈ Π·Π° вашия ΠΎΠΊΠΎΠ½Π΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ настройвамС Π½ΡƒΠΆΠ½Π°Ρ‚Π° комбинация Π·Π° изпълнСниС Π½Π° скрипта.

Как Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ скриптовСтС

Π—Π° Π½Π°Ρ‡Π°Π»ΠΎ трябва Π΄Π° инсталирамС ΠΊΠΎΠ½Π·ΠΎΠ»Π½ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΈ wmctrl ΠΈ xdotool:

$ sudo apt-get install wmctrl xdotool

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° трябва Π΄Π° ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈΠΌ скриптовСтС ΠΈ Π΄Π° Π³ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² $PATH. ОбикновСно Π³ΠΈ слагам Π² ~/bin:

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

Ако дирСкторията ~/bin Π½Π΅ Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Π»Π°, трябва Π΄Π° я ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΈ Π΄Π° сС рСстартиратС (ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π·Π°Ρ€Π΅Π΄ΠΈΡ‚Π΅ сСсията), Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай ~/bin няма Π΄Π° ΠΏΠΎΠΏΠ°Π΄Π½Π΅ Π² $PATH. Ако всичко Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, скриптовСтС трябва Π΄Π° са Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ ΠΎΡ‚ ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ ΠΏΠΎ Tab трябва Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ.

ΠžΡΠ½ΠΎΠ²Π½ΠΈΡΡ‚ скрипт showwin ΠΏΡ€ΠΈΠ΅ΠΌΠ° 2 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π°: ΠΏΡŠΡ€Π²ΠΈΡΡ‚ Π΅ regex, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Ρ‚ΡŠΡ€ΡΠΈΠΌ нуТния ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†, Π° вторият ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°, която трябва Π΄Π° сС изпълни, Π°ΠΊΠΎ нуТният ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π½Π΅ Π΅ Π½Π°ΠΌΠ΅Ρ€Π΅Π½.

МоТС Π΄Π° ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ скрипта, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

$ showwin "Mozilla Firefox$" firefox

Ако Firefox Π΅ инсталиран, Ρ„ΠΎΠΊΡƒΡΡŠΡ‚ трябва Π΄Π° бъдС ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π° ΠΌΡƒ. Π”ΠΎΡ€ΠΈ Π°ΠΊΠΎ Firefox Π½Π΅ Π΅ стартиран, Ρ‚ΠΎΠΉ трябва Π΄Π° сС стартира.

Ако Ρ€Π°Π±ΠΎΡ‚ΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ Π΄Π° настроитС ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ. Π’ настройкитС Π·Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ Π±ΡŠΡ€Π·ΠΈ клавиши/ΡˆΠΎΡ€Ρ‚ΠΊΡŠΡ‚ΠΈ добавямС:

  • 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

И Ρ‚.Π½. ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° клавиши ΠΈ софтуСра всСки ΠΌΠΎΠΆΠ΅ Π΄Π° настрои ΠΊΠ°ΠΊΡ‚ΠΎ ΠΌΡƒ Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ.
Ако всичко Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΈΡ‚Π΅ ΠΏΠΎ-Π³ΠΎΡ€Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈΡ‚Π΅ с просто натисканС Π½Π° клавиш.

Π Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Π°ΠΌ Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Chrome: ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† ΠΈΠ½ΠΊΠΎΠ³Π½ΠΈΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈ ΠΏΠΎ ΠΈΠ·Ρ…ΠΎΠ΄Π°. wmctrl НС ΠΌΠΎΠΆΠ΅, Ρ‚Π΅ ΠΈΠΌΠ°Ρ‚ Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ ΠΈΠΌΠ΅Π½Π° Π½Π° класовСтС ΠΈ заглавията Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈΡ‚Π΅. Π’ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ‚Π΅ regex символитС N* ΠΈ I* са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ само, Π·Π° Π΄Π° сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°Ρ‚ Ρ‚Π΅Π·ΠΈ рСгулярки ΠΈ Π΄Π° ΠΈΠΌ сС Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ основни ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ.

Π—Π° Π½ΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° основния ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° комбинация (Π² дСйствитСлност Π·Π° regex, ΠΊΠΎΠΉΡ‚ΠΎ showwin бСшС ΠΈΠ·Π²ΠΈΠΊΠ°Π½ послСдно) трябва Π΄Π° сС ΠΈΠ·Π²ΠΈΠΊΠ° ΡΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ showwinDetach. Аз съм Π½Π°Π·Π½Π°Ρ‡ΠΈΠ» Ρ‚ΠΎΠ·ΠΈ скрипт Π½Π° комбинацията ΠΎΡ‚ клавиши Alt+Backspace.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ showwin ΠΈΠΌΠ° ΠΎΡ‰Π΅ Π΅Π΄Π½Π° функция. ΠšΠΎΠ³Π°Ρ‚ΠΎ сС ΠΈΠ·Π²ΠΈΠΊΠ²Π° с Π΅Π΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ (Π² Ρ‚ΠΎΠ·ΠΈ случай ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ΡŠΡ‚ Π΅ просто ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€), Ρ‚ΠΎΠΉ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π½Π΅ провСрява regex ΠΈ смята всички ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ Π·Π° подходящи. Π’ΠΎΠ²Π° само ΠΏΠΎ сСбС си ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π½ΠΎ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°Π·Π½Π°Ρ‡ΠΈΠΌ всякакъв ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π·Π° основСн ΠΈ Π±ΡŠΡ€Π·ΠΎ Π΄Π° сС ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ към Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†.

Аз ΠΈΠΌΠ°ΠΌ настроСни слСднитС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ:

  • Alt+1: showwin Β«CustomKey1Β»
  • Alt+2: showwin Β«CustomKey2Β»
  • …
  • Alt+0: showwin Β«CustomKey0Β»
  • Alt+Backspace: showwinDetach

По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΌΠΎΠ³Π° Π΄Π° ΡΠ²ΡŠΡ€ΠΆΠ° всякакви ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ с ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Alt+1…Alt+0. ΠŸΡ€ΠΎΡΡ‚ΠΎ натискайки Alt+1 Π°Π· ΡΠ²ΡŠΡ€Π·Π²Π°ΠΌ тСкущия ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† с Ρ‚Π°Π·ΠΈ комбинация. Мога Π΄Π° отмСня ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ, натискайки Alt+1, Π° Π·Π°Ρ‚Π΅ΠΌ Alt+Backspace. Или Π΄Π° затворя ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π°, Ρ‚Π°ΠΊΠ° ΡΡŠΡ‰ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ.

Π‘Π΅Π³Π° Ρ‰Π΅ сподСля ΠΌΠ°Π»ΠΊΠΎ тСхничСски подробности. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π΅ Π³ΠΈ Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅, Π° просто Π΄Π° ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ Π΄Π° настроитС ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅. Но всС ΠΏΠ°ΠΊ Π±ΠΈΡ… ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π°Π» Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Ρ‚Π΅ с Ρ‡ΡƒΠΆΠ΄ΠΈΡ‚Π΅ скриптовС ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π³ΠΈ пуснСтС Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π° си :).

Как Π΄Π° Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°ΠΌΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ Π½Π° Π΅Π΄Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, ΠΏΡŠΡ€Π²ΠΈΡΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Β«wmctrl -a skype.Skype -xΒ» Π΅ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°. Но Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° с Firefox, Π² ΠΊΠΎΠΉΡ‚ΠΎ са ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ 2 ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π°:

0x04400003  0 Navigator.Firefox                   N/A Google Translate - Mozilla Firefox
0x04400218  0 Navigator.Firefox                   N/A Най-Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π° Π΄Π΅Π½ΠΎΠ½ΠΎΡ‰ΠΈΠ΅ / Π₯Π°Π±Ρ€ - Mozilla Firefox (Частно ΡΡŠΡ€Ρ„ΠΈΡ€Π°Π½Π΅)

ΠŸΡŠΡ€Π²ΠΈΡΡ‚ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ, Π° вторият Π΅ Частно ΡΡŠΡ€Ρ„ΠΈΡ€Π°Π½Π΅. Π’Π΅Π·ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ ΠΆΠ΅Π»Π°Π΅ΠΌ Π΄Π° считамС Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ прилоТСния ΠΈ Π΄Π° ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ тях с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΎΡ‚ клавиши.

Врябва Π΄Π° услоТним скрипта, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈΡ‚Π΅. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Ρ… слСдното Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: Π΄Π° ΠΈΠ·Π²Π΅Π΄Π° списък Π½Π° всички ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ, Π΄Π° направя grep ΠΏΠΎ regex, Π΄Π° Π²Π·Π΅ΠΌΠ° ΠΏΡŠΡ€Π²ΠΈΡ Ρ€Π΅Π΄ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° head, Π΄Π° ΠΈΠ·Π²Π»Π΅ΠΊΠ° ΠΏΡŠΡ€Π²Π°Ρ‚Π° ΠΊΠΎΠ»ΠΎΠ½Π° (Ρ‚ΠΎΠ²Π° Ρ‰Π΅ бъдС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π°) с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° cut, Π΄Π° ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π° Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π° ΠΏΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°.

Π’ΡƒΠΊ Π±ΠΈ трябвало Π΄Π° ΠΈΠΌΠ° шСга Π·Π° рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ ΠΈ Π΄Π²Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π½ΠΎ ΠΏΠΎ Ρ„Π°ΠΊΡ‚Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Π½ΠΈΡ‰ΠΎ слоТно. РСгуляркитС ΠΌΠΈ трябват, Π·Π° Π΄Π° ΠΌΠΎΠ³Π° Π΄Π° посоча края Π½Π° Ρ€Π΅Π΄Π° (символ Β«$Β») ΠΈ Π΄Π° Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°ΠΌ Β«Mozilla Firefox$Β» ΠΎΡ‚ Β«Mozilla Firefox (Частно ΡΡŠΡ€Ρ„ΠΈΡ€Π°Π½Π΅)$Β».

ΠžΡ‚Π±ΠΎΡ€ΡŠΡ‚ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

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

Π’ΡƒΠΊ Π²Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС досСтитС Π·Π° Π²Ρ‚ΠΎΡ€ΠΎΡ‚ΠΎ свойство Π½Π° скрипта: Π°ΠΊΠΎ grep Π½Π΅ Π΅ ΠΈΠ·Π²Π΅Π» Π½ΠΈΡ‰ΠΎ, Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π΅ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΎ ΠΈ трябва Π΄Π° бъдС пуснато с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ΠΎΡ‚ втория ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€. А слСд Ρ‚ΠΎΠ²Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ Π΄Π° провСряватС Π΄Π°Π»ΠΈ нСобходимият ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π½Π΅ сС Π΅ ΠΎΡ‚Π²ΠΎΡ€ΠΈΠ», Π·Π° Π΄Π° ΠΌΡƒ ΠΏΡ€Π΅Π΄Π°Π΄Π΅Ρ‚Π΅ фокуса. Няма Π΄Π° сС спирам Π½Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠΉΡ‚ΠΎ иска, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ изходния ΠΊΠΎΠ΄.

ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π΅ са Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΌΠΈ

И Ρ‚Π°ΠΊΠ°, Π½Π°ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΏΡ€Π΅Π΄Π°Π²Π°ΠΌΠ΅ фокуса Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π° Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Но ΠΊΠ°ΠΊΠ²ΠΎ става, Π°ΠΊΠΎ са ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Π΅Π΄Π½ΠΎ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ? Към ΠΊΠΎΠΉΡ‚ΠΎ ΠΎΡ‚ тях Π΄Π° ΠΏΡ€Π΅Π΄Π°Π΄Π΅ΠΌ фокуса? Π‘ΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ ΠΏΠΎ-Π³ΠΎΡ€Π΅ вСроятно Ρ‰Π΅ ΠΏΡ€Π΅Π΄Π°Π΄Π΅ фокус Π½Π° ΠΏΡŠΡ€Π²ΠΈΡ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° искамС ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π³ΡŠΠ²ΠΊΠ°Π²ΠΎΡΡ‚. Π‘ΠΈΡ…ΠΌΠ΅ искали Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ конкрСтния ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†, ΠΎΡ‚ ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π°, ΠΈ Π΄Π° ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ към Π½Π΅Π³ΠΎ.

Π˜Π΄Π΅ΡΡ‚Π° бСшС слСдната: Ако искамС Π΄Π° Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ Π·Π° комбинацията ΠΎΡ‚ клавиши ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†, трябва Π΄Π° натиснСм Ρ‚Π°Π·ΠΈ комбинация, ΠΊΠΎΠ³Π°Ρ‚ΠΎ нуТният ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π΅ във фокус. По-късно, ΠΏΡ€ΠΈ натисканС Π½Π° Ρ‚Π°Π·ΠΈ комбинация, Ρ„ΠΎΠΊΡƒΡΡŠΡ‚ Ρ‰Π΅ бъдС ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†. Π”ΠΎΡ‚ΠΎΠ³Π°Π²Π°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†ΡŠΡ‚ Π½Π΅ бъдС Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½ ΠΈΠ»ΠΈ Π½Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Π½ΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚Π°Π·ΠΈ комбинация Π² скрипта. showwinDetach.

ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π½Π° скрипта showwin Π΅ Π³ΠΎΡ€Π΅-Π΄ΠΎΠ»Ρƒ Ρ‚Π°ΠΊΡŠΠ²:

  • ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ Π΄Π°Π»ΠΈ смС Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄ΠΈ id Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π°, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ трябва Π΄Π° ΠΏΡ€Π΅Π΄Π°Π΄Π΅ΠΌ фокуса.
    Ако смС Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ»ΠΈ ΠΈ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† всС ΠΎΡ‰Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°, ΠΏΡ€Π΅Π΄Π°Π²Π°ΠΌΠ΅ фокуса Π½Π° Π½Π΅Π³ΠΎ ΠΈ ΠΈΠ·Π»ΠΈΠ·Π°ΠΌΠ΅.
  • Π“Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅ във фокус ΠΈ Π°ΠΊΠΎ Ρ‚ΠΎΠΉ отговаря Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅, запомнямС нСговия id, Π·Π° Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ към Π½Π΅Π³ΠΎ ΠΏΠΎ-късно, ΠΈ ΠΈΠ·Π»ΠΈΠ·Π°ΠΌΠ΅.
  • ΠŸΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ към някой подходящ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†, Π°ΠΊΠΎ Ρ‚Π°ΠΊΡŠΠ² ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°, ΠΈΠ»ΠΈ отварямС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

МоТС Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅ във фокус с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° xdotool, ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Ρ‚Π΅ нСйния ΠΈΠ·Ρ…ΠΎΠ΄ Π² хСксадСсСтичСн Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

$ printf "0xx" `xdotool getwindowfocus`

НСщо Π΄Π° запомнятС Π² bash Π΅ Π½Π°ΠΉ-лСсно, ΠΊΠ°Ρ‚ΠΎ ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ във Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма, която сС Π½Π°ΠΌΠΈΡ€Π° Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. Π’ Ubuntu Ρ‚Π°ΠΊΠ°Π²Π° Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π² /dev/shm/. Π—Π° Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ дистрибуции Π½Π΅ ΠΌΠΎΠ³Π° Π΄Π° ΠΊΠ°ΠΆΠ° Π½ΠΈΡ‰ΠΎ, надявам сС, Ρ‡Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΡŠΡ‰ΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°:

$ mount -l | grep tmpfs

Π‘ΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ Ρ‰Π΅ създава ΠΏΡ€Π°Π·Π½ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π² Ρ‚Π°Π·ΠΈ ΠΏΠ°ΠΏΠΊΠ°, Π½Π΅Ρ‰ΠΎ Ρ‚Π°ΠΊΠΎΠ²Π°: /dev/shm/$USER/showwin/$SEARCH_REGEX/$WINDOW_ID. Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΡ€ΠΈ всяко ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Ρ‚ΠΎΠΉ Ρ‰Π΅ създава symlink /dev/shm/$USER/showwin/showwin_last Π½Π° /dev/shm/$USER/showwin/$SEARCH_REGEX. Π’ΠΎΠ²Π° Ρ‰Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈ Π½ΡƒΠΆΠ΄Π° Π΄Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅Ρ‚Π΅ id Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π° Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° комбинация с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° скрипта. showwinDetach.

Какво ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ

На ΠΏΡŠΡ€Π²ΠΎ място, скриптовСтС трябва Π΄Π° сС настройват Ρ€ΡŠΡ‡Π½ΠΎ. ВСроятно, Π·Π°Ρ€Π°Π΄ΠΈ Π½ΡƒΠΆΠ΄Π°Ρ‚Π° Π΄Π° сС Π²Π½ΠΈΠΊΠ½Π΅ ΠΈ Π΄Π° сС ΡΠ²ΡŠΡ€ΡˆΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Ρ€ΡŠΠΊΠ°, ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ вас Π΄ΠΎΡ€ΠΈ няма Π΄Π° сС ΠΎΠΏΠΈΡ‚Π°Ρ‚ Π΄Π° настроят систСмата. Ако имашС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ просто Π΄Π° сС инсталира ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ всичко Π΄Π° сС настрои ΠΏΠΎ-лСсно, вСроятно Ρ‚ΠΎΠ²Π° Ρ‰Π΅ΡˆΠ΅ Π΄Π° ΠΏΡ€ΠΈΠ΄ΠΎΠ±ΠΈΠ΅ извСстна популярност. А послС ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π΄ΠΎΡ€ΠΈ щяха Π΄Π° вградят ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π² стандартнитС дистрибуции.

И, възмоТно Π΅ Π΄Π° бъдС Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ ΠΏΠΎ-лСсно. Ако ΠΏΠΎ id Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅ id Π½Π° процСса, ΠΊΠΎΠΉΡ‚ΠΎ Π³ΠΎ Π΅ създал, Π° ΠΏΠΎ id Π½Π° процСса Π΄Π° сС Ρ€Π°Π·ΠΊΡ€ΠΈΠ΅ коя ΠΊΠΎΠΌΠ°Π½Π΄Π° Π³ΠΎ Π΅ създала, Ρ‚ΠΎΠ³Π°Π²Π° настройката Π±ΠΈ ΠΌΠΎΠ³Π»Π° Π΄Π° сС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π½Π΅ съм изслСдвал Π΄Π°Π»ΠΈ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ написах Π² Ρ‚ΠΎΠ·ΠΈ Π°Π±Π·Π°Ρ†, Π΅ възмоТно. Π€Π°ΠΊΡ‚ Π΅, Ρ‡Π΅ Π°Π· Π»ΠΈΡ‡Π½ΠΎ съм Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ ΠΎΡ‚ Π½Π°Ρ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°. Но Π°ΠΊΠΎ Π½Π° някого освСн ΠΌΠ΅Π½ ΠΌΡƒ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ някой Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ, Ρ‚ΠΎ Π°Π· с радост Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

Другият ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠ°ΠΊΡ‚ΠΎ Π²Π΅Ρ‡Π΅ писах, Π΅, Ρ‡Π΅ Π² някои случаи ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈΡ‚Π΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³. ДосСга съм наблюдавал Ρ‚Π°ΠΊΠΎΠ²Π° Π½Π΅Ρ‰ΠΎ само с incognito Π² chrome/chromium, Π½ΠΎ вСроятно Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ мСста ΡΡŠΡ‰ΠΎ ΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка Π²ΠΈΠ½Π°Π³ΠΈ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с унивСрсални ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ. Alt+1…Alt+0. ΠžΡ‚Π½ΠΎΠ²ΠΎ, Π°Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Firefox ΠΈ Π·Π° ΠΌΠ΅Π½ Π»ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π΅ Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²Π΅Π½.

Но ΡΡŠΡ‰Π΅ΡΡ‚Π²Π΅Π½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π·Π° ΠΌΠ΅Π½ Π΅, Ρ‡Π΅ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Mac OS ΠΈ Ρ‚Π°ΠΌ Π½Π΅ успях Π΄Π° настроя Π½ΠΈΡ‰ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π°Ρ‚Π° wmctrl ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‡Π΅ успях Π΄Π° инсталирам, Π½ΠΎ тя Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π΄ΠΎΠ±Ρ€Π΅ Π½Π° Mac OS. НСщо ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Automator, Π½ΠΎ Ρ‚ΠΎ Ρ‚Π°ΠΊΠ° Π»Π°Π³Π°, Ρ‡Π΅ Π΅ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π΄ΠΎΡ€ΠΈ ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ. Π‘ΡŠΡ‰ΠΎ Π½Π΅ успях Π΄Π° настроя ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΎΡ‚ клавиши, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° работят във всички ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ. Ако случайно някой измисли Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” Ρ‰Π΅ сС Ρ€Π°Π΄Π²Π°ΠΌ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ.

ВмСсто Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ…Π° сС Π½Π΅ΠΎΡ‡Π°ΠΊΠ²Π°Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡƒΠΌΠΈ Π·Π° Ρ‚Π°ΠΊΠ°Π²Π°, ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ‰Π° проста функционалност. Π˜ΡΠΊΠ°Ρ… Π΄Π° изразя идСята ΠΈ Π΄Π° Π½Π΅ прСнаситя тСкста, Π½ΠΎ засСга Π½Π΅ съм измислил ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ обясня ΠΏΠΎ-просто. ВСроятно във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅, Π½ΠΎ Ρ‚ΡƒΠΊ Π½Π΅ ΠΎΠ±ΠΈΡ‡Π°Ρ‚ Ρ‚Π°ΠΊΠ°.

Π Π°Π·ΠΊΠ°Π·Π°Ρ… ΠΌΠ°Π»ΠΊΠΎ Π·Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ сС случва Π·Π°Π΄ кулиситС Π½Π° скрипта ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ настроя. НС навлязох Π² подробности Π·Π° самия скрипт, Π½ΠΎ Ρ‚ΠΎΠΉ Π΅ само 50 Ρ€Π΅Π΄Π°, Π½Π΅ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅.

Надявам сС, Ρ‡Π΅ някой Π΄Ρ€ΡƒΠ³ Ρ‰Π΅ ΠΈΠ·ΠΏΡ€ΠΎΠ±Π²Π° Ρ‚Π°Π·ΠΈ идСя ΠΈ, възмоТно, Π΄ΠΎΡ€ΠΈ Ρ‰Π΅ я ΠΎΡ†Π΅Π½ΠΈ. Π—Π° сСбС си ΠΌΠΎΠ³Π° Π΄Π° ΠΊΠ°ΠΆΠ°, Ρ‡Π΅ ΡΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ бСшС написан ΠΏΡ€Π΅Π΄ΠΈ ΠΎΠΊΠΎΠ»ΠΎ 3 Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ ΠΌΠΈ Π΅ ΠœΠΠžΠ“Πž ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Π’ΠΎΠ»ΠΊΠΎΠ²Π° ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ρ‡Π΅ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π° сСриозСн дискомфорт ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‡ΡƒΠΆΠ΄ΠΈ ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈ. И с работния ΠΌΠΈ ΠΌΠ°ΠΊΠ±ΡƒΠΊ.

Π’Ρ€ΡŠΠ·ΠΊΠ° към скриптовСтС

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster