martyr-deepin / deepin-wm

Deprecated, consider create and maintain your own fork if you love it.
GNU General Public License v3.0
72 stars 30 forks source link

Draw server-side headerbars for widows without CSD (using dbus)? (consistency and UI upgrade) #42

Open ripefig opened 5 years ago

ripefig commented 5 years ago

Just an idea...

This is a long fairly long term project, but one could move the functionality of non-CSD apps (most of which have menubars) into a server-side headerbar. The concept is a variation of Ubuntu's locally integrated menus and HUD, but taking into account the new headerbar design favored by Gnome and Deepin. It is similar to the DWD proposal by KDE, but it doesn't require developers their applications. It just uses actions from global menu modules/dbus (or even arbitrary scripted actions).

This would make the UI much consistent , flexible and it could potentially save screen lots of screen space (by simplifying the application's UI without sacrificing any functionality). No changes to the underlying application.

Note that one could start small, but placing just a hamburger button into the titlebar like KDE does, and nothing else:

image

KDE shows just one button. This button only shows a simple menubar popup and nothing else. However the popup could have more functionality. First the mebubar widget could be made much bigger (it could even be sidebar, like on touch applications). Second, you could add HUD menu search to this popup. One could also have the ability to add custom macros and single-key accelerators, essentially giving every application an Emacs Helm interface. Etc. Etc. The "custom" settings for the popup would be be stored, and could be easily modified by users, developers or packagers.

More on the concept on the SSD/dbus headerbar with HUD, see here:

https://medium.com/@leftcrane/unity-headers-concept-using-server-side-hearderbars-to-create-a-consistent-customizable-and-fbdb0d9696c