Mon Jun 24, 2019 1:43 pm
I suggested many times to do something like this, but without response. Because I have basic programming skills and went to holidays lately, I decided to do this on my own.
It ribbon or global menu like app framework. It allow to hide all part of window and allow user to access them or pin it on top of window. Currently ribbon could be hidden or pinned too.
It maybe will solve CSD problems, because I plan to add basic WM integration. Currently my prototype app hides titlebar and allow to show/pin titlebar by user. It implements titlebar by it selves, but in future, you could add code to WM, so KDE Frameworks/GTK could add titlebar support to my library.
You asks: why? Because my approach offers to replace CSD - you can decide, which panels should been visible and allows to decide other parts of window should be visible.
I see another use-cases of my solution, like autohide panel, game panel, etc.
Currently I must do few things:
1. Makes modal window of my widget transparent
2. Makes options of my modal window placed in other direction for categories, so titlebar display options should been placed at right/left of previous instead at bottom of previous.
3. Repair some bugs - I'm beginner developer
4. Add tooltips
My example is made with GTK+ 3 libraries. I search for response both in KDE and GNOME words, so I can rewrite it to use QT.
Here you are the code: http://slawek.lach.art.pl/LessBar_2.tar.gz
How it works? My widget are assembly in three parts: dock, button and modal dialog. Dock will display docked panels, like titlebar, toolbar, menu, etc. Button will display dialog once user move cursor above button. Dialog will hide, when mouse cursor move outside of it and previously be inside. Dialog also work in other way. It catch click events. When you double click on it, it will hide, excluding situation, when you wait some seconds after first click. So - modal displays and you will to hide it - click twice on it! You need interaction - click once, wait three seconds and interact! And there's another idea - game panel/autohide panel. Game panel is panel displaying, when user moves cursor to some edge of screen. When user need interact with game - he will click twice. When user need to switch window/show on screen keyboard/etc. He/She click, wait three seconds and interact! So next thing to do (as reminded before) is to make my dock transparent.
Lachu, proud to be a member of KDE forums since 2008-Nov.