ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°ΠΌΠΈ Π² Linux

Π― ΠΈΠ· Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ставит Π½Π° Caps Lock ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ раскладки ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ лСнь Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ 2 клавиши, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ. Π― Π±Ρ‹ Π΄Π°ΠΆΠ΅ Ρ…ΠΎΡ‚Π΅Π» 2 Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ клавиши: ΠΎΠ΄Π½Ρƒ Π±Ρ‹ я использовал для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ английской раскладки, Π° Π²Ρ‚ΠΎΡ€ΡƒΡŽ для русской. Но вторая нСнуТная клавиша β€” это Π²Ρ‹Π·ΠΎΠ² контСкстного мСню, которая Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ нСнуТная, Ρ‡Ρ‚ΠΎ выпиливаСтся ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ производитСлями Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠ². Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ приходится Π΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ.

А Π΅Ρ‰Ρ‘ я Π½Π΅ Ρ…ΠΎΡ‡Ρƒ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΎΠΊΠΎΠ½ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈΡ… ΠΈΠΊΠΎΠ½ΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ‡, Π»ΠΎΠ²ΠΈΡ‚ΡŒ взглядом названия ΠΏΡ€ΠΈ листании Ρ‡Π΅Ρ€Π΅Π· Alt+Tab, Π»ΠΈΡΡ‚Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ столы ΠΈ Ρ‚.Β Π΄. Π― Ρ…ΠΎΡ‡Ρƒ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ клавиш (Π² ΠΈΠ΄Π΅Π°Π»Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ, Π½ΠΎ свободных Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… клавиш ΡƒΠΆΠ΅ Π½Π΅Ρ‚) ΠΈ сразу ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΌΠ½Π΅ ΠΎΠΊΠ½ΠΎ. НапримСр Ρ‚Π°ΠΊ:

  • Alt+F: Firefox
  • Alt+D: Firefox (Private Browsing)
  • Alt+T: Terminal
  • 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 (Private Browsing)
...

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

МоТно ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ ΠΎΠΊΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ†ΠΈΠΈ -a:

$ wmctrl -a skype.Skype -x

Если всС пошло ΠΏΠΎ ΠΏΠ»Π°Π½Ρƒ, Ρ‚ΠΎ Π½Π° экранС Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΎΠΊΠ½ΠΎ Skype. Если вмСсто ΠΎΠΏΡ†ΠΈΠΈ -x ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ -i, Ρ‚ΠΎ вмСсто ΠΈΠΌΠ΅Π½ΠΈ класса ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ id ΠΎΠΊΠ½Π°. Π‘ id ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ id ΠΎΠΊΠ½Π° мСняСтся ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС прилоТСния ΠΈ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π½Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, этот Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΎΠΊΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ большС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. Об этом Ρ‡ΡƒΡ‚ΡŒ дальшС.

На этом этапС Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ regex ΠΏΠΎ Π²Ρ‹Π²ΠΎΠ΄Ρƒ wmctrl -lx. Но это Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ слоТноС. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ достаточно ΠΈΠΌΠ΅Π½ΠΈ класса ΠΈΠ»ΠΈ названия ΠΎΠΊΠ½Π°.

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, основная идСя ΡƒΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ясна. Π’ настройках Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… hotkeys/shortcuts для вашСго ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° настраиваСм Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скрипта.

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ скриптами

Для Π½Π°Ρ‡Π°Π»Π° Π½Π°Π΄ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ 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 Π½Π΅ Π±Ρ‹Π» Π·Π°ΠΏΡƒΡ‰Π΅Π½, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ.

Если ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ. Π’ настройках Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… hotkeys/shortcuts добавляСм:

  • 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+1Alt+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)

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ β€” ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ, Π° Π²Ρ‚ΠΎΡ€ΠΎΠ΅ β€” Private Browsing. Π­Ρ‚ΠΈ ΠΎΠΊΠ½Π° Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ прилоТСниями ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π² Π½ΠΈΡ… ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ комбинациям клавиш.

НуТно ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ скрипт, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠΊΠ½Π°. Π― использовал Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: вывСсти список всСх ΠΎΠΊΠΎΠ½, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ grep ΠΏΠΎ regex, Π²Π·ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ head, Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ (это Π±ΡƒΠ΄Π΅Ρ‚ id ΠΎΠΊΠ½Π°) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ cut, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½Π° ΠΎΠΊΠ½ΠΎ ΠΏΠΎ id.

Π’ΡƒΡ‚ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΡˆΡƒΡ‚ΠΊΠ° ΠΏΡ€ΠΎ рСгулярныС выраТСния ΠΈ Π΄Π²Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π½ΠΎ ΠΏΠΎ Ρ„Π°ΠΊΡ‚Ρƒ я Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π½ΠΈΡ‡Π΅Π³ΠΎ слоТного. РСгулярки ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ† строки (символ Β«$Β») ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ Β«Mozilla Firefox$Β» ΠΎΡ‚ Β«Mozilla Firefox (Private Browsing)$Β».

Команда выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

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

