all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: David De La Harpe Golden <david@harpegolden.net>
To: Luka Novsak <lnovsak@gmail.com>
Cc: 9181@debbugs.gnu.org
Subject: bug#9181: 24.0.50; Alpha transparency no longer works
Date: Fri, 29 Jul 2011 00:07:47 +0100	[thread overview]
Message-ID: <4E31EBC3.8050303@harpegolden.net> (raw)
In-Reply-To: <CAE6FkMKhMtzh3QaDf1P_HzxxyQMHqoAxvh5PJoE6fhFYVqn90Q@mail.gmail.com>

On 28/07/11 19:16, Luka Novsak wrote:
 > Yes, I'm running xcompmgr; alpha transparency is working fine in other
 > applications.
 >
 > I've noticed a peculiar detail--this problem does not occur when
 > running X without a window manager, say if I only run xcompmgr and
 > emacs in my X session. I've tried this with multiple window managers,
 > so it doesn't seem to be the fault of either one.

Oh yeah... xcompmgr only looks for _NET_WM_WINDOW_OPACITY on truly 
toplevel (i.e. direct children of root window) windows. It's working 
when there's no window manager, because then emacs' window is a direct 
child of the root window. But in a typical window manager case, emacs' 
window is of course reparented under the window manager's frame window, 
so emacs setting the property on its own window (with the other _NET_WM 
properties) doesn't work for xcompmgr.  It may be working for your other 
apps depending on how you or they set their opacity (using "transset" 
will set the property on the window manager frame, for example).

However, note that the current code _does_ work when using now-typical 
combined compositing window managers rather than xcompmgr (hence my 
works-for-me), because they, as a matter of current practice, _do_ look 
for the property on the application windows they're managing, which 
makes sense really, reasonable place for it with all the other similar 
properties.

*** So why _was_ it working? emacs used to special-case in 
xterm.c/x_set_frame_alpha() that set the property on the parent window 
of the emacs window rather than the emacs window itself [1], it got 
removed  in trunk rev 104095 to fix bug #8608  (Jan cc'd)

I for one am not at all sure restoring it is the right thing to do, it 
seems problematic. Emacs doesn't notionally "own" the window manager 
frame around it, and some reparenting window managers could actually use 
more than one level of window between the root and the app window too 
anyway.  (I don't think reparenting window managers actually do 
typically copy the property up in practice as suggested under #8608, 
either, I'm afraid. That would be rather unique handling of the property 
AFAIK)

So maybe setting the property in both places (either optionally or 
always) is the best we can do, at least if we want to support xcompmgr.








  reply	other threads:[~2011-07-28 23:07 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-25 20:41 bug#9181: 24.0.50; Alpha transparency no longer works Luka Novsak
2011-07-28 12:10 ` David De La Harpe Golden
     [not found]   ` <CAE6FkMJNzKxmfpx+tCE4PaACMJQL3ih4RiOrWXGGHMjcrJuaqA@mail.gmail.com>
2011-07-28 18:16     ` Luka Novsak
2011-07-28 23:07       ` David De La Harpe Golden [this message]
2011-07-29  9:34         ` Jan Djärv
     [not found]           ` <CAE6FkM+TJPFJ9ETwYM+1fg9f6LE54YeC=2t8yN8xLx_KqwBRCw@mail.gmail.com>
2011-07-29 17:46             ` Luka Novsak
2011-07-30  7:04             ` Jan Djärv
2011-08-02 20:23               ` Luka Novsak
2011-08-02 20:28                 ` Lars Magne Ingebrigtsen
2011-08-02 20:49                   ` Luka Novsak
2011-08-03  8:13                 ` Jan Djärv
2011-08-03  8:22                   ` David De La Harpe Golden
2011-08-03 11:50                     ` Jan Djärv
2011-08-03 15:12                       ` David De La Harpe Golden
2011-08-03 17:29                         ` Luka Novsak
2011-08-03 19:01                           ` David De La Harpe Golden
2011-08-04 11:14                 ` Jan Djärv

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E31EBC3.8050303@harpegolden.net \
    --to=david@harpegolden.net \
    --cc=9181@debbugs.gnu.org \
    --cc=lnovsak@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.