This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Split screen in two desktops/activities (virtual monitors)

1

Votes
1
0
Tags: virtual, monitor, split, screen virtual, monitor, split, screen virtual, monitor, split, screen
(comma "," separated)
rosenfeld
Registered Member
Posts
27
Karma
0
Working with 2 monitors is great! You can develop code in one monitor while seeing the results in another one, among other things.

But there are situations where it is not possible to have 2 monitors when it is not affordable or if you don't have enough space or if you travel a lot and need to work exclusively on your notebook.

On the other hand, the widescreen has became a de facto standard. Also, many web sites are adopting some layout limiting the page width so that most of the page is useless anyway.

Then, I realized that I could work with a single widescreen monitor with two virtual monitors, splitting my monitor in 2 vertically. Unlike real monitors, I would expect we could divide our monitor in how many virtual monitors as we would like, just like I do in Vim dividing its screen in multiple windows. Also, maybe it would be great to also support tabbed desktops just like in Vim 7 it is possible to have tabs on Vim too besides the multiple window support. I guess it would simplify a lot the management of multiple work-spaces. Specially the virtual monitors idea, since the tabbed work-spaces is very similar to what we can currently achieve with virtual desktops, changing only the interface to alternate between them.

By virtual monitors, I mean all behaviors of a real desktop on each virtual monitor. For instance, maximizing a window would do it only on its virtual desktop/monitor. Also it could be possible to tell some window to use more than one virtual monitor if you need to use your screen in full.

It would be great if splitting/closing screens in multiple desktops were fast like it is in Vim with just some keystrokes. Also different virtual desktops should have different splitting configurations.

In other words, I would like you to bring some of Vim features to KDE :)
User avatar
TheBlackCat
Registered Member
Posts
2945
Karma
8
OS
First, not everyone uses vim. Suggestions that amount to "make it like vim" are not helpful. Please provide enough detail that someone who does not use vim can understand the idea.

Second, I do not know what you mean by "tabbed desktops". We already have virtual desktop support, how is this different? That is also a separate idea. Please remove it from this idea and post it in its own thread.

Third, what is the advantage of these "multiple virtual desktops" over the automatic "maximize to half a screen" function we already have? It would seem that would accomplish the same goal, but wouldn't interfere with peoples' ability to maximize across the whole screen if they want.

If you want more fine-grained control (i.e. more "virtual desktops"), you can use the window tiling feature, which is specifically designed for that.

So I don't see how this is different in practice from existing capabilities, and it would require a much more complicated UI and major changes to how windows operate (currently maximizing across multiple screens is not possible, for instance), so it would not be a simple manner of reporting to the windows that it is a multi-screen setup.

So in order for this idea to be approved you need to:

1. removed the unrelated desktop tabbing idea. You can put that in a separate idea
2. Explain in more detail what you are intending.
3. Explain what this gives us that existing capabilities (half-screen maximization and window tiling) do not


Man is the lowest-cost, 150-pound, nonlinear, all-purpose computer system which can be mass-produced by unskilled labor.
-NASA in 1965
rosenfeld
Registered Member
Posts
27
Karma
0
Hi TheBlackCat,

Regarding the comment "make it like vim", first I explained what I want and then I exemplified with Vim in case someone knows it, but it was not intended to be interpreted as a Vim knowledge was necessary to understand what I wrote. It was just an example for helping the understanding in case the reader knows Vim.

Could you please be more specific about what was not clear so that I could detail it better?

Regarding the "tabbed desktops", I though I have already explained myself that it is not a new concept but just a new interface to virtual desktops, since they are exactly the same concept, but I can separate this idea later in another thread without problem. But that was only some minor idea that came to my mind but not something I'm really that interested on.

Now, let me explain better about your most relevant question about the advantages over the automatic "maximize to half a screen".

First of all, is that function available on KDE 4.5 (I'm using KDE distributed by Debian and this is the last version I've found)? If so, how can I activate this?

