Awesome (кто-нибудь использует?)

ion, dwm, wmii, awesome, xmonad и другие

Модератор: Модераторы разделов

Аватара пользователя
Atragor
Сообщения: 681
Статус: ...
Контактная информация:

Re: Awesome

Сообщение Atragor »

Решил снова перелезть Awesome и обнаружил вот такую интересную штуку:
ooo.png


Кто-нибудь знает, как называется область справа и как поместить в неё окно, не используя мышь? Очень удобно размещать там окошки выбора цвета в OpenOffice, потому что в Awesome они по неизвестной причине не закрываются при клике за их пределами.
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
Спасибо сказали:
Аватара пользователя
[Cloud]
Сообщения: 28
ОС: Ubuntu 10.04 LTS

Re: Awesome

Сообщение [Cloud] »

Есть ли возможность сохранения сессии как в ion3?
apt-get moo
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Awesome

Сообщение SLEDopit »

есть ли возможность сделать определенное окно главным, чтобы оно оставалось на своем месте вне зависимости от вновь открываемых окон?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Atragor
Сообщения: 681
Статус: ...
Контактная информация:

Re: Awesome

Сообщение Atragor »

Раскомментируйте в rc.lua

Код: Выделить всё

awful.client.setslave(c)

Тогда при открытии новых окон текущее окно будет оставаться главным.
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Awesome

Сообщение SLEDopit »

Atragor
спасибо.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
p0six
Сообщения: 3
ОС: Debian

Re: Awesome

Сообщение p0six »

Atragor писал(а):
13.08.2009 16:08
Решил снова перелезть Awesome и обнаружил вот такую интересную штуку:


Подскажите, как перенести часы и прочее в правый нижний угол? Уже голову себе сломал, не могу разобраться с этим lua. Версия v3.2-rc4 (Faith). Спасибо.
Спасибо сказали:
kerne1
Сообщения: 45
ОС: Debian unstable
Контактная информация:

Re: Awesome

Сообщение kerne1 »

p0six писал(а):
03.09.2009 02:03
Atragor писал(а):
13.08.2009 16:08
Решил снова перелезть Awesome и обнаружил вот такую интересную штуку:


Подскажите, как перенести часы и прочее в правый нижний угол? Уже голову себе сломал, не могу разобраться с этим lua. Версия v3.2-rc4 (Faith). Спасибо.

На картинке две панели. Вам что нужно-то? Чтобы панель была внизу, или одна панель вверху, а другая внизу? Если первое, то меняете у wibox значение переменной position c top на bottom, если второе - создаете еще один wibox и навешиваете виджет часов на него
Errare humanum est
Спасибо сказали:
Аватара пользователя
SilentOS
Сообщения: 251
Статус: Важный воевода
ОС: SuSE

Re: Awesome

Сообщение SilentOS »

Захотелось попробовать установить Awesome3 под Debian Lenny. На офсайте (http://awesome.naquadah.org/wiki/Awesome-3-debian) нашел ссылку на репозиторий.
Но добавление в sources.list этой ссылки ни к чему не приводят. Похоже, что репозиторий пуст.
Поставить из Experimental (как приводилось выше в этой ветке) не получается. Конфликты с зависимостями.
Кто может сказать что по этому поводу? Есть ли шанс установить Awesome3 в Debian Lenny? :)
Или может есть у кого готовые сборки в deb-пакетах?

[UPD] Вопрос уже решен в ветке Debian
Спасибо сказали:
Аватара пользователя
SilentOS
Сообщения: 251
Статус: Важный воевода
ОС: SuSE

Re: Awesome

Сообщение SilentOS »

Появилась надобность добавить 10-й тег (на клавишу Mod+"0"). Изменил в rc.lua

Код: Выделить всё

tags = {}
for s = 1, screen.count() do
    -- Each screen has its own tag table.
    tags[s] = {}
    -- Create 10 tags per screen.
    for tagnumber = 1, 10 do
 ....

