“Quarterly” Report: Yakuake
April 17th, 2009Another month has passed without a blog post. My new year’s resolution is an epic fail. Luckily, the rest of my life didn’t follow suit. Since I’m trying not to beat around the bush, I’ll get straight to the point. This post will be all about Yakuake, specifically the cool new features you’ll be seeing in the next release.
First up is moving/rearranging tabs using drag and drop. Click and hold on a tab with the left mouse button (or right mouse button, if you’ve reversed them) and drag and drop to the desired location. Drop indicators will appear on the tab bar, indicating where you’re allowed to drop a tab. People using tabs in Konsole might be familiar with this behavior.

You can now prevent tabs (formally called “Sessions” in Yakuake) from being closed. You can do this through the tab’s context menu (right-click on the tab name) and setting the “Prevent Closing” option. If you try to close that tab, you will be asked to confirm the action. This lock applies to all terminals (in the case of split views) in that tab. There’s a catch, however. Due to certain limitations in how the embedded Konsole works, there are 2 instances where the protection is bypassed: Using the shell’s own exit methods (“exit” command or Ctrl+D) and the embedded Konsole’s Close Session method (right-click inside the terminal, select Close Session or press Ctrl+Shift+W).

Another new type of lock is “Disable Keyboard Input”. This virtually makes the terminal read-only, perfect for important processes that must not be interrupted by keypresses or for monitoring something in the terminal. Again, this option is available in the tab’s context menu, but this time, you have the option to lock individual terminals or all terminals in the tab. And since this disregards any keyboard input inside the terminal, it means that even Ctrl+D and Ctrl+Shift+W are blocked. So with the feature to prevent closing tabs, you now have one indestructible tab.
And last, but definitely not the least (in fact probably the most visual change) is the new “Visual Effect Overlay”. Basically, this makes it possible to display a translucent “cover” over a terminal. This is effect is used in the disable keyboard input feature mentioned previously. For example, if you try to type into a locked terminal, that terminal will flash red for a while (or repeatedly, if you keep on typing). And when you’re trying to choose which terminal to lock from the tab’s context menu, the corresponding terminal is highlighted with a blue color when your mouse hovers over the terminal name.
I’m personally very happy with this coming release, since I’ve been responsible for the first two features mentioned. My biggest hacking contribution to KDE so far, and my first SVN commit spree. Lead Yakuake ninja, Eike Hein, (should I start calling him Hokage?) did the rest of the work, including a lot of other features and bug fixes. And he has more planned for the future. A website is in the works, too.
Winter has arrived in Yakuake, so hopefully you will have a shiny new version very soon.
/me is a happy KDE hacker


Just some small updates, while I'm trying to get off my ass and migrate the site completely to Textpattern.
April 17th, 2009 at 3:52 pm
Does this new version already use the plasma/kde notifications ??
April 17th, 2009 at 6:57 pm
The notifications in Konsole (the main app) doesn’t seem to be available for the embedded Konsole. In short, as far as the embedded Konsole is concerned (and the apps that use it such as Yakuake, Dolphin, Konqueror, Kate, etc) there are no notifications. So there’s no way/reason to use Plasma/KDE notifications.
April 17th, 2009 at 7:20 pm
Well the notification I was thinking about is the one that says that Yakuake is running.
April 17th, 2009 at 8:04 pm
Ah yes. I’ve been trying to figure that one out. It uses KDE’s standard KPossivePopup class. Ironically, it doesn’t automatically use Plasma’s notification style. I’ll get back to you when I have answers (and hopefully a patch as well
).
April 17th, 2009 at 8:39 pm
Oh yeah, it should be fairly easy to switch to they Plasma style notifications. Just port the KPassivePopup to a KNotification
April 17th, 2009 at 9:21 pm
Hi Jucato,
Thanks a lot for your work =)
I do have a question: I have a bug (i think so) with the feature open konsole in the same dir of the current tab, it is not working here.
How can i make it work ? It working for you ? It would be great to make possible to open a new tab in the same dir as the current tab.
Thanks a lot for the info.
April 18th, 2009 at 12:58 am
So when will it be able to save and restore the opened tabs when closing/restoring KDE? I sent once a patch to yakuake that does exactly that, but it got rejected because libkonsole did not cumply with yakuake’s requirements. However that very same feature is implemented already in konsole.. and I’m still waiting for it in yakuake.
April 18th, 2009 at 1:32 am
@Douglas: The feature you talk about is implemented inside Konsole, and sadly doesn’t work for its KPart component (which Yakuake embeds), as far as I know. It might be a good idea to file a bug with that for Konsole.
@Eduardo: There’s progress on making the KPart satisfy the requirements (notably informing the KPart host, i.e. Yakuake, about the CWD, so Yakuake can serialize and restore it), with a patch for Konsole up in bugs.kde.org but not yet merged. So this has not been forgotten, but I also can’t give you an ETA yet.
@All: Moving from KPassivePopup to a Plasma notification is indeed a nice idea.
– Eike
April 18th, 2009 at 1:33 am
s/with that/about that/
Since I know have an excuse to post another comment: Cool blog post Carlos, thanks
.
April 19th, 2009 at 7:03 am
[...] Juan Carlos Torres (jucato): “Quarterly” Report: Yakuake, Posted on 17 April 2009 | 9:02 am by (author unknown) [...]
April 19th, 2009 at 4:18 pm
[...] “Quarterly” Report: Yakuake First up is moving/rearranging tabs using drag and drop. Click and hold on a tab with the left mouse button (or right mouse button, if you’ve reversed them) and drag and drop to the desired location. Drop indicators will appear on the tab bar, indicating where you’re allowed to drop a tab. People using tabs in Konsole might be familiar with this behavior. [...]
April 20th, 2009 at 8:37 am
Juan Carlos,
How refreshing to see you move into the world of coders. I have followed your blog for a while and remember your first questions not too long ago about which C++ book to buy and how to get started on coding for KDE.
Keep up the good work. It’s really wonderful to see how far you have already come. We expect great things from you.