But even not knowing this feature (which is certainly a good one), it is not even closer to what I'm thinking of. Using different monitors is completely different from maximizing to half-screen. For instance, if you move your window to the top of your monitor, it will maximize to the monitor size. That's exactly what I would expect when dropping the window in the top of some virtual monitor.

Also, I can think of having 3 or 4 virtual monitors in the same screen, so maximizing to half-screen is very limiting with this respect...

Let me try to describe how I would split the Vim screen in 3 windows (all of them resizable), with one window at top and the others split vertically at bottom:

1 - Initially we have a single Window using the full screen.
2 - Ctrl+W S: Split the window horizontally in a top window and a bottom windom
3 - Ctrl+W Up or Ctrl+W Down: put the focus on the upper/lower window. Alternatively, Ctrl+W W would alternate to next window.
4 - With the focus on the bottom window, Ctrl+W V will split the bottom window vertically in a left window and a right window.

The same idea could be applied using virtual monitors instead of windows. Moving windows between the virtual monitors would work as it already works on vanilla monitors. Additionally we could assign keyboard shortcuts for moving the window to another virtual monitor as well as changing the virtual monitor size and/or position.

Also, we could add panels to the virtual monitors as we are already able to do with real monitors. For instance, while alt-tabbing there could be an option to only show windows from the current virtual monitor.

From my use of Vim I can also think that the tabbed idea would also fit great on this approach and that is why I didn't list in a separate idea. Tabs are already familiar to the users and they have titles and their order can be changed by dragging and we are already used to its shortcuts.

So, instead of alt-tabbing we would have some layouts and alt-tab would be replaced by Ctrl+Up/Down (or using the mouse) to alternate between different layouts. Also, alt-tab could be used to alternate between the layouts (each tab) using MRU, for instance. The usual interface to alternate between virtual desktops are not as great as the tabbed alternative in my opinion. The title gives a much better idea than some very small preview or number and they encourage us to have several layouts with applications well organized instead of a mess of windows in about 4 or 6 virtual desktops. I think it is much more intuitive and practical then activities for instance.

Also, as also happen in Vim, I would expect each virtual monitor could be split in more virtual monitors recursively if it makes sense to someone.

Also, using tabbed desktops we can have as many as we want as well as closing them (closing all windows on it at once) without having to define previously how many virtual desktops we want.

The more I think about this more I have that feeling "how could I use my desktop environment before these feature existed?".


