One of my main reasons to choose Ubuntu Budgie over other distros around here, its that it beautifully integrates a Gnome desktop without Gnome Shell (so it’s light on resources and highly customizable), and it includes a Global Menu. After a decade of being a Mac user, a global menu is an indispensable part in my productivity workflow.
But as you know, the Global Menu applet has display problems when it’s placed on the left side instead of in the center, because it will cut the items in the menu once the text reaches the middle of the panel.
After many tests and experiments with CSS, I have found a small fix for this.
Basically, we will use the global GTK settings to override the size of the fonts set by your current theme. This will not fix the cutting problem, but it will guarantee that even in applications like GIMP or Inkscape, all the menus are displayed on the screen.
This has been tested on Ubuntu Budgie 18.04 and 19.04, and it works with all the themes.
Go to your personal folder, and inside the .config folder, you will see one called gtk-3.0.
Create a new empty file inside this folder, using this name:
gtk.css
Basically, every CSS rule placed inside this gtk.css file will override your theme settings.
Open the gtk.css file with a text editor, and copy this:
.-vala-panel-appmenu-private > menuitem:not(:first-child) > label {
font-size: 13px;
}
Save and close the document, and reboot your computer.
With this fix, you will make the secondary items to have a smaller typography than the title of the application, so they will take less space on the screen.
This not so elegant fix will work if you are using the default typographies. But if you really want to have the first menu of the item and the subitems using the same size, and if you have a more scalable typography set as the default on the system, like the San Francisco font family by Apple, you can try this code instead:
.budgie-panel {
font-family: 'San Francisco';
}
.-vala-panel-appmenu-private > menuitem:not(:first-child) > label {
font-weight: lighter;
}
In this case, we are setting a different font family that will be applied to all the elements on your panel, and only changing the weight of the font for the sub items in the global menu. In theory, it should work. And you can experiment with different font families.
Of course, maybe you hate the idea of having two different font sizes or weights for the items in the menu, so you have this third solution:
.budgie-menubar {
font-size: 13px;
}
And lastly, one final step. In the case of GIMP, the name of the application is too damn long, something like GNU Image Manipulation Program, so it will take a lot of space from your menu.
But don’t worry, you can change this to simply GIMP. So all the menu items will fit on the left side of your panel.
Go to your /usr/share/applications folder.
Open the GNU Image Manipulation Program file with a text editor and as an administrator.
You will see this line:
Name=GNU Image Manipulation Program
Change the line to this:
Name=GIMP
After this, the complete menu for applications like GIMP or Inkscape will be correctly displayed on the screen.
This has been tested on a monitor using a 1600x900 resolution, and it works like a charm.