matzman666 / PyPipboyApp

A platform independent and extensible unofficial Fallout 4 Pipboy Companion App
GNU General Public License v3.0
83 stars 20 forks source link

Replace the widgets' default title bar with a custom one #47

Open matzman666 opened 8 years ago

matzman666 commented 8 years ago

As the title says this is about replacing the default title bar (the bar that holds the widget's name and the close/undock buttons). The advantage is that there are no more native window decorations for floating widgets. And we could add a fullscreen button for widgets to the other buttons (according to the internet fullscreen for floating widgets works on Windows, but that is still unconfirmed. Even if it doesn't work, we could implement a "borderless windowed fullscreen mode").

The disadvantage is that Qt is like: You want to have access to the default title bar? Fuck you, I won't give you access. When you want to have a custom title bar, implement your own from scratch. And by the way, you will break your style sheets if you do so.

killeand commented 8 years ago

Aside from them making it difficult for people to implement a custom bar, are there going to be any problems creating the existing button functionalities?

And while it spits in the face of the programming idiom, "Don't reinvent the wheel," is it possible to just get the desktop size and force the floating widget to be the same size (with possible adjustments for title bar, border, etc...)? Why bother with methods that may or may not work depending on the platform.

matzman666 commented 8 years ago

I haven't found any other problems yet, but we may encounter more when we implement it.

The problem is that floating widgets have a border around them, which does not adhere to the current selected style. When I select a dark theme then because I don't want to be distracted by bright colors, but the widget border is very distracting. And unfortunately Windows does not allow to resize the widget and move it partially out of the viewport so that you don't see the border (that's the reason borderless window modes exist in games). Also I cannot adjust the border, only remove it. And to remove it I have to re-do the title bar from scratch.