LINUX.ORG.RU

[lxpanelx][openbox] Пилим дальше. Вопросы к фактическим и потенциальным пользователям.

 ,


0

3

Сегодня в lxpanelx улучшил апплет Directory Menu (aka Структура каталогов). (Лог коммитов.)

  • Апплет отображает не только дерево каталогов, но и простые файлы.
  • При щелчке по файлу запускается указанный в настройках панели файловый менеджер. Что он будет делать с файлом, зависит от конкретного ФМ. pcmanfm, например, — умница — открывает файл в ассоциированной с типом файла программе.
  • Вкл/выкл показа скрытых файлов и каталогов.
  • Вкл/выкл показа размера файлов.
  • Сортировка каталогов по имени, времени модификации или размеру. Аналогично для файлов.

Да, обычно всё, что я пишу в свободное время, я пишу для себя. Но сегодня вот решил поинтересовать мнением пользователей. Есть несколько идей, которые с одной стороны, мне не особо важны, а с другой — реализовать не сложно, и кому-нибудь пригодится. Так что хочу спросить:

  • Насколько вообще апплет Directory Menu востребован? Вы им пользуетесь?
  • Если пользуетесь, есть ли какие-то пожелание по его функциональности? Или баги? Подумываю прикрутить фильтрацию каталогов и файлов регэкспами ­— кому-нибудь это надо?
  • Может быть, для lxpanelx имеет смысл сделать апплет pipemenu, аналогичный динамическим меню openbox-а? (Можно выдрать весь необходимый код прямо из openbox-а и оформить отдельной библиотекой.)
  • А может быть pipemenu лучше оформить в виде отдельной программы, которую можно забиндить на хоткей или вызывать из командной строки? Будет очень универсальный и маложручий движок меню в стиле suckless.
Ответ на: комментарий от geekless

>Сначала надо узнать MIME файла

а, да, там это как-то не совсем элементарно делалось. Помнится, я хотел добавить в lxmusic поддержку cue (сам xmms2 держит) - споткнулся об это и забил (один хрен, консольный удобнее)

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

Собственно, насчёт шрифтов. Для .gtkrc-2.0:

style "panel"
{
  font_name = "Terminus 10"
}
# Если надо сменить шрифт всей для панели:
widget "*PanelToplevel*" style "panel"
# Если надо сменить шрифт для отдельного апплета:
widget "*PanelToplevel*taskbar*" style "panel"

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

> appmenu

Breaking news: в убунте есть пакет lxpanel-indicator-applet-plugin. Собери его под генту, и будет тебе счастье. Наверное. Во всяком случае, я даже в самой убунте не проверял, т.к. убунта у меня в чруте, а там заставить работать этот комок бредовых зависимостей мне не удалось.

geekless ★★
() автор топика

По мотивам треда допилил апплет регулятора звука, чтобы он мог регулировать все каналы, а не только 2 передних. (Однострочный фикс, ага.)

По робким, но неоднократным просьбам трудящихся, реализовал очень костыльную поддержку ручного перетаскивания элементов на панели задач. Предупреждаю сразу: она работает плохо, и лучше не будет. Потому что весь апплет надо перепиливать под парадигму model-view-controller вместо текущей реализации ужаса на крыльях ночи. Ну в общем, смельчаки могут включить в настройках перетаскивание и ловить баги.

geekless ★★
() автор топика

при группировке окон на таскбаре по window class при нажатии на иконку(raise/iconify) появляется меню даже при единственном окне(мне кажется, что в таком случае лучше сразу активировать это окно)

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

Это не баг, а фича. Опция «Сворачивать группу, когда число окон в ней достигает N». Поставишь 1 — сразу будут свернуты группы, как твойм случае. Поставишь 2 — будет только при 2-х окнах. Поставишь 0 — это правило автосворачиваняи будет деактивировано.

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

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

Ожидается, но в неопределенном будущем.

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

кстати, в дебиановских спеках косяк нашёлся, вот типа фикс (вроде работает :)

Index: rules
===================================================================
--- rules	(revision 193)
+++ rules	(working copy)
@@ -90,19 +90,19 @@
 	dh_installdirs
 
 	# Add here commands to install the package into debian/lxpanel.
-	$(MAKE) DESTDIR=$(CURDIR)/debian/lxpanel install
+	$(MAKE) DESTDIR=$(CURDIR)/debian/lxpanelx install
 
 	# Install .desktop files
-	install -d $(CURDIR)/debian/lxpanel/usr/share/applications
+	install -d $(CURDIR)/debian/lxpanelx/usr/share/applications
 	install -m644 $(CURDIR)/debian/lxde-x-www-browser.desktop \
-			$(CURDIR)/debian/lxpanel/usr/share/applications
+			$(CURDIR)/debian/lxpanelx/usr/share/applications
 	install -m644 $(CURDIR)/debian/lxde-x-terminal-emulator.desktop \
-			$(CURDIR)/debian/lxpanel/usr/share/applications
+			$(CURDIR)/debian/lxpanelx/usr/share/applications
 
 	# Install lintian-overrides
-	install -d $(CURDIR)/debian/lxpanel/usr/share/lintian/overrides
+	install -d $(CURDIR)/debian/lxpanelx/usr/share/lintian/overrides
 	install -m644 $(CURDIR)/debian/lxpanel.lintian-overrides \
-			$(CURDIR)/debian/lxpanel/usr/share/lintian/overrides
+			$(CURDIR)/debian/lxpanelx/usr/share/lintian/overrides
 
 # Build architecture-independent files here.
 binary-indep: build install
@@ -115,7 +115,7 @@
 	dh_installchangelogs
 	dh_installdocs
 	dh_installexamples
-	dh_movefiles --sourcedir=debian/lxpanel
+	dh_movefiles --sourcedir=debian/lxpanelx
 #	dh_install
 #	dh_installmenu
 #	dh_installdebconf	
lazyklimm ★★★★★
()
Ответ на: комментарий от geekless

Кстати о taskbare - можете сделать режим, при котором окна будут отображаться с группировкой по рабочим столам, как в tint 2?

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

Добавил эти строчки, пробую поменять Terminus на Sans, изменений не вижу. Для проверки меняю, допустим, на Arial - все работает. То есть с другими шрифтами работает, а с Sans - нет. Странно как-то. Иду ставить свежую сборку из исходников.

Мой .gtkrc-2.0

Еще чего-то lxappearance поломался, segfault выдает :(

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

С Sans, возможно, причина в том, что это алиас на другой шрифт. Шрифта Sans ведь на самом деле не существует.

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

Еще чего-то lxappearance поломался, segfault выдает :(

Если в Арче, то уже починили. Обновись. Кажется, там опять был какой-то сомнительный коммит в gtk, ломающий совместимость.

Собственные настройки лучше перенеси в .gtkrc-2.0.mine, т.к. .gtkrc-2.0 lxappearance перезапишет после правки настроек через неё.

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

> Кстати о taskbare - можете сделать режим, при котором окна будут отображаться с группировкой по рабочим столам, как в tint 2?

Я не знаю, как там оно в tint2, мне лень гуглить её скриншоты. :) Но вот буквально минуту назад закоммитил возможность показывать дополнительное пустое пространство между группами. Ставите опции «Показывать окна со всех рабочих мест», «Режим: группировать окна», «Критерий группировки: рабочее место», «Использовать разделители группы» и «Размер разделителя группы: _нужное_число_». Возможно, получится как раз то, что вам требуется.

geekless ★★
() автор топика

FR

ещё есть такой пунктик:

в гуе нельзя создать несколько панелей с тем же Position. Зачем нужно? При работе за несколькими мониторами удобнее использовать две панели по 50% на каждом мониторе, чтобы апплеты не скакали туда-сюда. Можно это как-нибудь разрешить, а то сейчас приходится руками в конфиг панели лезть?

А ещё неплохо было бы сделать гуёвый импорт(экспорт?) профиля панели из гуя ( cp ~/.config/lxpanel/default/panels/new ~/.config/lxpanel/default/panels/top работает, но не юзерфрендли)

lazyklimm ★★★★★
()
Ответ на: FR от lazyklimm

Ограничение в конфигураторе из-за какого-то бага в коде позиционирования панелей. Еще не разбирался, что там.

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

ну и как альтернативный вариант - просто сделать возможность апплетам не только стретчиться, но и занимать статически определённое место


это не фичреквест, просто инфа к размышлению, я сюда вообще пишу все мысли по поводу lxpanel, которые в голову придут, надеюсь ты не против :)

