Summary: | newSession() dbus call does not allows to open new session in specified window | ||
---|---|---|---|
Product: | [Applications] konsole | Reporter: | Marian Kyral <mkyral> |
Component: | general | Assignee: | Konsole Developer <konsole-devel> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | adaptee, leegraba, roland |
Priority: | NOR | ||
Version: | 2.7 | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 4.9.0 | |
Sentry Crash Report: |
Description
Marian Kyral
2011-07-01 19:39:48 UTC
*** Bug 253833 has been marked as a duplicate of this bug. *** I just wish to add that I think someone misfiled this as "wishlist", it should be a bug. Why? Because the dbus methods don't behave as expected. For example, after you create a new session in a second window, calling nextSession() and prevSession() will traverse (loop) the sessions in the first window only. So you can query your session id with currentSession() and then trying to find it using prev/nextSession() fails. If this is not a bug, what is the idea behind it? I'd really like to see this resolved, it's drving me crazy sometimes... (In reply to comment #2) You are right. It is a bug. My fault of changing its severity when I have not fully understood the underlying problem. FYI, this bug is really not ignored. You can read comment #2 in bug 281513 to get a general idea why some dbus methods behave in a strange way. Git commit 07cddfe302233c3555258f077429e55ce622e262 by Jekyll Wu. Committed on 08/02/2012 at 18:49. Pushed by jekyllwu into branch 'master'. Create dbus object for each Konsole window respectively Its naming scheme is "/Windows/N", similar to "/Sessions/N" for sessions. That is not the final decision and might change before next major release. The old "/Konsole" dbus object is still available at this moment, but it might disappear or be used for something different in the future, so it is better to use "/Windows/N" from now on. For convenience, $KONSOLE_DBUS_WINDOW can be used to refer to the dbus object corresponding to the Konsole window containing current session. Note, that environment variable does not work well with detaching and draging. Maybe it should not be added at all. Related: bug 281513, bug 292309 REVIEW:103790 M +2 -0 src/Application.cpp M +5 -0 src/Session.cpp M +2 -0 src/Session.h M +11 -0 src/ViewManager.cpp M +5 -0 src/ViewManager.h http://commits.kde.org/konsole/07cddfe302233c3555258f077429e55ce622e262 Hi, it works great, thanks. Regarding to $KONSOLE_DBUS_WINDOW. Maybe could be replaced by currentWindow() dbus call. (similar to currentSession()) Well, not that easy or feasible. The situation is complicated by the fact that Konsole support these three features: 1). Split view, which means one session might have multiple indenpendant views 2). Detaching view, which means one view can be detached from one window and live in its own new window. 3). Dragging view, which means one view can be dragged from window 1 to window 2 So taking all those flexible and dynamic behavior into account, it is quite hard or just impossible to answer the question: "which window does that or current session lives in?" |