Skip to content

Comments

Add option to remove title bar in Linux and Windows#727

Open
lkcv wants to merge 1 commit intoDonutWare:developfrom
lkcv:develop
Open

Add option to remove title bar in Linux and Windows#727
lkcv wants to merge 1 commit intoDonutWare:developfrom
lkcv:develop

Conversation

@lkcv
Copy link
Contributor

@lkcv lkcv commented Jan 27, 2026

Pull Request Description

Added a startup flag (--no-titlebar) to disable the title bar in Linux and Windows. This flag is ignored on macOS.

Issue Being Fixed

This addresses this discussion:
#726

Screenshots / Recordings

Here's a screenshot of Fladder in regular windowed mode (not htpc) without a title bar.
image

Checklist

I've confirmed these changes work as expected on Linux.

@lkcv lkcv marked this pull request as draft January 27, 2026 05:19
@lkcv lkcv force-pushed the develop branch 2 times, most recently from ea0aaaa to ba35ed8 Compare January 27, 2026 05:44
@lkcv lkcv marked this pull request as ready for review January 27, 2026 05:46
Copy link
Collaborator

@PartyDonut PartyDonut left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While the implementation is perfectly fine.

I'm thinking this might actually be better as a startup argument?
Similar to how we have --htpc mode we could have --no-titlebar as a startup argument

@lkcv
Copy link
Contributor Author

lkcv commented Feb 8, 2026

Yeah, I can change it to a startup flag.

@lkcv
Copy link
Contributor Author

lkcv commented Feb 9, 2026

I got rid of the option and made it a startup flag instead.

Copy link
Collaborator

@PartyDonut PartyDonut left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for implementing the changes, some small feedback left.

On a side note, this would probably also be a good option for implementing on macOS. Is this something you would like to try? If not no worries I can add it later on.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Formatting is a bit all over the place. Could you please format the file using line length 120.

final noTitleBar =
(AdaptiveLayout.of(context).platform == TargetPlatform.linux ||
AdaptiveLayout.of(context).platform == TargetPlatform.windows) &&
ref.read(argumentsStateProvider).noTitleBar;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Better to use a watch, it probably won't change during runtime. But better to be prepared.

Suggested change
ref.read(argumentsStateProvider).noTitleBar;
ref.watch(argumentsStateProvider.select((value) => value.noTitleBar));

);
final surfaceColor = theme.colorScheme.surface;
final noTitleBar =
(AdaptiveLayout.of(context).platform == TargetPlatform.linux ||
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's move this logic to ArgumentsModel as a getter to clean it up. That way we only have to watch a single variable here.

You can also use defaultTargetPlatform, platform is only saved in AdaptiveLayout for convenience.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants