--- rxvt-unicode/src/init.C 2006/01/04 20:43:38 1.131 +++ rxvt-unicode/src/init.C 2006/01/07 19:29:17 1.135 @@ -11,7 +11,7 @@ * - extensive modifications * Copyright (c) 1999 D J Hawkey Jr * - QNX support - * Copyright (c) 2003-2004 Marc Lehmann + * Copyright (c) 2003-2006 Marc Lehmann * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -1034,6 +1034,11 @@ XSetWMProtocols (disp, top, protocols, sizeof (protocols) / sizeof (protocols[0])); +#if ENABLE_FRILLS + if (rs[Rs_transient_for]) + XSetTransientForHint (disp, top, (Window)strtol (rs[Rs_transient_for], 0, 0)); +#endif + #if ENABLE_EWMH long pid = getpid (); @@ -1086,11 +1091,13 @@ vt_emask = ExposureMask | ButtonPressMask | ButtonReleaseMask | PropertyChangeMask; -#ifdef POINTER_BLANK - if (OPTION (Opt_pointerBlank)) + if (OPTION (Opt_pointerBlank) +#ifdef ENABLE_PERL + || perl.self +#endif + ) vt_emask |= PointerMotionMask; else -#endif vt_emask |= Button1MotionMask | Button3MotionMask; XSelectInput (disp, vt, vt_emask); @@ -1404,11 +1411,14 @@ { pty.pty = atoi (rs[Rs_pty_fd]); - if (getfd_hook) - pty.pty = (*getfd_hook) (pty.pty); + if (pty.pty >= 0) + { + if (getfd_hook) + pty.pty = (*getfd_hook) (pty.pty); - if (pty.pty < 0 || fcntl (pty.pty, F_SETFL, O_NONBLOCK)) - rxvt_fatal ("unusable pty-fd filehandle, aborting.\n"); + if (pty.pty < 0 || fcntl (pty.pty, F_SETFL, O_NONBLOCK)) + rxvt_fatal ("unusable pty-fd filehandle, aborting.\n"); + } } else #endif