forge-ext/forge

feat: Ability to hide tabs

zroug opened this issue · 4 comments

zroug commented

Is your feature request related to a problem? Please describe.

The tab bar in tabbed layouts is sometimes redundant. This is especially true when there is only one full-screen tabbed layout. In that case, it serves the same purpose as the taskbar. For me, having a single full-screen tabbed layout is a very common occurrence.

Describe the solution you'd like

To solve this problem, a toggle option to hide the tabs can be introduced. In addition, the following enhancements can be added to further improve this feature:

  • A keyboard shortcut to toggle the visibility of the tabs. This is useful if you don't need the tabs most of the time, but occasionally need them to know where your windows are.

  • An additional option to hide the tabs only when there is a single full-screen tabbed layout. This would remove the tabs when they are most redundant, and still let you know where each window is in more complicated cases.

Describe alternatives you've considered

I can't think of any. I suppose hiding the taskbar is an option, but the taskbar serves multiple purposes, such as displaying the clock, notifications, and shortcuts to frequently used applications, making it an inadequate solution.

Hi @zroug - do you have a screenshot of a task bar and the Forge tabs together? Would stacking the windows help? Stacking can be toggled via Super + Shift + s - this removes the tab bar while still piling them all together

zroug commented

Sure, here is a screenshot:

Screenshot of Tabbed Layout

As you can see, the tab bar at the top serves the same purpose as the taskbar at the bottom. The stacked layout doesn't work because it takes up even more space than the tab bar:

Screenshot of Stacked Layout

I was able to get the desired effect with the stacked layout by setting stackedHeight to zero in this line: https://github.com/jmmaranan/forge/blob/4f090ae4789eca0a12c615378a99176b44e129eb/tree.js#L1320

So maybe just making this configurable would work. However, currently setting this to zero also breaks the tabbed layout, so there is no way to temporarily show tabs.

Hi @zroug - I have been working on this and I'll probably post a screen capture of how it looks like soon. The route I took is to have a keybinding to hide/show the tab decoration: <Ctrl> + <Alt> + y and zero out the stack height. It only applies to the tab layout when it is active.

I do not use any of the Dash to Dock/Panel extensions but I do agree it is redundant for your use case. Since my workflow is more keyboard driven, but this should give you or any user that option.

zroug commented

That sounds great, thank you much and for the work on this great extension in general!