После чего тег появился, теперь только осталось забиндить на него эту самую комбинацию клавиш Mod+"0". Посоветуйте плиз как это сделать :) желательно готовым примером.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Awesome

Сообщение SLEDopit »

по-моему нужно добавить в конфиг примерно вот это:

Код: Выделить всё

    globalkeys = awful.util.table.join(globalkeys,
        awful.key({ modkey }, 0,
                  function ()
                        local screen = mouse.screen
                        if tags[screen][10] then
                            awful.tag.viewonly(tags[screen][10])
                        end
                  end),
        awful.key({ modkey, "Control" }, 0,
                  function ()
                      local screen = mouse.screen
                      if tags[screen][10] then
                          tags[screen][10].selected = not tags[screen][10].selected
                      end
                  end),
        awful.key({ modkey, "Shift" }, 0,
                  function ()
                      if client.focus and tags[client.focus.screen][10] then
                          awful.client.movetotag(tags[client.focus.screen][10])
                      end
                  end),
        awful.key({ modkey, "Control", "Shift" }, 0,
                  function ()
                      if client.focus and tags[client.focus.screen][10] then
                          awful.client.toggletag(tags[client.focus.screen][10])
                      end
                  end),
        awful.key({ modkey, "Shift" }, "F" .. 0,
                  function ()
                      local screen = mouse.screen
                      if tags[screen][10] then
                          for k, c in pairs(awful.client.getmarked()) do
                              awful.client.movetotag(tags[screen][10], c)
                          end
                      end
                   end))
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
SilentOS
Сообщения: 251
Статус: Важный воевода
ОС: SuSE

Re: Awesome

Сообщение SilentOS »

Спасибо! Самое то :rolleyes:
Спасибо сказали:
Аватара пользователя
SilentOS
Сообщения: 251
Статус: Важный воевода
ОС: SuSE

Re: Awesome

Сообщение SilentOS »

Появилась еще пара вопросов.
1. Как сделать, чтобы окно процесса копирования в krusader отображалось как обыкновенное плавающее окно?
2. Как сделать, чтобы значки в трее не сливались один с другим?
Вложения
2009_09_24_084244_1280x1024_scrot.png
Спасибо сказали:
Аватара пользователя
shevan
Сообщения: 992
ОС: Debian, Puppy

Re: Awesome

Сообщение shevan »

быстро запускаются kde-шные проги в awesome?
я советую поставить предварительную загрузку основных библиотек с загрузкой X (awesome)

По вопросам ничего сказать не могу, так как недолго сидел на awesome.
Перешел обратно на Icewm, настроил быстро все что нужно.
Сейчас примерно так:
Icewm + Idesk (слайд обои) + xcompmanager + transset + rxvt-unicode + links2 (графический режим) + mc + conky
красиво, функционально, но если бы ноут был мощнее (eee pc), то оставил бы Gnome без изврата.
Извини за оффтоп.
Спасибо сказали:
Аватара пользователя
SilentOS
Сообщения: 251
Статус: Важный воевода
ОС: SuSE

Re: Awesome

Сообщение SilentOS »

shevan писал(а):
24.09.2009 20:15
быстро запускаются kde-шные проги в awesome?
я советую поставить предварительную загрузку основных библиотек с загрузкой X (awesome)

Запускаю так (в rc.lua):
os.execute("kdeinit &")

Пока что не нашел чем заменить некоторые KDE-шные проги, поэтому никуда пока от них не денусь, а awesome имхо удобнее.
Спасибо сказали:
Аватара пользователя
Davinel
Сообщения: 481
ОС: Ubuntu

Re: Awesome

Сообщение Davinel »

SilentOS писал(а):
24.09.2009 20:26
Запускаю так (в rc.lua):
os.execute("kdeinit &")

Лучше так:
os.execute("kdeinit4_shutdown &")
os.execute("kdeinit4 &")
(для кде4)
ну или хотя бы
os.execute("killall kdeinit &")
os.execute("kdeinit &")
а то рестартанете пару раз авесам и будет этих кдеинитов..
а еще лучше - записать куда нибудь в .xinitrc или .xsession. "kdeiint4 &" и все.
Спасибо сказали:
Аватара пользователя
SilentOS
Сообщения: 251
Статус: Важный воевода
ОС: SuSE

