window background transparent



Hi,
I'm trying to set a gtk window transparent.

I'm using this gtk hello world example.
http://library.gnome.org/devel/gtk-tutorial/2.18/c39.html#SEC-HELLOWORLD

And I'm adding gtk_window_set_opacity(GTK_WINDOW(window), 0.5);

but window does not get transparent.

I'm trying to call gtk_window_set_opacity both before gtk_widget_show and 
after. Neither way works.

I'm using xfce and transparent window configurations works fine. Also, I can 
set my hello world gtk window transparent with transset.

I investigated, and discovered that both transset and libgtk uses 
XChangeProperty in the same way, but window id is different in transset and 
libgtk.

when using xprop on window id used by transset, I get:

$ xprop -id 15825983
_NET_WM_WINDOW_OPACITY(CARDINAL) = 2147483647

on window id used by libgtk, I get:

$ xprop -id 48234499
_NET_WM_ICON_GEOMETRY(CARDINAL) = 709, 772, 194, 28
_NET_FRAME_EXTENTS(CARDINAL) = 4, 4, 22, 4
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW, 
_NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_MAXIMIZE_HORZ, 
_NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_CHANGE_DESKTOP, 
_NET_WM_ACTION_STICK
WM_STATE(WM_STATE):
        window state: Normal
        icon window: 0x1067a30
_NET_WM_DESKTOP(CARDINAL) = 0
_WIN_WORKSPACE(CARDINAL) = 0
_WIN_STATE(CARDINAL) = 0
_NET_WM_STATE(ATOM) = 
WM_HINTS(WM_HINTS):
        Client accepts input or input focus: True
        Initial state is Normal State.
        window id # of group leader: 0x2e00001
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 48234501
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x2e00004
WM_CLIENT_LEADER(WINDOW): window id # 0x2e00001
_NET_WM_PID(CARDINAL) = 9263
WM_LOCALE_NAME(STRING) = "fr_FR.UTF-8"
WM_CLIENT_MACHINE(STRING) = "bendonkey"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
        program specified minimum size: 104 by 45
        window gravity: NorthWest
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "hello", "Hello"
WM_ICON_NAME(STRING) = "hello"
_NET_WM_ICON_NAME(UTF8_STRING) = 0x68, 0x65, 0x6c, 0x6c, 0x6f
WM_NAME(STRING) = "hello"
_NET_WM_NAME(UTF8_STRING) = 0x68, 0x65, 0x6c, 0x6c, 0x6f


Do you have any idea where how I can solve this problem ?

On a related note, I'm wondering if and how it is possible to have a window
whose background is semi-transparent but whose contained widgets (GtkButton,
...) are not.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]