Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add option to hide title bar #217

Open
mhinsch opened this issue Dec 8, 2022 · 5 comments
Open

add option to hide title bar #217

mhinsch opened this issue Dec 8, 2022 · 5 comments
Labels
enhancement Improve this extensions

Comments

@mhinsch
Copy link

mhinsch commented Dec 8, 2022

For tiled windows the title bar is not very useful, so for maximum screen space it would be nice to be able to be able to hide it (when tiled).

@Leleat Leleat added the enhancement Improve this extensions label Dec 9, 2022
@Leleat
Copy link
Owner

Leleat commented Dec 9, 2022

I am not gonna implement this myself since apps in GNOME's ecosystem don't have a titlebar and the existing solutions seem to rely on a XOrg utility. So IMO it's not worth it to do it from scratch.

I think I am might just write some 'compatibility' code to make my extension work with other extensions that remove the titlebar (where possible). Although this won't come any time soon because I am in the process of refactoring/rewriting my extension.

@mhinsch
Copy link
Author

mhinsch commented Dec 9, 2022

That makes sense. I have no idea at all how all of this works internally, but if tiled windows thought they were in a maximised state, wouldn't an extension like Pixel Saver automatically remove their title bars?

@Leleat
Copy link
Owner

Leleat commented Dec 9, 2022

[...] but if tiled windows thought they were in a maximised state, wouldn't an extension like Pixel Saver automatically remove their title bars?

That would be the case for a 'true/built-in' maximization/tiling. If you use Pixel Saver (just as an example), it should still work with maximized windows even with my extension installed (unless you added gaps to 'maximized' windows in the preferences).

Windows, which were tiled with my extension (and all other tiling extensions for that matter), won't work however. Pixel Saver listens to built-in events; for example, when a window is maximized. So it won't know if a window is tiled with an extension, because all tiling extensions don't actually tile windows. Tiling extensions just programmatically move/resize/manage windows. But in the end those 'tiled' window are all technically still normal floating windows. That's a limitation of being a GNOME Shell extension.

@mhinsch
Copy link
Author

mhinsch commented Dec 9, 2022

[...] but if tiled windows thought they were in a maximised state, wouldn't an extension like Pixel Saver automatically remove their title bars?

That would be the case for a 'true/built-in' maximization/tiling. If you use Pixel Saver (just as an example), it should still work with maximized windows even with my extension installed (unless you added gaps to 'maximized' windows in the preferences).

Windows, which were tiled with my extension (and all other tiling extensions for that matter), won't work however. Pixel Saver listens to built-in events; for example, when a window is maximized. So it won't know if a window is tiled with an extension, because all tiling extensions don't actually tile windows. Tiling extensions just programmatically move/resize/manage windows. But in the end those 'tiled' window are all technically still normal floating windows. That's a limitation of being a GNOME Shell extension.

Thanks for the explanation, that makes perfect sense. Pity, that would have been such an elegant solution.

@CoderRuq
Copy link

CoderRuq commented Jan 20, 2023

@mhinsch consider using this: https://github.com/velitasali/gtktitlebar

Doesn't work on GTK apps since the header bar has integrated window controls, but works on all other apps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improve this extensions
Projects
None yet
Development

No branches or pull requests

3 participants