Bug 407788 - [Idea] Combine status bar and bottom panel bar into one bar
Summary: [Idea] Combine status bar and bottom panel bar into one bar
Status: RESOLVED NOT A BUG
Alias: None
Product: kate
Classification: Applications
Component: application (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWrite Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-05-21 07:32 UTC by Guo Yunhe
Modified: 2019-08-24 20:31 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Compare two bars and one bars (114.83 KB, image/png)
2019-05-21 07:32 UTC, Guo Yunhe
Details
Screenshot of VS Code status bar (209.69 KB, image/png)
2019-05-21 11:37 UTC, Guo Yunhe
Details
Screenshot of VS Code status bar (76.17 KB, image/png)
2019-05-22 08:43 UTC, Guo Yunhe
Details
Screenshot of Netbeans status bar combined with widgets bar (149.26 KB, image/png)
2019-05-22 08:49 UTC, Guo Yunhe
Details
unified bar, nice (59.74 KB, image/png)
2019-05-22 14:20 UTC, Christoph Cullmann
Details
unified bar, replace (44.92 KB, image/png)
2019-05-22 14:20 UTC, Christoph Cullmann
Details
patch for unified bar (5.08 KB, patch)
2019-05-22 14:22 UTC, Christoph Cullmann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Guo Yunhe 2019-05-21 07:32:56 UTC
Created attachment 120209 [details]
Compare two bars and one bars

Most screens are 16:9 ratio. For programmers, it is better to have more vertical space. So if these two bar can be combined into one, it will save maybe 50px vertical space. See screenshots.
Comment 1 Kåre Särs 2019-05-21 09:49:28 UTC
Hi,

Thanks for the idea. Unfortunately I'm not sure it will work if you have multiple  plugins enabled. I usually have the following plugins (at the bottom): S&R, CTags, Build Output, Debug View, Terminal and Project plugin.
Comment 2 Guo Yunhe 2019-05-21 11:29:36 UTC
I have two solutions for this:

Solution 1: make it responsive.

a. If the window size is wide enough to put all these in a line (like you have a full HD screen), then only use one bar.
b. If the window size is small and plugins are too many, separate to two lines.

Solution 2: add a dropdown.

Just like how Firefox hide plugin icons in toolbar. If here are just too many, hide some and show a dropdown button.

This may cause a little inconvenience (one more click). So Solution 1 is better.
Comment 3 Guo Yunhe 2019-05-21 11:37:49 UTC
Created attachment 120218 [details]
Screenshot of VS Code status bar

Here is an example of VS Code. It will hide some information (like language, line number, etc.) when window is not wide enough.

For me, those information are not that sensitive. You can still get these information by maximum the window.
Comment 4 Nate Graham 2019-05-21 19:55:42 UTC
Wrong screenshot?

I have to generally agree though. Having all of these functions on a second set of toolbars is kind of clunky. I think there's also a chance we could make room by removing some of the lesser-used functions that are currently on the status bar (for example INSERT vs OVERWRITE and file encoding menu), or combine them together into a pop-over that has multiple things in it.
Comment 5 Dominik Haumann 2019-05-22 08:34:24 UTC
Could yo do a horizontal split screen and post a screenshot again?

There are many aspects to this, and I have the feeling this is not thought through:

1. The statusbar comes from KTextEditor and the plugins from Kate. Merging this in a smart way is technically not a one-liner. Instead, it would require quite a lot of reengineering to make this properly work.

2. If you have several plugins enabled, there is no space for the entire statusbar anyways.

3. Currently, the concepts statusbar and plugins is nicely separated visually, maybe thats good and not bad?

4. Relayouting the plugins + statusbar depending on the available space in the QWidget world is very poorly supported and often leads to hacks and bugs. In QML this would be different, but we don't have QML here.

5. Changing layout also inherits some non-determinism which is not necessarily good for usability.

As you see, the current discussion is not good enough in my opinion.
Comment 6 Guo Yunhe 2019-05-22 08:43:16 UTC
Created attachment 120239 [details]
Screenshot of VS Code status bar
Comment 7 Guo Yunhe 2019-05-22 08:49:51 UTC
Created attachment 120240 [details]
Screenshot of Netbeans status bar combined with widgets bar
Comment 8 Guo Yunhe 2019-05-22 08:58:32 UTC
I agree that developing such a feature in Qt Widget can be painful and especially the KTextEditor component is shared. We can keep this ticket until it is migrated to Qt Quick and check it again.

The initial reason that I want to have one single bottom bar is that the status bar isn't useful for me and here isn't an option to hide it.
Comment 9 Lothar 2019-05-22 13:43:28 UTC
> the status bar isn't useful for me and here isn't an option to hide it.

Does "Settings->Show Stausbar" not work?
Comment 10 Guo Yunhe 2019-05-22 13:44:25 UTC
It works. I didn't know it is in settings menu.
Comment 11 Christoph Cullmann 2019-05-22 14:18:55 UTC
I like the idea, thought a simple implementation will lead to the following issues, see my screenshots.
Comment 12 Christoph Cullmann 2019-05-22 14:20:02 UTC
Created attachment 120250 [details]
unified bar, nice
Comment 13 Christoph Cullmann 2019-05-22 14:20:16 UTC
Created attachment 120251 [details]
unified bar, replace
Comment 14 Christoph Cullmann 2019-05-22 14:22:03 UTC
e.g. replace ATM uses the space of the statusbar.

if the statusbar is the right part of the "toolview" bar, you will get such effects.

The question is what would be the right way to handle this.
Comment 15 Christoph Cullmann 2019-05-22 14:22:34 UTC
Created attachment 120252 [details]
patch for unified bar
Comment 16 Christoph Cullmann 2019-05-22 14:22:59 UTC
Attached is the patch for the bar, btw., if somebody wants to take a look how to improve that idea.
Comment 17 Dominik Haumann 2019-05-22 15:17:18 UTC
In case of a view bar is active, the statusbar + toolviews would need to be hidden. But I guess this is also an issue, since then you cannot access the toolviews anymore if you CTRL+F for instance... -> not a solution.
Comment 18 Christoph Cullmann 2019-05-22 15:26:52 UTC
At the moment it is not even detectable I think as all things just go into this bottom bar without a real (non hack) way to discern what is the statusbar or an other widget.
Comment 19 Lothar 2019-05-23 13:09:43 UTC
>>> the status bar isn't useful for me and here isn't an option to hide it.
>>
>> Does "Settings->Show Stausbar" not work?
>
> It works. I didn't know it is in settings menu.

Hm, can't find it elsewhere too. Same for other nearby options like "Show Tabs".

> Most screens are 16:9 ratio. For programmers, it is better to have more vertical space.

That's true. 
How about to have the tab buttons grouped and stacked on some side bar, as option? May unusual, and I have no idea how hard to do so, but may a way. Think of it as free to place toolbars in other applications.

KDevelop has a view mode similar to "fullscreen" in some applications. Also a not so bad option.
Comment 20 Dominik Haumann 2019-05-24 17:19:49 UTC
Kate has a minimalistic fullscreen mode as well: ctrl+shift+alt+f.

I start to have the feeling that many Kate users don't even know their editor well ;)
Comment 21 Christoph Cullmann 2019-08-24 20:31:18 UTC
I think the idea is nice, but as soon as you have multiple tabs (like Kåre mentioned at the start) the space will not be there in the tab bar.

Beside that, we share the space of statusbar for the search/goto/... widgets, which leads to the issues my "hack" shows up.

Therefore I tend to close this as "it works as designed" and we can't go this direction without major changes to how we handle the bottom widgets (search/..).

But I don't think this is worth the hassle.