Да, кстати, по поводу меню с окнами, вспомнил, что в KDE3 оно было одноуровневое, просто каждый воркспейс отображался заголовком для своих окон

WORKSPACE1
window1
window2
WORKSPACE2
window3


итп

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

Ещё хотелось бы меню выключения как в xfce4. Я себе своял через конфиг, жаль, что не могу сейчас его выложить, приду домой, если не забуду выложу, но хотелось бы отдельным апплетом его своять.

anonymous
()

Спасибо, отличная панель получилась, мне как раз не хватало в жизни счастья сортировки иконок по времени активации на панели задач + большой заголовок для окон (сделал 2мя апплетами Панель задач).

По поставленным вопросам о Directory Menu и «меню» - мне ненужны.

Пожелание у меня только по системному трею, осмелюсь озвучить: возможность скрывать иконки выбранных (в основном событийных) программ. Например, иконку mail checker не видно, пока не пришло новое письмо.

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

не то, чтобы прям критично нужно, но для красоты пусть будет, спасибо

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

кстати, раз уж всё равно используешь lxsession - вместо xscreensaver-lock кошерней использовать lxlock, как мне кажется

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

слушай, а ты с оригинальными сорцами синхронизируешь изменения?

От них — периодически беру актуальные патчи из гита и багртекера. К ним - нет. Меня пытались на это уговорить, но мне это абсолютно не интересно. Возможно, кто-нибудь над этим работает, не знаю, давно к ним в гит не заглядывал. Вообще, говоря формально, «оригинальные сорцы» — это сорцы у меня на гуглокоде. Потому что это не патчсет, а форк. ;)

Я рассчитывал до НГ допилить релиз, но сейчас никак, работа навалилась.

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

просто у тебя там, насколько я понял, основная часть из 0.5.6, в то время как актуальна 0.5.8. Тот же батарейный плагин как не работал, так и не работает, например. И перепилили, судя по чейнджлогу деб-пакета, достаточно много

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

Батарейный плагин просто мне тестировать негде. Видимо, это вот этот патч. Ты можешь сам его наложить на мои исходники и протестировать. Если всё ок, добавлю.

А в ченджлогах между .6 и .8 ничего существенного, сам посмотри. Всё, что было там актуально, я перенес. Более того, перенес/реализовал несколько полезных патчей/FR из их трекера, до которых там дела никому нет.

geekless ★★
() автор топика

И снова здравствуйте, мои дорогие любители инновационных интерфейсов. Дедушка Мороз на Новый Год принёс вам 2 новых фичи в lxpanelx.

Первая фича касается использования свойства _NET_WM_ICON_GEOMETRY. Для тех, кто еще не в теме: это свойство указывает место на экране, где находится «кнопка» или свернутая «иконка» окна. Когда ваш любимый WM при сворачивании/разворачиванииокна рисует соответствующую анимацию, он использует эти координаты. Когда ваш любимый компиз показывает всплывающие миниатюры над кнопками панели задач, и он тоже использует эти коррдинаты.

Т.к. панель задач в lxpanelx настолько универсальна и крута, что вы наверняка захотите разместить её не одну, а две или даже три (с разными режимами работы), то возникает проблема: каждая из панелей будет пытаться засунуть в _NET_WM_ICON_GEOMETRY собственные координаты кнопок, и получится бардак.

Чтобы этого не происходило, в настройки добавлена новая опция, позволяющая включить/выключить использование _NET_WM_ICON_GEOMETRY для каждой панели задач отдельно.

Вторая фича намного более крута. Теперь панель задач умеет в свойствах каждого окна прописывать его порядковый номер на панели в свойстве _LXPANEL_TASKBAR_WINDOW_POSITION. Эта опция тоже включается в настройках, чтобы разные панели не передрались между собой.

Так что если вы мечтали о чем-то типа: «Ну когда же я смогу переключать окна панели глобальными хотеями вида Mod4+1, Mod4+2, Mod4+3, Mod4+4 и так далее», то не мечтайте, а просто обновитесь. А затем при помощи xbindkeys, bash, скотча и такой-то матери сделайте себе эти глобальные хоткеи! Чтобы вы не страдали, вот вам готовый скрипт, активирующий окно по его порядковому номеру:

#!/bin/bash

while read id ; do
	if [[ "`xprop -id $id _LXPANEL_TASKBAR_WINDOW_POSITION | cut -d'=' -f2 `" -eq $1 ]] ; then
		wmctrl -ia $id
		exit 0
	fi
done < <( wmctrl -l | cut -d' ' -f1 ) 2>/dev/null

exit -1

Новые опции расположены в настройках панели на вкладке Integration. И в дальнейшем на этой же вкладке будут появляться не менее вкусные опции.

А теперь другие новости:

Мужики из LXDE настойчиво зовут меня в свою команду заниматься разработкой lxpanel. Я не знаю, зачем мне это нужно, но подумаю. По слухам PCMan решил запилить новую панель с блекджеком и продажными зависимостями от библиотек Гнома. И теперь кто-то должен встать на пути темных сил зла.

Также в репозитории lxpanel наконец-то появились признаки разумной деятельности, и было исправлено несолько багов. Ваш Дедушка Мороз обязательно перенесёт эти фиксы в lxpanelx, как только придёт в себя после ночи с 31-го декабря на 14-е января.

Не переключайтесь.

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

Держите нас в курсе новостей, подпишусь на тему

coldy ★★
()

Будет очень универсальный и маложручий движок меню в стиле suckless.

openbox - конфиги на xml

в стиле suckless

конфиги на xml

suckless

xml

facepalm.jpeg

Waterlaz ★★★★★
()
Ответ на: что пока заметил от lazyklimm

Запилил оторбражение иконок у файлов в dirmenu. Оказалось, элементарно, надо было только GIO-шный ман почитать.

geekless ★★
() автор топика
Ответ на: lxlock? от anonymous

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

lazyklimm ★★★★★
()

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

1. Высветление иконок у свернутых окон. Если окно свернуто, иконка бледная. Если окно не свернуто иконка, что характерно, не бледная. Интуитивно-понятный, интерфейс, ёпт. Полностью аналогично тому, что вы могли видеть в gnome-panel и xfce-panel. (И даже код осветления спёрт оттуда же. Продукт полностью, идентичный натуральному. Enjoy your GPL.)

Важным отличием от gnome-panel является лишь то, что фича отключаема. (Как и прочие три, впрочем.) Так что если она вас бесит, совсем не обязательно удалять панель. ^_^

2. Открытие меню группы по наведению мыши. Если несколько окон свернуто в группу, больше не надо щелкать по группе чтобы добраться до списка окон. Навели мышь, появилось меню. Ваша мышь прослужит дольше. Так lxpanelx заботится об экологии.

3. Колоризация кнопок на панели задач. Фон кнопки подкрашивается тем же оттенком, который имеет иконка! Зачем это нужно? Не спрашивайте. Просто пользуйтесь, если нравится.

4. Киллерфича! Без шуток, киллер — она сожрет несколько добрых десятков метров памяти, а потом завесит панель. На самом деле, это скорее концепт, чем фича. Отображение миниатюр окон приложений вместо иконок. Yes, it is! Вы всё поняли верно.

Кое-какие подводные камни:

  • Обработка миниатюр производится на стороне клиента (то бишь панели). Поэтому она тормозит и жрёт память. Впрочем, это только концепт, не забывайте.
  • Для маштабирования используется алгоритм, обеспечивающий наилучшее качество. Поэтому никакого цветного мусора на миниатюрах, всё четко. Но. Поэтому панель тормозит и жрёт память. Ну вы уже в курсе.
  • Миниатюры не обновляются в реальном времени, только при свертывании/развертывании окон. Ведь это конце... впрочем, я уже говорил.
  • Вам понадобится композитинг. Более точно: вам понадобится компиз. С xcompmgr фича не работает. Не знаю, почему, еще не разбирался. С kwin не тестировал.
  • Тестируем так: Запускаем компиз. Запускаем какие-нибудь прилоежния. Запускаем панель. Наслаждаемся. Через некоторое время панель зависнет (если не повезет, то зависнет сразу) — без паники, так и должно быть. (Я еще не добрался до поиска и починки бага.) Прибиваем панель, отключаем фичу в конфиге и преисполняемся чувства приобщения к гламурнейшему гламуру и крутейшей крутоте. Пусть это чувство греет вас, пока я не починю баги.
  • Ах да. Если у вас старый компьютер, вам не повезло.

Ну и разумеется скриншот: http://s018.radikal.ru/i517/1201/8c/6389280d1e19.png

Оставайтесь с нами!

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

Первое самое нужное. Надо будет поставить.

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