[openbox] How do I get programs to start undecorated

Brett Campbell brett at custom-tech.net
Sun Jan 18 00:57:58 EST 2004


someone posted a patch [for wmctrl] to this list not too long ago.  i
think it went a little somethin' like...

On Sat, Jan 17, 2004 at 09:31:59PM +0100, lucrative wrote:
> i have installed devilspie and wmctl, but i havent found out how to
> undecorate a window with them.
> There are only options for:
> modal, sticky, maximized_vert,maximized_horz, shaded, 
> skip_taskbar, skip_pager, hidden,fullscreen, above, below
> 
> does anybody know how i can undecorate a window with one of these
> programms?
> 
> On Mon, 2004-01-12 at 01:05, Marc Wilson wrote:
> > On Sun, Jan 11, 2004 at 02:19:55PM -0600, Adam Vaughan wrote:
> > > I was wondering if it was possible to start a program with the decorations 
> > > turned off.
> > 
> > No.  You can use something like devilspie to watch for the window to appear
> > and undecorate it, or you can use something like wmctl and undecorate it
> > from the menu option or key binding you use to launch it.
> > 
> > > Also, is there maybe a way to make openbox remember which programs I have
> > > undecorated in the past??
> > 
> > No.
> 

-- 
[ Brett R. Campbell ]
 -> Configuration Management / Systems Administration
 -> Collaborative Agent Design Research Center
 -> California Polytechnic State University, SLO, CA
 http://www.cadrc.calpoly.edu/frameset_content/content_about_us.html
-------------- next part --------------
--- main.org.c	2003-10-04 02:19:23.000000000 +0200
+++ main.c	2004-01-04 22:26:26.724016128 +0100
@@ -731,7 +733,12 @@
                 fputs("Invalid zero length property.\n", stderr);
                 return EXIT_FAILURE;
             }
-            tmp_prop2 = g_strdup_printf("_NET_WM_STATE_%s", tmp2 = g_ascii_strup(p2, -1));
+            if (strcmp(p2,"undecorated") == 0) {
+                tmp_prop2 = g_strdup_printf("_OB_WM_STATE_%s", tmp2 = g_ascii_strup(p2, -1));
+            }
+            else {
+                tmp_prop2 = g_strdup_printf("_NET_WM_STATE_%s", tmp2 = g_ascii_strup(p2, -1));
+            }
             p_verbose("State 2: %s\n", tmp_prop2); 
             prop2 = XInternAtom(disp, tmp_prop2, False);
             g_free(tmp2);
@@ -743,7 +750,12 @@
             fputs("Invalid zero length property.\n", stderr);
             return EXIT_FAILURE;
         }
-        tmp_prop1 = g_strdup_printf("_NET_WM_STATE_%s", tmp1 = g_ascii_strup(p1, -1));
+        if (strcmp(p1,"undecorated") == 0) {
+            tmp_prop1 = g_strdup_printf("_OB_WM_STATE_%s", tmp1 = g_ascii_strup(p1, -1));
+        }
+        else {
+            tmp_prop1 = g_strdup_printf("_NET_WM_STATE_%s", tmp1 = g_ascii_strup(p1, -1));
+        }
         p_verbose("State 1: %s\n", tmp_prop1); 
         prop1 = XInternAtom(disp, tmp_prop1, False);
         g_free(tmp1);


More information about the openbox mailing list