about summary refs log tree commit diff stats
path: root/client.c
diff options
context:
space:
mode:
authorarg@localhost.10kloc.org <unknown>2006-08-21 17:35:37 +0200
committerarg@localhost.10kloc.org <unknown>2006-08-21 17:35:37 +0200
commit950a1ab5afe3e94dfe78e3ff2216bb9f444d5148 (patch)
treecd1a6d420853a7375c5f8d0630554ce0ea89e184 /client.c
parent1b9fe55025f84a8430b4be5822784551746eee8d (diff)
downloaddwm-950a1ab5afe3e94dfe78e3ff2216bb9f444d5148.tar.gz
windows which have set transient_for hint inherit the transient_for window tags now
Diffstat (limited to 'client.c')
-rw-r--r--client.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/client.c b/client.c
index 8b98c19..eb23452 100644
--- a/client.c
+++ b/client.c
@@ -214,6 +214,7 @@ killclient(Arg *arg)
 void
 manage(Window w, XWindowAttributes *wa)
 {
+	unsigned int i;
 	Client *c, *tc;
 	Window trans;
 	XSetWindowAttributes twa;
@@ -261,7 +262,11 @@ manage(Window w, XWindowAttributes *wa)
 	grabbutton(c, Button2, MODKEY);
 	grabbutton(c, Button3, MODKEY);
 
-	settags(c);
+	if((tc = getclient(trans))) /* inherit tags */
+		for(i = 0; i < ntags; i++)
+			c->tags[i] = tc->tags[i];
+	else
+		settags(c);
 	if(!c->isfloat)
 		c->isfloat = trans
 			|| (c->maxw && c->minw &&
.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
/*
** $Id: ldebug.h,v 2.3.1.1 2007/12/27 13:02:25 roberto Exp $
** Auxiliary functions from Debug Interface module
** See Copyright Notice in lua.h
*/

#ifndef ldebug_h
#define ldebug_h


#include "lstate.h"


#define pcRel(pc, p)	(cast(int, (pc) - (p)->code) - 1)

#define getline(f,pc)	(((f)->lineinfo) ? (f)->lineinfo[pc] : 0)

#define resethookcount(L)	(L->hookcount = L->basehookcount)


LUAI_FUNC void luaG_typeerror (lua_State *L, const TValue *o,
                                             const char *opname);
LUAI_FUNC void luaG_concaterror (lua_State *L, StkId p1, StkId p2);
LUAI_FUNC void luaG_aritherror (lua_State *L, const TValue *p1,
                                              const TValue *p2);
LUAI_FUNC int luaG_ordererror (lua_State *L, const TValue *p1,
                                             const TValue *p2);
LUAI_FUNC void luaG_runerror (lua_State *L, const char *fmt, ...);
LUAI_FUNC void luaG_errormsg (lua_State *L);
LUAI_FUNC int luaG_checkcode (const Proto *pt);
LUAI_FUNC int luaG_checkopenop (Instruction i);

#endif