[Bug 41595] Photoshop Palettes Remain Above All X11 Windows

wine-bugs at winehq.org wine-bugs at winehq.org
Wed May 17 17:56:36 CDT 2017


https://bugs.winehq.org/show_bug.cgi?id=41595

--- Comment #10 from Chituc Georgian <dianaxxyyzz at gmail.com> ---
Hello , 

The patches I did for wine so photoshop to work better was posted at :
https://bugs.winehq.org/show_bug.cgi?id=29871 .
Some ppls said they are just ugly hacks that do not deserver to go into main
wine .
I said from beginning that I'm not a wine developer ,and I know they are not
perfect patches :) . But for me just works and I tried to be sure do not ruin
another apps . If they work for me I just said other ppls want the patches , so
I said just to be a good guy and tried to help . 
My big problem with photoshop was the tooltips that do not dissapear from
screen , and the ones who steal focus and make the Save for Web dialog grey. 
That was resolved .And everybody have the patches at that link .
If the top wine developers will inspire and make a spuper patch that will go
into main wine , will be fine , if not .. then is not up to me . Sorry .

Regarding the "Photoshop Palettes Remain Above All X11 Windows" I found out
that photoshop windows that have "Override Redirect State: yes" are not managed
by the window manager and they stay on top of all windows (Chrome ,Firefox etc
) , even if you minimize photoshop main window .

So being inspired from this phyton script I found on web :

--------------------------------------------------------------
#! /usr/bin/env python

# Kill tooltips and similar override-redirect windows.
# Copyright 2011 by Akkana Peck -- share and enjoy under the GPLv2 or later.

# Empirically, tooltips have these properties:
# - mapped
# - override_redirect
# - transient_for
# wm_name may be the content of the tooltip or may be blank.
# Sadly, menus have all those properties too, so this will also hide
# any menus that happen to be open at the time.
# But most well-behaved programs will remap their menus just fine
# the next time you ask for them.

# Can't import just Xlib and use Xlib.display, sigh
from Xlib import display

# Next line prints: Xlib.protocol.request.QueryExtension
# There doesn't seem to be a way to suppress that, so just ignore it.
dpy = display.Display()
screen = dpy.screen()
root = screen.root
tree = root.query_tree()

for w in tree.children :
    att = w.get_attributes()
    if att.map_state and att.override_redirect and w.get_wm_transient_for():
        print "%d %d %35s %s" % (att.map_state, att.override_redirect,
                                 w.get_wm_transient_for(), w.get_wm_name())
        w.unmap()
        dpy.flush()
        print "now map_state is", w.get_attributes().map_state
        w.map()
        dpy.flush()
        print "now map_state is", w.get_attributes().map_state

#dpy.flush()
------------------------------------------------------------------------
I modified wine so it to unmap all windows that have "Override Redirect State:
yes" ,when their parents lose focus . And to remap when they gain again focus .

It works well , I can not find the C source code ,so that I posted the phyton
script I inspired from . It has to be somewere but even If I post it here I'm
sure that will also not merge into main wine . So this is the ideea .

Have a great day all!

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list