Для тех кому не нравятся тайловые WM, но очень хочется приобщиться

Закрыто
Аватара пользователя

Автор темы
rogoznik
Сообщения: 10015
Зарегистрирован: 27 июн 2017, 13:36
Решено: 128
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1950 раз
Контактная информация:

Для тех кому не нравятся тайловые WM, но очень хочется приобщиться

#1

14 янв 2020, 14:30

Альтернативное управление окнами в 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. Это вызовет скрипт, который отменит назначение главного окна для предыдущей комбинации. А далее можно назначить новое главное окно как это было описано в предыдущем абзаце. Сброс привязанного окна к универсальным комбинациям происходит аналогично.

Вступление получилось длинным, но хотелось сначала рассказать что будем делать, а потом объяснить как делать.

Собственно сама статья тут https://habr.com/ru/post/483846/

Я не автор статьи. Автором является пользователь хабра masyaman
ИзображениеИзображение

Аватара пользователя

WWolf
Сообщения: 3873
Зарегистрирован: 14 фев 2018, 00:51
Решено: 28
Откуда: Краснодар
Благодарил (а): 1682 раза
Поблагодарили: 1206 раз
Контактная информация:

Для тех кому не нравятся тайловые WM, но очень хочется приобщиться

#2

14 янв 2020, 14:34

rogoznik, вчера на ночь читал, коменты доставили - переизобретаете велосипед :)

Аватара пользователя

Автор темы
rogoznik
Сообщения: 10015
Зарегистрирован: 27 июн 2017, 13:36
Решено: 128
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1950 раз
Контактная информация:

Для тех кому не нравятся тайловые WM, но очень хочется приобщиться

#3

14 янв 2020, 14:35

WWolf, так это же линукс - что хочу то и творю :crazy:
ИзображениеИзображение

Аватара пользователя

WWolf
Сообщения: 3873
Зарегистрирован: 14 фев 2018, 00:51
Решено: 28
Откуда: Краснодар
Благодарил (а): 1682 раза
Поблагодарили: 1206 раз
Контактная информация:

Для тех кому не нравятся тайловые WM, но очень хочется приобщиться

#4

14 янв 2020, 14:36

rogoznik, просто этими скриптами он же к тайлу и пришёл, только через 100500 скриптов :)

Аватара пользователя

Автор темы
rogoznik
Сообщения: 10015
Зарегистрирован: 27 июн 2017, 13:36
Решено: 128
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1950 раз
Контактная информация:

Для тех кому не нравятся тайловые WM, но очень хочется приобщиться

#5

14 янв 2020, 15:40

WWolf, ну да. Но при этом у него есть KDE и все его плюшки
ИзображениеИзображение

Аватара пользователя

slant
Сообщения: 4469
Зарегистрирован: 21 июн 2017, 18:09
Решено: 95
Благодарил (а): 51 раз
Поблагодарили: 1965 раз
Контактная информация:

Для тех кому не нравятся тайловые WM, но очень хочется приобщиться

#6

14 янв 2020, 16:08

rogoznik писал(а):
14 янв 2020, 14:30
Я из тех, кто ставит на Caps Lock переключение раскладки потому, что лень нажимать 2 клавиши, когда можно нажимать одну. Я бы даже хотел 2 ненужные клавиши: одну бы я использовал для включения английской раскладки, а вторую для русской.
Кстати пробовал - не так оно и удобно, как кажется. Для себя остановился на таком варианте: постоянное переключение раскладок - Caps Lock. А также временное - зажатый правый Alt переключает на вторую раскладку только пока нажат, и удерживается. (Как Shift для ввода заглавных). Вот это оказалось ОЧЕНЬ удобно. Настолько, что теперь вообще не представляю как без этого можно жить. :) Правый Alt нажимается большим пальцем правой руки, не прекращая печать остальными 9-ю - т.е. вообще не добавляя никаких задержек. И не мешает попутно зажать и Shift если надо поставить заглавную букву из символ требующий его. А комбинации хоткеев с Alt-ом выполняются все равно почти все с левой рукой.

Аватара пользователя

hellonet
Сообщения: 2866
Зарегистрирован: 11 окт 2016, 12:58
Решено: 11
Откуда: Новосибирск
Благодарил (а): 1083 раза
Поблагодарили: 468 раз
Контактная информация:

Для тех кому не нравятся тайловые WM, но очень хочется приобщиться

#7

14 янв 2020, 16:57

А нельзя в Linux подключить 2 клавиатуры и назначить на каждой свой набор хоткеев?

Аватара пользователя

WWolf
Сообщения: 3873
Зарегистрирован: 14 фев 2018, 00:51
Решено: 28
Откуда: Краснодар
Благодарил (а): 1682 раза
Поблагодарили: 1206 раз
Контактная информация:

Для тех кому не нравятся тайловые WM, но очень хочется приобщиться

#8

14 янв 2020, 17:11

hellonet, на кой? сам же запутаешься между клавами...

Аватара пользователя

hellonet
Сообщения: 2866
Зарегистрирован: 11 окт 2016, 12:58
Решено: 11
Откуда: Новосибирск
Благодарил (а): 1083 раза
Поблагодарили: 468 раз
Контактная информация:

Для тех кому не нравятся тайловые WM, но очень хочется приобщиться

#9

14 янв 2020, 17:21

WWolf писал(а):
14 янв 2020, 17:11
на кой? сам же запутаешься между клавами...
Ну, чисто, попробовать. Просто 2 клавы у меня уже подключено - одна на столе, другая на полочке под столом

Аватара пользователя

WWolf
Сообщения: 3873
Зарегистрирован: 14 фев 2018, 00:51
Решено: 28
Откуда: Краснодар
Благодарил (а): 1682 раза
Поблагодарили: 1206 раз
Контактная информация:

Для тех кому не нравятся тайловые WM, но очень хочется приобщиться

#10

14 янв 2020, 17:28

hellonet, ну поиском за 10с ищется setxkbmap... в параметры передаёшь номер девайся из xinput и дальше настройками setxkbmap поидее можешь такое реализовать...

Аватара пользователя

BadBird
Сообщения: 3067
Зарегистрирован: 09 сен 2016, 21:08
Решено: 5
Откуда: Грозный
Благодарил (а): 174 раза
Поблагодарили: 568 раз
Контактная информация:

Для тех кому не нравятся тайловые WM, но очень хочется приобщиться

#11

14 янв 2020, 21:24

Смысл всего этого?
Разве нельзя все то же самое с хоткеями сделать искаропки в том же синамоне или мате?

Аватара пользователя

slant
Сообщения: 4469
Зарегистрирован: 21 июн 2017, 18:09
Решено: 95
Благодарил (а): 51 раз
Поблагодарили: 1965 раз
Контактная информация:

Для тех кому не нравятся тайловые WM, но очень хочется приобщиться

#12

14 янв 2020, 21:52

BadBird писал(а):
14 янв 2020, 21:24
Смысл всего этого?
Разве нельзя все то же самое с хоткеями сделать искаропки в том же синамоне или мате?
Без скрипта - нельзя. Простой хоткей будет запускать новую копию программы, а не открывать старую. А тут желаемое поведение - как у дока, или приложения на мобильнике. Запускается только одна копия, если уже запущена - просто выводится на передний план.

Закрыто

Вернуться в «Руководства»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей