LINUX.ORG.RU

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

 ,


0

3

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

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

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

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

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

kernelpanic ★★★★★
()

Насколько вообще апплет Directory Menu востребован? Вы им пользуетесь?

нет

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

Омг. Патч на патч на программу; что за рекурсия.

Патч configure_desktop_number.patch не подходит по идеологии. Никаких захардкоженных имен внешних программ не должно быть.

Патч fix_position.patch к lxpanelx не относится, это на свежий релиз lxpanel. Если в lxpanelx есть какие-то проблемы с рассчётом размеров и позиций, то нужен багрепот.

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

Я вижу. Вот только зачем ты мне их показываешь тогда?

А, ну и до кучи, у ванильной obconf нет параметра --tab. Даже для внутреннего использования не стоит так резать по живому. Интегрированное окружение надо создавать объединяя при помощи тонкой настройки гибкие и мощные программы, а не такими варварскими методами. А если где-то гибкости не хватает, ваши патчи в апстрим примут с удовольствием, если они уверсальные и как раз дают оную гибкость.

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

было бы клево (с целью заманить потенциальных пользователей) запилить проекту красивую стартовую страницу или даже вики на 2х языках со скриншотами и списками киллер-фич

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

> было бы клево (с целью заманить потенциальных пользователей) запилить проекту красивую стартовую страницу или даже вики на 2х языках со скриншотами и списками киллер-фич

Пока времени нема.

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

> что-нибудь среднее между dzen2 и wibox из Awesome.

Это уже движок виджетов получится. Вещь, конечно, хорошая, но отношения к панели имеет мало.

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

> Сделай appmenu, тогда я выкину гном-панель =]

А ты мне объясни архитектуру и взаимосвязи компонент appmenu, чтоб было понятно, с какого места начинать отпиливание. ^__^

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

Там какая-то ядреная уличная магия с использованием bamf. Больше всего мне нравится вот этот ворнинг в процедуре инициализации:

	self->matcher = bamf_matcher_get_default();
	if (self->matcher == NULL) {
		/* we don't want to exit out of Unity -- but this
		   should really never happen */
		g_warning("Unable to get BAMF matcher, can not watch applications switch!");
	}
Означает ли это, что без bamf эта херня не может завестись в принципе?

Блджад, эти идиоты придумали целый демон для работы с окнами, потому что решили гнать данные через dbus вместо нормального иксового IPC и не осилили подружиться с NETWM.

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

Судя по всему да, там куча костылей и зависимостей :)

 * These packages depend on bamf:
x11-misc/indicator-appmenu-0.3.2 (x11-libs/bamf)

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

Вот ты подумай. Вынос меню на панель конечно экономит место по вертикали в тайлинге и даёт +10 к ЧСВ. Но стоит ли портить себе карму, толкая эту пакость в генту?

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

>Вынос меню на панель конечно экономит место по вертикали в тайлинге и даёт +10 к ЧСВ.
А я просто использую модуль для gtk2, скрывающий меню, написанный каким-то анонимусом.

kernelpanic ★★★★★
()

Я прикрутил в fvwm динамическое пайп-меню Places, оно открывает файлы с помощью xdg-open. Рекомендую вместо файлменеджера заюзать его.

Прямо вот сейчас использовал его в первый раз где-то за полгода, но, наверное, оно имеет право на существование.

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

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

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

>Означает ли это, что без bamf эта херня не может завестись в принципе?

У меня bamf даже не установлен, использую appmenu для Qt, gtk и Firefox, чтобы в заголовке окна была кнопочка с локальным меню вместо строки меню, всё работает без этого bamf. Когда-то давно, помнится, в гноме, не работало без bamf, сейчас в KDE всё работает.

gentoo_root ★★★★★
()

Так активно пиаришь(ну или на глаза часто попадается), что аж попробую.
А в несвободное время что пишешь? Тоже что то на С?

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

> А в несвободное время что пишешь? Тоже что то на С?

Ruby, JS, прочий веб.

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

Обновил перевод на русский.

Господа, нет ли желающих заняться обновлением переводов на украинский, белорусский или прочие языки?

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

> А может быть pipemenu лучше оформить в виде отдельной программы, которую можно забиндить на хоткей или вызывать из командной строки? Будет очень универсальный и маложручий движок меню в стиле suckless.

ИМХО делать лишний велосипед, даже в стиле саклесс не стоит, лучше запилить более кошерный костыль меню openbox (без помощи xdotool). Кстати, кнопка с «xdotool key super_L» работает где-то 1 раз из 10 и из-за этого, я уверен, у меня и висит openbox (напишу багрепорт в скором будущем). Думаю, это из-за того, что клавиша super на кошерна для этого.

Мне кажется, что не хватает настройки шрифтов в панели. Гуглил, нашел только что в lxpanel это делается правкой исходных кодов.

З.Ы. юзер lxpanelx с самого его начала разработки.

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

Получаем командой svn исходники отсюда: http://code.google.com/p/lxpanelx/source/checkout (там написано, как)

Заходим в каталог с исходниками.

Конфигурируем исходники, компилируем и устанавливаем:

./configure --prefix=${HOME}/builds/lxpanel
make && make install

Это установит программу в каталог ~/builds/lxpanel. Запускаем, смотрим, как всё плохо с переводом на целевой язык:

~/builds/lxpanel/bin/lxpanel

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

Заходим в каталог po, выполняем обновление базы переводов:

cd po
make update-po

Открываем файл с переводом в редакторе poedit:

poedit uk.po &

В редакторе видим выделенные жирным фразы без перевода. Переводим. Для некоторых фраз редактор попытается угадать перевод. Исправляем, где он ошибся. Остальные фразы тоже желательно просмотреть на предмет наличия ошибок предыдущего переводчика. Когда всё готово, сохраняем файл. Если есть сомнения, как перевести какую-то фразу (смысл исходной фразы не ясен), сверяемся с файлом перевода на другой язык, например, на русский.

Возвращаемся в вышележащий каталог и пересобираем программу:

cd ..
make && make install

Запускаем и смотрим на результат перевода:

~/builds/lxpanel/bin/lxpanel

Если замечены ошибки, возвращаемся к редактированию файла и повторяем.

Когда всё готово, отсылаем мне файл перевода.

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

> Когда всё готово, отсылаем мне файл перевода.

Не быстрее ли будет, если ты вышлешь мне два po-файла, английский и русский, сделаю на их основе перевод - и отправлю тебе?

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

> ИМХО делать лишний велосипед, даже в стиле саклесс не стоит

Ок, назовите мне сопоставимый по функциям движок динамического меню, не привязанный к WM-у или иной программе.

Мне кажется, что не хватает настройки шрифтов в панели. Гуглил, нашел только что в lxpanel это делается правкой исходных кодов.

Что не так со шрифтами? Шрифты юзаются те, которые выставит Gtk. (Вообще, по идее, шрифты должны для отдельных виджетов выставляться правилами в .gtkrc-2.0. Но, кажется, это то ли не работает, то ли я не могу верно составить правило.)

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

Добавил настройки размера шрифта.

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

Действие декорировать/раздекорировать сделано MWM-совместимым. Это значит, теперь оно должно работать в любом относительно мейнстримовом WM. Протестировано в IceWM и fluxbox. Если запущен openbox, то используется openbox-совместимый механизм, в иных случаях — MWM-совместимый.

Раздекорирование окна скрывает заголовок окна, но оставляет контур.

Тестируйте, кому актуально.

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

малацца

>Апплет отображает не только дерево каталогов, но и простые файлы.

зачёт

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

xdg-open есть же

Насколько вообще апплет Directory Menu востребован? Вы им пользуетесь?

активно пользовался KDE-шным, в lxde-шном не хватало, в том числе именно показа файлов

Подумываю прикрутить фильтрацию каталогов и файлов регэкспами ­— кому-нибудь это надо?

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

Может быть, для lxpanelx имеет смысл сделать апплет pipemenu, аналогичный динамическим меню openbox-а?

хотелось бы функционал a-la dzen2/modeline/etc - чтобы можно было пихать в виджеты простой текст c stdin

lazyklimm ★★★★★
()

ещё хотелось бы иерархическую менюшку с воркспейсами-окнами

ws1->|win1
     |win2

ws2->|win3

итп

итп, да, фильтрация-поиск там тоже очень рекомендуются

lazyklimm ★★★★★
()
Ответ на: малацца от lazyklimm

> xdg-open есть же

Ну что впишешь в настройках, то и будет. :)

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

Тут проблема с двиглом gtk. Т.е. эта простая с виду функциональность действительно проста, когда на руках есть готовый движок меню. Но когда дело касается gtk, кругом в обилии начинают водиться костыли. А вообще интересная идея, надо будет подумать, как это проще прикрутить.

хотелось бы функционал a-la dzen2/modeline/etc - чтобы можно было пихать в виджеты простой текст c stdin

«Мы работаем над этим», ага.

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

> иерархическую менюшку с воркспейсами-окнами

В виде отдельного апплета? В виде особого режима панели задач? Еще как-то?

И разве в практически любом WM не есть такое же точно меню? Зачем дублировать функции?

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

Я вообще не понимаю, почему функциональность «интерактивно отфильтровать элементы меню» не впилена еще как штатная во все мейнстримовые и немейстримовые тулкиты. Это же очевидное и бесплатное улучшение интерфейса для кучи программ.

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

>В виде отдельного апплета?

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

И разве в практически любом WM не есть такое же точно меню?

это если используется меню WM (и оно вообще есть).

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

я, кстати, сейчас подумал, может быть действительно сделать аналог openbox pipemenu (возможно не отдельной программой, а всё-таки апплетом), только с поддержкой иконок. Тогда на базе этого движка можно реализовать и меню приложений и меню окон и меню чего угодно.

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

Я сейчас работаю над закрытием основных FR для выпуска стабильного релиза. (будет 0.6, т.к. в точке форка был 0.5.6)

Вывод данных на панель из пайпа пойдёт в этот релиз. Собственно, это одна из ключевых фич, без которых я не хочу делать релиз.

Фильтрация элементов dirmenu потребует неизвестного мне сейчас количества усилий, так что будет не раньше 0.7. Туда же пойдет и апплет с меню окон, т.к. он потребует переделки базовых компонентов (чтобы не плодить дублирующуюся функциональность в разных апплетах). Щас оформлю их в багтрекере.

аналог openbox pipemenu, только с поддержкой иконок

Поддерживает же.

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

>Поддерживает же.

о, надо же. Ну, в любом случае, я openbox не пользуюсь :]

lazyklimm ★★★★★
()

что пока заметил

request> в dirmenu иконки у файлов не отображаются

bug> при добавлении и удалении апплета globalmenu сегфолтится (самого globalmenu не установлено)

lazyklimm ★★★★★
()

ещё, хз, баг это или фича, но как-то ниалё

пкм на панели->настройки панели->(диалог настройки)апплеты панели->добавить апплет(например button)

пкм на апплете->«убрать appletname с панели», апплет убирается, но при этом закрывается диалог настройки

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

Ты про апплет menu, который установленные программы показывает?

Когда gtk подсовываешь имя иконки, он ищет её в стандартных каталогах: каталоге темы, каталоге дефолтной темы.

С файлами всё сложнее. Сначала надо узнать MIME файла. Потом запросить иконку для MIME.

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