Re: Awesome

Сообщение SilentOS »

Davinel писал(а):
25.09.2009 09:05
Лучше так:
os.execute("kdeinit4_shutdown &")
os.execute("kdeinit4 &")
(для кде4)
ну или хотя бы
os.execute("killall kdeinit &")
os.execute("kdeinit &")
а то рестартанете пару раз авесам и будет этих кдеинитов..

У меня KDE3, kdeinit запускается нормально.
Спасибо сказали:
Аватара пользователя
farex
Сообщения: 497
ОС: Slackware 12.2, Archlinux

Re: Awesome

Сообщение farex »

Вот такой вопрос, можно ли в Awesome использовать gnome-terminal
Пробывал в конфиги

Код: Выделить всё

terminal = "gnome-terminal"

не срабо тало., есть идеи?
Ну и моно ли в xterm прозрачность прикрутить?
Сыграем?
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Жив"
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Awesome

Сообщение SLEDopit »

лично у меня:

Код: Выделить всё

terminal = "rxvt -tr -sh 30 -fn terminus-iso8859-*-14 +sb -fg white -bg black -cr green"
работает на ура.
farex писал(а):
22.10.2009 16:52
Ну и моно ли в xterm прозрачность прикрутить?
можно. почитайте ман или гугл. и либо подбирайте необходимые параметры для запуска из командной строки, либо правьте .Xdefaults (если я правильно файл помню).
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Ardling
Сообщения: 67
ОС: Gentoo

Re: Awesome

Сообщение Ardling »

Решил перескочить с КДЕ на авеслме, так как слышал что это довольно быстро и удобно, да еще и радикально меньше тормозов.

Когда стал перескакивать возникло множество вопросов по поводу управления. Некоторые комбинации из мауала никаких действий не производят, я если и производят, то не всегда. Есть ли какой-то хавту или более подробный мануал по управлению?
Спасибо сказали:
Аватара пользователя
4yKoTkA
Сообщения: 183
ОС: Gentoo GNU/Linux.FreeBSD

Re: Awesome

Сообщение 4yKoTkA »

Открой файл ~/.config/awesome/rc.lua , если такого нет, создай скопировав из /etc/xcb/awesome/rc.lua, вот в этом файле прописаны все актуальные комбинации клавиш и вообще все настройки, изучай, корректируй под себя, радуйся!
Правда должен предупредить awesome бурно развивается при этом часто ломается совместимость конфиг-файлов.
Спасибо сказали:
Аватара пользователя
SilentOS
Сообщения: 251
Статус: Важный воевода
ОС: SuSE

Re: Awesome

Сообщение SilentOS »

4yKoTkA писал(а):
30.10.2009 18:03
awesome бурно развивается при этом часто ломается совместимость конфиг-файлов.

Я в программировании не силен, с огромным трудом собрал свой конфиг awesome, но после того как обновился от версии 3.3 к 3.4 сижу и думаю, что делать? Идти на что-нибудь попроще типа dwm, или изучать lua :rolleyes:
Спасибо сказали:
bat0
Сообщения: 7

Re: Awesome

Сообщение bat0 »

Обновился с 2.3 до 3.4, в 2.3 использовал виджеты со своими скриптами - как в 3.4 передать виджету типа textbox строку в поле text?
разобрался =)
Спасибо сказали:
Аватара пользователя
SilentOS
Сообщения: 251
Статус: Важный воевода
ОС: SuSE

Re: Awesome

Сообщение SilentOS »

Awesome 3.4
Как поменять layout отдельных тегов?
Сейчас прописан везде 1-й:

Код: Выделить всё

tags = {
names  = { "1-fm", "2-gimp", "3-dev", "4-www", "5-mail", "6-im", "7-tor", "8-mus", "9-vbox" },
}
for s = 1, screen.count() do
        tags[s] = awful.tag(tags.names, s, layouts[1])
