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

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

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

  • Alt+F: Firefox
  • Alt+D: Firefox (частно ΡΡŠΡ€Ρ„ΠΈΡ€Π°Π½Π΅)
  • Alt+T: Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π»
  • Alt+M: ΠšΠ°Π»ΠΊΡƒΠ»Π°Ρ‚ΠΎΡ€
  • Alt+E: IntelliJ ИдСя
  • ΠΈ Ρ‚.Π½.

ОсвСн Ρ‚ΠΎΠ²Π°, ΠΊΠ°Ρ‚ΠΎ натиснСтС Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²ΡŠΡ€Ρ…Ρƒ 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 Ρ‚ΠΎΠ²Π° Π΅ Π² БистСмни настройки β†’ ΠŸΡ€Π΅ΠΊΠΈ ΠΏΡŠΡ‚ΠΈΡ‰Π° β†’ ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΏΡ€Π΅ΠΊΠΈ ΠΏΡŠΡ‚ΠΈΡ‰Π°. Π’ΠΎΠ²Π° трябва Π΄Π° Π΅ Ρ‚Π°ΠΊΠ° ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡΠΌΠ΅ Π²ΠΈ 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 (Private Browsing)
...

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ -l ΠΏΠΎΠΊΠ°Π·Π²Π° списък Π½Π° всички ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ ΠΈ -NS добавя ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° класа към ΠΈΠ·Ρ…ΠΎΠ΄Π° (скайп.Π‘ΠΊΠ°ΠΉΠΏ, Навигатор.Firefox ΠΈ Ρ‚.Π½.). Π’ΡƒΠΊ сС Π½ΡƒΠΆΠ΄Π°Π΅ΠΌ ΠΎΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π° (ΠΊΠΎΠ»ΠΎΠ½Π° 1), ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° класа (ΠΊΠΎΠ»ΠΎΠ½Π° 3) ΠΈ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π° (послСдната ΠΊΠΎΠ»ΠΎΠ½Π°).

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ някой ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ опцията -a:

$ wmctrl -a skype.Skype -x

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

На Ρ‚ΠΎΠ·ΠΈ Π΅Ρ‚Π°ΠΏ трябва Π΄Π° Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Π΅ Ρ‰Π΅ Ρ‚ΡŠΡ€ΡΠΈΠΌ ТСлания ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ рСгулярСн ΠΈΠ·Ρ€Π°Π· Ρ‡Ρ€Π΅Π· ΠΈΠ·Ρ…ΠΎΠ΄ 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 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π°: ΠΏΡŠΡ€Π²ΠΈΡΡ‚ Π΅ рСгулярСн ΠΈΠ·Ρ€Π°Π·, Ρ‡Ρ€Π΅Π· ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Ρ‚ΡŠΡ€ΡΠΈΠΌ нСобходимия ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†, Π° вторият ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°, която трябва Π΄Π° сС изпълни, Π°ΠΊΠΎ ТСланият ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π½Π΅ бъдС Π½Π°ΠΌΠ΅Ρ€Π΅Π½.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ Π΄Π° стартиратС скрипт, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

$ showwin "Mozilla Firefox$" firefox

Ако Firefox Π΅ инсталиран, нСговият ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† трябва Π΄Π° бъдС фокусиран. Π”ΠΎΡ€ΠΈ Firefox Π΄Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ, Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° стартира.

Ако Ρ€Π°Π±ΠΎΡ‚ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π²ΡŠΡ€Ρ…Ρƒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ. Π’ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡ‚Π΅ настройки Π½Π° клавишни ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ/Π±ΡŠΡ€Π·ΠΈ клавиши Π΄ΠΎΠ±Π°Π²Π΅Ρ‚Π΅:

  • Alt+F: showwin β€œMozilla Firefox$” firefox
  • Alt+D: showwin "Mozilla Firefox (частно ΡΡŠΡ€Ρ„ΠΈΡ€Π°Π½Π΅)$" "firefox -private-window"
  • Alt+C: showwin "chromium-Π±Ρ€Π°ΡƒΠ·ΡŠΡ€. Chromium-Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ N*" chromium-Π±Ρ€Π°ΡƒΠ·ΡŠΡ€
  • 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 НС ΠΌΠΎΠΆΠ΅Ρ‚Π΅, Ρ‚Π΅ ΠΈΠΌΠ°Ρ‚ Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ ΠΈΠΌΠ΅Π½Π° Π½Π° класовС ΠΈ заглавия Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ. Π’ прСдлоТСния рСгулярСн ΠΈΠ·Ρ€Π°Π· Π·Π½Π°Ρ†ΠΈΡ‚Π΅ N* ΠΈ I* са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ само Π·Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Ρ‚Π΅Π·ΠΈ рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ Π΄Π° сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°Ρ‚ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ ΠΈ Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ присвоСни ΠΊΠ°Ρ‚ΠΎ Π³Π»Π°Π²Π½ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ.

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

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

Имам слСднитС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ:

  • 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 (Private Browsing)

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

НСобходимо Π΅ Π΄Π° сС услоТни ΡΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈΡ‚Π΅. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Ρ… Ρ‚ΠΎΠ²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚Π΅ списък Π½Π° всички ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ, Π½Π°ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ Π’ΠΏΠΈΡˆΠΈ Ρ‡Ρ€Π΅Π· regex, Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ ΠΏΡŠΡ€Π²ΠΈΡ Ρ€Π΅Π΄ с Π³Π»Π°Π²Π°, Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ ΠΏΡŠΡ€Π²Π°Ρ‚Π° ΠΊΠΎΠ»ΠΎΠ½Π° (Ρ‚ΠΎΠ²Π° Ρ‰Π΅ бъдС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π°), ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π½Π°ΠΌΠ°Π»ΠΈ, ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π΅Ρ‚Π΅ към ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† ΠΏΠΎ id.

Врябва Π΄Π° ΠΈΠΌΠ° шСга Π·Π° рСгулярнитС ΠΈΠ·Ρ€Π°Π·ΠΈ ΠΈ Π΄Π²Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π½ΠΎ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Π½ΠΈΡ‰ΠΎ слоТно. Имам Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ, Π·Π° Π΄Π° ΠΌΠΎΠ³Π° Π΄Π° посоча края Π½Π° Ρ€Π΅Π΄Π° (ΡΠΈΠΌΠ²ΠΎΠ»ΡŠΡ‚ β€ž$β€œ) ΠΈ Π΄Π° Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π° β€ž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 "0x%08x" `xdotool getwindowfocus`

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

$ mount -l | grep tmpfs

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

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

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

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

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

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

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

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

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

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

Π›ΠΈΠ½ΠΊ към скриптовС

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€