diff options
Diffstat (limited to 'debian/patches/300_nxagent_set-wm-class.patch')
-rw-r--r-- | debian/patches/300_nxagent_set-wm-class.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/debian/patches/300_nxagent_set-wm-class.patch b/debian/patches/300_nxagent_set-wm-class.patch new file mode 100644 index 000000000..765d6bc46 --- /dev/null +++ b/debian/patches/300_nxagent_set-wm-class.patch @@ -0,0 +1,60 @@ +Description: Set WM_CLASS to X2GoAgent/NXAgent + Depending on the binary name of the agent either NXAgent + or X2GoAgent is set as WM_Class. + . + This is needed for some window managers (like the one shipped with + Maemo) + . + The original WM_CLASS patch has been taken from the FreeNX patch + series, author unknown. + . + The nxagent/x2goagent has been done by the X2Go Project, author + see below. +Forwarded: not-needed +Author: Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +Last-Update: 2012-01-11 +--- a/nx-X11/programs/Xserver/hw/nxagent/Screen.c ++++ b/nx-X11/programs/Xserver/hw/nxagent/Screen.c +@@ -1756,6 +1756,42 @@ + nxagentDefaultWindows[pScreen->myNum]); + #endif + ++ /* ++ * Setting WM_CLASS to "X2GoAgent" when running in X2Go Agent mode ++ * we need it to properly display all window parameters by some WMs ++ * (for example on Maemo) ++ */ ++ if(nxagentX2go) ++ { ++ #ifdef TEST ++ fprintf(stderr, "nxagentOpenScreen: Setting WM_CLASS and WM_NAME for window withid [%ld].\n", ++ nxagentDefaultWindows[pScreen->myNum]); ++ #endif ++ XClassHint hint; ++ hint.res_name=malloc(strlen("X2GoAgent")+1); ++ hint.res_class=malloc(strlen("X2GoAgent")+1); ++ strcpy(hint.res_name,"X2GoAgent"); ++ strcpy(hint.res_class,"X2GoAgent"); ++ XSetClassHint(nxagentDisplay,nxagentDefaultWindows[pScreen->myNum],&hint); ++ free(hint.res_name); ++ free(hint.res_class); ++ } else { ++ #ifdef TEST ++ fprintf(stderr, "nxagentOpenScreen: Setting WM_CLASS and WM_NAME for window withid [%ld].\n", ++ nxagentDefaultWindows[pScreen->myNum]); ++ #endif ++ ++ XClassHint hint; ++ hint.res_name=malloc(strlen("NXAgent")+1); ++ hint.res_class=malloc(strlen("NXAgent")+1); ++ strcpy(hint.res_name,"NXAgent"); ++ strcpy(hint.res_class,"NXAgent"); ++ XSetClassHint(nxagentDisplay,nxagentDefaultWindows[pScreen->myNum],&hint); ++ free(hint.res_name); ++ free(hint.res_class); ++ } ++ ++ + if (nxagentOption(Fullscreen)) + { + nxagentFullscreenWindow = nxagentDefaultWindows[pScreen->myNum]; |