end
Спасибо сказали:
stfoo
Сообщения: 12

Re: Awesome

Сообщение stfoo »

SilentOS писал(а):
04.12.2009 15:35
Awesome 3.4
Как поменять layout отдельных тегов?
Сейчас прописан везде 1-й:

Код: Выделить всё

tags = {
names  = { "1-fm", "2-gimp", "3-dev", "4-www", "5-mail", "6-im", "7-tor", "8-mus", "9-vbox" },
}
for s = 1, screen.count() do
        tags[s] = awful.tag(tags.names, s, layouts[1])
end

Например

Код: Выделить всё

tags = {}
for s = 1, screen.count() do
    tags[s] = {}
    tags[s][1] = tag({ name = "shell" })
    tags[s][1].screen = s
    awful.layout.set(awful.layout.suit.tile.right, tags[s][1])
    tags[s][2] = tag({ name = "inet" })
    tags[s][2].screen = s
    awful.layout.set(awful.layout.suit.tile, tags[s][2])
    tags[s][3] = tag({ name = "im" })
    tags[s][3].screen = s
    awful.layout.set(awful.layout.suit.tile, tags[s][3])
    tags[s][4] = tag({ name = "trash" })
    tags[s][4].screen = s
    awful.layout.set(awful.layout.suit.tile, tags[s][4])
    tags[s][1].selected = true
end
Спасибо сказали:
Аватара пользователя
SilentOS
Сообщения: 251
Статус: Важный воевода
ОС: SuSE

Re: Awesome

Сообщение SilentOS »

Спасибо, очень помогло :drunk:

А теперь еще один вопрос: как правильно прописать правила для приложений (layout, floating, mwfact)?
Такой код не проходит:

Код: Выделить всё

{ rule = { class = "kopete" },
properties = { tag = tags[1][6], floating = true } },

Напоминаю, что у меня конфиг версии 3.4 (достали уже эти версии :angry: )

Спасибо!
Спасибо сказали:
stfoo
Сообщения: 12

Re: Awesome

Сообщение stfoo »

SilentOS писал(а):
04.12.2009 18:38
Спасибо, очень помогло :drunk:

А теперь еще один вопрос: как правильно прописать правила для приложений (layout, floating, mwfact)?
Такой код не проходит:

Код: Выделить всё

{ rule = { class = "kopete" },
properties = { tag = tags[1][6], floating = true } },

Напоминаю, что у меня конфиг версии 3.4 (достали уже эти версии :angry: )

Спасибо!

Application specific behaviour (previously defined in two tables; floatapps and apptags) was replaced by the awful.rules module. All rules are now defined in the awful.rules.rules table, and syntax is documented here
Спасибо сказали:
Аватара пользователя
SilentOS
Сообщения: 251
Статус: Важный воевода
ОС: SuSE

Re: Awesome

Сообщение SilentOS »

stfoo писал(а):
04.12.2009 19:40
Application specific behaviour (previously defined in two tables; floatapps and apptags) was replaced by the awful.rules module. All rules are now defined in the awful.rules.rules table, and syntax is documented

Мда... в дефолтном конфиге они не могли этого написать...
Или так быстро синтаксис меняется, что не успевают :rolleyes:
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Awesome

Сообщение SLEDopit »

не могу никак разобраться с кнопками:
описываю событие, записываю все в wibox, однако мне это не помогает. событие по кнопке все равно не отрабатывает:

Код: Выделить всё

require("awful")
require("awful.autofocus")
require("awful.rules")
require("beautiful")
require("naughty")
require("wicked")
require("vicious")
require("debian.menu")
<..>
mpdwidget = widget({ type = 'textbox' })
  vicious.register(mpdwidget,vicious.widgets.mpd,
    function (widget, args)
      if   args[1] == "Stopped" then return ''
      else return args[1]..' : '
      end
    end)
