about summary refs log tree commit diff stats
path: root/dwm.1
Commit message (Expand)AuthorAgeFilesLines
* applied Neale Pickett's xprop status reading patch, updated README and dwm.1 ...a@null2008-12-121-7/+7
* applied James Turner's dwm.1 patch, thanks James!Anselm R Garbe2008-06-231-4/+1
* untested monocleAnselm R Garbe2008-06-191-1/+10
* updated man page regarding Mod1-mAnselm R Garbe2008-06-151-1/+1
* applied yiyus domax patch with slight modificationsAnselm R Garbe2008-05-261-0/+3
* simplificationanselm@anselm12008-05-191-1/+1
* make it easier for the user, if Xinerama support is given, always use the scr...Anselm R Garbe2008-05-191-0/+3
* removed monocle for nowAnselm R Garbe2008-05-171-3/+0
* removed the exact focus mechanism of next/prev windowAnselm R Garbe2008-05-171-6/+0
* removed Geom stuff, introduced updategeom() again, still view is somewhat bro...Anselm R Garbe2008-05-111-3/+0
* implemented exact focus next, if arg != NULL to focus{next,prev}Anselm R Garbe2008-05-111-0/+6
* revival of mfact and setmfactAnselm R Garbe2008-03-241-0/+6
* setlayout and setgeom are now togglable againAnselm R Garbe2008-03-241-10/+4
* updated dwm(1)Anselm R Garbe2008-03-121-24/+24
* new stuffAnselm R Garbe2008-03-061-2/+5
* implemented the stuff as I discussed on dwm@Anselm R Garbe2008-03-051-9/+6
* renamed maximise to monocle again.Anselm R Garbe2008-03-051-11/+2
* renamed monocle into maxmise, documented the keybindings in dwm(1)anselm@anselm12008-03-041-12/+19
* simplified Mod-mAnselm R. Garbe2007-12-091-1/+1
* implemented reapply for re-applying the tagging rules during runtime, Mod-rAnselm R. Garbe2007-12-081-0/+3
* added Mod1-Tab description to dwm.1Anselm R. Garbe2007-10-101-0/+3
* fixed man pageAnselm R. Garbe2007-09-301-1/+1
* applied Peter Hartlich's togglemax patch to allow toggling tiled clients to m...Anselm R. Garbe2007-09-181-1/+1
* made all stuff non-static - so you can choose wether to use dwm the static or...arg@suckless.org2007-09-171-1/+1
* Mod1-Button2 on a floating but not-fixed client will make it tiled againAnselm R. Garbe2007-09-161-1/+1
* now tiled windows can be resized/moved, their floating state will be toggled ...Anselm R. Garbe2007-09-161-2/+2
* prepared 4.4.1 bugfix and minor feature enhancement release 4.4.1Anselm R. Garbe2007-08-261-1/+1
* removed VRATIO, NMASTER, inc*(), renamed HRATIO into MASTER, see mailinglist ...Anselm R. Garbe2007-08-101-17/+5
* applied Jukka's dwm.1 patchAnselm R. Garbe2007-08-051-6/+6
* changed shortcuts as described on the mailinglist, added sanity checks for ra...Anselm R. Garbe2007-08-051-6/+12
* added new Mod1-b functionality to dwm(1)Anselm R. Garbe2007-05-151-0/+3
* added the GTK Save-As bug report to BUGS section of dwm(1)Anselm R. Garbe2007-05-141-0/+8
* Escape -s in dwm.1Anselm R. Garbe2007-02-261-25/+25
* replacing Mod1-i with Mod1-Shift-j, Mod1-d with Mod1-Shift-kAnselm R. Garbe2007-02-231-6/+6
* well I agree to several people claiming h/j/k/l is the better default than Ta...Anselm R. Garbe2007-02-231-5/+5
* renamed untiled into floating, keeping tiled instead of tiling (afaik tiled s...Anselm R. Garbe2007-02-221-11/+11
* hahaha, untiled and non-untiled sounded really cumbersomeAnselm R. Garbe2007-02-221-1/+1
* renamed versatile into untiledAnselm R. Garbe2007-02-221-19/+19
* restoring default keybindings as Sander complainedAnselm R. Garbe2007-02-221-4/+4
* removed button4/5-bindings for incnmaster on mode label - that is misleadingAnselm R. Garbe2007-02-221-6/+0
* fixed order of key bindings described in dwm.1Anselm R. Garbe2007-02-221-5/+5
* reusing drawsquare for client title, empty square before title means versatil...Anselm R. Garbe2007-02-221-4/+5
* dwm draws a small caret before the client title if it's a versatile clientAnselm R. Garbe2007-02-221-5/+6
* several changes, made togglemax extern and separated it from zoom() - moved z...Anselm R. Garbe2007-02-221-6/+9
* renames swim[ming] into versatileAnselm R. Garbe2007-02-191-10/+10
* renamed floating into swimming (this does not clash with C naming conventions...Anselm R. Garbe2007-02-191-10/+10
* introduced Layout structAnselm R. Garbe2007-02-191-19/+19
* bugfix of bugfix (thx to Sander)Anselm R. Garbe2007-02-121-1/+1
* fixed a bugAnselm R. Garbe2007-02-121-1/+1
* during writing 2wm.1 I noticed some bugs in dwm.1Anselm R. Garbe2007-02-121-3/+3
ass="w"> b->gc, b->bg); XFillRectangles(dpy, b->drawable, b->gc, &r, 1); if(border) drawborder(dpy, b); if(!text) return; len = strlen(text); if(len >= sizeof(buf)) len = sizeof(buf) - 1; memcpy(buf, text, len); buf[len] = 0; h = b->font.ascent + b->font.descent; y = b->y + (b->h / 2) - (h / 2) + b->font.ascent; x = b->x + (h / 2); /* shorten text if necessary */ while(len && (w = textnw(&b->font, buf, len)) > b->w - h) buf[--len] = 0; if(w > b->w) return; /* too long */ gcv.foreground = b->fg; gcv.background = b->bg; if(b->font.set) { XChangeGC(dpy, b->gc, GCForeground | GCBackground, &gcv); XmbDrawImageString(dpy, b->drawable, b->font.set, b->gc, x, y, buf, len); } else { gcv.font = b->font.xfont->fid; XChangeGC(dpy, b->gc, GCForeground | GCBackground | GCFont, &gcv); XDrawImageString(dpy, b->drawable, b->gc, x, y, buf, len); } } static unsigned long xloadcolors(Display *dpy, Colormap cmap, const char *colstr) { XColor color; XAllocNamedColor(dpy, cmap, colstr, &color, &color); return color.pixel; } void loadcolors(Display *dpy, int screen, Brush *b, const char *bg, const char *fg, const char *border) { Colormap cmap = DefaultColormap(dpy, screen); b->bg = xloadcolors(dpy, cmap, bg); b->fg = xloadcolors(dpy, cmap, fg); b->border = xloadcolors(dpy, cmap, border); } unsigned int textnw(Fnt *font, char *text, unsigned int len) { XRectangle r; if(font->set) { XmbTextExtents(font->set, text, len, NULL, &r); return r.width; } return XTextWidth(font->xfont, text, len); } unsigned int textw(Fnt *font, char *text) { return textnw(font, text, strlen(text)); } unsigned int texth(Fnt *font) { return font->height + 4; } void loadfont(Display *dpy, Fnt *font, const char *fontstr) { char **missing, *def; int n; missing = NULL; def = "?"; setlocale(LC_ALL, ""); if(font->set) XFreeFontSet(dpy, font->set); font->set = XCreateFontSet(dpy, fontstr, &missing, &n, &def); if(missing) { while(n--) fprintf(stderr, "missing fontset: %s\n", missing[n]); XFreeStringList(missing); if(font->set) { XFreeFontSet(dpy, font->set); font->set = NULL; } } if(font->set) { XFontSetExtents *font_extents; XFontStruct **xfonts; char **font_names; unsigned int i; font->ascent = font->descent = 0; font_extents = XExtentsOfFontSet(font->set); n = XFontsOfFontSet(font->set, &xfonts, &font_names); for(i = 0, font->ascent = 0, font->descent = 0; i < n; i++) { if(font->ascent < (*xfonts)->ascent) font->ascent = (*xfonts)->ascent; if(font->descent < (*xfonts)->descent) font->descent = (*xfonts)->descent; xfonts++; } } else { if(font->xfont) XFreeFont(dpy, font->xfont); font->xfont = NULL; font->xfont = XLoadQueryFont(dpy, fontstr); if (!font->xfont) font->xfont = XLoadQueryFont(dpy, "fixed"); if (!font->xfont) error("error, cannot load 'fixed' font\n"); font->ascent = font->xfont->ascent; font->descent = font->xfont->descent; } font->height = font->ascent + font->descent; }