From fc8db637169d4ef7c252186872ac59ad5f04f877 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Tue, 7 Aug 2001 05:52:51 +0000 Subject: [PATCH] set _NET_WM_NAME hint as a UTF8_STRING not STRING. Patch from Anders. 2001-08-07 Havoc Pennington * src/display.c (meta_display_open): set _NET_WM_NAME hint as a UTF8_STRING not STRING. Patch from Anders. --- ChangeLog | 5 +++++ HACKING | 4 ++++ README | 7 +++++++ src/display.c | 22 ++++++++++++---------- src/display.h | 1 + 5 files changed, 29 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 509bf2beb..9b75a1e84 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-08-07 Havoc Pennington + + * src/display.c (meta_display_open): set _NET_WM_NAME + hint as a UTF8_STRING not STRING. Patch from Anders. + 2001-08-06 Havoc Pennington * src/effects.c: disable opaque animations by default, current diff --git a/HACKING b/HACKING index 5fccf41ed..864b18803 100644 --- a/HACKING +++ b/HACKING @@ -1,4 +1,8 @@ +Don't commit substantive code in here without asking me, +hp@redhat.com. Adding translations, no-brainer typo fixes, etc. is +fine. + The script src/run-metacity.sh is useful to hack on the window manager. It runs metacity in an Xnest. e.g.: CLIENTS=3 ./run-metacity.sh diff --git a/README b/README index 996149197..2de5ebf6d 100644 --- a/README +++ b/README @@ -252,6 +252,11 @@ METACITY BUGS, NON-FEATURES, AND CAVEATS setting the new non-legacy type hint, but a panel with that patch hasn't been released yet. + - The minimize/shade animation leaves "dirt" on Metacity's own frames, + because Metacity handles exposes on its own frames during the + animation. We could fix this with a horrible GDK hack of some kind. + I'm not sure of the best way yet. + FAQ === @@ -273,6 +278,8 @@ A: If it makes sense to turn on unconditionally, probably constitute crackrock, they confuse most users and really are not that useful if you have a decent tasklist and so on. But I am too used to them to turn them off. + Or alternatively iconification/tasklist is crack, and workspaces/pager + are good. But having both is certainly a bit wrong. Sloppy focus is probably crackrock too. Oh, and my Alt-1 thru Alt-6 keybindings are definitely on crack. diff --git a/src/display.c b/src/display.c index 669162150..ee2031068 100644 --- a/src/display.c +++ b/src/display.c @@ -68,15 +68,15 @@ unsigned_long_hash (gconstpointer v) } static int -set_string_hint (MetaDisplay *display, - Window xwindow, - Atom atom, - const char *val) +set_utf8_string_hint (MetaDisplay *display, + Window xwindow, + Atom atom, + const char *val) { meta_error_trap_push (display); XChangeProperty (display->xdisplay, xwindow, atom, - XA_STRING, + display->atom_utf8_string, 8, PropModeReplace, (guchar*) val, strlen (val) + 1); return meta_error_trap_pop (display); } @@ -131,7 +131,8 @@ meta_display_open (const char *name) "_WIN_SUPPORTING_WM_CHECK", "_NET_WM_ICON_NAME", "_NET_WM_ICON", - "_NET_WM_ICON_GEOMETRY" + "_NET_WM_ICON_GEOMETRY", + "UTF8_STRING" }; Atom atoms[G_N_ELEMENTS(atom_names)]; @@ -214,6 +215,7 @@ meta_display_open (const char *name) display->atom_net_wm_icon_name = atoms[36]; display->atom_net_wm_icon = atoms[37]; display->atom_net_wm_icon_geometry = atoms[38]; + display->atom_utf8_string = atoms[39]; /* Offscreen unmapped window used for _NET_SUPPORTING_WM_CHECK, * created in screen_new @@ -283,10 +285,10 @@ meta_display_open (const char *name) display->grab_op = META_GRAB_OP_NONE; display->grab_window = NULL; - set_string_hint (display, - display->leader_window, - display->atom_net_wm_name, - "Metacity"); + set_utf8_string_hint (display, + display->leader_window, + display->atom_net_wm_name, + "Metacity"); { /* The legacy GNOME hint is to set a cardinal which is the window diff --git a/src/display.h b/src/display.h index df8dd291b..1aa471623 100644 --- a/src/display.h +++ b/src/display.h @@ -96,6 +96,7 @@ struct _MetaDisplay Atom atom_net_wm_icon_name; Atom atom_net_wm_icon; Atom atom_net_wm_icon_geometry; + Atom atom_utf8_string; /* This is the actual window from focus events, * not the one we last set