[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    PATCH/RFC dcop cmdline client
From:       Martijn Klingens <mklingens () yahoo ! com>
Date:       2001-12-30 15:47:22
[Download RAW message or body]


Attached is a patch that adds a truckload of options to dcop. Technically 
none of these options is new, the fact that I don't need to patch the dcop 
lib for this speaks for itself. Still, I think these options make a lot of 
sense, so I post them here for reviewing and commenting.

In short there are now the following options to dcop, with the reasoning 
behind them:
--pipe - Posted earlier already. Reads from stdin and does repeated DCOP 
calls. Reason for implementing: spawning a new dcop process from the shell 
for high-traffic text streams is too slow. This is a factor 100+ faster. 
Todo: find a decent name for this option. David already suggested just '-' to 
read from stdin, is that ok with everyone?

--user/--all-users - Send DCOP message to a specific user or even to all 
users that have an active DCOP server. Reason: cron jobs, system processes 
and other apps without X11 connection may want this. Of course this only 
works if the user issuing dcop has access to the dcopserver socket and the 
ICE authority file.

--session/--all-sessions - Send to a specific session of the given user(s) or 
to all sessions. Reason: those same processes that might like --user might 
also like to broadcast to multiple sessions. This allows a command like 
'wall' to extend onto the desktop with something like 'dcop --all-users 
--all-sessions knotify "" messageBox "The system will be rebooted in 5 
minutes. Please log out."' or whatever cool applications you can think of.

--list-sessions - Convenience. List the sessions for the given user(s).

Combined you could also do things like

tail -f /var/log/httod/access.log | dcop --pipe --user martijn kwebmonitor "" 
accessLog %1

and so forth. Anyone wants to write kicker applets for this? ;-)

There are also two questions with this.
1. Most important one: where should I put this? I would go for KDE CVS, but 
if everyone is against that the code can be forked for people who want this 
functionality (Rob for example). After all it doesn't require lib changes. A 
third option is to move the code to the dcop lib. I don't know if that makes 
sense, but it might do for console Qt apps.

2. What should I do with all the strings I introduced? dcop currently is 
Qt-only and doesn't know about klocale, so the strings are not i18n-able. Any 
ideas how to fix this?

Other comments/flames/remarks/whatevers?

Martijn

["dcop.diff.gz" (application/x-gzip)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic