LINUX.ORG.RU

Awesome WM + всплывающий терминал

 , ,


1

1

Оставлю свой вариант, вдруг, кому пригодится. Долго искал, пробовал tilda, yakuake, guake, alacritty и просто куски кода... Раньше пользовался tilda в FVWM, но с Awesome WM оно не стыкуется...

Решение в виде коммита, без доп. библиотек, кому нужно, думаю, прикрутит себе. А может кто подскажет, что я идиот и было решение проще. :)

коммит, дубль, скрин.jpg // сначала сделал автоперемещение за мышью / по хоткеям при смене screen/экрана, но потом понял, что неудобно, оставил минимум. После максимизации окна, перемещения/закрытия оно сохраняет размер.

local mywibox_height = 14.5
local function update_quake_console(cli)
    if cli == nil then
        for c in awful.client.iterate(function (c) return c.instance == "QuakeConsole" end)
        do
            cli = c
            break
        end
    end
    if cli == nil then return end

    if (not cli.hidden) then
        cli.floating = true
        if cli.maximized then
            cli.border_width = 0
        else
            cli.border_width = 2
            cli.width=awful.screen.focused().workarea.width * 0.96
            cli.height=awful.screen.focused().workarea.height * 0.7
            cli.x = awful.screen.focused().workarea.width * 0.02
            cli.y = awful.screen.focused().workarea.height * 0.3 + mywibox_height
        end
        cli.ontop = true
        cli:move_to_screen(awful.screen.focused ())
        cli:tags({awful.screen.focused().selected_tag})
        cli.skip_taskbar = true
        client.focus = cli
    end
end

    -- Quake Console --
    awful.key({ modkey }, "grave",
        function ()
            os.execute ("pgrep -O1 -f QuakeConsole || urxvt -name QuakeConsole -title QuakeConsole &")
            for c in awful.client.iterate(function (c) return c.instance == "QuakeConsole" end)
            do c.hidden = not c.hidden end
            update_quake_console(c)
        end,
        {description = "toggle quake console", group = "quake"}
    )

client.connect_signal("manage", function (c)
...
    if c.name == "QuakeConsole" then update_quake_console(c) end

UP1. 3 терминала по ~,-,+: скрин, rc.lua, rc.lua дубль. Размеры окон сохраняются после hide/fullscreen/maximize.

★★★★★

Последнее исправление: backbone (всего исправлений: 1)

Занятно, совсем буквально вот на днях решил попробовать (точнее пере-попробовать) и мне очень зашел guake. :)

Без допилов со стороны awesome встал, все его конфигами получилось сделать.

Почти так же сделал, поменьше сильно только (на 1\3 экрана примерно, если большой вывод надо посмотреть жму mod+m и смотрю на весь экран и так же обратно).

upd. присмотрелся – ты сидишь в maximized, а у меня для лисицы и прочей вебни стоит floating и просто лисице, почтовику и некоторым другим большим приложениям прописано maximized при запуске.

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

зашел guake

Без допилов со стороны awesome встал, все его конфигами получилось сделать.

Среди упомянутых guake, как-раз, самый впихуемый оказался.

Похоже, сам конфиг испохабил, вот и не работает у меня стандартное. =)

на 1\3 экрана примерно, если большой вывод надо посмотреть жму mod+m

Спасибо за идею, позицию/размеры переместил из update() в rule

 787     { rule = { name = "QuakeConsole" },                                                                                                                                                               
 788       properties = {                                                                                                                                            
 789           width=awful.screen.focused().workarea.width * 0.96,                                                                                                   
 790           height=awful.screen.focused().workarea.height * 0.3,                                                                                                  
 791           x = awful.screen.focused().workarea.width * 0.02,                                                                                                     
 792           y = awful.screen.focused().workarea.height * 0.7 + mywibox_height                                                                                                                           
 793       }                                                                                                                                                                                               
 794     },                          
теперь не только любую высоту могу ставить, но и в любое место экрана перемещать и оно там появляется после hide(), unhide(), вообще - то, что хотел :))

ты сидишь в maximized

Сейчас посмотрел, на всех тегах по-умолчанию 1-оконный режим, кроме последнего с мессенджерами. По необходимости там уже делю. Раньше был русско-китайский noname dexp ноут с подключением 2-х доп. мониторов, видимо, это стало причиной. Сейчас только один hdmi в ноуте, грусть-печаль.(

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