LINUX.ORG.RU

Меню с опцией SelectOnRelease в FVWM

 ,


0

1

Есть такая строчка в конфиге:

Key Tab A 4 WindowList SelectOnRelease Super_L

Если нажать левый Super+Tab, то открывается список окон. В нём можно, не отпуская Super, табом выбрать нужное окно, отпустить Super, и выбранное окно получит фокус (и райз, и deiconify, далее по вкусу), а список окон, соответственно, закроется.

Если же нажать правый Super+Tab и проделать те же действия, то после отпускания Super список окон не закроется, а окно не получит фокус. Нужно будет дожимать Enter, чтобы это произошло.

Если заменить в строчке Super_L, на Super_R, то всё работает, понятное дело, ровно наоборот.

Вопрос: как сделать, чтобы SelectOnRelease срабатывал одинаково симметрично с левым и правым Super?

Опция SelectOnRelease, если я правильно понял документацию, принимает только один параметр. Написать SelectOnRelease два раза тоже не прокатило, срабатывает только один из них.

С FVWM только начал разбираться, документацию от корки до корки ещё не прочёл, каюсь.

Спасибо.

PS. Извините за многословные подробности, просто я зануда не люблю недопониманий.

Если есть идея использовать xmodmap, чтобы замапить оба супера на один, то, вероятно, не получится. Я перемапил WinKey с Alt`ом, чтобы удобнее до хоткея тянуться было. И вот все хоткеи с «4» Работают как и прежде, но для SelectOnRelease пришлось Alt_L прописать. Хз, как оно там разруливается и почему SelectOnRelease получает реальный кейкод, а бинды - перемапленный.

lv ★★ ()
Ответ на: комментарий от lv

Если что, то вот внятное описание: https://wiki.archlinux.org/index.php/Map_scancodes_to_keycodes#Using_udev

Клавиши с окном называются leftmeta и rightmeta, коды смотрятся в evtest. Для USB могу подсказать только код левой, правой у меня нет.

anonymous ()
Ответ на: комментарий от lv

Мне нравится, что у разных клавиш разные кейкоды. Иногда может понадобиться их различать.

А udev’а у меня нет. :)

Хотя загнать прямо в клавиатуру могу любую раскладку (у меня Truly Ergonomic, она прошиваема).

aeralahthu ()

Cast @Odalist, @Spoofing, @Evgueni, @ananas, @yoghurt, кто там ещё по FVWM. Подскажите, пожалуйста, что тут можно придумать? Проблема-то, вроде бы, очевидная, но ни в FAQ’е, ни в описании WindowList я её упоминания (не решения, а хотя бы упоминания) не нашёл.

Мне приходил в голову такой вариант решения: написать FVWM’ную функцию, которая проверяет, какой Super нажат, и запускает WindowList с соответствующей опцией. Но я не смог найти как в FVWM получить нажатые клавиши.

aeralahthu ()
Ответ на: комментарий от lv

Или они при биндиже не различаются? Все «4»?

Ну да, не различаются. В этом-то и неконсистентность: в биндинге «4» — это любой Super, а в SelectOnRelease можно указать только либо Super_L, либо Super_R.

aeralahthu ()
Ответ на: комментарий от ananas

То есть, перевесить Super_L, например, на mod3 вместо mod4? Да, наверное может сработать, спасибо за идею.

Но костыльно, конечно. Почему разработчики FVWM не предусмотрели в SelectOnRelease тот факт, что все модификаторы обычно парные? Вопрос, естественно, риторический.

aeralahthu ()
Ответ на: комментарий от ananas

Я пока ещё слишком плохо знаю FVWM (да и начинку иксов в целом), чтобы делать пул реквесты. Более того, если бы я был уверен, что проблема решается только исправлением исходников, я бы не создавал эту тему.

Если что, никаких претензий разработчикам я не предъявляю (да и не считаю, что имею такое право). Более того, я им искренне благодарен за FVWM.

Просто интересно, каким образом сложилась такая ситуация. Есть какие-то технические причины или же просто всем пофиг, поскольку все нажимают Super (а так же Alt или Ctrl) всегда одной и той же рукой?

aeralahthu ()
Ответ на: комментарий от aeralahthu

То есть, перевесить Super_L, например, на mod3 вместо mod4? Да, наверное может сработать

Таки нет. При таком способе мне придётся все мои биндинги, которые используют mod4 (то есть все) дублировать для mod3.

Нельзя ли, всё-таки, как-нибудь решить задачу средствами FVWM?

aeralahthu ()
Ответ на: комментарий от Odalist

Нет, не читал. Вики по FVWM как-то ускользнула от моего внимания. Спасибо, теперь буду заглядывать туда, если что.

Впрочем, решения этой конкретной проблемы и там нет.

Ну да и ладно, я уже сбежал обратно на тайлинг. FVWM с его кастомизируемостью мне было интересно попробовать потому, что от тайлинга мне, в общем-то, нужно не очень много. Ну и чтобы мозги не ржавели в привычной парадигме и не начинали путать «привычное» с «удобным». :)

aeralahthu ()
Ответ на: комментарий от Odalist

Вот и мне лень…

Но сбежал я не только из-за лени и нерешённой задачи. Просто удостоверился, что тайлинг мне всё-таки удобнее.

Тем не менее, это всё не зря. FVWM действительно мощная штука и не исключено, что когда-нибудь мне полученные знания о нём пригодятся.

И вообще, мне очень греет душу, что такие динозавры среди stacking WM, как FVWM, IceWM и WindowMaker до сих пор активно поддерживаются. Сам лично я ими может и не пользуюсь, но что-то же надо ставить для бывших пользователей винды.

aeralahthu ()