LINUX.ORG.RU

прототип виджета хоткеев для awesome wm

 


13

3
прототип виджета хоткеев для awesome wm

«{Super,Alt,Shift,Control}+?» вызывает попап

сам виджет: https://github.com/actionless/awesome_config/blob/devel/actionless/hotkeys.lua (там дикий ужас, не было времени сделать красиво, хотелось по-скорее увидеть как оно будет работать)

пример файла с самими хоткеями: https://github.com/actionless/awesome_config/blob/devel/config/keys.lua

PNG почему-то не захотело загружаться:

>>> Оригинал

>>> Просмотр (1600x900, 323 Kb)

★★★★

Проверено: JB ()

не знаю почему, но напомнило вонь8. :)

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

квадратики напомнили таблицу Менделеева :D

+

Dontes ★★ ()

Сделать перенос по словам не судьба?

CrossFire ★★★★★ ()

Блин, а ведь толковая задумка.

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

это еще только прототип, но ты можешь сделать пулл-реквэст, если тебе это доставляет какое-то неудобство

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

я еще хочу рисовать вторую клавиатуру снизу и писать там дополнения для текущей запущенной программы (tmux может ставить в wm name текущую запущенную в нём программу, так что это будет просто со стороны осома определять для какой программы показывать подсказку), можно еще парсить хоткеи из конфигов популярного софта, но такое слишком утомительно писать одному

actionless ★★★★ ()

Полезная штуковина. Я обязательно оформлю хоткеи для пары текстовых программ, когда это станет можно сделать.

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

Гыы! Нравится сама идея развития такого интерфейса, мне кажется линуксам стоило бы двигаться в этом направлении, ибо это как раз то, что есть преимущественно только в линуксах, и при этом может быть очень удобно. Но нет, они лучше будут пилить гном3 :)

SjZ ★★★★★ ()

интересно, интересно...

я хотел что-то подобное запилить ещё полгода назад, но ума не хватило. (=

funeralismatic ★★★ ()

Можно добавиьт юзабельности и показываеть его, если {Super,Alt,Shift,Control} зажат больше «таймаута». Т.е. пользователь нажал первую часть хоткея и хочет узнать продолжение

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

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

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

А может сделать по двойному нажатию на Mod4? Короткое нажатие и следом за ним удерживание.

zezic ★★★ ()

Интересная штука. Плюсую к автоматическому появлению после определённого времени. Для vim подобная штука ещё была бы весьма хороша.

najlus ★★★★★ ()

Глянул на превью и решил, что у вас на обоях таблица Менделеева.

RiseOfDeath ★★★ ()

Очень круто, мне нравится.

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

ну я просто боюсь, что перехватывать удерживание может выйти очень дорого — в таком случае при каждом нажатии на эту кнопку должен будет стартовать таймер, ожидающий будет ли эта кнопка удерживаться или нет (т.е. я боюсь, что общая отзывчивость может уменьшиться)

ну и вешать придется это не только на mod4 (т.к. дополнения показываются отдельно для каждого сочетания модификаторов, т.е. например Mod4+Mod1+Shift+__)

но, судя по тому, что многим это было бы интересно, надо будет всё же попробовать и проверить на практике, добавится ли заметная задержка при работе хоткеев или нет

actionless ★★★★ ()

Идея классная, как раз в свое время именно такой реализации и хотелось. Думаю стоит добавить легенду и разноцветную подсветку в зависимости от нажатой клавиши (Ctrl, Shift, и т.д.). По типу того, как сделано в Vim Sheet

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

попробовал, оказалось, что если не отпускать модификаторы, то «набор» хоткея можно продолжить и после появления подсказки

теперь сижу думаю, как прятать попап в такой ситуации (релиз-ивента нет там для модификаторов) — можно или прятать если далее был нажат «правильный» хоткей, или при повторном нажатии

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

разноцветную подсветку в зависимости от нажатой клавиши

ну там и так очень цветасто уже, я думаю зажатую клавишу просто подсвечивать как-нибудь по особому, или кружочек поверх неё рисовать

actionless ★★★★ ()

скриншот, цвета, интерфейс - просто огонь! кончил радугой.

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

Зачем tmux, имя и класс (лучше класс) можно взять из самого клиента. А насчет парсинга хоткеев из конфигов, неблагодарное занятие, пробовал, потом бросил. Вариант с парсингом для c.name, можно глянуть тут (функция getclientname)

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

или прятать если далее был нажат «правильный» хоткей, или при повторном нажатии

сделал в итоге и так и так

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

ну мне просто сам tmux нужен :)