I tried the window tiling feature (I didn't know it, thanks) but I found it to be very confusing and it did not work like I'm describing here and, specially for Google Chrome, I couldn't make it work at all. Also, once I used some type of layout (spiral) for Dolphin, every time I launched Dolphin it used that layout even after changing the layout to column or float as the default one. Probably I didn't understand correctly how it works...

Regarding your comment "maximizing across multiple screens is not possible", although I have commented about this, I now think it is not a good feature either. When used along with tabbed monitors, I don't feel the need for that.

Please let me know what is still confuse so that I can explain myself better. After that, I'll try to reformulate the idea and edit it.

Thank you very much for your time!

Best regards!

Rodrigo
User avatar
TheBlackCat
Registered Member
Posts
2945
Karma
8
OS
rosenfeld wrote:
Could you please be more specific about what was not clear so that I could detail it better?


These specifically:

"Also, maybe it would be great to also support tabbed desktops just like in Vim 7 it is possible to have tabs on Vim too besides the multiple window support. "

I don't know what you mean by "tabbed desktops"

"It would be great if splitting/closing screens in multiple desktops were fast like it is in Vim with just some keystrokes. Also different virtual desktops should have different splitting configurations."

I don't know how vim handles keystrokes for this, and I don't know what you mean by "different splitting configurations".

rosenfeld wrote:First of all, is that function available on KDE 4.5 (I'm using KDE distributed by Debian and this is the last version I've found)? If so, how can I activate this?

Yes, it is. There are two ways to activate it. First, by dragging a window to the right edge of the screen. Make sure to enable system settings -> workspace behavior -> screen edges -> Tile windows by dragging them to the side of the screen. Second, you can set a keyboard shortcut for quick tile window to the left and right as well as maximize horizontally or vertically.

rosenfeld wrote:For instance, if you move your window to the top of your monitor, it will maximize to the monitor size. That's exactly what I would expect when dropping the window in the top of some virtual monitor.

That is what window tiling is for.

rosenfeld wrote:Also, I can think of having 3 or 4 virtual monitors in the same screen, so maximizing to half-screen is very limiting with this respect...

Once again, window tiling can take care of this.

rosenfeld wrote:Also, we could add panels to the virtual monitors as we are already able to do with real monitors. For instance, while alt-tabbing there could be an option to only show windows from the current virtual monitor.

First, why would we want multiple panels on the same screen? Second, how would this deal with adding and removing virtual screens? Currently by default new plasma screens have no panel. You would need to add and re-configure the panel each time you add a screen (or remove then add a screen). What would happen to all your widgets? Wouldn't they shrink to an almost unable size?

rosenfeld wrote:From my use of Vim I can also think that the tabbed idea would also fit great on this approach and that is why I didn't list in a separate idea. Tabs are already familiar to the users and they have titles and their order can be changed by dragging and we are already used to its shortcuts.

The tabbed interface is a separate idea. Please leave any discussion on the subject for that idea.

rosenfeld wrote:Also, as also happen in Vim, I would expect each virtual monitor could be split in more virtual monitors recursively if it makes sense to someone.

There is no reason window tiling can't be set up to work this way. Just because it currently isn't doesn't mean it can't be.

rosenfeld wrote:I tried the window tiling feature (I didn't know it, thanks) but I found it to be very confusing and it did not work like I'm describing here

If there are limitations and additional features for window tiling, they should be submitted as suggestions for that. But you need to explain exactly why your idea cannot possibly be implemented as an improvement on window tiling. You are talking about a major redesign of kwin, so if there is a way to get what you want working under existing systems that is both a much better approach and greatly increasing the chances of it getting accepted.

rosenfeld wrote:specially for Google Chrome, I couldn't make it work at all.

Google chrome purposefully breaks window management, your idea is unlikely to fare any better.


Man is the lowest-cost, 150-pound, nonlinear, all-purpose computer system which can be mass-produced by unskilled labor.
-NASA in 1965
rosenfeld
Registered Member
Posts
27
Karma
0
I have to split the answer in more parts due to "Request-URI Too Large: The requested URL's length exceeds the capacity limit for this server."

First part:

TheBlackCat wrote:
rosenfeld wrote:
Could you please be more specific about what was not clear so that I could detail it better?


These specifically:

"Also, maybe it would be great to also support tabbed desktops just like in Vim 7 it is possible to have tabs on Vim too besides the multiple window support. "

I don't know what you mean by "tabbed desktops"


I was taking a look on what others features I didn't know about KDE. One of them, window grouping, is something near of what I'm talking about.

I miss some keyboard shortcuts though. For instance, in Konsole, you can move terminals (each terminal is on a tab) left and right with "Ctrl+Shift+Left/Right" and you can alternate between tabs with "Shift+Left/Right". Other tabbed applications, like web browsers, will use other shortcuts and of course these shortcuts must be different from the Window/Virtual Desktop/Virtual Monitor shortcuts for not conflicting. Maybe a simple key combination could be pressed before a window shortcut.

The tab support on Vim is like any other tab support (web browsers for instance). The difference is that each tab on Vim can be splitted in as many windows you want. When you close a tab, it will close all windows opened on that tab, similar to the current "Close Group" behavior of KDE window grouping.

So, I would like to know if, currenlty on KDE it is possible in to:

- to split some screen in the group in multiple windows
- to use "Alt-Tab" (or another key) to work exactly as "Alt-Tab" normal behavior but considering a group as a single window, as well as showing on the Task Manager as a single item.
- to use any window arrangement I wish. Is there any in depth reference to the window tiling feature? I found it too confusing and can't understand how to achieve some layouts using it.
- When you reduce the widht of the left window, the right window will increase its width the same amount the left window width was reduced. I mean, the total size would remain the same with no spaces between windows. The same applies in any direction.
- use Google Chrome (without the title bar) with these window features.


TheBlackCat wrote:

"It would be great if splitting/closing screens in multiple desktops were fast like it is in Vim with just some keystrokes. Also different virtual desktops should have different splitting configurations."

I don't know how vim handles keystrokes for this, and I don't know what you mean by "different splitting configurations".


I don't really mind which keystrokes to use, since I guess it would be possible to change these keystrokes them to some that resembles Vim, for instance. In Vim, these are some keystrokes:

- Ctrl+W C: close current window. The space previously ocupated by the closed window will be filled by the other windows. If this happens on some tab with a single window, this will close the tab unless it is the last one.
- Ctrl+W S: horizontally split the current window
- Ctrl+W V: vertically split the current window
- Ctrl+W Arrow: Jump to the window pointed by the arrow (left/right/up/down)
- Ctrl+W W: alternate to next window
- Ctrl+W L/J/H/K: Move window to Right (L), Bottom (J), Left (H) or Top (K) of the screen
- Ctrl+PgUp/PgDown: Move to next/prior tab

By different splitting configurations, I mean different layouts. That is how the windows are organized in a tab (or in the main screen if there is no tab).
rosenfeld
Registered Member
Posts
27
Karma
0
TheBlackCat wrote:

rosenfeld wrote:First of all, is that function available on KDE 4.5 (I'm using KDE distributed by Debian and this is the last version I've found)? If so, how can I activate this?

Yes, it is. There are two ways to activate it. First, by dragging a window to the right edge of the screen. Make sure to enable system settings -> workspace behavior -> screen edges -> Tile windows by dragging them to the side of the screen. Second, you can set a keyboard shortcut for quick tile window to the left and right as well as maximize horizontally or vertically.


Ok, I found it and it helps. But I was not able to drag the border of two windows (one left and another right) in a single border movement. I should use exactly half the width/heigth. Also the right and left windows cannot be grouped as a single window, so that I could operate on it as an atom (minimize both at once, show the group while alternating between windows with "Alt-Tab", etc).

TheBlackCat wrote:

rosenfeld wrote:For instance, if you move your window to the top of your monitor, it will maximize to the monitor size. That's exactly what I would expect when dropping the window in the top of some virtual monitor.

That is what window tiling is for.


Could you explain how can I achieve this in more details? As I said, I'm getting a terrible experience trying to understand how this window tiling works.

TheBlackCat wrote:

rosenfeld wrote:Also, I can think of having 3 or 4 virtual monitors in the same screen, so maximizing to half-screen is very limiting with this respect...

Once again, window tiling can take care of this.


Again, could you provide more info on how to achieve this or point me to some reference?

TheBlackCat wrote:

rosenfeld wrote:Also, we could add panels to the virtual monitors as we are already able to do with real monitors. For instance, while alt-tabbing there could be an option to only show windows from the current virtual monitor.

First, why would we want multiple panels on the same screen?


Suppose you are developing some web application. Typically, you will need at least one editor and possibly multiple browsers to test the result. One may prefer to have its code editor on the left and the browsers on the right, but showing only one browser at a time. Then you write some code on the left side and alternate to the virtual monitor at right. Press refresh on the current active browser of the virtual monitor. After the result was great, you will want to try on the other browsers. So you hit Alt-Tab and only the windows in that virtual monitor will show for you to choose one (in this case they are all browsers). Alternatively, if you prefer to use the mouse, you could add some panel to that virtual monitor so that you can see only the browsers in the Task Manager which is the only widget added to this virtual monitor panel. That is a use-case for what I'm asking for.

The idea is to resemble the same experience you get when you have multiple monitors. I can do this currently with 2 monitors (except that Alt+Tab will show all windows on current virtual desktop no matter which monitor has focus)
rosenfeld
Registered Member
Posts
27
Karma
0
TheBlackCat wrote:
Second, how would this deal with adding and removing virtual screens? Currently by default new plasma screens have no panel. You would need to add and re-configure the panel each time you add a screen (or remove then add a screen). What would happen to all your widgets? Wouldn't they shrink to an almost unable size?


I see some solutions. First, if the user had too many work for setting some virtual screen, he will probably not close that screen ever. If he closes, he will have to re-add the panels and I don't see any problems with this specifically. The problem here is from KDE and is not related to my request. For instance, a friend of mine has just migrated from Gnome to KDE. He accidentally removed the default panel. He became very disappointed that KDE didn't have some panel templates to choose from and that he had to find all widgets that come on the default panel to resemble it again. I guess it should be easy to store some panel configuration ("save current panel configuration" as a context menu from the panel) so that you could create some new panel from some pre-defined or saved template. But as I stated before, this is a KDE issue that is not related to my request as far as I understand the issue.

Regarding the panel width, I don't think KDE should be concerned about this. If the user wants a panel it is because he or she judges that it fits and would be useful, like a panel with only a Task Manager as my example of web development. Or maybe the user only wants a tray bar containing only applications running on that screen (I don't know if it would be possible currently anyway with KDE's tray system).

TheBlackCat wrote:

rosenfeld wrote:From my use of Vim I can also think that the tabbed idea would also fit great on this approach and that is why I didn't list in a separate idea. Tabs are already familiar to the users and they have titles and their order can be changed by dragging and we are already used to its shortcuts.

The tabbed interface is a separate idea. Please leave any discussion on the subject for that idea.


The problem is that I currently visualize myself using this kind of window manager system. And it is hard to me to feel productive using only the virtual screen feature without the tabbed one. I feel they complement each other so well that it helps visualizing both together. I'm afraid that seeing both separately won't get any appeal on both, while seeing both used altogether may give the idea of the overall window management experience as I can see. But if you really think they are completely different unrelated subjects, I can try to separate them in different KDE Ideas.

TheBlackCat wrote:

rosenfeld wrote:Also, as also happen in Vim, I would expect each virtual monitor could be split in more virtual monitors recursively if it makes sense to someone.

There is no reason window tiling can't be set up to work this way. Just because it currently isn't doesn't mean it can't be.


The difference is that they won't be different workspaces, meaning that it would not be possible to add some panel to one window, for instance. I'm not saying that window tiling is not good, specially because I didn't understand it well yet. Maybe when I understand it better it could become a great replacement to what I currently want. But using the idea I propose wouldn't probably have to deal with anything specific to some application, like Google Chrome... Maybe what I'm proposing is something to replace window tiling, this feature would probably be superceded by the new propose. But first I need to understand better how window tiling works and what is the philosophy behinds it.
rosenfeld
Registered Member
Posts
27
Karma
0
TheBlackCat wrote:

rosenfeld wrote:I tried the window tiling feature (I didn't know it, thanks) but I found it to be very confusing and it did not work like I'm describing here

If there are limitations and additional features for window tiling, they should be submitted as suggestions for that. But you need to explain exactly why your idea cannot possibly be implemented as an improvement on window tiling. You are talking about a major redesign of kwin, so if there is a way to get what you want working under existing systems that is both a much better approach and greatly increasing the chances of it getting accepted.


I agree and that is why I need to understand better how window tiling works currently.

TheBlackCat wrote:

rosenfeld wrote:specially for Google Chrome, I couldn't make it work at all.

Google chrome purposefully breaks window management, your idea is unlikely to fare any better.


Actually, by having real fake monitors, I think Google Chrome should work out of the box since it works great in my 2-monitor setup. But I have never seen the KDE code base and there are several years since I last developed for the desktop, so what I'm asking is maybe not possible/feasibly.

I consider KDE the state-of-the-art window manager with some years more advanced than the popular alternatives (MacOSX, Windows, Gnome). If KDE still cannot support something like that, I doubt any other would do it before KDE. That is just my point of view, imagining how I would be using such a system and how happy I would be using it with such a comportable and productive experience. I have no idea of how complex this is to implement though, although I can estimate this is a huge rework, that maybe should be done in another layer, like Xorg, first.

But this is what the Brainstorm is supposed to be ;) Some place to discuss some crazy ideas, that might be feasible or taken by someone who likes it and accepts the chalenge. I won't be sad if this idea is never implemented, since I can understand that. I would just be very happy if something like this could be implemented :)
User avatar
TheBlackCat
Registered Member
Posts
2945
Karma
8
OS
It has been several weeks and you still have not removed the parts about tabbing. If you want to re-submit two separate ideas, please do so. But two things to keep in mind:

1. The desktop tabbing must simply be a new desktop switching plasmoid that uses tabs to list the desktops. If the idea includes any fundamental changes to the existing virtual desktop system, such as re-ordering desktops, adding or removing any desktop other than the last, or other such changes then it will be rejected as "wontfix". Kwin developers have said explicitly they will not do any of these things.

2. If you actually want the multi-desktop-on-one-screen sort of functionality, I strongly suggest you present it as a new tiling mode. As it is currently written, it is a new and interesting idea, but it requires not only major reworkings both kwin and plasma, but most likely also fundamental changes to the Qt toolkit. It is simply never going to happen. So the only way anything remotely similar to this could be implemented is if it implemented in the tiling window manager. So how you write the idea will have a large impact on whether it gets implemented or not. You could always do both, I guess.


Man is the lowest-cost, 150-pound, nonlinear, all-purpose computer system which can be mass-produced by unskilled labor.
-NASA in 1965
rosenfeld
Registered Member
Posts
27
Karma
0
Sorry, I didn't do that before because I was still waiting for your feedback, since I was trying to convince you (unsuccessfully) that both ideas fit great together and that it is harder to perceive the great power of them when presented separately.

I'll try to do that today, but I'm thinking in creating 2 new ideas for preserving this history, since they will be much different from the current propose to match your advices.

I'll start with the tabbed desktops that are much simpler to describe and then I'll write about a modified version of this propose. Instead of virtual monitors or splitting the screen in multiple workspaces, I'll describe how windows containers should be grouped instead of applications itself (the current implementation would be a subgroup where each container would contain a single application). That way, each window container could be rearranged as the user wants to and we could also alternate between each window container (composed eventually by several applications) using the tabs already present on the existent application group feature.

I'll describe this in more details later.

Thanks for your guiding!
rosenfeld
Registered Member
Posts
27
Karma
0
Well, I have to postpone this to tomorrow night since I had some unexpected issues to care about today and I need some time to formulate the new ideas...
rosenfeld
Registered Member
Posts
27
Karma
0
Well, here is the simplest one:

brainstorm.php#idea94744_page1

I'll write about the window container splitting feature in another idea, probably tomorrow night.
herminiocerqueira
Registered Member
Posts
3
Karma
0
Hi , I need application to split and configure one physical 50 " 4K monitor into two or more virtual monitors in Kubuntu 18.04.2.
Can you please help me about ?
I have lots of solutions for doing this in Windows 10 * , but I have not found noting similar to use on Kunbutu ?

* ex. https://maxto.net/

Can you please help me about, because I do not want to use Windows 10 !
Thanks in advance
HC
airdrik
Registered Member
Posts
1854
Karma
5
OS
You might look into some of the Window Tiling scripts available in the KDE store, such as Krohnkite, Ultrawide or Quick Tile.


airdrik, proud to be a member of KDE forums since 2008-Dec.


Bookmarks



Who is online

Registered users: bartoloni, Bing [Bot], Google [Bot], Yahoo [Bot]