Slow xfrun, [was: new dev branch stuff]

edscott wilson garcia edscott at xfce.org
Fri Jan 21 15:23:57 CET 2005


El vie, 21-01-2005 a las 10:50 +0100, Ondrej Mihalyi escribió:
> > edscott wilson garcia wrote:
> > 
> > Many people find the shell tab completion very useful, but others are in
> > some manner limited in this respect. Those other people (like me) cannot
> > quite "get it". You require good short term memory to know what is going
> > to popup up when you press tab. But if your thing is rather long term
> > than short term (I can't remember if I shut the door or not), then it is
> > helpful to *see* the suggestion written out (like completion in the
> > firefox location box). That's why xfrun uses the libcombo.so plugin
> > which behaves this way.
> 
> I don't get that stuff about libcombo.so, do I have to load that plugin explicitely?

I'm not familiar with the oscilation distribution, but it maybe does not
include libdbh. If libdbh is not found, xfrun will make no attempt to
load libcombo.so and fall back to plain behaviour. I suppose that is
what oscilation people want. 

To use the libcombo plugin you do not have to load it explicitly. You
just have to build the plugin and have libdbh when xfrun is built. If
you have xffm installed, the plugin *has* to work because the run
history is shared between applications. 


> I have XFCE4.2 from oscilation debian repository, and only thing xfrun does, is that it runs the program i type in, remembers history of programs and can launch them in terminal, I don't *see* any suggestion written out :(

Yeah, that's the normal behaviour without the plugin.

> It even doesn't have an open dialog to have a look how the program I want to launch is called, what I can do easily if I type location in gmrun and press Tab, it pops up all programs in that location so that I can see their names.

In combination with xffm you can type: 

$xffm some_file_name

And before xffm fully loads, a mime-application plugin will be loaded
to determine the correct application to open the file with. If no
application is associated to the mime-type, then the xfrun dialog will
pop up to query you for the correct application. Yeah, I know people say
that xffm is bigger than xfrun, but the current CVS HEAD size (with -g)
is less than 1 MB and dropping. 


> 
> One more things that gmrun does apart from xfrun:  it can execute much more complex shell commands (and I appreciate it much, as I am kind a shell freak:), e.g. 'mplayer mymovie.avi; poweroff' when I want to see a movie and then poweroff :)) 

Yes, that is beyond the scope of xfrun.

>  
>      ........and everywhere is the allmighty shell completion to please users who use something like gmrun (I believe those who don't use bash completion don't use run dialog at all, they use the menu 'dough)
> 
> So I would be happy, if you, edscott could figure something out with Mihai.  Unfortunately I probably cannot help you, but if you told me more about what is under the hud of xfrun4, I could find some time to have a look at it

The code is very simple. Upon compilation a check is made for libdbh. If
lib dbh is found, then a file called xfcombo.i is included and libdbh is
add to the link flags. On execution, if the above occurred, an attempt
will be made to load the combo plugin. All the combo plugin does is
interpret the keys pressed in the combo entry, look into a dbh history
file, and suggest autocompletion and provide a drop down list from other
choices to choose from. To make a plugin with Mihai behaviour, all that
has to be changed is to obtain the suggestions from a block of Mihai's
code. As to allow executing multiple instructions; that is just a minor
modification, very easy.


regards,

Edscott


BTW. I check startup speeds without the -g in libxfcegui4 and it cut
down to 3 seconds. Still a bit slow, but program resident size is still
> 5MB. I think that by linking to the .a instead of .so the program size
and startup time can be sustancially reduced. I might do some testing
next week.


-- 
edscott wilson garcia <edscott at xfce.org>



More information about the Xfce4-dev mailing list