LINUX.ORG.RU

Awesome 3.4 промежутки между окнами как сделать?

 ,


0

2

Сегодня на пустом рабочем столе покрутил колесом мышки - и теги переключились - это же удобно, я раньше даже думал, что только так рабочие столы переключаются в xfce и был доволен даже. Потом оказалось, что можно мышкой просто водить до краев окна и они переключатся, если настроить.

Нашел на офф. сайте awesome на вики - Vain для awesome 3.4 - но там непонятно все описывается и вообще похоже на перевод с английского.

★★★★★

Сегодня на пустом рабочем столе покрутил колесом мышки - и теги переключились

Ну наконец-то на тебя снизошло прозрение! Аллилуйя!

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

3.5

ты что, ставь 3.5, я тоже долго упирался, сидел на 3.4.15, думал такой: работает, зачем менять.

А менять есть зачем, во-первых, изменения в конфиге крайне минимальные, основные либы (vicious) уже переписаны, а новые (типа годного tyrannical или radical) выходят только для 3.5, более того, для 3.5.5.

Выпилено достаточно багов с 3.4, например проблемы с неправильным композитингом и всё такое.

Я доволен 3.5, даже не думал, что так гладко и хорошо будет.

Нет ни одной весомой причины, чтобы оставаться на 3.4

vim
()

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

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

а куда понятнее-то, внимательно читани и всего-то деловю

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

ну мне нравится как минимум два момента в моём варианте:

1) работает с любым лэйаутом (не надо каждый менять)

2) если для активного клиента поставить достаточно яркий цвет границы, а для остальных — чтобы r, g и b были примерно равны (это для случая если прозрачность включена, иначе не важно), то активный клиент быстрее визуально найти, особенно на многомониторной конфигурации

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

нет. тот вариант, что я описал.

там граница активного клиента розовая, остальных - тёмно-серая. прозрачность границ процентов 50, но там еще без блюра (блюр в комптоне стал более-менее стабильным на моём видеодрайвере только через месяц-два после того скрина :) )

actionless ★★★★★
()
Последнее исправление: actionless (всего исправлений: 5)

Когда я awesome ковырял, то стянул откуда-то useless gaps для тайлинга. Там патч на 20 строчек всего-то. Добавляешь в awful/layout/suit/tile.lua в функции tile_group перед строкой geom = cls[c]:geometry(geom)

  -- Useless gap.
        if useless_gap > 0 then
            -- Top and left clients are shrinked by two steps and
            -- get moved away from the border. Other clients just
            -- get shrinked in one direction.
            top = false
            left = false
            if geom[y] == wa[y] then
                top = true
            end
            if geom[x] == 0 or geom[x] == wa[x] then
                left = true
            end
            if top then
                geom[height] = geom[height] - 2 * useless_gap
                geom[y] = geom[y] + useless_gap
            else
                geom[height] = geom[height] - useless_gap
            end
            if left then
                geom[width] = geom[width] - 2 * useless_gap
                geom[x] = geom[x] + useless_gap
            else
                geom[width] = geom[width] - useless_gap
            end
        end
        -- End of useless gap.
Hjorn
()
Ответ на: комментарий от actionless

Ну да, интересный вариант с прозрачностью отличной для активного окна. В общем вопрос в подходе. У меня useless gaps лейауты, постоянный бордер под цвет gtk, а активный клиент обозначается тонкой полоской в заголовке окна без всякий кнопок там.

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

мне это в осоме и нравится, что к решению вопроса можно с разной стороны подойти

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

ну в общем получилось, спасибо, осталось прозрачные бордеры сделать шириной в 6 для красоты - и кое-что криво стало - исправляется нажатием mod4+T и нажатием мышкой на окна

http://storage7.static.itmages.com/i/14/0927/h_1411835483_2065995_ff543bc582.png

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

кое-что криво стало

Криво, да. Окна в правой колонке наезжают на левую, а они должны ужаться, чтобы был просвет между колонками. Странно, у меня такого не было (awesome 3.4.11 кажись). Покажи скрин с окнами без терминалов.

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

