Видео смотреть бесплатно

Смотреть гиг видео

Официальный сайт bok-o-bok 24/7/365

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

Shtsh 03.10.2011 11:08

AwesomeTitlebar для плавающих окнах

Вы как хотите, но в случае плавающих окон titlebar - это очень удобно.

Что нам нужно.

1) Если окно плавающее, то добавляем титлбар
2) Если окно изменяет своё состояние, то убераем титлбар
3) Позже пришла в голову мысль, что титлабар достаточно добавлять только для активного окна. Этим и займёмся.


Ищем в rc.lua сигнал, отвечающий за действие при фокусе
1
client.add_signal("focus", function(c)


Затем банально проверим статус клиента, и, если нам нужно, будем добавлять титлбар при помощи awful.titlebar.add. Когда фокус уходит, убираем при помощи awful.titlebar.remove
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
client.add_signal("focus", function(c)
if not c.maximized_horizontal and not c.maximized_vertical then
c.border_color = beautiful.border_focus
end
if c.fullscreen then
awful.titlebar.remove(c)
elseif not c.fullscreen then
-- Add title bar for floating apps
if c.titlebar == nil and awful.client.floating.get(c) then
awful.titlebar.add(c, { modkey = modkey })
-- Remove title bar, if it's not floating
elseif c.titlebar and not awful.client.floating.get(c) then
awful.titlebar.remove(c)
end
end
end)
client.add_signal("unfocus", function(c)
c.border_color = beautiful.border_normal
awful.titlebar.remove(c)
end)



Теперь у активных плавающих клиентов будет заголовок. Вот только плохо без кнопочки "закрыть". Её и добавим.

Открываем файл темы (у меня ~/.config/themes/mydwm/theme.lua) и добавляем туда следующие строчки
1
2
3
4
sharedthemes        = "/usr/share/awesome/themes/"
theme.titlebar_close_button = "true"
theme.titlebar_close_button_normal = sharedthemes .. "/default/titlebar/close_normal.png"
theme.titlebar_close_button_focus = sharedthemes .. "/default/titlebar/close_focus.png"



Естественно, пути к изображениям должны быть существующими.
Вуаля, у вас есть титлбар



P.S. Встречайте блог, посвящённый Awesome! Вступайте и переносите туда свои материалы, посвящённые awesome.


Тэги: awesome
+ 13 -
Похожие Поделиться

sol13 03.10.2011 11:45 #
+ 0 -
блин, теперь хочу поставить awesome
rmnd 03.10.2011 14:35 #
+ 2 -
Автор - молодец!

Хотя я тут подумал, а нафик оно нужно?! Единственно, что такой вид окон будет привычным новичкам, которые пришли в awesome из традиционных wm.
settler 03.10.2011 16:43 #
+ 0 -
Еще может быть удобно тем, у кого компом иногда пользуются родные, ну или просто привыкли работать мышкой. Да и просто показывает возможности настройки awesome :)
Shtsh 03.10.2011 20:00 #
+ 0 -
Честно признаюсь.
Я не смог сделать, чтобы у всех плавающих окон были тайтлбары.
Точнее, сделал, но вылез один минус. Если у окна есть, например, кнопка OK и нажав на нё окно скрывается, то titlebar в таком случае остаётся на экране без окна и никак его не убрать. Соответственно, финт с заголовком только у активного окна решает проблему.
divius 03.10.2011 23:28 #
+ 0 -

  1. Titlebar превращает Awesome в такую уникальную вещь, которая полностью управляется как с клавиатуры, так и с мышки в зависимости от необходимости.
  2. У меня в нём индикация состояния окна (плавающее ли, находится ли поверх всех итп). Ну то есть соответствующая кнопочка цвет меняет=)
  3. Ну и да, облегчает мне переход на другие компы (например, на работе), где Awesome нет=)
dukeglukem 06.10.2011 01:58 #
+ 1 -
Я сделал при разных состояниях активного окна свой цвет рамки. Довольно удобно.
transserg 04.10.2011 05:05 #
+ 3 -
у меня подобное сделано так.
1
2
3
4
5
6
if awful.client.floating.get(c) then
if c.titlebar then
awful.titlebar.remove(c)
else
awful.titlebar.add(c, {modkey = modkey, height = "16"}) end
end


когда создается плавающее окно и или ему разрешено правилами быть плавающем у него есть тайлтбар. проблем с тем что он остается после закрытия окна не наблюдалось.
Скрин
thoughtful_fox 04.10.2011 14:19 #
+ 0 -
А что это у вас за шрифт в панели?
А можно у вас целый конфиг попросить?
transserg 04.10.2011 15:03 #
+ 0 -
шрифт Snap, вот конфиг
thoughtful_fox 04.10.2011 20:17 #
+ 0 -
Уиии. Спасибо)
Vladimir WaldeMar 04.01.2013 23:09 #
+ 0 -
а у меня не работает((( и ошибку выбивает в строке
1
awful.titlebar.remove(c)



значение nil в remove
Vladimir WaldeMar 04.01.2013 23:11 #
+ 0 -
и переодически nil в add

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн