LINUX.ORG.RU

Допилил крысоглобалменю.

 , , , ,


9

5

Итак, второй новостной пост о крысоглобалменю.

Github AUR

Зависимости (все есть в официальных репах арча):

  • gtk3
  • bamf
  • libwnck (опционально)
  • xfce4-panel
  • CMake (сборка)
  • Vala (сборка)

Для отображения меню надо:

  • unity-gtk-module (Пакет по ссылке работает с непатченными GTK)
  • appmenu-qt (в официальных репах арча)
  • appmenu-qt5 (в aur)

Ничего больше не надо. Спокойно портируется в любой дистр (только для unity-gtk-module патч утащите из пакета)

Чем лучше topmenu?

  • Сериализует меню => внешний вид меню одинаков
  • Получает все преимущества третьегнома и убунтовых фиксов без ubuntu
  • Хорошо работает с gtk3, qt, qt5, libreoffice и chromium (с лисом запарка пока, но она вроде и в topmenu запарка)
  • Может работать без wnck и x11 (если кто-то напишет bamf для wayland, что не так сложно, ибо dbus, может даже сам возьмусь на основе mutter)

Чем хуже?

  • Нет плагина для mate (может сделаю)
  • Нет сетевой и пользовательской прозрачности by design (о меню рутового ФМ можно не мечтать)

Как устанавливать в арче:

  • Ставим сам плагин
  • Ставим нужные optdepends
  • После установки unity-gtk-module может пропасть меню - это нормально (а если меню не пропало - нужно перелогиниться, меню пропадет и unity-gtk-module включится)
  • Добавляем апплет на панель - меню теперь там. (если ничего не появилось - смело пишите баг)
  • Для скрытия меню в Gtk3 надо в .config/gtk-3.0/settings.ini дописать строки:
    gtk-shell-shows-app-menu=true
    gtk-shell-shows-menubar=true
    
  • Для показа меню в Gtk2 зайти в dconf-editor и выключить com.canonical.unity-gtk-module.gtk2-shell-shows-menubar
★★

Последнее исправление: cetjs2 (всего исправлений: 4)
Ответ на: комментарий от stevejobs

Скрин

Слева направо:

  • Whisker Menu
  • vala-panel-appmenu-xfce (сабж)
  • Трей
  • xfce4-sntray-plugin (трей в стиле 5 кед)
  • Часики
Athor ★★
() автор топика
Ответ на: комментарий от darktic

С лисом пока только в убунте, я в js дуб дубом. Там надо в menumodel превратить лисоменю плагином.

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

Хорошо. Зато оно работает с хромом. (Хром не дает для topmenu ничего). А с лисом надо посмотреть. Я глядел убунтовые патчи - мне не понравилось. Extension было бы православнее. Кто-нибудь знает, можно ли в firefox extensions юзать gir?

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

Не собирается на Ubuntu 14.04 - http://pastebin.com/Xfe80jEq
Версия libwnck ниже. Как быть?

user@PC:~$ dpkg -l libwnck-*
...
ii  libwnck-3-0:i386      3.4.7-0ubuntu3. i386            Window Navigator Construction Kit - runtime file
ii  libwnck-3-common      3.4.7-0ubuntu3  all             Window Navigator Construction Kit - common files
ii  libwnck-3-dev         3.4.7-0ubuntu3. i386            Window Navigator Construction Kit - development 
ii  libwnck-common        1:2.30.7-0ubunt all             Window Navigator Construction Kit - common files
un  libwnck-dev           <нет>           <нет>           (описание недоступно)

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

Какие версии там? Попробуй просто поменять в CMakeLists.txt. Если скомпилится - напиши баг (не скомпилится - тоже). Но учти, я сижу на арче и если в арче сломается плагин при фиксе убунты, я пошлю LTS убунту на 3 буквы, а если нет - то пофиксить можно будет.

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

А что там с BAMF - там должно быть 0.5.0 же вроде. Это уже смотреть надо.

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

Тут есть 2 варианта - отказаться от русского перевода в файле «appmenu.desktop» или обновить msgfmt. Если выберешь первое - я патч предоставлю. Второе - не ко мне.

У тебя msgfmt не умеет переводить файлы *.desktop

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

последний патч что-то неочень )

