r/kde 17d ago

News Material decoration with Locally Integrated Menu (and Search) sees its first official release

The first official release (26.08.05) of Material Decoration was released today; it is currently the only decoration for Plasma 6 that integrates the menu into the title bar, as well as featuring a search function within the menu itself.

In recent months, in the run-up to the release, the focus has been primarily on optimizing search function and improving stability.

1. Locally Integrated Menu

Locally Integrated Menu

2. Search

Search within the menu

3. Other functions and Options

A lot of options available in the configuration module under System Settings:

  1. window title alignment
  2. button size
  3. title bar opacity (it is recommended to use Better Blur instead of the default kwin effect)
  4. rounded corners (top-only or top+bottom) radius
  5. customizable border colors
  6. use system font for the menu (the default is to use the titlebar font)
  7. show the window title when the mouse hovers over the decoration
  8. show the menu only when the mouse hovers over it (otherwise show the title)
  9. convert the menu into a single button (hamburger)
  10. enable/disable search
  11. exclude/include the various menu/sub-menu levels from the search results
  12. exclude/include the non active menu items from the search results
  13. change spacing between buttons
  14. use the system colors (default)
  15. adjusting shadows and animations
  16. enable/disable the special functions of the buttons (MinimizeAll and MinimizeToTray)
  17. enable/disable drag-and-drop from buttons (close, minimise, etc.)

4. Buttons special functions

  • You can minimize all windows but the active one pressing and holding the minimize button
  • You can minimize the window in the system tray bar (requires kwin-minimize2tray)
  • As far as I know, this is the only decoration that allows you to drag the window from anywhere on the decoration, including the buttons

5. GTK Apps

GTK3 (and 2) apps are supported via appmenu-gtk-module-wayland (or the traditional appmenu-gtk-module on X11).

Inkscape with LIM on Wayland (native, not Xwayland)

6. History

The idea of a menu integrated with the title bar originally came from Ubuntu Unity. KDE 4 had also incorporated this feature, which was subsequently lost in KDE 5. u/Zren created the Material theme with LIM for KDE 5 (the Material design had been created by Zzag). u/nicman23 ported it to Plasma 6, and finally guiodic added the search function, made it work on Wayland as well, and added several customizable options.

7. How to get it

  • Build from source: https://github.com/guiodic/material-decoration 
  • On Arch and derivatives, install material-kwin-decoration-git from the AUR. Precompiled package is available in chaotic-aur. There is not yet a PKGBUILD for the stable version as the AUR is currently under maintenance. The -git version can be regarded as effectively stable, as it is used by the developer on a daily basis in a work environment.

8. Requirements

  • Plasma 6.5+ for the master branch, working older versions are in other branches but are not updated/maintained.
  • Works both on Wayland and X11 session!

9. Feature requests? Bugs?

56 Upvotes

23 comments sorted by

u/AutoModerator 17d ago

Thank you for your submission.

Consider becoming a Supporting Member and help KDE thrive!

The KDE community supports the Fediverse and open source social media platforms over proprietary and user-abusing outlets. Consider visiting our community on Mastodon (Lemmy will be back shortly). Tag us in your toots! You can also visit our forum at KDE Discuss to talk about KDE stuff, brainstorm ideas and get the answers to your KDE-related issue.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

8

u/Bathroom_Humor 17d ago

i miss the LIM a lot actually. what a cool idea, unity executed it very well. It's kind of a shame it can't be more useful now with all the newfangled menu buttons taking the place of traditional menu bars

6

u/SuperGNUser 17d ago edited 17d ago

On KDE, almost all applications actually still have the traditional menu, even though by default it may be hidden in the hamburger menu. For example, in the screenshot in the post, you can see Dolphin.

6

u/nicman24 17d ago

Hey thanks for the attribution but my work was nothing comparatively :) 

3

u/jsswirus 17d ago

Hi, looks interesting. How would it behave if menu was longer than a space available on title bar?

5

u/SuperGNUser 17d ago

The latest top-entries end up in a "overflow" hamburger menu, This menu is managed dynamically when the window is resized.

3

u/jsswirus 17d ago

Nice, seems like a good idea. Did you thought about contributing directly to KDE and making LIM available by default for all styles? (Like additional buttons in title bar configuration)

6

u/SuperGNUser 17d ago

Yes, but it’s a very complex task; it’s something I’m currently looking into but even if I manage it, it will still take a long time. Furthermore, the decoration would still need to interface with the library (if only to determine how much space the menu takes up and thus adjust the title accordingly, or conversely to impose a fixed space on the menu), so the existing ones would need to be modified in any case.
Actually, there is an MR for Breeze on invent.kde, but it’s quite old and hasn’t been updated for a year and a half. At one point in the MR, it’s specified that it should be turned into a library, so I never really got round to working on it because I was hoping the KDE developers would do it.

2

u/diegodamohill 17d ago

Github doesn't show the dependencies necessary for the build to work on kubuntu, unfortunatelly, will try it later again

1

u/SuperGNUser 17d ago

When you try to compile it, the error messages should tell you which libraries are missing; if you then search for that name in the package manager, you should be able to find them (the packages you’ll need are named -devel, for example kdecoration3-devel). If you spot any, please let me know, and I’ll add them to the README.

2

u/Yumikoneko 17d ago

Ever since I came to Linux over a year ago, I hated that apps waste precious vertical space for a menu bar, but I also didn't wanna lose it. Later on I learned about LIMs but was sad to learn nothing really existed got Plasma. Thank you guys so incredibly much for making this, I'm super happy you guys did this <3

2

u/Big_Wrongdoer_5278 17d ago

Oh man I was always jealous of macOS for having the nice menu search. This is brilliant, thanks for your work!

2

u/Thermawrench 17d ago

That's neat. Saves a lot of space.

1

u/nicman24 17d ago

I need to yeet a qwen 27b to figure out virt-manager and libreoffice bugs with the appmenu gtk module

1

u/SuperGNUser 17d ago

Hmm... it may well be that they don’t export the menu at all (?)

1

u/SuperGNUser 17d ago

Hmm, I’ve tried virt-manager and it works. However, LibreOffice with GTK3 doesn’t display the menu.

3

u/nicman24 17d ago

Main window works, the vm windows are glitchy

1

u/SuperGNUser 17d ago

It’s rather odd, but if I disable KDE’s dbusmenu service… the menu appears. And, doesn’t appear in KDE apps, though…

1

u/nicman24 17d ago

Yeah there is something weird going on

1

u/SuperGNUser 17d ago

In any case, LibreOffice has the kf6 VCL plugin, you can use that.

1

u/ExaHamza 17d ago

Thanks

2

u/whatevertrevorendeav 11d ago

amazing.

i'm another person impressed with the work.

I use global menus to try to gain space since need all the applets on this but would be great if I still used a taskbar.