key bindings to start applications

Dmitry DELTA Malykhanov d726f6e at SDF.LONESTAR.ORG
Sat Aug 17 03:41:29 CEST 2002


On Fri, 16 Aug 2002, Harry Putnam wrote:
>   >
>   230,231c228,229
>   < *xfpager.geometry +100+300
>   < *xfpager.smallfont 5x8
>   ---
>   > #*xfpager.geometry -0+0
>   > #*xfpager.smallfont 5x8
>
> You can see the geometry settings.
>
> Now I have restarted by clicking the logout button.  Going to console
> editing xfwmrc as above and `startx'. Still the xfpager doesn move
> from upper left corner... I think -0+0 is the spot.  So apparently
> something is overriding this geometry setting.
>

Wait a second. I'm a little bit tired (this is a _really_ long Friday),
but I think -0+0 is upper _right_ corner. Upper left corner is +0+0. But
it doesn't matter. If there is no geometry specification, the pager should
obey the WM placement instructions.

I've checked the source code. Looks like those geometry specifications
from the xfwmrc are simply stored into the internal queue, waiting for the
xfpager to read them. I'd say, the fastest way to debug this, will be to
build another pager executable, which will print all incoming
configuration packets. That should be pretty simple: add your
favorite print statement into xfpager/XfwmPager.c around line 875 (to
print tline) and check the output (well, the output will be in
~/.xsession-errors, or something like this). Just put new executable into
directory in your PATH _before_ the old one, and restart xfwm.

For example on my machine, I can see the following:

- all xfpager-relates lines are commented out in xfwmrc, xfpager is
getting only one message:
ClickTime 300

- uncommented default settings, there are three messages:
ClickTime 300
*xfpager.geometry -0+0
*xfpager.smallfont 5x8

-- modified geometry specification:
ClickTime 300
*xfpager.geometry +100+300
*xfpager.smallfont 5x8

And the xfpager is really at +100+300!

here is the diff file:

*** xfpager/XfwmPager.c.orig    Fri Aug 16 18:30:49 2002
--- xfpager/XfwmPager.c Fri Aug 16 18:31:26 2002
***************
*** 872,878 ****
    {
      int g_x, g_y, flags;
      unsigned width, height;
!
      if ((strlen (&tline[0]) > 1) && (mystrncasecmp (tline, CatString3
("*", MyName, ".geometry"), Clength + 10) == 0))
      {
        tmp = &tline[Clength + 10];
--- 872,878 ----
    {
      int g_x, g_y, flags;
      unsigned width, height;
! fprintf(stderr, "xfpager: %s\n", tline);
      if ((strlen (&tline[0]) > 1) && (mystrncasecmp (tline, CatString3
("*", MyName, ".geometry"), Clength + 10) == 0))
      {
        tmp = &tline[Clength + 10];

--
It's me -- Delta at SDF Public Access UNIX System - http://sdf.lonestar.org

"I don't advise it, citizen, mn-e-eh... I don't advise it. You'll be eaten."




More information about the Xfce mailing list