✨ Hide Interface
Description
Provide an option to hide the interface, similar to how Sketch and Xcode handle UI minimization.
This would live under View → Hide Interface (or Show Interface if currently hidden), with a suggested keyboard shortcut of ⌘ ..
When Hide Interface is enabled:
- The toolbar shrinks (removing all toolbar items; the title displays the current active file).
- The navigator area, inspector area, utility area drawer, and status bar all hide.
- A floating line/character position indicator appears at the bottom right of the window.
- In the View menu:
- "Hide Interface" becomes "Show Interface"
- "Hide Navigator Area" becomes "Show Navigator Area"
- "Hide Inspector Area" becomes "Show Inspector Area"
- "Hide Utility Area" becomes "Show Utility Area"
Behavior Notes
-
Toggling Show/Hide Interface and Show/Hide Navigator/Inspector/Utility Areas should be handled separately:
- If the user hides the navigator area, hides the interface, then shows the interface, the navigator area remains hidden.
- If the user hides the navigator area, hides the interface, then manually shows the navigator area, only the navigator becomes visible.
- When the user shows the interface again, all other interface elements will return along with the navigator, which remains visible.
-
If any UI element is shown manually while "Hide Interface" is active, the hidden state persists for all other interface components. Re-toggling "Show Interface" restores the remaining hidden interface components.
-
We should disable animations specifically when toggling Hide Interface, so the change happens instantly.
-
Toggling Show/Hide Interface will only apply to the currently focused workspace
Alternatives Considered
This approach may later serve as the default behavior for single file mode, where "Hide Interface" is enabled by default and a workspace can be opened from that simplified window.
Additional Context
Xcode behaves similarly when opening a single file:
https://github.com/CodeEditApp/CodeEdit/assets/806104/3a1f8b68-b5b6-428b-8e58-cd651d2a0085
Sketch example:
https://github.com/CodeEditApp/CodeEdit/assets/806104/f3b76fc9-4f7d-465a-8317-873106272156
Related issues
- #1696
- #1639
Hello,
I am a 22-year-old student interested in contributing to your project. Recently, I have been reviewing the issues labeled as 'good first issue,' and I came across one that I feel confident I can tackle. I am enthusiastic about resolving this particular issue and confident in my abilities to do so.
Before diving in, I wanted to seek your approval to make sure that you're okay with me resolving this issue. If so, please let me know if you have any additional requirements that aren't listed above. I would love to hear them!
I look forward to hearing from you!
Kind regards, Siem
Hi,
Sure I can assign it to you. Although this is market "Good first issue", I personally think it does require quite some know how about Swift and macOS API's. But you're always free to try it.
But I recommend joining our Discord and join our weekly meetings so you can share your progress
Please note, I've added a "Blocked By" section to the issue description. We may want to look at those so we can hide/show everything mentioned above.
@siemvanoers Are you still working on this?
Hi @FastestMolasses
Can I be assigned to this? I'm new to Swift but I enjoy hands on experince, and a community building somthing important.
Sure!
Thanks! Joining Discord now.
@Devdre1909 Is this being worked on?