diff options
author | Hans de Goede <hdegoede@redhat.com> | 2010-12-15 16:43:19 +0100 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2010-12-16 16:30:31 +0100 |
commit | f2eceb91c70ce6203a910084da5915eda8db95e9 (patch) | |
tree | 85a1893d37249e00c5a5e9918934d72ec8332fc5 | |
parent | 4009747d2c901dda03996a2abeabefccfc450e0f (diff) | |
download | spice-f2eceb91c70ce6203a910084da5915eda8db95e9.tar.gz spice-f2eceb91c70ce6203a910084da5915eda8db95e9.tar.xz spice-f2eceb91c70ce6203a910084da5915eda8db95e9.zip |
spicec-x11: Add a class hint to our window managet hints
This helps people who want to tell their windowmanager to do something special
with spicec, like make it sticky, or whatever, see:
https://bugzilla.redhat.com/show_bug.cgi?id=662452#c4
-rw-r--r-- | client/x11/red_window.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/client/x11/red_window.cpp b/client/x11/red_window.cpp index 6e8cd584..569cf4e8 100644 --- a/client/x11/red_window.cpp +++ b/client/x11/red_window.cpp @@ -1213,6 +1213,7 @@ void RedWindow_p::create(RedWindow& red_window, PixelsSource_p& pix_source, try { int res; + XClassHint *class_hint; XLockDisplay(x_display); res = XSaveContext(x_display, window, user_data_context, (XPointer)&red_window); @@ -1222,8 +1223,16 @@ void RedWindow_p::create(RedWindow& red_window, PixelsSource_p& pix_source, } XSetWMProtocols(x_display, window, &wm_delete_window_atom, 1); - XGCValues gc_vals; + class_hint = XAllocClassHint(); + if (!class_hint) { + THROW("allocating class hint failed"); + } + class_hint->res_name = (char *)"spicec"; + class_hint->res_class = (char *)"spicec"; + XSetClassHint(x_display, window, class_hint); + XFree(class_hint); + XGCValues gc_vals; XLockDisplay(x_display); gc = XCreateGC(x_display, window, 0, &gc_vals); XUnlockDisplay(x_display); |