[Konsole-devel] Konsole + DCOP + DBus

Arno Töll arno at toell.net
Mon Dec 8 11:34:29 UTC 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Robert Knight wrote:
> I am not actively working on D-Bus support at the moment although I
> would be happy to help anyone who
> wishes to implement it.

I'm working on it. Some stubs are already done, but I'm quite unsure
whether I placed them in the right classes.

I have session handling (org.kde.konsole.Konsole) with methods like
"sessionCount", "currentSession" in the ViewManager class, and session
based handling ("org.kde.konsole.Session") in Session.

Currently looking that way:

<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection
1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">


<node>

  <interface name="org.kde.konsole.Konsole">

    <method name="sessionCount">

      <arg type="i" direction="out"/>

    </method>

    <method name="currentSession">

      <arg type="s" direction="out"/>

    </method>

    <method name="newSession">

      <arg type="s" direction="out"/>

      <arg name="type" type="s" direction="in"/>

    </method>
    <method name="sessionId">
      <arg type="s" direction="out"/>
      <arg name="position" type="i" direction="in"/>
    </method>
    <method name="activateSession">
      <arg name="sessionId" type="s" direction="in"/>
    </method>
    <method name="nextSession">
    </method>
    <method name="prevSession">
    </method>
    <method name="moveSessionLeft">
    </method>
    <method name="moveSessionRight">
    </method>
    <method name="fullScreen">
      <arg type="b" direction="out"/>
    </method>
    <method name="setFullScreen">
      <arg name="on" type="b" direction="in"/>
    </method>
    <method name="reparseConfiguration">
    </method>
    <method name="reloadConfig">
    </method>
  </interface>
</node>

<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection
1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
  <interface name="org.kde.konsole.Session">
    <method name="feedSession">
      <arg name="text" type="s" direction="in"/>
    </method>
    <method name="setTitle">
      <arg name="what" type="i" direction="in"/>
      <arg name="caption" type="s" direction="in"/>
    </method>
    <method name="close">
    </method>
  </interface>
</node>

It's fairly based on the existing IDLs however not an exact port. I'd be
glad if you could tell me if I found out the right classes in the code
to access the necessary properties for both interfaces.

At runtime the session bus looks like this:

org.kde.konsole
/Konsole
  + sessionCount()
  + ...
/Sessions
/Sessions/1
  + feedSession()
  + ...

If someone is missing functionality through DBus I'm even happy to point
 me to it.


- --
Arno Töll
GnuPG Key-ID: 0x8408D4C4
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkk9BkQACgkQBWM6U4QI1MTJGgCfaINXpKRUAJmlVD42RhORikwB
RtQAn39hlStgYltnflyOEKSE4HkKVZ+G
=gppc
-----END PGP SIGNATURE-----



More information about the konsole-devel mailing list