user@PC:~/build/vala-panel-appmenu-xfce/vala-panel-appmenu-xfce-0.1.0$ patch -p1 < fBSFuCCA.txt
(Stripping trailing CRs from patch; use --binary to disable.)
patching file cmake/Translations.cmake
Hunk #1 FAILED at 25.
patch unexpectedly ends in middle of line
patch: **** malformed patch at line 36:  

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

там в submodule проблема. Вот надо его пропатчить. Могу отдельно выложить патч для submodule. Хотя можно сделать релиз и все.

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

у тебя стоит unity-gtk-module и все такое? Нужно прописать UBUNTU_MENUPROXY=1, тогда меню появится. Ну и не забудь после добавления на панель щелкнуть по окну.

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

в Убунтах еще unity-gtk-module-common еще надо патчить и пересобирать?

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

UBUNTU_MENUPROXY=1 - в ~/.profile Нет, с unity-gtk-module в убунтах все ок. Только поставить не забудь его полностью для обоих версий гтк. Ну и appmenu-qt для кутей

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

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

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

Мне кажется патча нет в убунте. Скачал архив https://aur.archlinux.org/packages/un/unity-gtk-module-standalone-bzr/unity-g...
В нём есть патч unity-gtk-module-gsettings.patch

$ cat unity-gtk-module-gsettings.patch
=== modified file 'data/com.canonical.unity-gtk-module.gschema.xml'
--- data/com.canonical.unity-gtk-module.gschema.xml	2013-11-14 18:51:01 +0000
+++ data/com.canonical.unity-gtk-module.gschema.xml	2015-04-03 16:28:11 +0000
@@ -11,5 +11,10 @@
       <description>List of applications where unity-gtk-module should be enabled.</description>
       <default>[]</default>
     </key>
+    <key name="gtk2-shell-shows-menubar" type="b">
+      <summary>Determines GTK2 menus behaviour</summary>
+      <description>This key is ubuntu gtk patch replacement.</description>
+      <default>true</default>
+    </key>
   </schema>
 </schemalist>
...

Судя по

$ cat /usr/share/glib-2.0/schemas/com.canonical.unity-gtk-module.gschema.xml
<?xml version="1.0" encoding="UTF-8"?>
<schemalist>
  <schema id="com.canonical.unity-gtk-module" path="/com/canonical/unity-gtk-module/">
    <key name="blacklist" type="as">
      <summary>Application blacklist</summary>
      <description>List of applications where unity-gtk-module should be disabled.</description>
      <default>[]</default>
    </key>
    <key name="whitelist" type="as">
      <summary>Application whitelist</summary>
      <description>List of applications where unity-gtk-module should be enabled.</description>
      <default>[]</default>
    </key>
  </schema>
</schemalist>
этого патча в Убунте нет ...

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

Этот патч в убунте и не надо. Это чтоб Gtk в арче не патчить. Еще раз: какую ревизию собрал? Потому что если нет менюшек - это 0.1.0 чистая. Она нерабочая.

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

Поставил в арче сабж и unity-gtk-module по ссылке. В тунаре и xfce4-terminal нет меню. В smplayer тоже не переносится на панель.

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

Ну и апплет не забудь добавить на панель. Меню пропадает независимо от апплета, если unity-gtk-module включился (там в gsettings галку сменить надо, чтоб оно снова появилось)

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

Добавил в шапку инструкцию по установке.

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

Сделал по инструкции из шапки. Перелогинился. Меню тунара и терминала появляется на панели, если включить показ меню в самой программе, но в таком случае есть строка на панели и в окне программы. gtk{2,3} из реп.

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

Странно. У меня такого нет почему-то, хотя gtk{2,3} тоже из реп. Будем устранять. Скрин пришли с тунаром, dconf-editor и двумя вариантами той настройки. Чтоб я все же посмотрел, что с ним творится.

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

Инструкция для арча. В убунте gtk2 пропатчено так, что gtk-shell-shows-menubar есть в gtkrc. Туда его и надо

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

Всем кто юзает - обновитесь до последней ревизии. Там есть экспериментальная поддержка нескольких апплетов. Теперь меню можно иметь хоть на каждом мониторе!

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

А тебе - обнови unity-gtk-module, чтоб pkgrel был 6. Там подобные глюки я пофиксил

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