[PlanetCCRMA] Planet CCRMA menu
Andrea Glorioso
andrea.glorioso at agnula.org
Fri Nov 7 13:24:01 PST 2003
Hi all.
(I'm putting the users@ and developers@ lists of AGNULA in Cc: - I
hope nobody minds, that's just a way to spread discussion)
>>>>> "at" == Aaron Trumm <aaron at nquit.com> writes:
at> that'd be kind of neat - there's a problem though, I think, at
at> least in my case - that's that most stuff I need to go ahead
at> and run from the command line in a terminal - either because I
at> have to su, or for whatever reason (usually that)
If you need to su, you can use gksu (or some other graphical front-end
like that) and change the invocation of the application in the menus
from <application> to <gksu application>. That's what we are going to
do in AGNULA/DeMuDi, at least (and that's what is done in Debian and
Mandrake and - I'm sure - other distributions).
The same concept could be applied to applications which need command
line arguments - provide a small gtk+/qt/tk/whatever based applet
which allows the user to select a set of options, and then pass those
options to the actual binary.
I seem to remember a little program (written in Tcl/Tk or Gtk+, I
don't remember) which would actually accept a list of arguments with
the type (boolean/list/extended) and the allowed range (a schema, to
put it shortly) and then automatically create a graphical selection
mask. This is another thing on the TODO list for AGNULA/DeMuDi.
There is another problem, however, i.e. messages which the
applications write on stdout or stderr. If you don't launch them from
an xterm, the messages will usually appear on the tty from which the X
server was launched (if at all available).
A solution to his problem I've been designing is the following:
(1) the menu entries redirect stdout and stdin to a previously (startup
time) created FIFO;
(2) a small daemon reads from the FIFO, and uses the syslog() standard C
function to write the message to a log file;
(3) either the system (automatically) or the user (manually) opens up
a window on the desktop whose only duty is to display the messages
being syslog()ed from the daemon in (2);
I still have to devise an intelligent way for the messages to have a
short, unique string prepended in order to distinguish amongst the
various applications. I hope to be able to work on this from middle
november.
And yes, I think a lot but don't have much time to do actual work. :)
Bye,
andrea
--
Andrea Glorioso andrea.glorioso at agnula.org
AGNULA/DeMuDi Techie http://www.agnula.org/
"There's no free expression without control on the tools you use"
More information about the PlanetCCRMA
mailing list