about summary refs log tree commit diff stats
Commit message (Expand)AuthorAgeFilesLines
...
* fixed typoAnselm R. Garbe2006-08-252-2/+2
* s/TILED/TILE/gAnselm R. Garbe2006-08-253-3/+3
* removed a bunch of lines, made mode symbols configurableAnselm R. Garbe2006-08-254-8/+7
* changed symbols for float/tiled mode, added mouse-driven mode toggle to butto...Anselm R. Garbe2006-08-252-11/+13
* small fix to separate client title from right-most tagAnselm R. Garbe2006-08-251-2/+2
* restored config.arg.hAnselm R. Garbe2006-08-251-16/+12
* new color stuff/new rendering stuffAnselm R. Garbe2006-08-256-58/+70
* back to 3 colorsAnselm R. Garbe2006-08-255-38/+35
* fixedAnselm R. Garbe2006-08-241-6/+6
* 3->4 colorsAnselm R. Garbe2006-08-246-26/+22
* Added tag 1.0 for changeset bbc98e77ae89a7c9232a5be0835f60ea00d8036eAnselm R. Garbe2006-08-241-0/+1
* prepared dwm-1.0 1.0Anselm R. Garbe2006-08-241-2/+2
* yet another fixAnselm R. Garbe2006-08-241-1/+1
* small man page fixAnselm R. Garbe2006-08-241-1/+2
* found less intrusive wayAnselm R. Garbe2006-08-241-6/+12
* changing tag indicator through underlineAnselm R. Garbe2006-08-242-26/+17
* black on light is really better, I notice this after allAnselm R. Garbe2006-08-231-3/+3
* updated man pageAnselm R. Garbe2006-08-237-74/+69
* applied tag drawing change to man pageAnselm R. Garbe2006-08-231-4/+4
* implemented right tag drawing in the status bar and titlebarsAnselm R. Garbe2006-08-232-10/+23
* removed a blank lineAnselm R. Garbe2006-08-231-1/+0
* eliminated sentinel warningAnselm R. Garbe2006-08-231-1/+1
* small fix of man pageAnselm R. Garbe2006-08-231-1/+1
* implemented class:inst:title matchingAnselm R. Garbe2006-08-233-8/+8
* applied zero_to_five patchAnselm R. Garbe2006-08-231-5/+5
* tags appear in the left againAnselm R. Garbe2006-08-231-5/+5
* separated setup stuff into main.c:setup() - this makes main() more readableAnselm R. Garbe2006-08-233-99/+104
* updated man pageAnselm R. Garbe2006-08-221-2/+1
* titlebars contain tags in the right nowAnselm R. Garbe2006-08-221-6/+5
* fixed default key bindings (indexes of tags were screwed up)Anselm R. Garbe2006-08-221-20/+20
* rearranged getprotoAnselm R. Garbe2006-08-221-6/+5
* removed winprop (merged into getproto)Anselm R. Garbe2006-08-221-27/+7
* separated several functions into view.cAnselm R. Garbe2006-08-225-258/+266
* removed DEFTAGAnselm R. Garbe2006-08-223-4/+2
* removed badmalloc (thx for the pointer to Uriel)Anselm R. Garbe2006-08-221-10/+2
* rxvt is quite slow under OpenBSDAnselm R. Garbe2006-08-221-1/+1
* font fixAnselm R. Garbe2006-08-221-2/+3
* slight change of my config.hAnselm R. Garbe2006-08-221-4/+4
* fixedAnselm R. Garbe2006-08-221-3/+3
* windows which have set transient_for hint inherit the transient_for window ta...arg@localhost.10kloc.org2006-08-212-2/+7
* after switching to OpenBSD again, I switched back to a saner color schemearg@localhost.10kloc.org2006-08-212-8/+10
* applied Sanders focus_* patches, removed the unnecessary clean-prefix from th...Anselm R.Garbe2006-08-212-28/+32
* small renamings of two static functionsAnselm R.Garbe2006-08-212-5/+5
* small changes to dwm.1, rearranged order within main event loopAnselm R.Garbe2006-08-213-11/+13
* applied Sanders patchAnselm R.Garbe2006-08-181-6/+2
* made a new client position strategy similiar to that one proposed by Sander, ...Anselm R.Garbe2006-08-181-7/+7
* fixed a bug reported by sanderAnselm R.Garbe2006-08-171-1/+1
* applied the shorter xprop commandAnselm R.Garbe2006-08-171-1/+1
* centering apps only if transient_for is not(!) setAnselm R.Garbe2006-08-171-9/+1
* fixed issue Sander reportedAnselm R.Garbe2006-08-171-4/+3
an class="w"> (n[0].kind != nkSym): internalError(p.config, n.info, "genObjectFields") field = n[0].sym s = genTypeInfo(p, field.typ) for i in 1..<n.len: b = n[i] # branch u = nil case b.kind of nkOfBranch: if b.len < 2: internalError(p.config, b.info, "genObjectFields; nkOfBranch broken") for j in 0..<b.len - 1: if u != nil: u.add(", ") if b[j].kind == nkRange: u.addf("[$1, $2]", [rope(getOrdValue(b[j][0])), rope(getOrdValue(b[j][1]))]) else: u.add(rope(getOrdValue(b[j]))) of nkElse: u = rope(lengthOrd(p.config, field.typ)) else: internalError(p.config, n.info, "genObjectFields(nkRecCase)") if result != nil: result.add(", \L") result.addf("[setConstr($1), $2]", [u, genObjectFields(p, typ, lastSon(b))]) result = ("{kind: 3, offset: \"$1\", len: $3, " & "typ: $2, name: $4, sons: [$5]}") % [ mangleName(p.module, field), s, rope(lengthOrd(p.config, field.typ)), makeJSString(field.name.s), result] else: internalError(p.config, n.info, "genObjectFields") proc objHasTypeField(t: PType): bool {.inline.} = tfInheritable in t.flags or t[0] != nil proc genObjectInfo(p: PProc, typ: PType, name: Rope) = let kind = if objHasTypeField(typ): tyObject else: tyTuple var s = ("var $1 = {size: 0, kind: $2, base: null, node: null, " & "finalizer: null};$n") % [name, rope(ord(kind))] prepend(p.g.typeInfo, s) p.g.typeInfo.addf("var NNI$1 = $2;$n", [rope(typ.id), genObjectFields(p, typ, typ.n)]) p.g.typeInfo.addf("$1.node = NNI$2;$n", [name, rope(typ.id)]) if (typ.kind == tyObject) and (typ[0] != nil): p.g.typeInfo.addf("$1.base = $2;$n", [name, genTypeInfo(p, typ[0].skipTypes(skipPtrs))]) proc genTupleFields(p: PProc, typ: PType): Rope = var s: Rope = nil for i in 0..<typ.len: if i > 0: s.add(", \L") s.addf("{kind: 1, offset: \"Field$1\", len: 0, " & "typ: $2, name: \"Field$1\", sons: null}", [i.rope, genTypeInfo(p, typ[i])]) result = ("{kind: 2, len: $1, offset: 0, " & "typ: null, name: null, sons: [$2]}") % [rope(typ.len), s] proc genTupleInfo(p: PProc, typ: PType, name: Rope) = var s = ("var $1 = {size: 0, kind: $2, base: null, node: null, " & "finalizer: null};$n") % [name, rope(ord(typ.kind))] prepend(p.g.typeInfo, s) p.g.typeInfo.addf("var NNI$1 = $2;$n", [rope(typ.id), genTupleFields(p, typ)]) p.g.typeInfo.addf("$1.node = NNI$2;$n", [name, rope(typ.id)]) proc genEnumInfo(p: PProc, typ: PType, name: Rope) = var s: Rope = nil for i in 0..<typ.n.len: if (typ.n[i].kind != nkSym): internalError(p.config, typ.n.info, "genEnumInfo") let field = typ.n[i].sym if i > 0: s.add(", \L") let extName = if field.ast == nil: field.name.s else: field.ast.strVal s.addf("\"$1\": {kind: 1, offset: $1, typ: $2, name: $3, len: 0, sons: null}", [rope(field.position), name, makeJSString(extName)]) var n = ("var NNI$1 = {kind: 2, offset: 0, typ: null, " & "name: null, len: $2, sons: {$3}};$n") % [rope(typ.id), rope(typ.n.len), s] s = ("var $1 = {size: 0, kind: $2, base: null, node: null, " & "finalizer: null};$n") % [name, rope(ord(typ.kind))] prepend(p.g.typeInfo, s) p.g.typeInfo.add(n) p.g.typeInfo.addf("$1.node = NNI$2;$n", [name, rope(typ.id)]) if typ[0] != nil: p.g.typeInfo.addf("$1.base = $2;$n", [name, genTypeInfo(p, typ[0])]) proc genTypeInfo(p: PProc, typ: PType): Rope = let t = typ.skipTypes({tyGenericInst, tyDistinct, tyAlias, tySink, tyOwned}) result = "NTI$1" % [rope(t.id)] if containsOrIncl(p.g.typeInfoGenerated, t.id): return case t.kind of tyDistinct: result = genTypeInfo(p, t[0]) of tyPointer, tyProc, tyBool, tyChar, tyCString, tyString, tyInt..tyUInt64: var s = "var $1 = {size: 0,kind: $2,base: null,node: null,finalizer: null};$n" % [result, rope(ord(t.kind))] prepend(p.g.typeInfo, s) of tyVar, tyLent, tyRef, tyPtr, tySequence, tyRange, tySet: var s = "var $1 = {size: 0,kind: $2,base: null,node: null,finalizer: null};$n" % [result, rope(ord(t.kind))] prepend(p.g.typeInfo, s) p.g.typeInfo.addf("$1.base = $2;$n", [result, genTypeInfo(p, t.lastSon)]) of tyArray: var s = "var $1 = {size: 0,kind: $2,base: null,node: null,finalizer: null};$n" % [result, rope(ord(t.kind))] prepend(p.g.typeInfo, s) p.g.typeInfo.addf("$1.base = $2;$n", [result, genTypeInfo(p, t[1])]) of tyEnum: genEnumInfo(p, t, result) of tyObject: genObjectInfo(p, t, result) of tyTuple: genTupleInfo(p, t, result) of tyStatic: if t.n != nil: result = genTypeInfo(p, lastSon t) else: internalError(p.config, "genTypeInfo(" & $t.kind & ')') else: internalError(p.config, "genTypeInfo(" & $t.kind & ')')