т.е. речь шла о том, что он может отдавать эту инфу, чтобы её дальше брать в осоме

actionless ★★★★ ()
Последнее исправление: actionless (всего исправлений: 1)
Ответ на: комментарий от actionless

В том, то и дело, что чаще всего просто name, вряд ли поможет, ведь имя может меняться, например в браузере, плеере и т.д. Поэтому и предложил брать не name, а c.class. Это как раз и будет название запущенного приложения, а не его имя, которое отображается в панели задач

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

так c.class же будет один и тот же для всего, что запущено внутри терминала

т.е. по классу надо будет определять само приложение(терминал/браузер/итп), а по имени, что именно запущено (если это терминал)

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

Да, все верно, но не все терминалы меняют имя при запуске приложения в консоли. Например xterm,urxvt. Так что данное решение не будет универсальным ((

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

не бывает универсальных решений ;)

кстати, только что проверил urxvt и xterm — УМВР (внутри терминала tmux, но и без него это можно исправить)

actionless ★★★★ ()
Последнее исправление: actionless (всего исправлений: 2)
Ответ на: комментарий от actionless

Они не для всех приложений меняют. У меня vim, mutt, htop, top не меняют названия терминала

Faiver ()

Я когда-то делал выдвижной вибокс, в котором при наведении высвечивались регулярки для sed, vim и прочие подобные штуки.

Но эта вот штука реально интересней.

raven_cler ()

какая у тебя тема самой статусной строки (airline/lightline) в Vim?

VimCasts ()

Годно, нужно!

День на ЛОРе сегодня проведен не зря!

Автор молодец!

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

цвета берутся из 16-и терминальных вместо захардкоженных RGB (как во всех темках из набора airline)

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

ясно, спасибо, а не мог бы ты дать ссылку на конфиг терминала/.Xresources, чтобы глянуть какие именно там цвета, уж больно прикольнули цвета статусной строки.

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

я завтра утром зеркало репозитория с dotfiles сделаю на гитхабе и отвечу еще раз на сообщение

actionless ★★★★ ()

Тоже сначала подумал про метро, потом про Менделеева, а вообще задумка неплоха, но реализация как всегда в этой стране хромает. С дизайном полный звидец, про выравнивание уже говорили, цвета просто вырвиглазные, про соответствие цвета шрифта цвету кирпича вообще молчу - его нет. Вообще, рекомендую использовать модные нынче пастельные цвета, ну, или, если все-таки кислотные, то поучиться с ними работать у той же вдовы8. По поводу «но ты можешь сделать пулл-реквэст» сразу же парирую - я умею только критиковать.

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

ну это вообще немного дополненная цветовая схема Monokai

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

всё-таки лень стало, так что пока оставлю реп на битбакете закрытым (просто я не уверен, что там нет паролей от вайфая или чего-то такого, а проверять всё долго), так что просто залил цвета для Xresources: http://dotshare.it/dots/873/

а вот для airline тема: https://gist.github.com/actionless/9f45926853a9db02500c

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

а вот для airline тема

а как называется тема-то, что ставить в:

let g:airline_theme = ' '
?

файл у тебя называется airline_theme.vim, но это не катит.

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

а, понял, удаляю оригинальный wombat и переименовываю твой airline_theme.vim в wombat.vim и ставлю wombat как тему, ок.

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

ну там оно как-то запутанно делалось, я не стал разбираться, как добавить отдельную тему по-нормальному (чтобы при обновлении Vundle-ом не было конфликта при слиянии)

actionless ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.