On Fri, Jan 11, 2002 at 05:20:03PM +0300, Alexander Kotelnikov wrote:
> Then I thin a comment should be paleced in FvwmButtons man page near
>        *FvwmButtons: Pixmap pixmapfile
>               Specifies  a  background  pixmap  to  use.  Specify
>               "none" for a transparent background.
> 
> Dominik> 
> >> Can you tell me what is this purpose?
> Dominik> 
> Dominik> I think the idea was to have a labeled button with a pixmap above
> Dominik> it that indicates the action that the button triggers.  You are
> 
> Hmm.. This is done with "Icon", not with all buttons wide "Pixmap", or
> I understand something incorrectly?

Fixed.

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from From [EMAIL PROTECTED]  Sun Jan 13 01:13:42 2002
Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); 
Sun, 13 Jan 2002 01:13:42 -0600 (CST)
Received: from karazm.math.uh.edu (karazm.math.uh.edu [129.7.128.1])
        by sina.hpc.uh.edu (8.9.3/8.9.3) with ESMTP id BAA08887
        for <fvwm-workers@hpc.uh.edu>; Sun, 13 Jan 2002 01:13:32 -0600 (CST)
Received: from inpbox.inp.nsk.su (inpbox.inp.nsk.su [193.124.167.24])
        by karazm.math.uh.edu (8.9.3/8.9.3) with ESMTP id BAA03330
        for <fvwm-workers@fvwm.org>; Sun, 13 Jan 2002 01:13:24 -0600 (CST)
Received: from Sky.inp.nsk.su (Sky.inp.nsk.su [193.124.167.84])
        by inpbox.inp.nsk.su (8.9.0/8.9.0) with ESMTP id NAA06273
        for <fvwm-workers@fvwm.org>; Sun, 13 Jan 2002 13:02:45 +0600 (NSK)
Received: from localhost (localhost [127.0.0.1])
        by Sky.inp.nsk.su (8.9.1a/8.9.1) with ESMTP id NAA591952
        for <fvwm-workers@fvwm.org>; Sun, 13 Jan 2002 13:00:45 +0600 (NSK)
Date: Sun, 13 Jan 2002 13:00:40 +0600
From: "Dmitry Yu. Bolkhovityanov" <[EMAIL PROTECTED]>
To: fvwm-workers@fvwm.org
Subject: Re: Exec in fvwm
In-Reply-To: <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: [EMAIL PROTECTED]
Precedence: list
X-Majordomo: 1.94.jlt7

On Sun, 13 Jan 2002, Alexander Kotelnikov wrote:

> >>>>> On Sat, 12 Jan 2002 20:56:25 -0500
> >>>>> "Dan" == Dan Espen <[EMAIL PROTECTED]> wrote:
> Dan> 
> Dan> Alexander Kotelnikov <[EMAIL PROTECTED]> writes:
> >> Hello once again.
> >> 
> >> Using setsid() was a bit husty. setpgrp() is enough. 
> Dan> 
> Dan> The man page says setpgrp is a BSDism.
> Dan> For SVR4 setpgid would be the right thing to use.
> 
> of course we can use setpgid(0,0), but setpgrp() is in SUSV2.

        setpgrp() is nonportable: in SysV and Linux it is int
setpgrp(void), while on *BSD it is setpgrp(pid_t pid, pid_t pgrp).
 
> BTW, I was surprised finding out fvwm use fork instead of vfork for
> Exec. There is a note about that not all platforms support vfork butwe
> can easily check it in configure time.

        vfork() is a disaster and shouldn't be used.  For a historic
description, read the Linux manpage for vfork(2), especially the 2nd
paragraph in the BUGS section.

        As to what to use for child processes before exec(): the setsid()
is the right way to go.  In case if we don't want setsid(), we should
disassociate from a controlling tty "manually".  At least in Linux and
*BSD it is achieved with a code like

fd = open("/dev/tty", O_RDWR);
if (fd >= 0)
{
  ioctl(fd, TIOCNOTTY, NULL);
  close(fd);
}

However, this isn't as portable as setsid() and, AFAIR, requires a prior
setpgrp().

        Well, after writing above text I've found an excerpt from
UnixWorld Online at http://www.ic-chernobyl.kiev.ua/~ak/12.lst.html, and
the code is (Listing 3):

      if (fork() != 0)
          exit(0);  /* parent terminates */
      /* child code: */
      #ifdef BSD
      setpgrp(0, getpid());  /* change process group */
      if ((fd = open("/dev/tty", O_RDWR)) >= 0) { /* open control tty */
          ioctl(fd, TIOCNOTTY, 0);  /* and lose it */
          close(fd);
      }
      #else /* System V */
      setpgrp();  /* lose controlling terminal and change process group */
      #endif

        BTW, I've looked through SysV setpgrp manpage (Solaris 2.5.1) and
it explicitly states that setpgrp() "...releases its controlling
terminal".

        _________________________________________
          Dmitry Yu. Bolkhovityanov
          The Budker Institute of Nuclear Physics
          Novosibirsk, Russia


--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to