awesome сборник тем
Годные темы по awesome http://dotshare.it/category/wms/awesome/
Годные темы по awesome http://dotshare.it/category/wms/awesome/
Давно сижу на KDE, и пока не хочется переползать на пятую ветку. Однако, вырвиглазный дефолтный оксиген меня не устраивал с момента его появления, поэтому часто менял темы в поисках чего-то более приличного. Полгода назад под влиянием Breeze подобрал темы, многие модифицировал для цельного внешнего вида, и получил вот такой «недозакос» под пятую плазму. Целью ставился не закос, а приятное для работы окружение, поэтому полностью плоскоты нет, оставил тени для быстрого определения местоположения окна в стеке, убрал немного градиентов и поправил цвета в Atolm, запилил цветовую схему и допилил GTK3/QtCurve-темы для соответствия. Также нашел симпатичные портированные темы из пятокед на KDM и KSplash. Тема иконок Emerald. Буквально только что решил это дело с описанием использованных тем выложить на bitbucket, может кому-то пригодится.
Еще скриншоты с Dolphin и GTK2-приложением на фоне ЛОРа. GTK3-приложений сейчас не установлено, но выглядит так же точно.
Силами кафедры теоретической физики физического факультета Новосибирского государственного университета были записаны лекции по физике. Исходные видеофайлы выложены в открытый доступ под лицензией CC-BY-SA 4.0.
Значимые изменения после предыдущего сообщения: добавлены оставшиеся лекции спецкурса по Двухфотонной физике (Сербо В. Г.), Физики атомного ядра (Дмитриев В. Г.), добавлены семинары по Теории сильных взаимодействий (Резниченко А. В.), лекции Астрофизика в Антарктике (Дэвид Бессон), Лекции по космологии (профессор Долгов А. Д.), а также Семинары теоротдела ИЯФ им. Г. И. Будкера.
( читать дальше... )
Недавно тут на лоре проскакивал какой-то интерактивный ресурс, где можно было обучаться языкам программирования, в частности питону. Выглядело это так: человек регистрируется на ресурсе, получает задания начального уровня и начинает их прям там выполнять. Если правильно выполняет - переходит к другим задачам. Как оно называлось?
В последнее время занимался немного оптимизацией управления окнами в awesome, и теперь получившейся хренью сил нет охота поделиться. Из интересного есть специальный графически оформленный (да, нужен compton) режим для манипуляции окнами, собственная «полуручная» схема тайлинга, нескучные заголовки с табами.
Видео чтобы не описывать: раз, два.
Конфиги можно потыкать палочкой все там же. Отзывы и мнения приветствуются.
Итак, второй новостной пост о крысоглобалменю.
Зависимости (все есть в официальных репах арча):
Для отображения меню надо:
Ничего больше не надо. Спокойно портируется в любой дистр (только для unity-gtk-module патч утащите из пакета)
Чем лучше topmenu?
Чем хуже?
Как устанавливать в арче:
gtk-shell-shows-app-menu=true
gtk-shell-shows-menubar=true
Анонсирована новая версия просмотрщика графических изображений nomacs 2.4, добавившая поддержку вкладок, пакетную обработку и улучшенные эскизы.
nomacs – приложение на Qt для GNU/Linux, FreeBSD, Microsoft Windows и OS X, поддерживающее простые манипуляции с изображениями как изменение размера, поворот, инверсия цветов и пр.
Список изменений:
>>> Подробности
Доброго времени суток. Есть лэптоп - Asus X522C с дебианом на борту. Время работы от батареи почти без нагрузки - около 2-х часов, что не очень радует. Какие есть способы продлить жизнь батареи? В частности, хотелось бы знать:
1.Как можно отключить ненужные железки (BT, DVD, Кардридер, нвидиевскую карточку (оптимус, bumblebee не установлен), Веб камеру) и даст ли это хоть что-то?
2.Стоит ли понизить частоту процессора/отключить часть ядер, и если да, то как?
Xfce 4.12 - лучший выпуск в истории! (Да, это следует отпраздновать!)
Сегодня, после двух лет и десяти месяцев разработки, мы рады представить выпуск окружения рабочего стола Xfce 4.12, новую стабильную версию на смену Xfce 4.10. Столь долгий период может быть оправдан только тем, что Xfce 4.10 был очень хорош. Но, как и всему, потребовалось освежение - мы увидели множество новых участников, предоставляющих ценную поддержку, нововведения и исправления ошибок. Как всегда, Xfce следует стабильному темпу эволюции без революции, чтоб соответствовать требованиям наших пользователей. В цикле 4.12 мы в основном сосредоточились на оттачивании нашего пользовательского опыта в рабочем столе и оконном менеджере, также на обновлении некоторых компонентов для выгодного использования новых технологий.
Основные новшества нового выпуска:
( читать дальше... )
>>> Подробности
Flash плеер всё заменяют и заменяют, но никак не заменят полностью. Новые и сверхновые фичи браузеров это замечательно, но Flash бывает всё ещё нужен. К сожалению, доступная NPAPI браузерам версия застыла на 11.2, а новые версии выходят только в составе Chrome. Поэтому я делаю адаптер, который сможет быть посредником между PPAPI плагином и NPAPI браузером. Это такая штука, которая позволит использовать свежий Flash в Firefox, Opera и других браузерах, в которых работают плагины.
xwinmosaic, cyclefocus, особенно первый - полезные и годные реализации, но как-то, лично я, не был удовлетворен и в душе всегда не терял надежды, что запилят нормальный Alt-Tab.
И это наконец-то свершилось: http://i.imgur.com/t3910Xg.png
Недавно появилось, небоян:
там можно кастомизировать, нормальный запилить себе дезигн.
- http://imgur.com/a/VUZLt допилил предпросмотр хоткеев, добавил отображение легенды и возможность показывать контекстно подсказки для приложений (пока сделал для примера для вима только);
- батарейка и температура показываются только когда достигают критического значения; спрятал виджет сети и трей на панели за стрелочку (т.е. как в win xp трей был сделан);
- переделал базовые классы виджетов, теперь можно делать темы с растровой графикой («портировал» тему вертекс), если использовать полупрозрачные картинки, то цвета будут использоваться из Xresources, так же как для «обычных» тем (т.е. без растра)
- общение с spotify и clemetine сугубо средствами dbus
конфиг лежит всё там же: https://github.com/actionless/awesome_config
ну и остальные конфиги, если вдруг кому надо: https://github.com/actionless/dotfiles
кстати, модная тема на картинке в аттаче — просто пример того, как растровые декорации работают, обычно, в последнее время, использую с таким оформлением: https://raw.githubusercontent.com/actionless/awesome_config/devel/screenshots...
Переработал серию тем для Awesome 3.5: Pro
Большой модный скриншот в перспективе.
Теперь тема идёт в 4х вариантах:
Нестандартное решение для тегов: пустой - пустой, полузатухший - занятый тег, яркий - фокус, красного/желтого - urgent. В комплекте два вида тегов, как на скриншотах hexagon, а также прямоугольники.
Интегрированный плеер (управление и отображение трека), MPD через mpc/ncmpcpp, но можно управлять и DeaDBeeF'ом, который также умеет отдавать трек и предоставлять управление через cmd.
Кто захочет попробовать, ознакомьтесь с важной информацией.
Пользуясь случаем, всем желаю мира и добра, особенно друзьям пользователям Awesome.
основные изменения:
- использование текстовых декораций вместо картинок (т.е. теперь ширина панели не привязана к размеру декораций) @TODO: использовать также иконочные шрифты вместо растровых иконок
- закончил цветовую схему, которая следует цветовой схеме терминала (16цветов+bg,fg) @TODO: допилить парсер .Xresources, сейчас он работает только при правильной фазе луны
- немного допилил виджет для подсказок хоткеев @TODO: придумать решение, как там показывать клавиши для других приложений (насколько я знаю, какое-то готовое решение этой проблемы есть только для приложений использующих кедобиблиотеки)
- добавил поддержку spotify в виджет плеера @TODO: использовать модуль dbus awesome и использовать сообщения вместо поллинга
- обновил скриншоты некоторых виджетов и тем оформления
вроде ничего не забыл :-)
high-res https://github.com/actionless/awesome_config/blob/devel/README.md
Панель Awesome можно кастомизировать довольно сильно, вы практически ничем (кроме некоторых багов) не ограничены, любые изображения, виджеты, многое можно интегрировать.
Сейчас серия состоит из 2 тем в двух вариантах, два варианта тёмной (v1 и v2) и два варианта светлой темы v3.
На скриншоте тема v1, также посмотрите другие:
Под «Pro» имеется в виду подражание интерфейсам профессиональных (индустриальных) приложений.
На скриншоте панель, слева направо:
Тому, кому возможно тема понравится и рискнет себе запилить, нужно иметь в виду некоторые моменты.
Конфиги здесь.
Долгое время изучал Wiki, но на многие вопросы так и не нашел ответов, поэтому начал изучать lua код. И в результате этого изучения, родилась эта статья(перенесена на wiki). Опытные, подскажите, может где то есть возможность оптимизировать описанный код.
Панель задач - отображает по умолчанию клиенты с активного тега/тегов.
Перед началом работы скопируйте библиотеки в домашний каталог, если до сих пор этого не сделали.
mkdir -p ~/.config/awesome/themes
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua
cp -R /usr/share/awesome/lib/* ~/.config/awesome/
cp -R /usr/share/awesome/themes/* ~/.config/awesome/themes/
Вообще, за обработку панели задач отвечает файл awful/widget/tasklist.lua
Так что если возникнет желание ознакомится со всеми возможностями панели задач, изучите этот файл. Также для работы этого файла потребуются другие библиотеки lua (вызываемые оттуда функции и т.д.), они прописаны в начале файла, это те самые require. Имейте в виду, что код для 3.4 и 3.5 в библиотеке tasklist, как и названия функций в них довольно существенно отличается.
==Управление списком задач==
Для управления открытми клиентами существуют следующие клавиши:
Mod4 + Shift + r - Перерисовать активное окно.
Mod4 + m - Развернуть на весь экран.
Mod4 + n - Свернуть.
Mod4 + Control + n - Восстановить.
Mod4 + f - Полноэкранный режим.
Mod4 + Shift + c - Убить выбранный клиент.
Mod4 + t - Прикрепить поверх всех.
==Разбираем rc.lua==
Разбирая rc.lua можно обнаружить следующий код, связанный с панелью задач
mytasklist = {} --создаем таблицу панели задач
mytasklist.buttons = awful.util.table.join( --прикрепляем клавиши мыши к панели задач
awful.button({ }, 1, function (c) --нажатие левой кнопки
if c == client.focus then --свернуть/развернуть приложение
c.minimized = true
else
-- Without this, the following
-- :isvisible() makes no sense
c.minimized = false
if not c:isvisible() then
awful.tag.viewonly(c:tags()[1])
end
-- This will also un-minimize
-- the client, if needed
client.focus = c
c:raise()
end
end),
awful.button({ }, 3, function () --нажатие правой клавиши
if instance then --отображает список всех клиентов/приложений
instance:hide()
instance = nil
else
instance = awful.menu.clients({
theme = { width = 250 }
})
end
end),
awful.button({ }, 4, function () --колесо прокрутки
awful.client.focus.byidx(1) --перейти на следующий клиент
if client.focus then client.focus:raise() end
end),
awful.button({ }, 5, function () --колесо прокрутки
awful.client.focus.byidx(-1) --перейти на предыдущий клиент
if client.focus then client.focus:raise() end
end))
....
-- Create a tasklist widget - создание виджета tasklist
mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons)
....
layout:set_middle(mytasklist[s]) --Располагаем список задач в центре панели
--awful.button({ }, 4, function () --колесо прокрутки
-- awful.client.focus.byidx(1) --перейти на следующий клиент
-- if client.focus then client.focus:raise() end
-- end),
--awful.button({ }, 5, function () --колесо прокрутки
-- awful.client.focus.byidx(-1) --перейти на предыдущий клиент
-- if client.focus then client.focus:raise() end
-- end))
И добавьте завершающую скобку после закомментированного кода, иначе выдаст ошибку
)
===Варианты для правой кнопки мыши===
====Закрыть приложение====
Для того, чтобы при нажатии правой кнопки мыши мы могли закрывать приложение (как в OpenBox или Tint2), а не открывать список меню, переделайте код (или закомментируйте его, если вы не планируете использовать правую клавишу для панели задач).
awful.button({ }, 3, function ()
if instance then
instance:hide()
instance = nil
else
instance = awful.menu.clients({
theme = { width = 250 }
})
end
end),
awful.button({ }, 3, function (c)
c:kill()
end ),
====Альтернативное меню====
Если вас не устраивает стандартное контекстное меню в панели задач, то вы можете его заменить, на то, которое нужно именно вам, далее приводится лишь один из возможных вариантов. Для начала заменим стандартный вызов awful.button на следующий:
awful.button({ }, 3, function (c)
if instance then
instance:hide()
instance = nil
else
instance = context_menu(c)
end
end ),
function context_menu(c)
if c.minimized then --меняем текст элемента меню в зависимости от состояния
cli_min = "Развернуть"
else
cli_min = "Свернуть"
end
if c.ontop then
cli_top = "★ Поверх всех"
else
cli_top = " Поверх всех"
end
if awful.client.floating.get(c) then
cli_float = "★ Floating"
else
cli_float = " Floating"
end
--создаем список тегов(в виде подменю), для перемещения клиента на другой тег
tag_menu = { }
for i,t in pairs(tags.names) do
if not tags[c.screen][i].selected then --удаляем из списка выбранный тег/теги
table.insert(tag_menu, { tostring(t), function() awful.client.movetotag(tags[c.screen][i]) end } )
end
end
taskmenu = awful.menu({ items = { { "Переместить на", tag_menu },
{ cli_min, function() c.minimized = not c.minimized end },
{ "Fullscreen", function() c.fullscreen = not c.fullscreen end, beautiful.layout_fullscreen },
{ cli_float, function() awful.client.floating.toggle(c) end },
{ cli_top, function() c.ontop = not c.ontop end },
{ "Закрыть", function() c:kill() end },
width = 150
} )
taskmenu:show()
return taskmenu
end
==Отобразить только иконки или текст==
Если вас не устраивает отображение текста и иконок одновременно (например вы большой любитель Unity или Win7), то можно настроить Awesome для отображения только иконок или только текста у приложений. Есть один недостаток, если для приложения не назначено иконки, то соответсвенно и отображать будет нечего (у меня такая ситуация наблюдалась с терминалом xterm, если у вас похожая ситуация, то назначьте иконку по умолчанию для приложений не имеющих собственных иконок(описано ниже).
Откройте ~/.config/awesome/awful/widget/tasklist.lua и в функции widget_tasklist_label_common() (для 3.4) или tasklist_label (для 3.5) замените return text, bg.... на следующий код:
return not theme.tasklist_only_icon and text or '', bg, status_image, not tasklist_disable_icon and c.icon or nil
Затем, создайте переменную в вашем theme.lua со следующим содержанием:
--для отображения только иконок
theme.tasklist_only_icon = true
--для отображения только текста
tasklist_disable_icon = true
Примечание: Не определяйте как одновременно обе этих переменных, иначе вы вообще не увидите своих задач.
Есть еще один способ убрать текст в Awesome 3.4 (к сожалению в 3.5 код вызываемой функции был изменен и поэтому этот способ в нем не работает), но здесь все манипуляции мы будем производить только с файлом rc.lua. Найдите следующий код:
mytasklist[s] = awful.widget.tasklist(function(c)
return awful.widget.tasklist.label.currenttags(c, s)
end, mytasklist.buttons)
mytasklist[s] = awful.widget.tasklist(function(c)
local task = { awful.widget.tasklist.label.currenttags(c, s) }
return '', task[2], task[3], task[4]
end, mytasklist.buttons)
Аналогичным способом можно удалить и иконки в Awesome 3.4. Откройте ваш rc.lua, найдите
mytasklist[s] = awful.widget.tasklist(function(c)
return awful.widget.tasklist.label.currenttags(c, s)
end, mytasklist.buttons)
mytasklist[s] = awful.widget.tasklist(function(c)
local task = { awful.widget.tasklist.label.currenttags(c, s) }
return task[1], task[2], task[3], nil
end, mytasklist.buttons)
==Иконка по умолчанию==
Для некоторых приложений не установлены иконки по умочанию (обычно это терминалы), и если вы, например, используете только иконки в панели задач, или используете отображение приложений в тегах, то приложения без иконок вы просто не увидите. Для решения этой проблемы отредактируйте функцию "tasklist_update" в файле ~/.config/awesome/awful/widget/tasklist.lua. В функции tasklist_update перед строкой table.insert вставьте следующий код:
if not c.icon then
c.icon = capi.image("path/to/icon/default_icon.png")
end
==Настройка внешнего вида==
Для настройки панели задач, в theme.lua вы можете определить следующие переменные:
===Awesome 3.5===
theme.tasklist_fg_normal - цвет текста панели задач, если значение не определено, то используется значение theme.fg_normal
theme.tasklist_bg_normal - цвет фона панели задач, если значение не определено, то используется значение theme.bg_normal
theme.tasklist_fg_focus - цвет текста активного приложения, если значение не определено, используется значение theme.fg_focus
theme.tasklist_bg_focus - цвет фона активного приложения, если значение не определено, то используется значение theme.bg_focus
theme.tasklist_fg_urgent - цвет текста «срочного» приложения, если не определено, то будет использоваться значение из theme.fg_urgent
theme.tasklist_bg_urgent цвет фона «срочного» приложения, если не определено, то будет использоваться значение theme.bg_urgent
theme.tasklist_fg_minimize - цвет текста свернутого приложения, если не определено, то будет использоваться значение из theme.fg_minimize
theme.tasklist_bg_minimize - цвет фона свернутого приложения, если не определено, то будет использоваться значение из theme.bg_minimize
theme.bg_image_normal - позволяет установить изображение для неактивных в данный момент клиентов
theme.bg_image_focus - позволяет установить фоновое изображение для активного клиента
theme.bg_image_urgent - позволяет установить фоновое изображения для «срочного» клиента
theme.bg_image_minimize - позволяет установить фоновое изображение для свернутого клиента
theme.tasklist_disable_icon - позволяет отключить отображение иконок, если значение равно true
theme.tasklist_font - шрифт для панели задач, если не определено, то будет испльзоватся шрифт из theme.font
theme.tasklist_sticky - позволяет установить текст для «липкого» клиента, если значение не установлено, то используется «▪»
theme.tasklist_ontop - позволяет установить текст/символ для приложения «поверх всех», если значение не установлено, то используется '⌃'
theme.tasklist_floating - текст для приложения в «плавающем» режиме, если значение не установлено, то используется '✈'
theme.tasklist_maximized_horizontal - текст для развернутого по горизонтали приложения, если на установлено, то используется '⬌'
theme.tasklist_maximized_vertical - текст для приложения развернутого по вертикали, если на установлено, то используется '⬍'
===Awesome 3.4===
Здесь возможностей по настройке намного меньше, это еще одна причина перейти на более новую версию.
theme.tasklist_fg_focus - цвет текста активного приложения, если значение не определено, используется значение theme.fg_focus
theme.tasklist_bg_focus - цвет фона активного приложения, если значение не определено, то используется значение theme.bg_focus
theme.tasklist_fg_urgent - цвет текста "срочного" приложения, если не определено, то будет использоваться значение из theme.fg_urgent
theme.tasklist_bg_urgent цвет фона "срочного" приложения, если не определено, то будет использоваться значение theme.bg_urgent
theme.tasklist_fg_minimize - цвет текста свернутого приложения, если не определено, то будет использоваться значение из theme.fg_minimize
theme.tasklist_bg_minimize - цвет фона свернутого приложения, если не определено, то будет использоваться значение из theme.bg_minimize
theme.tasklist_floating_icon - иконка для приложения в "плавающем" режиме
theme.tasklist_font - шрифт для панели задач, если не определено, то будет испльзоватся шрифт из theme.font
===Высота панели ===
Если вас не устраивает стандартная высота панели задач, то ее можно изменить, для этого найдите в rc.lua код отвечающий за создание контейнера mywibox и измените его следующим образом:
mywibox[s] = awful.wibox({ position = "top", height = 24, screen = s })
bottomwibox = {}
bottomwibox[s] = awful.wibox({ position = "bottom", height = 27, screen = s })
bottomwibox[s].widget = {
{
mylauncher,
layout = awful.widget.layout.horizontal.leftright
},
mytasklist[s],
layout = awful.widget.layout.horizontal.rightleft
}
==Порядок открытых приложений==
По умолчанию новое приложение отображается слева от открытых ранее. Но если вы привыкли к другому, например в Gnome или KDE, то можно настроить, чтобы вновь открываемые приложения открывались справа, т.е. список задач был отсортирован по запуску, где первым в списке будет первое открытое приложение, а последним соответственно последнее. Для этого необходимо открыть файл ~/.config/awesome/awful/widget/tasklist.lua. Все манипуляции с этими файлами лучше всего делать когда они находится в домашнем каталоге, чтобы если вы что-то испортите, можно было их легко восстановить. Итак, найдите в этом файле функцию "function tasklist_update" в ней есть следующая строка:
"'Awesome 3.4"'
table.insert(shownclients,c)
table.insert(shownclients, 1, c)
table.insert(clients, c)
table.insert(clients, 1, c)
==Ширина приложений в списке задач ==
Если вас не устраивает, то, что одно запущенное приложение можент занимать все доступное пространоство, на панели задач, то это поведение можно немного изменить. Для этого потребуется отредактировать файл ~/.config/awesome/awful/widget/tasklist.lua
===Awesome 3.4===
Найдите функцию new, в ней необхоидмо изменить
layout = layout.horizontal.flex
layout = layout.horizontal.leftright
Найдите функцию tasklist.new затем замените
local w = base_widget or flex.horizontal()
local w = base_widget or fixed.horizontal()
local fixed = require("wibox.layout.fixed")
Правда ширина каждого клиента будет зависеть от названия, в принципе это тоже можно поправить если вам требуется фиксированная ширина клиентов, для этого нужно изменить в файле tasklist.lua функцию widget_tasklist_label_common (3.4) или tasklist_label (в 3.5): В начало файла поместите
local string = string
if #name >20 then
name = string.sub(name,1,20)
end
Есть еще один ньюанс, при изменении испльзуемой схемы(layout), приложения теперь перестают масштабироваться, и в результате их теперь на панель входит штук 5, конечно это можно изменить, но изменений потребуется достаточно много и они уже выходят за рамки данной статьи.
==Список клиентов ==
По умолчанию в файле rc.lua для обработки списка клиентов для tasklist используется следующий код:
Awesome 3.5
mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons)
Awesome 3.4
mytasklist[s] = awful.widget.tasklist(function(c)
return awful.widget.tasklist.label.currenttags(c,s)
end, mytasklist.button)
Awesome 3.4
awful.widget.tasklist.label.allscreen - для отображения клиентов со всех экранов
awful.widget.tasklist.label.alltags - для отображения клиентов со всех тегов текущего экрана
awful.widget.tasklist.label.currenttags - для отображения клиентов с текущего тега
awful.widget.tasklist.label.focused - для оторажения только клиентов в фокусе
Awesome 3.5
awful.widget.tasklist.filter.allscreen - для отображения клиентов со всех экранов
awful.widget.tasklist.filter.alltags - для отображения клиентов со всех тегов текущего экрана
awful.widget.tasklist.filter.currenttags - для отображения клиентов с текущего тега
awful.widget.tasklist.filter.minimizedcurrenttags - для отображения свернутых клиентов на текущем теге
awful.widget.tasklist.filter.focused - для оторажения только клиентов в фокусе
Awesome 3.5 - tasklist.lua - function tasklist_update
if not (c.skip_taskbar or c.hidden
or c.type == "splash" or c.type == "dock" or c.type == "desktop")
and filter(c, s) then
table.insert(clients, c)
end
==Сигналы==
Сигналы - это система сообщений которую рассылает ядро Awesome для управления виджетами, клиентами, тегами и т.д. Подробне ознакомится с системой сигналов вы можете [Signals/ru|здесь]. Итак, поддерживаются следующие сигналы:
tag.attached_connect_signal(screen, "property::selected", u)
tag.attached_connect_signal(screen, "property::activated", u)
capi.client.connect_signal("property::urgent", u)
capi.client.connect_signal("property::sticky", u)
capi.client.connect_signal("property::ontop", u)
capi.client.connect_signal("property::floating", u)
capi.client.connect_signal("property::maximized_horizontal", u)
capi.client.connect_signal("property::maximized_vertical", u)
capi.client.connect_signal("property::minimized", u)
capi.client.connect_signal("property::name", u)
capi.client.connect_signal("property::icon_name", u)
capi.client.connect_signal("property::icon", u)
capi.client.connect_signal("property::skip_taskbar", u)
capi.client.connect_signal("property::screen", u)
capi.client.connect_signal("property::hidden", u)
capi.client.connect_signal("tagged", u)
capi.client.connect_signal("untagged", u)
capi.client.connect_signal("unmanage", u)
capi.client.connect_signal("list", u)
capi.client.connect_signal("focus", u)
capi.client.connect_signal("unfocus", u)
u = function () tasklist_update(screen, w, buttons, filter, data, style, uf) end| ← предыдущие |