mpdwidget.buttons = awful.util.table.join(
        awful.button({ }, 1, function()
                local f = io.popen("mpc playlist | grep '>' -C2 | sed 's/&/&amp\;/g'")
                local fr = f
               for line in f:lines() do
                fr = fr .. '\n' .. line
                end
                f:close()
                naughty.notify({title="MPD Playlist:", text = fr, width=500 })
        end),
        awful.button({ }, 3, function()
                local f = io.popen("mpc | sed 's/&/&amp\;/g'")
                local fr = ""
                for line in f:lines() do
                fr = fr .. '\n' .. line
                end
                f:close()
                naughty.notify({title="MPD Info:", text = fr, width=500 })
        end)
)
<..>
 mywibox[s] = awful.wibox({ position = "top", screen = s })
    -- Add widgets to the wibox - order matters
    mywibox[s].widgets = {
        {
            mytaglist[s],
            mypromptbox[s],
            layout = awful.widget.layout.horizontal.leftright
        },
        <..>,
        mpdwidget,
        <..>,
        separator,
        layout = awful.widget.layout.horizontal.rightleft
    }
код вроде верный (авесом все-таки запускается). а почему не работает - не понимаю. куда копать?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Awesome

Сообщение SLEDopit »

хм, меня смущает, что везде, где используются кнопки в стандартном конфиге, они включены в такого рода конструкции:

Код: Выделить всё

    mytasklist[s] = awful.widget.tasklist(function(c)
                                              return awful.widget.tasklist.label.currenttags(c, s)
                                          end, mytasklist.buttons)
попробовал сделать аналогичную конструкцию:

Код: Выделить всё

    mympdwidget[s] =  awful.widget.common(mpdwidget.text, mpdwidget.buttons)
однако так он вообще отказался запускаться.
еще заметил странную вещь. если написать конструкцию:

Код: Выделить всё

mpdwidget.buttons = awful.util.table.join(
        awful.button({ }, 1, naughty.notify({title="MPD Playlist:", text = "some text", width=500 })))
то тогда нотифай этот выскакивает сразу при старте. а в дальнейшем на нажатие клавиш не реагирует. если писать конструкцию с функцией, то вообще ничего не просиходит.
толковой документации, которая бы помогла мне решить мою проблему я так и не нашел. а задача то вроде тривиальная.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
parker
Сообщения: 7
ОС: archlinux

Re: Awesome

Сообщение parker »

с основными настройками и функциями awesome разобрался, но осталось несколько моментов, которые либо я где-то пропустил, либо не нашел информации:

1) встроенный виджет tasklist у меня не корректно работает со слоями, закрывая собой все последующие виджеты
пробовал насильно устанавливать слой, но ситуация не меняется, tasklist накрывает всю панель целиком
2) awesome не подхватывает тему курсора из .xdefaults, внутри приложений курсор меняется, но в самом awesome остается дефолтная
xsetroot (вроде?) менят только 1 позиционный курсор, т.е. не тему целиком, а только 1, можно ли подключить сразу тему курсоров?
--vicious:
3) при изменении длинны возвращаемой строки в виджете, все стоящие за ним, так же смещаются, как бегущая строка
как задать формат выводимой строки для виджетов vicious? нечто подобное видел вот тут, в самом последнем примере, но воплотить это на своих виджетах не получилось
4) при одновременном обращении к 1 функции vicious, есть некоторые проблемы с возвращаемым результатом, к примеру: если сделать 2 виджета для вывода скорости исходящего и входящего соединения и выставить одинаковое время обновления, то в одном из них всегда будет [-non]. Как это можно пофиксить? еще не лазил в скрипты самого vicious'a, но может быть можно этого избежать штатными средствами
5) какие параметры нужно указать для клиента SMPlayer'а, что бы при полноэкранном воспроизведении верхняя панель не была видна? долго уже бьюсь головой о стену, пока безрезультатно, нужно что бы она была всегда, кроме тех случаев когда smplayer в фуллскрине

upd:
вопросы 3 и 1 снимаются
разобрался после недолгого медитирования над документацией
upd2:
4) проблема решается функцией
vicious.enable_caching(%widgetname%)
Изображение
Спасибо сказали:
Ответить