Version: (using Devel) Installed from: Compiled sources Konsole from 4.x doesn't use anymore KTabWidget (why? I see the code is there, but disabled), and the new implementation misses many things. The context menu was already mentioned, here I mention the new shell/close tab button from the left/right. But tab reordering, tabbar positioning misses as well. :(
> (why? I see the code is there, but disabled) To get rid of the frame surrounding which comes with tab widgets. If I remember correctly, KTabBar is used though which is where the functionality you are after is or certainly should be implemented. > here I mention the new shell/close tab button from the left/right That is by design, for two reasons. Firstly I wanted to keep the display uncluttered and secondly since the terminal is primarily a keyboard-orientated interface used by power-users I wished to make keyboard shortcuts the primary method for creating and closing tabs as well as performing other user interface actions. > But tab reordering, tabbar positioning misses as well. :( You can change the tab order using Ctrl+Shift+<Left/Right>, this is not easily discoverable so I will try to find a better solution for that. The tab re-ordering facility in KTabBar is not very easy to use, that needs improvement first. The tab bar position can be changed via Settings -> Edit Current Profile -> Tabs page.
> The tab bar position can be changed via Settings -> Edit Current Profile -> Tabs page. Which is a bit of a cludge, though. The position doesn't actually change when you switch between tabs that use different profiles with different tab bar positions (thank god), which however also means that if you actually do want to apply the position stored in the profile for your active tab, you have to reload the same profile. Granted, I doubt it's a big issue because people will hardly change the tab bar position frequently, but it's clearly unelegant. I can tell you're keen to avoid adding an additional app-global settings dialog - let's see how long you can get away with it ;).
On Thursday 31 January 2008, Robert Knight wrote: > > here I mention the new shell/close tab button from the left/right > > That is by design, for two reasons. Firstly I wanted to keep the > display uncluttered and secondly since the terminal is primarily a > keyboard-orientated interface used by power-users I wished to make > keyboard shortcuts the primary method for creating and closing tabs > as well as performing other user interface actions. Well: - corner widgets can be optional (and I don't mind if they aren't shown by default) - I consider myself a power user - I use the mouse with konsole, after all I don't run the terminal fullscreen, but using a graphical desktop environment where the mouse is often used - now to open a new tab or close one (or reorder), I have to work either with keyboard or navigate through menus :( - this takes aways functionality that was there before, IIRC you said in a mail you want all konsole's features in KDE4 that were in KDE3. > that. The tab re-ordering facility in KTabBar is not very easy to > use, that needs improvement first. But at least it works in all applications using it, and once you discover, it is very nice and easy to do: grab and move.
On Thursday 31 January 2008, Robert Knight wrote: > The tab bar position can be changed via Settings -> Edit Current > Profile -> Tabs page. That is not good... You edit the position in a profile config, but it affects all profiles? Plus if you have a profile with tabs above and one with tabs below, the tabs will be on top/bottom depending on which profile you load last.
Please, vote for the bug #155198 (wish) for having back the close/create buttons!
Sorry, I've write the wrong bug number.... :-(
Re-add 'new tab' button is bug #155439, and yes, please vote for it. I'm of the opinion that totally removing 'configure konsole' was a bad idea... profiles are nice, but there are some things (like position of the tabs, visibility of the 'new tab'/'close tab' buttons, etc) that clearly belong to the application and not a profile. For reference, some settings that should probably be application-wide: - show terminal size (if not always-on) - confirm quit when closing multiple sessions - default profile - tabstrip buttons visible
> That is not good... You edit the position in a profile config, but it > affects all profiles? One thing which is not made clear in the current user interface is that profiles inherit from other profiles - so supposing you have: - One default profile - Four profiles for various different tasks which were created from the default and only differ in their color scheme Then any properties changed in the default profile other than the color scheme will also apply to the other profiles. If you changed the font size of the default profile from 10 to 12 and then opened a new tab with one of the other schemes, it would have a font size of 12.
I have no problem with that. The problem I have is that I created two profiles, one having the tabs at top, the other at bottom. I open the one having the tabs at bottom: tabs are at bottom. I click File- >Profile2 (which has tabs at top): tabs are moved to top. I click File- >Profile1 (which has tabs at bottom): tabs are moved to bottom. That is confusing, and IMO wrong. BTW, I agree what Matthew told, some settings should really be application wide.
The "double click" on the tab bar for open a new tab is ok. I need a way to close quickly the tab with the mouse, the old "close" button was good enough. :-)
> I'm of the opinion that totally removing 'configure konsole' was a bad > idea... profiles are nice, but there are some things (like position of the > tabs, visibility of the 'new tab'/'close tab' buttons, etc) that clearly > belong to the application and not a profile. The problem with having both profiles and a "Configure Konsole" dialog is that there would be more than one place to look in order to find a particular setting. At the moment everything is in the one dialog. I'll have a think on that. > tabs are moved to bottom. That is confusing, and IMO wrong. That is indeed a bug. In the current design the tab position should behave like the 'Show Menu Bar' setting, ie. it should apply only to new windows. > I need a way to close quickly the tab with the mouse, the old > "close" button was good enough. :-) I personally would prefer a close button on the tab as in say Firefox for two reasons: 1) It is possible to close a tab other than the active one. This is useful when you have a few tabs left over from earlier activities and they are not needed any more. 2) It is more explicit which tab will be closed when clicked. In Firefox the close buttons are visible but greyed-out on inactive tabs which means that they are accessible but don't add visual clutter.
Having the close button on the tab is a good idea: it is better than the old corner button. :-)
Another reason to use KTabBar (KTabWidget). :) You can have close buttons on tabs. And it will be consistent with other apps.
> Another reason to use KTabBar (KTabWidget). :) Konsole already uses the KTabBar widget. See konsole/src/ViewContainer.h:350 I'm pretty sure that KTabBar's close button doesn't work as I want at the moment. It would need some changes first.
I dislike the resizing tabs, and miss the New and Close buttons enough to make Konsole4 a non-starter for me. "X" boxes on the tabs would be an acceptable substitute for a Close button, but I also want a mouse-driven method to create a new session which doesn't rely on finding blank space in the tab bar. Firefox uses right-click on any tab, first item is "New Tab" - that would be good enough if we can't just have a configuration item for "do you want the old boxes back".
Regarding the close tab button, I think the icon on a tab can be changed to a close button on mouseover. See Akregator browser tabs on kde3 at least for that. Regarding the new tab button, I'd like to see it returned as it kind of makes konsole4 a non-starter for me too. In kde3 I can click and hold for a session menu to select a new python interpreter or root session. The only way to do that with konsole4 is to use the File menu as far as I know. Also, if in a regular bash session I choose Settings->Change Profile->iPython nothing happens. The session simply has '/usr/bin/ipython' in the 'Command' line. I'm not sure if this is a bug or a design limitation in the way konsole profiles are intended to be used.
> Also, if in a regular bash session I choose Settings->Change Profile->iPython nothing happens. Settings -> Change Profile applies the settings of the selected profile to the current session. This only affects settings which can be changed after the session has been started (eg. colors, key bindings, font). The command associated with a profile only has an effect when creating a new profile from the File menu or via a keyboard shortcut. > The only way to do that with konsole4 is to use the File menu as far as I know The assumption when I designed the UI was that users would define keyboard shortcuts for profiles they used very frequently and use those. You can define shortcuts for profiles via Settings -> Manage Profiles.
> Settings -> Change Profile That may be a misleading name. Did you interpret that to mean "Change the settings for a profile"? Perhaps "Apply Profile" would be better.
*** Bug 155439 has been marked as a duplicate of this bug. ***
BUG 137938 has been implemented. You can now close a tab by middle-clicking it.
*** Bug 161447 has been marked as a duplicate of this bug. ***
I've just tried the middle click... it works... too much. Is it possible to detect if the tab contains active processes for avoiding to stop them?
> Is it possible to detect if the tab contains active processes > for avoiding to stop them? Yes it is possible. There is another bug report asking about warnings when closing tabs that have running processes.
Thanks a lot Robert!
SVN commit 803112 by knight: * Add option to show new tab button with delayed popup menu on tab bar. Go to Settings -> Edit Current Profile -> Tabs page and tick "Show 'New tab' button in tab bar" This was added for the benefit of users with existing habits from KDE 3 and is not shown by default. * Add close buttons on tabs using the new style ppenz added to KTabBar * Add confirmation when closing via middle-click/close button if a program other than a shell or nested shell is running in the foreground of that session. BUG: 157015 Squashed commit of the following: commit 54a5db9c31a5527e44d7358b30587c28bab965bc Author: Robert Knight <robertknight@gmail.com> Date: Fri May 2 01:48:05 2008 +0100 UI text correction: 'on tab bar' -> 'in tab bar' commit ed8e70238e2cc4240f8334cd091fa2707785a908 Author: Robert Knight <robertknight@gmail.com> Date: Fri May 2 01:46:42 2008 +0100 Do not show the confirm-on-close prompt if the foreground program is another shell. commit 010370c12950a532d93c99d0983c74c47e26ad07 Author: Robert Knight <robertknight@gmail.com> Date: Fri May 2 01:40:05 2008 +0100 Add a confirmation which is displayed when closing a tab via middle-click / close button if the program has an active program running in the session (other than the shell itself). commit 49812e26e5fd8c44dd01f1a6a4c0e7271c6366fd Author: Robert Knight <robertknight@gmail.com> Date: Fri May 2 01:25:29 2008 +0100 Add confirmClose() method to ViewProperties which is can be re-implemented to prompt whether to close the session. Make the presence of the close button in the ViewContainer dependent on a QuickCloseView feature being enabled. commit ece191ad5ad550af47cd2ca0bc75a517119e7189 Author: Robert Knight <robertknight@gmail.com> Date: Fri May 2 01:09:17 2008 +0100 Show 'close' button on tabs using the new close button style added to KTabBar by ppenz. commit f975f04c993effdd2afef588c5f765192b6fab5a Author: Robert Knight <robertknight@gmail.com> Date: Fri May 2 01:03:54 2008 +0100 Better UI text for 'Show New Tab' option. commit 642c5b1d07cd2288c78446efe395da050730decb Author: Robert Knight <robertknight@gmail.com> Date: Thu May 1 21:04:47 2008 +0100 Sync 'new tab' tab bar menu actions with profile list. commit c6c556980e43afcb1bb5fdfaaa9dd7e12e524688 Author: Robert Knight <robertknight@gmail.com> Date: Wed Apr 30 23:01:34 2008 +0100 Hook up actions in new tab popup menu so a new tab is created with the right profile when an action is chosen. commit dece8a23ff101dda47d495ba38e57e55059c4e63 Author: Robert Knight <robertknight@gmail.com> Date: Wed Apr 30 22:51:28 2008 +0100 Apply ShowNewTabButton profile property to current view container. commit e244a95512dc535198fa69c3afe34b597402de15 Author: Robert Knight <robertknight@gmail.com> Date: Wed Apr 30 22:50:57 2008 +0100 Add support for enabling/disabling a 'quick new view' widget in view containers. Add an implementation of it (quick new tab button) in TabbedViewContainerV2 commit 9fdc2e450aefb9b602f8fb6b66d3508e6750531b Author: Robert Knight <robertknight@gmail.com> Date: Wed Apr 30 22:50:22 2008 +0100 Hook up 'Show new tab button' UI option. commit 7326e6dccbc095f0f784fd6f4da532f250ca5437 Author: Robert Knight <robertknight@gmail.com> Date: Wed Apr 30 22:50:04 2008 +0100 Add ShowNewTabButton profile property and set a default for it (false) commit 273f85f0d21d8b755712c67c50a939400f15a169 Author: Robert Knight <robertknight@gmail.com> Date: Wed Apr 30 21:22:09 2008 +0100 Add checkbox for toggling new tab menu button. commit 200744ce620cd6bd9a9d1791e62863c618921788 Author: Robert Knight <robertknight@gmail.com> Date: Wed Apr 30 21:21:33 2008 +0100 Formatting. Remove extra lines. M +5 -0 EditProfileDialog.cpp M +1 -0 EditProfileDialog.h M +18 -6 EditProfileDialog.ui M +4 -1 MainWindow.cpp M +3 -1 Profile.cpp M +4 -1 Profile.h M +21 -2 ProfileList.cpp M +4 -0 ProfileList.h M +30 -0 SessionController.cpp M +1 -0 SessionController.h M +51 -9 ViewContainer.cpp M +40 -16 ViewContainer.h M +28 -0 ViewManager.cpp M +8 -8 ViewManager.h M +20 -11 ViewProperties.h WebSVN link: http://websvn.kde.org/?view=rev&revision=803112
Great commit. There is only a small thing left about the warning message while closing tab with running processes: it could be used even when the application is closed. Actually the check is done only when the tab is manually closed but if you have only a tab (with an active process) and you close konsole with the "X" button, or with the "exit" action, konsole is closed without asking.
Wonderful, finally. Thanks.
Go to Settings -> Edit Current Profile -> Tabs page and tick "Show 'New tab' button in tab bar" I don't see this in kde 4.04 is it supposed to be there? if yes it isn't.
> I don't see this in kde 4.04 is it supposed to be there? if yes it isn't. No, it is only in KDE 4.1.
@Robert: about the comment #26, what do you think?
Sure but I think it needs an additional setting to avoid prompting when certain programs are closed.
Small glitch here, seems the setting isn't being loaded; every time I start konsole, I have to go to 'edit profile', and uncheck and recheck the option before the new button shows up
SVN commit 810949 by knight: Fix "Show 'New Tab' and 'Close Tab' buttons on tab bar" setting not being applied correctly on startup. Test for the tab bar being explicitly hidden with isHidden() rather than just isVisible() which will return true if the setting is applied before the container widget is shown. BUG: 162420 CCBUG: 157015 M +3 -27 ViewContainer.cpp M +1 -1 ViewManager.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=810949
*** Bug 162651 has been marked as a duplicate of this bug. ***
@Robert: About comment #26 and your answer on #31: do you need a new bug report as reminder?
Hi Finex, That has been implemented in trunk. There was a bug report for it although I cannot remember which one right now.
Ok, thanks Robert :-)
*** Bug 202208 has been marked as a duplicate of this bug. ***