Skip to content

Conversation

@Gavinkaa
Copy link
Contributor

@Gavinkaa Gavinkaa commented Jun 9, 2025

Why?
When you run a VM that only runs one full-screen app, the macOS title bar looks wrong and wastes pixels. A simple flag lets users reclaim that space and makes the guest feel native.

What changed?

  • Added --hide-title-bar flag in Run.swift; it’s off by default.
  • Flag is forwarded to MainApp, which now chooses between HideTitleBarApp (.windowStyle(.hiddenTitleBar) + ignoresSafeArea) and the regular app. No other logic touched.

How to try it

tart run <vm-name> --hide-title-bar

@Gavinkaa
Copy link
Contributor Author

Hi! Just following up on the PR I submitted a couple of weeks ago. Let me know if there's anything you'd like me to adjust or if it's waiting on anything. Thanks for your time!

@edigaryev @fkorotkov

@fkorotkov
Copy link
Contributor

On Tahoe it looks a bit weird. The close, hide and full screen buttons just overlay over the window. Also I don't see the bar in full screen mode, only when I hover over the top part of the screen. How does it look for you? Could you please take a screenshot to see the part that wastes real estate.

Screenshot 2025-06-26 at 11 20 02 AM

@Gavinkaa
Copy link
Contributor Author

Gavinkaa commented Jul 1, 2025

Hey,

My use case is a bit different. I'm aiming to run lightweight Debian VMs to create fully isolated environments for development. This setup is particularly convenient because I can run VS Code inside the Debian VM, and with a few key rebindings, the experience feels almost identical to using VS Code natively on the host.

As shown in the screenshot, the version without the top bar is virtually indistinguishable from a locally running instance of VS Code.

I understand this approach won't suit every setup, but I believe it can be really convenient for similar use cases and could be replicated for other applications as well.

image image

@Gavinkaa
Copy link
Contributor Author

Hey @edigaryev @fkorotkov, any blockers ?

@edigaryev
Copy link
Collaborator

Hey @edigaryev @fkorotkov, any blockers ?

I'm not sure if it's worth adding a new command-line argument for this feature:

  1. It looks weird (unless you know what you're doing)
  2. It's strictly GUI-specific

Perhaps we could have a Hide title bar toggle in the View or Control menu instead?

@CLAassistant
Copy link

CLAassistant commented Jul 31, 2025

CLA assistant check
All committers have signed the CLA.

@Gavinkaa Gavinkaa reopened this Jul 31, 2025
@Gavinkaa
Copy link
Contributor Author

Hey @edigaryev @fkorotkov, implemented this as a config, so not flooding the command line as you requested. This needs a rebuild of the windows so better to have this set before starting the vm that's why I didn't added this in the View or Control menu.

Let me know if that works for you.

@Gavinkaa Gavinkaa changed the title Feature: --hide-title-bar flag for tart run Feature: --hide-title-bar config Aug 5, 2025
@Gavinkaa
Copy link
Contributor Author

Hey @edigaryev @fkorotkov, any blockers ?

@Gavinkaa
Copy link
Contributor Author

Gavinkaa commented Oct 3, 2025

small ping @edigaryev @fkorotkov :)

@edigaryev
Copy link
Collaborator

Hello @Gavinkaa!

Have you had a chance to look at #1088 (comment):

Perhaps we could have a Hide title bar toggle in the View or Control menu instead?

@Gavinkaa
Copy link
Contributor Author

Hey @edigaryev @fkorotkov, implemented this as a config, so not flooding the command line as you requested. This needs a rebuild of the windows so better to have this set before starting the vm that's why I didn't added this in the View or Control menu.

Let me know if that works for you.

Yeah I saw it but this seems to not be the best solution, isn't it a config a good way to also have it not flooding too much as you said

@edigaryev
Copy link
Collaborator

Yeah I saw it but this seems to not be the best solution, isn't it a config a good way to also have it not flooding too much as you said

It just "floods" the other parts of the tart CLI that are already loaded. As for the placing it in tart set, it makes this setting survive the tart push'es and tart pull's, which many users might find surprising.

My point was that since this setting implies interactive usage, it makes sense to place it in the Control GUI menu instead, which currently has only three entries (Start, Stop and Request Stop).

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.

4 participants