about summary refs log tree commit diff stats
path: root/config.mk
Commit message (Collapse)AuthorAgeFilesLines
* changed sleep 20 into sleep 1 in example script as suggested by Snader_LBgarbeam@gmail.com2011-07-201-1/+1
|
* enabled release flags 5.9garbeam@gmail.com2011-07-101-4/+4
|
* added TODO and bumped version to 5.9anselm@garbe.us2010-08-241-1/+1
|
* increased version 5.8.2Anselm R Garbe2010-05-301-1/+1
|
* removing Sylvain's patch because it breaks more than it fixes unfortunately, ↵ 5.8.1Anselm R Garbe2010-05-291-1/+1
| | | | re-issuing a bugfix release 5.8.1
* it's debug season for upcoming dwm 5.8, so only use this if you really want ↵Anselm R Garbe2010-03-311-4/+4
| | | | to run experimental code or debug code
* removed misleading comment, thanks Romain BertrandAnselm R Garbe2009-11-241-1/+1
|
* added BUGS, next version is 5.8Anselm R Garbe2009-10-311-1/+1
|
* applied Ryan Zheng's patch and re-releasing 5.7.2 5.7.2Anselm R Garbe2009-09-271-1/+1
|
* fixed the layout symbol bug reported by Nibble (but using a different ↵ 5.7.1Anselm R Garbe2009-09-271-1/+1
| | | | | | approach as he suggested) - optimised drawbar() and arrange() handling for multiple monitors, arrange only arranges the relevant monitors when applicable, same with drawbar - need to release 5.7.1
* switching to release flags 5.7Anselm R Garbe2009-09-221-4/+4
|
* implemented different version of updategeomAnselm R Garbe2009-09-211-4/+4
|
* fixed nn declarationAnselm R Garbe2009-07-271-1/+1
|
* updategeom fix for same geom screensAnselm R Garbe2009-07-211-1/+1
|
* it's all nsz's hard investigation effort, hail nsz! ;)Anselm R Garbe2009-07-171-1/+1
|
* reverting to optimised compiler options, current state seems stableAnselm R Garbe2009-07-091-4/+4
|
* several bugfixesAnselm R Garbe2009-07-011-2/+2
|
* some minor fix if xinerama is disabled, still some odd behavior in thereAnselm R Garbe2009-07-011-2/+2
|
* fixed tagmon, re-using detach/detachstack and attach/attachstackAnselm R Garbe2009-06-231-2/+2
|
* declare buf only if XINERAMA support is usedAnselm R Garbe2009-06-231-2/+2
|
* experimental xinerama support, two new actions, Mod1-w/e and Mod1-Shift-w/eAnselm R Garbe2009-06-201-4/+6
|
* introduction of Monitor for better Xinerama support, work in progressAnselm R Garbe2009-06-191-2/+2
|
* next version will be 5.6, shortened some very long linesAnselm R Garbe2009-04-201-1/+1
|
* applied Marc Andre Tanners showhide patch, the removal of ntiled 5.5Anselm R Garbe2009-03-191-2/+2
|
* applied Gottox' adjustborder removal patch (thanks!)Anselm R Garbe2009-02-211-1/+1
|
* fixed an issue reported by Nibble, also fixed s/2008/2009/ 5.4.1a@null2009-02-081-1/+1
|
* re-applied Neale's spawn patch, credited Neale in LICENSEa@null2008-12-121-1/+1
|
* fixAnselm R Garbe2008-12-061-1/+1
|
* several changes towards 5.3, XINERAMA is disabled by default, introduced ↵Anselm R Garbe2008-10-191-4/+4
| | | | usegrab Bool for grabbing the server during mouse-based resizals/movements (disabled by default), continued debugging tile() with resizehints == True and a lot of terminals supporting resizehints, still no optimal solution, I need to think about it, considering recursive algorithm for the space optimization
* made readin a config.h variableAnselm R Garbe2008-08-021-1/+1
|
* untested monocleAnselm R Garbe2008-06-191-1/+1
|
* non-zeroAnselm R Garbe2008-06-191-1/+1
|
* minor fixAnselm R Garbe2008-06-131-2/+0
|
* applied anydot's patchset.diffAnselm R Garbe2008-06-111-2/+2
|
* applied Gottox bitmask + void *arg patchAnselm R Garbe2008-05-221-4/+4
|
* fixed commentAnselm R Garbe2008-05-191-1/+1
|
* make it easier for the user, if Xinerama support is given, always use the ↵Anselm R Garbe2008-05-191-3/+8
| | | | screen 0 as window area/bar area, everything else can be used for floating clients
* new stuffAnselm R Garbe2008-05-171-2/+2
|
* implemented exact focus next, if arg != NULL to focus{next,prev}Anselm R Garbe2008-05-111-2/+2
|
* next version is 5.0Anselm R Garbe2008-04-041-1/+1
|
* removed uneccessary lineAnselm R Garbe2008-03-311-1/+0
|
* made the string-based setgeom workingAnselm R Garbe2008-03-151-1/+1
|
* some changes towards 4.9Anselm R Garbe2008-03-141-1/+1
|
* removed some more useless clunkAnselm R Garbe2008-03-051-2/+2
|
* implemented the stuff as I discussed on dwm@Anselm R Garbe2008-03-051-2/+2
|
* well, AIM_XINERAMA should not be enabledanselm@anselm12008-02-281-1/+1
|
* made the basics of the tagging concept working -- if people want dynamic ↵anselm@anselm12008-02-281-1/+1
| | | | tags, that's even possible with this concept, the vtags[] array needs to be modified during runtime for this -- the new code is quite experimental, ugly and needs polishing
* disabled AIM_XINERAMAanselm@anselm12008-02-261-1/+1
|
* simplified dwmanselm@anselm12008-02-261-1/+1
|
* got initial Xinerama support working, though there is a lot work todoanselm@aab2008-02-111-2/+2
|
ass="w"> - 1] = '.'; if(len > 2) buf[len - 2] = '.'; if(len > 3) buf[len - 3] = '.'; } if(w > dc.w) return; /* too long */ gcv.foreground = invert ? dc.bg : dc.fg; gcv.background = invert ? dc.fg : dc.bg; if(dc.font.set) { XChangeGC(dpy, dc.gc, GCForeground | GCBackground, &gcv); XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, buf, len); } else { gcv.font = dc.font.xfont->fid; XChangeGC(dpy, dc.gc, GCForeground | GCBackground | GCFont, &gcv); XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len); } if(highlight) { points[0].x = dc.x + 1; points[0].y = dc.y + 1; points[1].x = dc.w - 3; points[1].y = 0; points[2].x = 0; points[2].y = dc.h - 3; points[3].x = -(dc.w - 3); points[3].y = 0; points[4].x = 0; points[4].y = -(dc.h - 3); XDrawLines(dpy, dc.drawable, dc.gc, points, 5, CoordModePrevious); } } /* extern */ void drawall() { Client *c; for(c = clients; c; c = getnext(c->next)) drawtitle(c); drawstatus(); } void drawstatus() { int i, x; Bool istile = arrange == dotile; dc.x = dc.y = 0; dc.w = bw; drawtext(NULL, !istile, False); dc.w = 0; for(i = 0; i < ntags; i++) { dc.x += dc.w; dc.w = textw(tags[i]); if(istile) drawtext(tags[i], seltag[i], sel && sel->tags[i]); else drawtext(tags[i], !seltag[i], sel && sel->tags[i]); } x = dc.x + dc.w; dc.w = textw(stext); dc.x = bx + bw - dc.w; if(dc.x < x) { dc.x = x; dc.w = bw - x; } drawtext(stext, !istile, False); if(sel && ((dc.w = dc.x - x) > bh)) { dc.x = x; drawtext(sel->name, istile, False); } XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0); XSync(dpy, False); } void drawtitle(Client *c) { int i; Bool istile = arrange == dotile; if(c == sel && issel) { drawstatus(); XUnmapWindow(dpy, c->twin); XSetWindowBorder(dpy, c->win, dc.fg); return; } XSetWindowBorder(dpy, c->win, dc.bg); XMapWindow(dpy, c->twin); dc.x = dc.y = 0; dc.w = c->tw; drawtext(c->name, !istile, False); XCopyArea(dpy, dc.drawable, c->twin, dc.gc, 0, 0, c->tw, c->th, 0, 0); XSync(dpy, False); } unsigned long getcolor(const char *colstr) { Colormap cmap = DefaultColormap(dpy, screen); XColor color; XAllocNamedColor(dpy, cmap, colstr, &color, &color); return color.pixel; } void setfont(const char *fontstr) { char **missing, *def; int i, n; missing = NULL; setlocale(LC_ALL, ""); if(dc.font.set) XFreeFontSet(dpy, dc.font.set); dc.font.set = XCreateFontSet(dpy, fontstr, &missing, &n, &def); if(missing) { while(n--) fprintf(stderr, "missing fontset: %s\n", missing[n]); XFreeStringList(missing); if(dc.font.set) { XFreeFontSet(dpy, dc.font.set); dc.font.set = NULL; } } if(dc.font.set) { XFontSetExtents *font_extents; XFontStruct **xfonts; char **font_names; dc.font.ascent = dc.font.descent = 0; font_extents = XExtentsOfFontSet(dc.font.set); n = XFontsOfFontSet(dc.font.set, &xfonts, &font_names); for(i = 0, dc.font.ascent = 0, dc.font.descent = 0; i < n; i++) { if(dc.font.ascent < (*xfonts)->ascent) dc.font.ascent = (*xfonts)->ascent; if(dc.font.descent < (*xfonts)->descent) dc.font.descent = (*xfonts)->descent; xfonts++; } } else { if(dc.font.xfont) XFreeFont(dpy, dc.font.xfont); dc.font.xfont = NULL; dc.font.xfont = XLoadQueryFont(dpy, fontstr); if (!dc.font.xfont) dc.font.xfont = XLoadQueryFont(dpy, "fixed"); if (!dc.font.xfont) eprint("error, cannot init 'fixed' font\n"); dc.font.ascent = dc.font.xfont->ascent; dc.font.descent = dc.font.xfont->descent; } dc.font.height = dc.font.ascent + dc.font.descent; } unsigned int textw(const char *text) { return textnw(text, strlen(text)) + dc.font.height; }