Summary: | Konsole split view: in both views same content | ||
---|---|---|---|
Product: | [Applications] konsole | Reporter: | Jaroslav Petráš <jaroslav.petras> |
Component: | split-view | Assignee: | Konsole Developer <konsole-devel> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | CC: | ace.r.gallagher, adaptee, anton, aspotashev, bh-kde, christian.kapeller, dahl, dimanne, drewlustro, eddiecarswell13, finex, jk.lawlor, kde.kfoar, martin.stenrose, miso, opensource, paulo.fidalgo.pt, praisetazio, robertknight, shtetldik, simon, skipmeister123, t.platzer, vinc.pii |
Priority: | NOR | ||
Version: | 2.2 | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 19.08 | |
Sentry Crash Report: | |||
Attachments: |
Screenshot of multi-terminal work in progress
attachment-331-0.html attachment-11495-0.html |
Description
Jaroslav Petráš
2008-12-20 21:12:39 UTC
It seems being a feature... sincerly I don't understand how the current implementation could be useful :-( You can display EITHER the same view or a different view in the top/bottom views when the view is split - using the tab bar for each section to navigate between the views.
> Now: Function "split view" copies session and commands is
> processed in both views simultaneously.
The session is not copied - it is the same terminal session in both, just two views on it which can show different parts of the output, like splitting the view in a text editor. The use of this is that you can enter new commands in a terminal session in one view while browsing earlier output from that same session in the other view.
(In reply to comment #2) > You can display EITHER the same view or a different view in the top/bottom > views when the view is split - using the tab bar for each section to navigate > between the views. > > > Now: Function "split view" copies session and commands is > > processed in both views simultaneously. > > The session is not copied - it is the same terminal session in both, just two > views on it which can show different parts of the output, like splitting the > view in a text editor. The use of this is that you can enter new commands in a > terminal session in one view while browsing earlier output from that same > session in the other view. > If you create a new tab, in other window (in split view) will be created too (the same session) - call it exampli gratia twin. If you execute command in one, it will be executed in twin too. Its like a perfect mirroring. But in my opinion this is perfectly useless too. I don't want to have opened multiple tabs only for reason that every pair is mirrored. I think this mirroring feature is pointless. :( > If you execute command in one, it will be executed in twin too.
The command is not executed twice. It is the same terminal session you're looking at in both top/bottom views. You don't have to display the same view top and bottom. The normal usage is to split the view and then use the tabs to show different views in each section. You can use the tabs to switch between the views shown in each section.
For example, supposing you have two three tabs open:
[Some SSH Connection] [Code Editor] [Debugger]
If you split the view, you will see two tab bars, each displaying these three tabs. You can display any of the three tabs in either view, independent of what is visible in the other one. For example, [Code Editor] in the top view and [Debugger] in the bottom one. Now suppose that you want to enter commands in [Some SSH Connection] with reference to earlier output from that session. You can display [Some SSH Connection] in both top and bottom views, with the top view scrolled up to show earlier output which you can then read or copy/paste etc. while entering commands where the prompt is in the bottom view. You can then change the tabs back to [Code Editor] / [Debugger] when you're done.
If you've used Vim or GNU Screen's split-screen feature before then Konsole's implementation works much the same way, except of course that there are visible tabs for switching the content of the views. I second Jaroslav's wish. I want to elaborate what I, from my point of view expect of a terminal application, which let's me to split the whole window into parts: The main reason, why i want to split a terminal window into say two parts, is to see simultaneously what goes on in two different locations. For example I want to compile some server program on my blazing fast laptop , and then to setup the program on my humble low power/low performance home server. I split the terminal window into two parts, one showing me a vi on my laptop call it the [Devel] session, the other part is showing me a shell on my server, the [Admin] session. In [Devel] I compile the program, and copy it on the server. I change to [Admin], bring the program into place, setup config files, and start the server program. Something goes wrong, and I want to examine the logs on the server. I split my view again and get a [Log] session. The [Log] sessin is happily showing me the log file output of the server program, while I fiddle arround in with the config files in [Admin]. .... This is a quite common task that I have to achieve every day. From this little story, one can see, that I want to get two different things done in two different views, i.e. I want one-view-one-thing semantics. The way I expect splitting to work is that of a tiling window manager (like in ION). Further it would be nice if I could drag the shells around to adjust the whole term window to different needs. Another thing, that would be nice to to have, where tabs within views so that i can have switch between two shells with in one view. Observe that all this is based on the one-view-one-thing semantics. As to the way konsole splitting works now, I understand the intention behind the current view mechanism. It is geared toward providing quickly and easily many-views-on-one-thing. I have encountered this concept in many places. The first i now of is some early WinWord, where you could split the view of one document into two, working on two places of the doc simultaneously. You mentioned vim, which I use extensively. But also there I use the split view rather for viewing multiple files then for multiplely viewing one file. Though it is an intriguing concept, personally I never got used to the many-views-to-one-thing semantics. I see it as a neat feature that would come handy one day. What I explained above fits quite good with the way the 'terminator' terminal emulator works. But otherwise I feel much more comfortable with konsole, and it's a pity that especially this aspect that would make my life much easier, does so much not conform with the way I prefer to work. > It is geared toward providing quickly and easily many-views-on-one-thing.
As I said above, I wanted both:
1) Views on two different sessions in the same window
2) Two views of the same session in the same window
You can do both at the moment. If you want something more like Terminator then Yakuake provides this.
i agree the current behaviour is useless and just makes everybody laugh at konsole. if you know some people enjoying the current behaviour, keep it as an option. but seriously. what users expects when you split view, is to spawn a new terminal like when you open a new tab. split views needs their own tabbar. keep the working directory. that's it. Mathieu is right, please use terminator gnome project as an inspiration. http://freshmeat.net/projects/gnometerminator Cheerz, *** This bug has been confirmed by popular vote. *** > split views needs their own tabbar
Split views do have their own tab bar. You can change the shell/program shown in each view using the tab bar for that view - rather like a crude tiling window manager. Or do you mean something else?
... do not duplicate shells. do not duplicate tabs. no matter how many tabs you have open, spliting views should keep all the tab into the first view and create a new view with a single tab on a new shell. For anyone who has ever tested software, be it a web page or anything else, it is absolutely vital that you be able to type commands into one window, and verify the response in another. For example, you might be running a bash script in one tab, and doing a tail -f on a log file in another tab. Splitting the view is crucial. There are other Konsole-like programs that do this like Putty Connection Mananger, but unfortunately that's only available in Windows. I work as a test engineer, and if this feature was implemented I would be able to do my job better i.e. find more bugs. It's as simple as that. Hello John, Konsole does support split views and you can display different terminal sessions in each view, as described by my example above with a text editor in one view and a debugger or some other analysis tool in another. Hi Robert, I know you can split them. I just don't like the way it's implemented in Konsole.It would be better if you could have two tabs, and simply click on one of them, and drag it to the right/left to split the screen, thereby creating two completely separate sessions - not dividing the existing sessions in half. You can do this in other applications. You can click and drag a console tab, and arrange windows anyway you like, see here: http://puttycm.free.fr/images/puttycm.JPG This is similar to tabs in Eclipse. All the sessions are completely separate. I would love to see similar features in Konsole. *** Bug 190432 has been marked as a duplicate of this bug. *** *** Bug 283873 has been marked as a duplicate of this bug. *** *** Bug 313479 has been marked as a duplicate of this bug. *** please please please for 5.0 !!!! There is a work in progress here: https://github.com/vincepii/konsole-multi-terminal (please check the screenshot at the root of the repository). Note that this is not a fork of Konsole, it is just that I don't have write permissions on the official repo, so I am implementing this somewhere else. This, once finished, should also solve bug 180770. Created attachment 84943 [details]
Screenshot of multi-terminal work in progress
A workaround for this bug is to create the session in a new window (Ctrl+Shift+M) then drag the tab to one side of a split view. The new window will automatically be closed and the new session becomes available on only one side of the split view. Vincenzo !!! Thank you Thank you Thank you !!! Thanks, looks good. Some status update here: https://bugs.kde.org/show_bug.cgi?id=203970#c4 Thanks for the encouragement! Does anyone plan to integrate Vincenzo's patches upstream? He stopped working on the project. I'm working on it https://github.com/xliiv/konsole-multi-terminal/tree/kde5port thanks xliiv I have not yet look at your fork, but the problem I had with Vincenzo's was that he was keeping the weird current split, I think that will end up being way too many level for splitting. I tried to take it out, but apps using the parts like kdevelop would no longer run. I am looking forward to your fork xliiv Yeah, the main problem was that other applications were using libraries compiled out of the konsole source code. Before I stopped maintaining the repo, I wanted to implement an option to choose between the two split methods, but I agree that it would be way simpler to just remove the old split functionality. So Konsole without old-split breaks other stuff? I'd rather *append* new-split, because I consider it as smaller change. I'm starting to work with Konsole source, so the less change the better. Maybe after that I could remove old-split, but nothing for sure. How's it goin' xliiv ? how can I help ? I had to suspend it, because i was overwhalmed by other stuff. I'm gonna start working again this wednesday. I don't think I can finish this feature in reasonable time. Learning of KDE and QT takes me so much time and I underestimated this process. I don't give up, but I have learn it first, so I'm not the best person to finish that (right now). Now i'm playing a bit with Yakuake sources (there is the split feature and quad-split), but again, it's learning not "getting thigs done". So if anyone wants to finish the feature, feel free. 7 years people, 7 years. Just saw that I had terminator as console program on my icononly-bar and replaced it with konsole. I adjusted the shortcuts to be in sync with those of yakuake, and happily tried to split the view to get a new shell. To my utter amazement it just created a duplicate of the first one (yeah I know it's the same just a different view on it). I started to google it, found this page, and suddenly remembered why I had terminator there in the first place. This is insanity. I don't know what the person was thinking who implemented it first, but even that answer wouldn't explain why this preposterous behaviour, bug is a slight euphemism here, has survived for 7 years without a fix! The only person to comment in favour of this behaviour is John Knight, but otherwise complete and utter silence from developers. Was Konsole unsupported for the last 7 years? It kind of seems that way. I *love* KDE. After the rude shock of transitioning from 3 to 4 I finally thought this DE is coming to shape. But now the next transition looms on the horizon. It mostly looks like an in-depth skin update, but it seems that a lot of applications have to be *ported* to work in 5? Please tell me you are not serious as to inflict another 3->4 disaster? PLEASE tell me that is not the case! Something like Ubuntus "1000 cuts initiative" is in sore and dire need. Just fix those annoying little quirks that make KDE just that little bit harder to use. Or, as in this case, unusable for a vast majority of users who came to expect the behaviour every other split-term manages to provide? I mean even yakuake has it, but you can only have one instance of it. Sometimes I really come to think that KDE is sabotaging itself with stuff like this. Overall it's by far the best desktop-env I know, but the little things drive me crazy. Like plasmoids changing size and position indiscriminately, or the behaviour when a hidpi monitor is turned off and everything is formated for the mere FullHD TV that is plugged in but turned off. Why is Oxygen the only skin that supports window tabbing? How to configure lightdm dpi? What is Dolphins default view? I never managed to find out, only that "group by categories" became somewhat the default. Why? When? How to change it? I don't know. It's not the first time I felt the urge to *scream* at the developers or whoever allocates resources in the project. It's lacking in polish, and the complaints from me seem minor, but they really trash the experience. I'd like to help, but my background is Java and c++ has not been my cup of tea. I would put in some time and effort to help the KDE project, not just complain. 7 years people, 7 years. Just saw that I had terminator as console program on my icononly-bar and replaced it with konsole. I adjusted the shortcuts to be in sync with those of yakuake, and happily tried to split the view to get a new shell. To my utter amazement it just created a duplicate of the first one (yeah I know it's the same just a different view on it). I started to google it, found this page, and suddenly remembered why I had terminator there in the first place. This is insanity. I don't know what the person was thinking who implemented it first, but even that answer wouldn't explain why this preposterous behaviour, bug is a slight euphemism here, has survived for 7 years without a fix! The only person to comment in favour of this behaviour is John Knight, but otherwise complete and utter silence from developers. Was Konsole unsupported for the last 7 years? It kind of seems that way. I *love* KDE. After the rude shock of transitioning from 3 to 4 I finally thought this DE is coming to shape. But now the next transition looms on the horizon. It mostly looks like an in-depth skin update, but it seems that a lot of applications have to be *ported* to work in 5? Please tell me you are not serious as to inflict another 3->4 disaster? PLEASE tell me that is not the case! Something like Ubuntus "1000 cuts initiative" is in sore and dire need. Just fix those annoying little quirks that make KDE just that little bit harder to use. Or, as in this case, unusable for a vast majority of users who came to expect the behaviour every other split-term manages to provide? I mean even yakuake has it, but you can only have one instance of it. Sometimes I really come to think that KDE is sabotaging itself with stuff like this. Overall it's by far the best desktop-env I know, but the little things drive me crazy. Like plasmoids changing size and position indiscriminately, or the behaviour when a hidpi monitor is turned off and everything is formated for the mere FullHD TV that is plugged in but turned off. Why is Oxygen the only skin that supports window tabbing? How to configure lightdm dpi? What is Dolphins default view? I never managed to find out, only that "group by categories" became somewhat the default. Why? When? How to change it? I don't know. It's not the first time I felt the urge to *scream* at the developers or whoever allocates resources in the project. It's lacking in polish, and the complaints from me seem minor, but they really trash the experience. I'd like to help, but my background is Java and c++ has not been my cup of tea. I would put in some time and effort to help the KDE project, not just complain. I'd like to help this too, as the current behaviour is total nonsense. I was just beginning to fall in love with KDE Neon (and Konsole, for that matter). I encountered this "feature" and thought it was a bug. This report verifies that I am not alone. This behavior is unexpected and far less useful than splitting the terminal window with a new session. I would also like to help out on this problem, but do not know where to begin. Maintainers, please advise. Thanks. I use KDE all day everyday and I love everything about it. this long lived bug is my only pain point at the moment... it would be great to just have it fixed in konsole. but it does not look like its going to happen from the main devs. the hard part I find when trying to rip this off and keeping vincenzo's split work, was all apps using the kpart like kate and kdeveloper were crashing on start up. so that would need fixing. you can look at my fork on github which I'm sure I linked above. then xliiv started to port the fork to KDE Framework 5 world, but I'm not sure its anywhere ready. one solution that I thought should be much easier, is to just embed the kpart in an entirely new applications. There is this super cool app https://github.com/Swordfish90/cool-retro-term which is actually based on Konsole, with some very impressive effects. so we could be taking example from him, use his https://github.com/Swordfish90/qmltermwidget and make a superlight app with decent split screen based on Konsole. I think that's pretty much the two ways to go around it. pick your poison, I'll be happy to help as well, but I can't take this alone. Created attachment 101071 [details] attachment-331-0.html > > > pick your poison, I'll be happy to help as well, but I can't take this > alone. > Hi Mathieu, Sounds like a good idea. I'd be happy to step-in and help as well as - just saying.... Ron I've suspended my work on this, because it took me too much time to learn c++/cmake/compile working in this project in general and I simple got bored by real coding of the feature. Anyway I could share my experience, which is this: First steps, Vincecio's work: I made successfully port of Vincencio's work to qt5 (perhaps it's this branch https://github.com/xliiv/konsole-multi-terminal/tree/kde5port I'm not sure :)). It worked with some minor flaws, like closing last terminal didn't trigger window closing etc. But it worked. However my tests were very limited, like compile do some splits, close terminal, etc. Then i thought about Yakuake. Experimenting with Yakuake: After that I thought that I could "reuse" some of work from Yakuake project. I started to play a bit with Yakuake and as far as i remember I extracted some code of Yakuake project and got simple minimal splitable terminal application based on Yakuake project. I've got it on private repo so I could publish it if anyone is interested. Back to Konsole: Next step was to reuse knowlegde and code from `experimenting with Yakuake` step in Konsole project. I got working horizontal split using Yakuake concept, but it was very non-production version. And then i started to reanalyze it. Because it's complex topic. Feature creation is one thing and shipping it is another thing. Not saying about the KPart should still works. And what about current split which should be removed(?). It's very complex case which lead me to the conslusion that the easiest way of doing this is to create a new application. The new application would adopt KPart (like Yakuake did). Because Yakuake is almost Konsole with splits. Yakuake doesn't allow you to run more than one instance but this is very easy change comparing it to deep down design changes in Konsole views/splits etc. And such deep changes are vary hard without A LOT OF TESTS. However I'm not sure if this solution (like new application) is acceptable by Konsole/KDE maintainers? I created a gitter room for easier communication around this project anyone interested participating into creating a new app, or working on konsole's fork. please join. https://gitter.im/konsole-multi-terminal/Lobby hey, we got something that work !!!!! https://bitbucket.org/somekool/kde-start/branch/app_close *** Bug 343360 has been marked as a duplicate of this bug. *** I would give a lot to have these features. Konsole is so great. I understand the primary reason this hasn't been done yet is overlap with other software (tmux/yakuake/etc) but it would make Konsole much more useful to me. I've collected bug reports and a video for anyone interested. Since this is the largest/oldest thread then I'm posting here. I would even be happy to attempt to contribute code if there's a sane place to do so. Video: https://youtu.be/8qmlfIP5-bE Here are all the reports: https://bugs.kde.org/show_bug.cgi?id=178320 https://bugs.kde.org/show_bug.cgi?id=385697 https://bugs.kde.org/show_bug.cgi?id=203970 https://bugs.kde.org/show_bug.cgi?id=180770 I could have swear we already had posted a comment on this bug, there is this project that does not have too many features but works well for the most part https://github.com/kterminal/kterminal/ I've been longing for this to be fixed for years. I don't understand the current behaviour at all. It's confusing and nonsensical. Maybe there is some reason why you sometimes want to duplicate output or scroll back one copy whilst typing commands in the other. But this is surely a very rare case, so it should not be the default behaviour, and definitely not the only behaviour! I'm sure everyone would be happy if it worked like this: - When you open a new split, the new split gets its own tab bar with one new tab in it - You can drag tabs between splits to move them around as you want - If you want to clone a tab so it appears in both splits, you can hold CTRL whilst dragging, or right click on it and select "clone tab" Please can we get this fixed! Created attachment 121575 [details] attachment-11495-0.html Please compile master, the current behavior is what you expect Em qua, 17 de jul de 2019 às 11:04, Simon Williams <bugzilla_noreply@kde.org> escreveu: > https://bugs.kde.org/show_bug.cgi?id=178320 > > Simon Williams <simon@systemparadox.co.uk> changed: > > What |Removed |Added > > ---------------------------------------------------------------------------- > CC| |simon@systemparadox.co.uk > > --- Comment #46 from Simon Williams <simon@systemparadox.co.uk> --- > I've been longing for this to be fixed for years. I don't understand the > current behaviour at all. It's confusing and nonsensical. > > Maybe there is some reason why you sometimes want to duplicate output or > scroll > back one copy whilst typing commands in the other. But this is surely a > very > rare case, so it should not be the default behaviour, and definitely not > the > only behaviour! > > I'm sure everyone would be happy if it worked like this: > > - When you open a new split, the new split gets its own tab bar with one > new > tab in it > - You can drag tabs between splits to move them around as you want > - If you want to clone a tab so it appears in both splits, you can hold > CTRL > whilst dragging, or right click on it and select "clone tab" > > Please can we get this fixed! > > -- > You are receiving this mail because: > You are the assignee for the bug. Hooray! That's even better than I was hoping for. Thanks. Is this included in 19.04.3? This should be fixed in 19.08.0 Thanks and congratulations. Hard work from developers in communicating with users on features like these is what makes open source projects so wonderful. It would be possible to say "THIS BUG HAS BEEN OPEN SINCE 2008, ABOUT TIME". But in reality, the KDE/Konsole devs are releasing a huge update after listening to the community. I admire you all. Thank you for the work. Well, for the record, not everyone is happy about this change. The previous implementation allowed me to have one big window with multiple tabs, split it into two views and pick independently any tab for the left view and any tab for the right view. Now, with konsole 19.12.2, I have to split each tab separately and then I can only see fixed pairs of half-windows. I understand that this way it makes more sense for people who don't use multiple tabs (as previous comments show) but for me the feature is no longer useful. I'll have to forget about split views and go back to multiple windows but that is still a big step back as it will still limit the combinations of tabs I can see simultaneously. |