• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

applets/H28-Oct-2020-371346

data/H28-Oct-2020-120107

lib/H28-Oct-2020-5,3594,469

po/H03-May-2022-2,5001,985

rpm/H28-Oct-2020-396326

subprojects/H28-Oct-2020-14,2279,687

vapi/H28-Oct-2020-453443

.clang-formatH A D28-Oct-20202.5 KiB8483

.gitattributesH A D28-Oct-202032 21

.gitignoreH A D28-Oct-20201.3 KiB5049

.gitlab-ci.ymlH A D28-Oct-20203.4 KiB10896

.gitmodulesH A D28-Oct-202094 43

LICENSEH A D28-Oct-20207.3 KiB6739

README.mdH A D28-Oct-20207.2 KiB12699

meson.buildH A D03-May-20223.3 KiB12195

README.md

1---
2Vala Panel Application Menu
3---
4
5Vala Panel Application Menu is a Global Menu applet for use with Vala Panel, xfce4-panel and mate-panel (Budgie 10.x is also planned). unity-gtk-module is used as a backend, and thus must also be installed (see instructions, below).
6
7**REQUIRED DEPENDENCES**
8
9 * GLib (>= 2.50.0)
10 * GTK+ (>= 3.22.0)
11 * valac (>= 0.24.0)
12 * libbamf (>=0.5.0)
13
14---
15Compilation Instructions (Non-Distribution-Specific)
16---
17  * Install all the required dependencies listed above. These packages may have different names depending on your distribution. Please see [below](#dependency-packages) for the package names on some specific distributions (i.e. Ubuntu).
18  * Clone this repository to your `home` directory by typing:
19  `git clone https://gitlab.com/vala-panel-project/vala-panel-appmenu.git` then `cd` into the directory.
20  * type `git submodule init && git submodule update --remote --merge` to download the submodules (this will download the cmake and dbus-menu submodules you see in the repository, above)
21  * type `mkdir build && cd build` (to keep things tidy)
22  * You're **almost** ready to run `cmake`. First, review the following flags:
23    * CMAKE FLAGS:
24      * `-DENABLE_XFCE=[ON/OFF]` Use `ON` to compile applet for XFCE Panel
25      * `-DENABLE_BUDGIE=[ON/OFF]` Use `ON` to compile for budgie (experimental)
26      * `-DENABLE_VALAPANEL=[ON/OFF]` Use `ON` to compile for Vala Panel
27      * `-DENABLE_MATE=[ON/OFF]` Use `ON` to compile for MATE Panel
28      * `-DENABLE_JAYATANA=[ON/OFF]` Use `ON` to include Jayatana library (enable global menu for java swing applications)
29      * `-DENABLE_APPMENU_GTK_MODULE=ON` Use this flag if you are compiling for a distro other than Arch (see instructions below for including unity-gtk-module with Arch) or Ubuntu (Ubuntu users can install unity-gtk-module from the ubuntu repositories--see 'Post-build Instructions', below).
30      * `-DCMAKE_INSTALL_PREFIX=[path]` By default, Vala-Panel-Appmenu will install in the `/usr/local` directory. You can use this flag to change that. For some DEs (XFCE, for example), it is required to match install prefix with panel prefix (`/usr` in most distros), so, do not forget it.
31  * once you've decided on any flags you want to include, type (from your build directory) `cmake [flags] ..`
32  * once the build is successful, you can compile and install Vala-Panel-Appmenu by typing `make && sudo make install`
33---
34Post-Build Instructions
35---
36- Install bamfdaemon (if it is not bundled with libbamf)
37  - It is strongly recommend to add bamfdaemon to autostart
38- Install GTK module using instructions below
39- To get QT menus to work, install your distribution's qt4 and qt5 appmenu packages. In Ubuntu 17.04, for example, this involves typing `sudo apt-get install appmenu-qt`
40
41To install and enable unity-gtk-module for your distro:
42
43 **UBUNTU-BASED DISTROS**
44 - Install unity-gtk-module by typing `sudo apt-get install unity-gtk-module-common unity-gtk2-module unity-gtk3-module`
45 - Follow instructions in (appmenu-gtk-module) [README](subprojects/appmenu-gtk-module/README.md), but replace any occurence of `appmenu-gtk-module` to `unity-gtk-module`
46
47 **ARCH-BASED DISTROS**
48* Install from AUR [appmenu-gtk-module-git](https://aur.archlinux.org/packages/appmenu-gtk-module-git/) for GTK applications to work
49* Install [Appmenu](https://www.archlinux.org/packages/community/x86_64/appmenu-qt4/) to get appmenu for Qt4 Applications to work. Qt 5.7 must work out of the box.
50* Install these [libdbusmenu-glib](https://archlinux.org/packages/libdbusmenu-glib/) [libdbusmenu-gtk3](https://archlinux.org/packages/libdbusmenu-gtk3/) [libdbusmenu-gtk2](https://archlinux.org/packages/libdbusmenu-gtk2/) to get Chromium/Google Chrome to work
51 - Follow instructions in the (appmenu-gtk-module) [README](subprojects/appmenu-gtk-module/README.md), if it is not enabled automatically.
52
53 **DISTROS OTHER THAN ARCH OR UBUNTU**
54 - When building vala-panel-appmenu with CMAKE, use the flag, `-DENABLE_APPMENU_GTK_MODULE=ON`
55 - Follow instructions in the (appmenu-gtk-module) [README](subprojects/appmenu-gtk-module/README.md)
56
57
58**NOTE**:
59Vala-Panel-Appmenu conflicts with [qt5ct](https://sourceforge.net/p/qt5ct/tickets/34/) before 21.04.2017, so, if you are using an older version of qt5ct, use another PlatformTheme.
60
61---
62Desktop Environment-Specific Settings
63---
64When using the Vala-panel-appmenu as an XFCE or MATE menu applet, you have to configure the appmenu to show in the panel applet, rather than on each individual window. This configuration should remove any 'double' menus you may experience:
65
66**XFCE**
67- If you are using Vala-Panel-Appmenu for XFCE-Panel, type the following lines into your console:
68```
69xfconf-query -c xsettings -p /Gtk/ShellShowsMenubar -n -t bool -s true
70xfconf-query -c xsettings -p /Gtk/ShellShowsAppmenu -n -t bool -s true
71```
72
73**MATE**
74- Enable the appmenu and menubar in gtk with these steps:
75- If you are using MATE>=1.19 (or 1.18 in Ubuntu), use this commands:
76```
77gsettings set org.mate.interface gtk-shell-shows-app-menu true
78gsettings set org.mate.interface gtk-shell-shows-menubar true
79```
80
81**BUDGIE**
82- If you using gnome-settings-daemon, you should go to dconf-editor and set key `org.gnome.settings-daemon.plugins.xsettings.overrides` to `{'Gtk/ShellShowsAppMenu': <0>, 'Gtk/ShellShowsMenubar': <1>}`
83
84- If commands above does not work, create or edit .config/gtk-3.0/settings.ini file in your home(~) directory and add the following lines to it under `[Settings]`:
85```
86  gtk-shell-shows-app-menu=true
87  gtk-shell-shows-menubar=true
88```
89
90---
91Experimental Features
92---
93**JAyatana**
94
95JAyatana allows for displaying global menus in Java Swing applications. Because Vala-Panel-Appmenu uses the unity-gtk-module backend, this should theoretically work with JAyatana, although applications such as Netbeans and the JetBrains suite of IDEs require some configuration, which you can figure out with a cursory internet search.
96
97There are some problems with the implementation, notably that you need to include `env XDG_CURRENT_DESKTOP=Unity` to the beginning of your launch command.
98
99Basic Instructions for Enabling JAyatana:
100* Install OpenJDK >= 7 or JDK >= 1.7
101* Build vala-panel-appmenu with `-DENABLE_JAYATANA=ON`
102* Add following lines to your ~/.profile and ~/.bashrc, in any order:
103```
104export _JAVA_OPTIONS="${_JAVA_OPTIONS} -javaagent:/usr/share/java/jayatanaag.jar"
105export JAYATANA_FORCE=1
106```
107
108---
109Dependency Packages
110---
111**Ubuntu 18.04**
112
113*All variants require:* `git build-essential cmake bamfdaemon libdbusmenu-glib-dev libgtk2.0-dev gobject-introspection libbamf3-dev libdbus-glib-1-dev libffi-dev libgirepository1.0-dev libpeas-dev libstartup-notification0-dev libwnck-3-dev libwnck-common libwnck22 libxml2-utils libxres-dev libvala-0.40-0 valac valac-0.40-vapi`
114
115*Ubuntu Budgie also needs:* `budgie-core-dev gir1.2-budgie-1.0 libbudgie-plugin0 libbudgietheme0 libraven0`
116
117*Ubuntu MATE also needs:* `libmate-panel-applet-dev`
118
119*Xubuntu also needs:* `exo-utils libexo-1-0 libexo-2-0 libexo-common libexo-helpers libgarcon-1-0 libgarcon-common libxfce4panel-2.0-4 libxfce4panel-2.0-dev libxfce4ui-1-0 libxfce4ui-2-0 libxfce4ui-common libxfce4util7 libxfce4util-common libxfce4util-dev libxfconf-0-2 libxfconf-0-dev xfce4-panel xfce4-panel-dev xfconf`
120
121*Vala Panel also needs:* `libvalapanel0 libvalapanel-dev`
122
123Author
124===
125 * Athor <ria.freelander@gmail.com>
126