Π’ΡƒΡ‚ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ скрипта: Ссли grep Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²Ρ‹Π΄Π°Π», Π·Π½Π°Ρ‡ΠΈΡ‚ Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ ΠΈ Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. А ΠΏΠΎΡ‚ΠΎΠΌ пСриодичСски ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΎΡΡŒ Π»ΠΈ Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅ΠΌΡƒ фокус. НС Π±ΡƒΠ΄Ρƒ Π·Π°ΠΎΡΡ‚Ρ€ΡΡ‚ΡŒ Π½Π° этом Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠΎΠΌΡƒ Π½Π°Π΄ΠΎ, Ρ‚ΠΎΡ‚ посмотрит исходники.

Когда ΠΎΠΊΠ½Π° прилоТСния Π½Π΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΌΡ‹

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ фокус ΠΎΠΊΠ½Ρƒ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ прилоТСния. Но Ρ‡Ρ‚ΠΎ, Ссли ΠΎΡ‚Ρ€Ρ‹Ρ‚ΠΎ большС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Ρƒ прилоТСния? К ΠΊΠ°ΠΊΠΎΠΌΡƒ ΠΈΠ· Π½ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ фокус? Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π²Ρ‹ΡˆΠ΅ пСрСдаст, скорСС всСго, ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌΡƒ ΠΎΠΊΠ½Ρƒ. Однако, ΠΌΡ‹ Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ большСй гибкости. Π₯ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠΊΠ½ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊ этому ΠΎΠΊΠ½Ρƒ.

ИдСя Π±Ρ‹Π»Π° такая: Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ для ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ эту ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π² фокусС. Π’ дальнСйшСм ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ этой ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ фокус Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ этому ΠΎΠΊΠ½Ρƒ. Пока ΠΎΠΊΠ½ΠΎ Π½Π΅ закроСтся ΠΈΠ»ΠΈ ΠΌΡ‹ Π½Π΅ сдСлаСм сброс для этой ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ скрипта showwinDetach.

Алгоритм скрипта showwin ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ:

  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π½Π΅ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ»ΠΈ Π»ΠΈ ΠΌΡ‹ Ρ€Π°Π½ΡŒΡˆΠ΅ id ΠΎΠΊΠ½Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½Π°Π΄ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ фокус.
    Если Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ»ΠΈ ΠΈ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ всС Π΅Ρ‰Ρ‘ сущСствуСт, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘ΠΌ фокус Π΅ΠΌΡƒ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ.
  • Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ ΠΊΠ°ΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ сСйчас Π² фокусС, ΠΈ Ссли ΠΎΠ½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ΄ наш запрос, Ρ‚ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ Π΅Π³ΠΎ id для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ Π½Π΅ΠΌΡƒ Π² дальнСйшСм ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ.
  • ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Ρ…ΠΎΡ‚ΡŒ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ подходящСму ΠΎΠΊΠ½Ρƒ Ссли ΠΎΠ½ΠΎ сущСствуСт ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π£Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ сСйчас Π² фокусС ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ консольной ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ xdotool, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π² Π΅Ρ‘ Π²Ρ‹Π²ΠΎΠ΄ Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

$ printf "0x%08x" `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+1Alt+0. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Firefox ΠΈ Π»ΠΈΡ‡Π½ΠΎ для мСня эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ сущСствСнна.

А Π²ΠΎΡ‚ сущСствСнная для мСня ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Mac OS ΠΈ Ρ‚Π°ΠΌ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ я Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π΅ смог. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρƒ wmctrl ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ смог, Π½ΠΎ ΠΎΠ½Π° Π½Π° Mac OS Ρ‚ΠΎΠ»ΠΊΠΎΠΌ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π§Ρ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Automator, Π½ΠΎ ΠΎΠ½ΠΎ Ρ‚Π°ΠΊ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌ Π½Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π²ΠΎ всСх ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… я Ρ‚ΠΎΠΆΠ΅ Π½Π΅ смог. Если Π²Π΄Ρ€ΡƒΠ³ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” Π±ΡƒΠ΄Ρƒ Ρ€Π°Π΄ ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

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

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ слов для Ρ‚Π°ΠΊΠΎΠΉ, казалось Π±Ρ‹, простой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π₯ΠΎΡ‚Π΅Π»ΠΎΡΡŒ донСсти идСю ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ тСкст, Π½ΠΎ я ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» ΠΊΠ°ΠΊ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‰Π΅. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅, Π½ΠΎ Ρ‚ΡƒΡ‚ Ρ‚Π°ΠΊ Π½Π΅ Π»ΡŽΠ±ΡΡ‚.

Π― Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ рассказал ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ скрипта ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ. Π’ подробности самого скрипта Π½Π΅ вдавался, Π½ΠΎ ΠΎΠ½ всСго 50 строк, Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π½Π΅ слоТно.

НадСюсь, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Ρ‘ эту идСю ΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°ΠΆΠ΅ ΠΎΡ†Π΅Π½ΠΈΡ‚. ΠŸΡ€ΠΎ сСбя ΠΌΠΎΠ³Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ скрипт Π±Ρ‹Π» написан Π³ΠΎΠ΄Π° 3 Π½Π°Π·Π°Π΄ ΠΈ ΠΌΠ½Π΅ это ΠžΠ§Π•ΠΠ¬ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. ΠΠ°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹ΠΉ дискомфорт ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ‡ΡƒΠΆΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ. И с Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ ΠΌΠ°ΠΊΠ±ΡƒΠΊΠΎΠΌ.

Бсылка Π½Π° скрипты

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