Sunday, December 30, 2007

Finishing touches and embedded terminal improvements

The KDE 4.0 release is now very close, so I have been concentrating on fixing bugs and tidying up loose ends. Many bugs and missing menu items in the embedded terminal have been fixed in recent days.

A number of features found in KDE 3's Konsole have not been implemented to acceptable standards yet and the UI for them has been removed. Konsole/KDE 4.0 will not have:

  • Session management (ie. remembering the tabs open in Konsole windows when logging out)

  • Sending input from one tab to all other tabs ("Send Input to All")

  • Support for terminal programs resizing the terminal window

The good news is that the embedded Konsole part became much more flexible in recent days as I fixed the context menu in the part so that it exposes features which were not previously available from the embedded terminal (in KDE 3 or the KDE 4 betas)

  • Profiles, including the default profile, are shared with the main Konsole application. They can be manipulated in the embedded terminal via 'Manage Profiles', 'Edit Current Profile' and 'Change Profile' on the context menu.

  • Save output as plain text or HTML

  • Scrollback options and clearing

If there are any particularly annoying bugs which you want to see fixed before the release, please make sure they are filed on bugs.kde.org and add votes to them to help me prioritise them. Thanks to everyone who has been testing the KDE 4 pre-releases and a happy new year to all :)

17 comments:

jospoortvliet said...

Meh, the top 2 of the three missing features are things I will have to learn to live without for a while - as I use 'em both extensively right now... But, now I come to think about it, that's mostly because I use that to have a konsole with a bunch of tabs at startup in KDE3, then put the first one on 'send output to all tabs' so I can type "su - kde4; password" and I have 8 logged in kde4 sessions I can use to run and test apps. This usecase will be gone when I have KDE 4 running by default, so I can live without the features for the time being.

Anyway, great work on Konsole so far, it really rocks. Thoug it resizes horribly slow... I remember vaguely I've blogged about something like that a while ago, not sure, but it's pretty likely not your fault ;-)

Robert Knight said...

Jos,

I'd suggesting adding a suitable alias in your shell instead of typing the same thing into different shells all the time.

eg. Add the following to the end of your ~/.bashrc file (if you are using bash):

alias kde4='sudo su - kde4'

Then inside the shell, running "kde4" will switch to that user. If you fire up several shells in succession, it should only ask for the password after the first time you enter the command - depending on your sudo timeout, which I believe defaults to 15 minutes.

Anonymous said...

