I think it would make sense to hide Yakuake on the event of closing all Terminals. Now a new instance is opened automatically. This would also behave also same as Konsole does. I don't see why someone should want to use 'exit' to get a new shell, as 'clear' would do all required it in most cases.
Well, the two are basically unrelated - even if Yakuake is hidden as you close the last shell, a new shell must be instanciated anyway, since you expect there to be one when you open the window again.
I expected that this are two unrelated things.
My experience is, that it's more natural to close the terminal with typing exit than with searching for F12, another shortcut or even the mouse. Also all other terminal emulators I know are disappearing on closing the last shell (see Konsole, Dolphin (F4), XTerm, name it).
So my suggestion is to retract Yakuake at the event of closing the last shell. That there has to be opened a new shell, which can be used at the next opening of Yakuake is right, but it's not of interest for the user as he don't have to notice it.
So the retracting is just a additional action on the event of closing the last shell.
Yep, your suggestion to retract on exiting the last shell holds merit, and I'm likely to change the behavior for the next release. The first comment was just adding some tech detail :-).
Yakuake development has slowed of late as I was distracted with work and Konversation, but as Konversation is now winding down the 1.2 release cycle and I have a bunch of nice plans for Yakuake in the drawer, I expect it to pick up again more or less soon.
*** Bug 227330 has been marked as a duplicate of this bug. ***
*** Bug 256844 has been marked as a duplicate of this bug. ***
Created attachment 66306 [details]
patch to minimize yakuake on closing last tab
ON closing last tab, a new tab is created and minimized.
Thank you for your patch, but it won't work that way: There's no guarantee the window is already open when the last tab closes. The process in the terminal (which may not even be a shell depending on the profile) might quit on its own, or the tab might be closed via D-Bus, both while the window is closed. Your patch will then actually cause the window to open.
Also, you disable creating a new tab when the last one closes - which means that when the user reopens Yakuake they have to first manually create a new tab, which breaks the "quick access" nature of Yakuake.
If those are solved I'll happily apply it :).
Created attachment 66394 [details]
I haven't disabled creating a new tab when last tab closes, i have connected my custom signal to emit newTabRequested signal(check the patch once).
Now i have created a custom slot handleLastTabClosed to toggle window state only when it is visible. if a tab is closed when it is not visible, then nothing will happen
Right, read the original diff too hastily, sorry :). New patch looks good, except for a small indentation issue in the new slot. I'll correct that and commit it soon, once I get back to a box with my ssh key on it. Thanks!
Thanks to both of you.
Git commit ebe9b2b30716c02e0d3e5f008465897093d453ac by Eike Hein.
Committed on 05/12/2011 at 22:38.
Pushed by hein into branch 'master'.
Retract after last tab closes.
Patch by A Janardhan Reddy, with minor cleanup by me.
M +1 -0 ChangeLog
M +8 -0 app/mainwindow.cpp
M +1 -0 app/mainwindow.h
M +1 -1 app/tabbar.cpp
M +1 -0 app/tabbar.h