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

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

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

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

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

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

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

Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚, Π°ΠΊΠΎ сС замислим, Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π² Π΅ΠΆΠ΅Π΄Π½Π΅Π²ΠΈΠ΅Ρ‚ΠΎ си. Π‘Ρ€Π°ΡƒΠ·ΡŠΡ€, Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», IDE, някакво ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ, Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€, ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ ΠΈ, ΠΌΠ°ΠΉ, Ρ‚ΠΎΠ²Π° Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ всичко. НС са Π½ΡƒΠΆΠ½ΠΈ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΎΡ‚ клавиши, Π·Π° Π΄Π° ΠΏΠΎΠΊΡ€ΠΈΠ΅ 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 ΠŸΡ€Π΅Π²ΠΎΠ΄Π°Ρ‡ - Mozilla Firefox
0x04400218  0 Navigator.Firefox                   N/A Най-Π΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π° Π΄Π΅Π½ΠΎΠ½ΠΎΡ‰ΠΈΠ΅ / Π₯Π°Π±Ρ€ - Mozilla Firefox (Частно ΡΡŠΡ€Ρ„ΠΈΡ€Π°Π½Π΅)
...

ΠžΠΏΡ†ΠΈΡ -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

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

Π©Π΅ Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Π°ΠΌ Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Ρ…Ρ€ΠΎΠΌΠ°: ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† ΠΈΠ½ΠΊΠΎΠ³Π½ΠΈΡ‚ΠΎ сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π° ΠΏΠΎ ΠΈΠ·Ρ…ΠΎΠ΄Π° 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 ΠŸΡ€Π΅Π²ΠΎΠ΄Π°Ρ‡ - Mozilla Firefox
0x04400218  0 Navigator.Firefox                   N/A Най-Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π° Π΄Π΅Π½ΠΎΠ½ΠΎΡ‰ΠΈΠ΅Ρ‚ΠΎ / Π₯Π°Π±ΡŠΡ€ - Mozilla Firefox (Частно ΡΡŠΡ€Ρ„ΠΈΡ€Π°Π½Π΅)

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

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

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

ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ‚Π°ΠΊΠ°:

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

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

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

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

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

ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π½Π° скрипта showwin ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ‚Π°ΠΊΠ°:

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

МоТС Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅ ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π΅ във фокус Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π°Ρ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° 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 Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ ΠΌΠΈ Π΅ ΠœΠΠžΠ“Πž ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Π’ΠΎΠ»ΠΊΠΎΠ²Π° ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ρ‡Π΅ ΠΌΠΈ причинява сСриозСн дискомфорт, ΠΊΠΎΠ³Π°Ρ‚ΠΎ работя Π½Π° Ρ‡ΡƒΠΆΠ΄ΠΈ ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈ. И Π½Π° работния ΠΌΠΈ MacBook.

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

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

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