LINUX.ORG.RU

пара вопросов по ion3


0

0

Hi

пытаюсь настроить под себя ион, походу возникла пара вопросов:

1. Как создать именованный воркспейс/скретчпад (используется toggle_named_scrathpads) из скриптов настройки? Хочется сразу прописать и имя и расположение и размер. Цель - сказать в defwinprop target="abc", и быть уверенным что целевой объект уже создан именно как мне надо. На сохранение сессий полагаться неохота.

2. Хочется сделать хоткей, который бы показывал скретчпад с htop в нём. При этом htop чтобы запускался автоматически, если он ещё не запущен. Как такое сделать? app.lua? А с учётом п.1?


Я просто добавил в биндинги по Alt-K R переименование фрейма (а scratchpad им и является) - kpress("R", "mod_query.query_renameframe(_)") - при ыходе из иона название сохранится.

Ну а автоматический запуск - тоже в биндинги - kpress("комбинация", "ioncore.exec('комманда')") если надо выполнить еще какие-то функции - добавь их под двойные кавычки.

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

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

В итоге всё решилось написанием пары функций, необходимы app & named scratchpads:

kos={}
function kos.toggle_app_scratchpad_byclass(reg, prog, class, where)
    local win = app.match_class(class)[1]
    local sp = ioncore.lookup_region(where, "WFrame")
    if not win then
        toggle_named_scratchpad(reg, where)
        app.byclass(prog, class, sp)
    else
        toggle_named_scratchpad(reg, where)
    end
end
function kos.toggle_app_scratchpad_byname(reg, prog, name, where)
    local win = ioncore.lookup_clientwin(name)
    local sp = ioncore.lookup_region(where, "WFrame")
    if not win then
        toggle_named_scratchpad(reg, where)
        app.byname(prog, name, sp)
    else
        toggle_named_scratchpad(reg, where)
    end
end

Далее можно писать в таком духе:

kpress(ALTMETA.."T", "kos.toggle_app_scratchpad_byname(_, 'xterm -e htop', 'htop', 'htop_sp')")

правда, в kludges всё равно приходится target="htop_sp" прописывать.

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