LINUX.ORG.RU

Модифицированная lxpanel + апплет globalmenu

 ,


0

2

Как и говорил, доделал панель задач для lxpanel и делюсь результатом.

Список фич, по сравнению с оригинальной панелью задач:

Новые режимы. Оригинальная LXPanel Taskbar имеет два режима отображения окон: классический и группировка окон одного приложения одну кнопку с выпадающим списком. Данный форк добавляет еще два: группировка окон одного приложения рядом на панели, но без слияния в одну кнопку, и режим отображения только кнопки для активного окна. В режиме отображения активного окна обычное поведение левой кнопки мыши (свернуть/восстановить) теряет смысл, поэтому щелчок левой кнопкой мыши открывает теперь контекстное меню окна (аналогично правому).

Улучшение режима группировки. В режиме группировки окна, относящиеся к одному приложению, группируются, только когда таких окон несколько. Если приожение имеет едиснтвенное окно, оно остаётся на панели «как есть», без группы. Такое поведение может вызывать недобства в работе, т.к. не позволяет выработать автоматизм при взаимодействии с панелью: часть объектов панели при щелчке левой кнопкой мыши показывает выпадающее меню, а часть - выполняет переключение на другое окно. Чтобы улучшить ситуацию, была добавлена опция создания групп и для одиночных окон тоже: теперь любой объект панели задач ведет себя одинаковым, предсказуемым образом.

Возможность отключить отображение иконок окон. В LXPanel Taskbar присутствовала возможность отображать иконки с заголовками или только иконки. Этот патч добавляет возможность отображать только заголовки, без иконок.

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

Доступ к контектному меню настройки LXPanel. Поскольку панель задач перехватывает щелчок ПКМ, вызывать её настройки было раньше достаточно не удобно: необходимо щелкнуть по любому другому апплету, который отображает контестное меню панели по ПКМ, открыть общие натсройки панели, а затем оттуда открыть настройки апплета панели задач. Сейчас контекстное меню LXPanel отображается при щелчке ПКМ по панели задач, если при этом удерживать клавишу CTRL.

Внутренние доработки в «ядре» панели. В диалогах конфигурации апплетов добавлена возможность использовать выпадающие списки. В API icon-grid добавлена функция для позиционирования одного элемента после другого.

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

На скриншоте на панели видны следующие апплеты:

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

Больше подробностей о новом таскбаре и исходники можно найти вот тут.

>>> Просмотр (1280x1024, 385 Kb)

★★

Проверено: JB ()

Ответ на: комментарий от Axon

> Что касается кнопок закрытия окон - то мне больше по душе щелчок средней кнопкой мыши по задаче в таскбаре, как в tint2. Думаю, я не одн такой, так что эта опция может быть не лишней.

Теперь поведение панели на клик левой, средней и правой кнопкой полностью настраивается. В числе возможных действий: закрыть, показать меню, поднять/свернуть, свернуть, максимизировать, скрутить в заголовок и раздекорировать. (Последнее действие пока не реализовано, как раз сейчас пилю код.)

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

Теперь поведение панели на клик левой, средней и правой кнопкой полностью настраивается. В числе возможных действий: закрыть, показать меню, поднять/свернуть, свернуть, максимизировать, скрутить в заголовок и раздекорировать. (Последнее действие пока не реализовано, как раз сейчас пилю код.)

Круто! Наверное, перейду на неё с tint2.

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

> прошу запилить snapfly в lxpanelx! народу надо, да.

Я так понимаю, запиливание сведётся к добавлению апплета «кнопка, которая может запустить произвольную команду и передать ей координаты, по которым нужно открыть меню»? Ок, добавлю в багтрекер. Реализую, как время найдётся.

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

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

Ну значит сделаю простой плагин «кнопка запуска».

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

Закоммитил в lxpanelx плагин launchbutton.

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

Если нужно запустить команду в терминале, ставьте в начале команды символ &. (Используется терминал, указанный в общих настройках панели на вкладке «Дополнительно».)

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

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