Saturday, April 19, 2008

Konsole - KDE 4.1 Changes

I had a few emails recently asking for a summary of changes in the terminal and in particular 'Send Input to All' which was missing from KDE 4.0. So here are the changes in 4.1, in addition to the many bug fixes and tweaks.

  • Copy Input To dialog allows input to one session to be copied to all or a subset of other sessions. (Like 'Send Input to All' in KDE 3 but more flexible)

  • Drag and drop re-arrangement of tabs and movement of tabs between windows.

  • Better warnings and fallbacks if starting the shell fails (due to missing binary or crash).

  • Transparency is available by default (with an option to forcibly disable it)

  • Support for bi-directional text rendering. (Diego Iastrubni)

  • New 'Dark Pastels' colour scheme (adapted from one by Christoffer Sawicki)

  • Mouse-wheel scrolling in less and other non-mouse enabled terminal applications

Nothing ground breaking here but it should make KDE 4.1 a nice step forwards from KDE 3.5 for those who have stayed away from KDE 4.0.

In other news, like several other KDE developers I have started using git and git-svn locally. It is a huge improvement over SVN, especially when developing experimental features that touch many parts of the code alongside bug fixes to the current trunk. It does make you wonder how you ever managed before. A quick "git branch" on my current local checkout shows 10 branches for various little features in progress, for example:

custom-pty-fd
image-background
inheritance-ui
* master
port-to-mono
profile-editor-binding
profile-editor-improvements
window-tab-settings

Interestingly though and perhaps paradoxically given the open nature of the project, one of the most useful benefits is the ability to create branches to work on features without telling the whole world. There is much emphasis on the benefits of incremental development but at the same time I think it is important to be able to do some things in private so that they can arrive on the scene with a bang that gets attention. Compiz or git being good examples.

27 comments:

Anonymous said...

(i don't know if there is, i'm still using kde 3.5.8). what about the possibility to close a tab with ctrl+w, open a tab with ctrl+t, close konsole with ctrl+q ? (yes, the same as konqueror and others :) )

Unknown said...

> to close a tab with ctrl+w,
> open a tab with ctrl+t, close
> konsole with ctrl+q ? (yes, the same
> as konqueror and others :)

Where possible, the default Konsole shortcuts (in KDE 4) are the same as shortcuts in other applications but with shift added. The reason is that Ctrl+[Letter] shortcuts are used by terminal applications, although you can change the supplied shortcuts (via Settings -> Configure Shortcuts) to Ctrl+[Letter] if you don't need to send those combinations to a terminal application.

eg:

Ctrl+Shift+N - New session (tab)
Ctrl+Shift+W - Close tab
Ctrl+Shift+Q - Close Konsole
Ctrl+Shift+C - Copy
Ctrl+Shift+V - Paste

Anonymous said...

What about adding the buttons to open and close tabs? I always use those buttons at the bottom-left and bottom-right in KDE3, but they're gone in KDE4. It would be nice to have them back.

yokem55 said...

What about adding the buttons to open and close tabs? I always use those buttons at the bottom-left and bottom-right in KDE3, but they're gone in KDE4. It would be nice to have them back.

This button is the number one thing I miss from konsole in kde 3.5. Creating new tabs is something I do nearly constantly since I often have long running processes but need to access new shells quickly for other little things. Having a new tab a single click away would be wonderful.

Anonymous said...

"Mouse-wheel scrolling in less and other non-mouse enabled terminal applications"
does that include screen? :)

Anonymous said...

"Copy Input To dialog allows input to one session to be copied to all or a subset of other sessions. (Like 'Send Input to All' in KDE 3 but more flexible)"

This just sounds like an extra step you need to do for the same functionality. I don't think the extra flexibility is necessary here as it can easily be achieved by using multiple windows (which the second feature you list will help with a lot). I think being able to send input to a subset of tabs within the same window will only be confusing and lead to problems.

All the other features sound great and I am looking forward to them. The mouse wheel scrolling even sounds "ground breaking" to me. Thanks for your work!

Anonymous said...

@chani

I can scroll in screen.

ps - try putting
"termcapinfo xterm ti@:te@"
in your screenrc if doesn't work straight off.

Parker said...

Scrolling in less and man is pretty much the coolest thing ever. Thanks.

Anonymous said...

And still, it doesn't show a prompt (i.e work) in OS X.

Unknown said...

> And still, it doesn't show
> a prompt (i.e work) in OS X.

Mac support is not a high priority for me at the moment. However I am happy to review patches to fix OS X problems.

Anonymous said...

Is there a reason why the common Ctrl-V paste command does not work in Konsole?
I can see the problem with Ctrl-C for copy, but pasting would be handy via the keyboard.

Unknown said...

> Is there a reason why the common Ctrl-V > paste command does not work in Konsole?

Yes, all Ctrl+[Letter] shortcuts are reserved for use by the terminal. Ctrl+V turns on Visual Block mode in Vim for example.

You can use Ctrl+Shift+C/V for copy and paste. Many other shortcuts are the same as other applications but with an added shift.

Anonymous said...

Will the tab's right click menus be reinstated sometime soon?

Anonymous said...

Hi there,

First congrats, konsole is one of my top K-apps and these changes look great!

Second, i've got a feature request: something like "duplicate tab", that is, a new tab/session which points to the current directory where the "duplicate" command is called. Maybe the shortcut could be "crl + shift + M" (close to the N ;).

What do you think about that?

Thanks!

Anonymous said...

Please bring back the new tab button. Since I ssh into my linux box from a Windows box, this is really the only KDE application that I use. If the 4.x versions of Konsole are not going to have the new tab button, I will need to downgrade to a 3.x version of KDE. If some people do not like the button, then maybe its availability could be set in a configuration menu.

Anonymous said...

Hi,

I just upgraded from FC6 to F9, and in doing so I got the new konsole, which is my most important application as I administer in the region of 50 servers. What upsets me is the fact that there is no left button to create my new tabs, I don't want more windows, I am not a Windows user, I like to see my Windows at the bottom panel, tab browsing / tab shelling is more efficient then multiple windows any day.

Previously after opening my multiple tabs, I was able to send input to all shells with one click, this is also gone.

I have been using KDE for more then 9 years, and this is the most annoying downgrade of a key element in my eyes, and is not gonna make any proper user happy.

chandra said...

I cannot activate a transparent konsole in KDE 4.1 on Kubuntu 8.04. For details, see this post.

Any suggestions most welcome.

Anonymous said...

Until session restore works again, nothing in konsole will seem like a "step forward" to me. I've been using konsole for about 7 years, but not having session restore is enough of a problem that I'm seriously looking at other options.

Anonymous said...

Thank you Thank you!
I just upgraded intrepid and got version 4:4.1.3

So much funtionality is back now!!
I no longer have to have hardy with kde 3.5 running in a virtual machine just to have konsole :)

Ok, I can't save my sessions yet, but I can live with that for now, just never close konsole. :)

Again I can't thank you enough!

Anonymous said...

The multiple tab (session) save/restore feature was my main reason for using konsole.

Without that it has no advantage over
other terminal applications, so there is
no point in using it anymore, for me.

Very sad to see the functionality lost
in an "upgrade".

Luke Kendall

Anonymous said...

What happened to the many parameters that konsole used to support?
I especially refer to the --vt_sz parameter which allowed to specify the konsole window startup size?
I administer about 120 Linux Workstations. To keep the load off my own desktop I have a script which I trigger on a remote machine which then gives me a root konsole window back (the process is running on the remote machine but the window displayed on my local host). This way I get a dedicated konsole windows for each remote machine.
To get a consistent appearance I have specified the size using the --vt_sz paramter.
Now I find that hosts running KDE4 do not support this anymore.
Is there a replacement for it?

Unknown said...

> Now I find that hosts running
> KDE4 do not support this anymore.
> Is there a replacement for it?

Konsole windows now save and restore their window size in the same manner that other KDE applications do - the geometry is saved in the konsolerc config file in the section that looks like:

[MainWindow]
Height [ScreenHeight]=[WindowHeight]
Width [ScreenWidth]=[WindowWidth]

Where [ScreenWidth],[ScreenHeight] are the size of the screen in pixels and [WindowWidth],[WindowHeight] are the corresponding window sizes.

If you want to manually specify a size in pixels you could create a config file and tell konsole to use it with the --config option.

I appreciate that this is more cumbersome than the --vt_sz option and there is a bug report open for re-implementing that in the future.

Anonymous said...

Gotta add my complaint here as well.

Removing --vt_sz and others for a more cumbersome approach? Making it more difficult to get to the new/close tab features? Removing tab right-click features? These are steps forward?

Seems to me it took effort to remove that code rather than leave it in, and there appears to be little regard of the impact. Remembering previous session screen size is fine, if you only use one type of session. I don't, I use three depending on what I connect to.

In general KDE's last two releases have been all about taking useful features away.

Anonymous said...

I tried the --config option but it did not change anything.
Are you sure that it works?

When I run konsole --config without a file name it says
konsole: filename missing.
When I run konsole --config /tmp/myconfig , where /tmp/myconfig is my new specified config, it does not complain anymore but does not change to the options specified in /tmp/myconfig either.

Anonymous said...

The fact you associate Konsole under KDE4 with progress makes me weep.
Features that I used that are currently unavailable:
Ability to change tab colors locally.
Able to change tab color on login to a remote machine from the .bashrc
Removal of button for new sessions
Right click on tab, detach/rename/send input/monitor

However, we're getting a transparent background so its not all bad, right?
Time to find a replacement.

LittleMonkeyMojo said...

I'm really late to the party here.

I'll admit that I avoided KDE4 (like the plague) for a long time because it always seemed like a real step back. The desktop crashed on my way to often or I'd be manipulating the desktop in some way or another and I'd bugger things royally and couldn't figure out how to restore things to their original settings.

That said, I'm finally using KDE4 and (for the most part) enjoying things. Biggest complaint are the flexible sized tabs in konsole. In KDE3 the tabs were some fixed size larger than the title in the tab. If you closed a tab at the right, all the other tabs stayed the same size and in the same spots. If you closed a tab in the middle or on the left, all tabs stayed the sizes they were and just shifted to the left.

Now, in KDE4, you open a konsole window and the tabs are 1/n+1 the width of the window. So, one tab, takes half of the window. Two tabs, each tab takes 1/3 of the window. 8 tabs, each tab takes 1/9 of the window. Each time I open or close a tab, all the other tabs shift.

Really annoying.

Volker said...

Where's the "tabs list" from the "View" menu gone???

I used Konsole 1.5.2 (KDE 3.4.2) for years and it always had this list of open tabs right under the "View" menu from where it was very easy to jump to another tab. I always have a lot of open tabs (>20) and it's hard to find another tab if I can only scroll to the left and right tab.

Where is this handy selection feature gone in Konsole 2.4.2 (KDE 4.4.2) or is there another equivalent feature that I've missed?

Thank you and best regards,
Volker