Кстати, прозрачные бордюры вместо возни с геометрией может даже лучший вариант. Я не знал, что awesome так умеет.

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

да я уже все вернул обратно, как было - там хоть терминалы, хоть не терминалы - так же было - firefox наезжал на firefox

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

Кстати, прозрачные бордюры вместо возни с геометрией может даже лучший вариант. Я не знал, что awesome так умеет.

я и сам не знаю еще - умеет он так или не умеет - это пока что загадка

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

Попробуй всю функцию подменить. У меня оригинальной нет, а где я там ещё поковырялся хз.

local function tile_group(cls, wa, orientation, fact, group)
    -- get our orientation right
    local height = "height"
    local width = "width"
    local x = "x"
    local y = "y"
    if orientation == "top" or orientation == "bottom" then
        height = "width"
        width = "height"
        x = "y"
        y = "x"
    end

    -- make this more generic (not just width)
    available = wa[width] - (group.coord - wa[x])

    -- find our total values
    local total_fact = 0
    local min_fact = 1
    local size = group.size
    for c = group.first,group.last do
        -- determine the width/height based on the size_hint
        local i = c - group.first +1
        local size_hints = cls[c].size_hints
        local size_hint = size_hints["min_"..width] or size_hints["base_"..width] or 0
        size_hint = size_hint + cls[c].border_width*2
        size = math.max(size_hint, size)

        -- calculate the height
        if not fact[i] then
            fact[i] = min_fact
        else
            min_fact = math.min(fact[i],min_fact)
        end
        total_fact = total_fact + fact[i]
    end
    size = math.min(size, available)

    local coord = wa[y]
    local geom = {}
    local used_size = 0
    local unused = wa[height]
    for c = group.first,group.last do
        local i = c - group.first +1
        geom[width] = size
        geom[height] = math.floor(unused * fact[i] / total_fact)
        geom[x] = group.coord
        geom[y] = coord
        coord = coord + geom[height]
        unused = unused - geom[height]
        total_fact = total_fact - fact[i]
        used_size = math.max(used_size, geom[width])

        -- Useless gap.
        if useless_gap > 0
        then
            -- Top and left clients are shrinked by two steps and
            -- get moved away from the border. Other clients just
            -- get shrinked in one direction.

            top = false
            left = false

            if geom[y] == wa[y] then
                top = true
            end

            if geom[x] == 0 or geom[x] == wa[x] then
                left = true
            end

            if top then
                geom[height] = geom[height] - 2 * useless_gap
                geom[y] = geom[y] + useless_gap
            else
                geom[height] = geom[height] - useless_gap
            end

            if left then
                geom[width] = geom[width] - 2 * useless_gap
                geom[x] = geom[x] + useless_gap
            else
                geom[width] = geom[width] - useless_gap
            end
        end
        -- End of useless gap.
        
        geom = cls[c]:geometry(geom)
    end

    return used_size
end
Hjorn
()
Ответ на: комментарий от Hjorn

о - шикарно, так и оставлю, только теги не переключаются про прокрутки колеса мышки на этих прозрачностях)

http://storage9.static.itmages.com/i/14/0927/h_1411844016_6239178_c23567de89.png

http://storage5.static.itmages.com/i/14/0927/h_1411844135_2878171_3e8120e232.png

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

о - уже и прокручиваться теги стали, спасибо за помощь)

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

что делает tyrannical?

О, ну это довольно удобная вещь для тех, кто хочет в динамические теги и не хочет городить костыли-костылики в конфиге сам, просто подключая тираникал ты экономишь массу времени и места.

Что такое динамические теги, знаешь?

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

Или не включались (принцип inclusive и exclusive). Ну там еще некоторые вещи настроить можно, полное управление тегами.

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

Но многие, вроде бы, хотят в динамические теги.

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

Уже видел в галерее. Годно! Хотя сам когда в осоме сидел, вообще wibox не настраивал. Лень было :)) Мне в общем хватает списка тэгов и таскбара.

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