KDE 4 konsole is the best terminal out there. So clean, so pretty, so usable!
Thanks Robers, you did an _amazing_ work! (I can't wait to use it on my production desk all day long! ;-)
The thing that more impresses me is that the menus were shrunk a lot vs the kde4 version, while the functionality is even more! Good *usability* job! compliments!

slougi said...

Great work on Konsole. In my opinion it's one of the very few really polished KDE4 applications and a great step forward from the old Konsole.

Hrw said...

I do not know why but I feel Konsole from KDE4 to be slower then the one in 3.5.8 version. Especially tab switching.

Anonymous said...

Man, I will have to learn to live without being able to send input from one tab to all other tabs. It took me years to find that feature, but when I did, life was never the same again.

I really hope it will be eventually implemented.

Thanks for all your good work.

Best wishes for the new year.

NicolasP said...

Rob,

can you contact me at nicolasperrier{AT}gmail.com. I've got a KDE question for you (sorry to spam your blog).

cheers
Nicolas

Yo, said...

Konsole/KDE 4.0 will not have:

* Sending input from one tab to all other tabs ("Send Input to All")


Argh! But this is horrible.
It was a essential feature for me.
How I can to do that now??
Why? Why? Why?

Phil Salkie said...

Sorry, I'm one of those who looked at Konsole in KDE4 and immediately switched back to KDE3.5.8's version. I couldn't find a way to get the "new tab" and "delete tab" buttons to show up on the left and right side of the tab area. I can no longer do a "fake transparency" mode (want to see a dimmed version of the background image as the Konsole background, without running a power-hungry true-alpha system like compiz.) When resizing a konsole window, it no longer shows the window size in a little box so I know if it's 80 columns wide or not. There seemed to be no way to save the font size so that when I called up a new konsole window, the fonts came up the size I'd set them last - so calling up a new window became "new window" plus several "Ctrl -" presses.
Now, some of this may be due to my installing KDE4 over an existing KDE3.5.8 instead of a clean install, and may be in the class of "bug" rather than "removed a feature I was using". However, the reason I switched from Gnome to KDE was that Gnome developers seem to have the idea that "Less Configurable" is always equal to "Better". I, and many others, feel that "More Configurable" is usually "Better", and that the job of the UI designer is not to take away configurability, but to divide the configurations into "common" and "expert" so that the most often adjusted functions are easy to change, but more esoteric options are still available to those who want them.
That having been said, I appreciate that konsole now has an active maintainer, and I hope that your efforts will eventually produce a real winner - right now, however, I find that the UI changes have made konsole4 a total non-starter for me. Thanks for your efforts.

Robert Knight said...

Hi Phil,

1. The font size can be adjusted via Settings -> Edit Current Profile -> Appearance tab.

2. The terminal size is now shown when resizing the window in KDE 4.0.1 / KDE 4.1. It was just a lack of time that it didn't make it into 4.0.0

3. The 'New Tab' / 'Remove Tab' buttons were removed in favor of keyboard shortcuts for creating tabs (Ctrl+Shift+N, Ctrl+Shift+W respectively - ie. the same as creating/closing documents in other programs but with an added Shift). The rationale being that a terminal is a primarily keyboard-driven application.

You are not the only person to complain about the change though. There is a bug report open for discussion of the subject:

http://bugs.kde.org/show_bug.cgi?id=157015

> However, the reason I switched from
> Gnome to KDE was that Gnome
> developers seem to have the idea
> that "Less Configurable" is
> always equal to "Better"

It really isn't as simple as that. There is plenty of material available on the subject, but in a nutshell the flexibility of an application depends upon the range and type of user and how/why/where the application is used. That is to some extent independent of the desktop environment. I think a better way to see KDE vs. Gnome is that Gnome doesn't really attempt to cater for "power users". KDE does.

A terminal is used for a variety of different purposes and by power users with quite a wide range of preferences so it is appropriate for it to be flexible.

The primary drive for KDE 4 is not to take flexibility away from Konsole but rather to re-structure the user interface so that it is easier for users to understand and for me to maintain.

Aside from a small number of features, Konsole in KDE 4 is in many ways more flexible than it was in KDE 3. It just tries to expose that configurability through fewer menu items, checkboxes, radio buttons, edits and other controls.

Anonymous said...

Hi, I'm a KDE fan, but I still use KDE 3.5.9 and I will wait for version 4.1 to make the switch.
I tried KDE 4 with Kubuntu 8.04 live cd.
I really miss the "open new tab" and "close tab" buttons. It would be nice if they come back in future releases!

Marwan S. said...

I just switched to KDE4 and I must say I was very disappointed for not having the features that were available in KDE3's konsole there in KDE4's konsole. I use the session management and the "send input to all" extensively. These features save me a lot of time and effort and make management of similarly configured systems, which I do a lot, a breeze. I wished the new "split" mode would complement these two features, as it was the only thing I wanted to be added to KDE3's konsole. IMO, KDE3's konsole offered better customization option to users than the new version. The changes in KDE4's Konsole alone will definitely make me switch back to KDE3 until, hopefully, these features are brought back again.

tunaboy said...

Rob,

First, let me thank you for your work. I'm pretty much switching over completely, and I live w/o the features you mentioned, but I am having a problem with konsole retaining my settings on "manage profiles".

Whenever I restart kde, I have to go back into manage profiles to have the other profiles I've created chooseable from the "file" menu. If this is just a passing bug, great (though I haven't been able to find this as a bug...). If this is a feature, then I'm not happy.

Do love the split screen coding though, I loved multi-gnome terminal for just that reason.

Thanks
Mike O.

Robert Knight said...

> I have to go back into manage profiles
> to have the other profiles I've created
> chooseable from the "file" menu

Sounds like a bug - though not one I have encountered or seen reported yet. The list of profiles in the File menu (or 'Favorites') is stored in ~/.kde/share/config/konsolerc (depending on your distro, that might be in ~/.kde4 instead).

Anonymous said...

One thing that blocks me (and surely a couple of colleagues too) from switching to KDE4 is the increased line space in Konsole.
Its really important how much lines you get to look at your code in vi or while watching a log or tail.

Will there ever be a configuration
option to get a KDE3-Konsole-like line spacing back? Or maybe there is one already but we had missed?
Really, kde4's "keep all things more simple"-paradigm shouldn't apply to a terminal emulator.

stantonh said...

How far out is session management? I'm guessing it won't make ubuntu 8.10 (even as a bug fix?) As sysadmins, we have another script called fan-konsole which reads cmdline, pulls from mysql, then builds a profile to launch konsole. This is the only way to effectively manage 3000+ remote systems.

Robert Knight said...

Session management has been implemented for 4.2 and the person who wrote the patch is trying to backport it for Fedora 10. If that works out then it may be shipped as a bug fix in Ubuntu 8.10 but I cannot make any guarantees.

> This is the only way to
> effectively manage 3000+ remote systems.

It doesn't seem right to me that such an ad-hoc system would be needed for such a common use case. What do other sysadmins do?