[openbox] undecorate function in 0.14

Mikael Magnusson mangosoft at comhem.se
Sat Nov 5 18:39:07 EST 2005


On Sun, 6 Nov 2005, Mark Pustjens wrote:

> On Sun, 6 Nov 2005, Mikael Magnusson wrote:
>
>>  On Sun, 6 Nov 2005, Mark Pustjens wrote:
>> 
>> >  Hello all,
>> > 
>> >  I just downloaded devilspie 0.14, and installed it.
>> > 
>> >  I created a simple match to undecorate all window (btw: where is the 
>> >  decorate function?), but it does not work.
>> > 
>> >  Also i read the comments on the devilspie homepage, and saw that with a 
>> >  simple code change things would work again. This did not work for me.
>> > 
>> >  Does anyone have a solution or workarround?
>> > 
>> >  Thank you
>>
>>  The undecorate thing in devilspie sets the mwm hints on the window, but
>>  openbox only checks those hints when a window maps, not after. I changed
>>  in cvs to check always so if you use that it should work. At least i think
>>  i did.
>> 
>
> Thanks for the quick reply.
>
> I just downloaded the CVS version, it did not work.

Ah, i didn't then. This patch should work i think, you only need the first 
part obviously but i'm too lazy to edit the patch right now.

Index: openbox/event.c
===================================================================
RCS file: /cvs/cvsroot/openbox/openbox/event.c,v
retrieving revision 1.233
diff -p -u -d -r1.233 event.c
--- openbox/event.c	8 Feb 2005 04:33:54 -0000	1.233
+++ openbox/event.c	5 Nov 2005 23:37:10 -0000
@@ -1131,8 +1155,20 @@ static void event_handle_client(ObClient
          else if (msgtype == prop_atoms.sm_client_id) {
              client_update_sm_client_id(client);
          }
+        else if (msgtype == prop_atoms.motif_wm_hints) {
+            ob_debug("getting mwm hints!!!\n");
+            client_get_mwm_hints(client);
+            client_get_type(client);
+            client_calc_layer(client);
+            client_setup_decor_and_functions(client);
+        }
      default:
-        ;
+        {
+        char *msgname = XGetAtomName(ob_display, msgtype);
+        ob_debug("got a property notify \"%s\" from client \"%s\" with title \"%s\"\n", msgname, client->name, client->title);
+        fflush(stdout);
+        XFree(msgname);
+        }
  #ifdef SHAPE
          if (extensions_shape && e->type == extensions_shape_event_basep) 
{
              client->shaped = ((XShapeEvent*)e)->shaped;


--
Mikael Magnusson



More information about the openbox mailing list