new stuff
This commit is contained in:
		
							parent
							
								
									c9170189bf
								
							
						
					
					
						commit
						d7b074fcce
					
				| 
						 | 
				
			
			@ -0,0 +1,127 @@
 | 
			
		|||
/* See LICENSE file for copyright and license details. */
 | 
			
		||||
 | 
			
		||||
/* appearance */
 | 
			
		||||
#define BORDERPX		1
 | 
			
		||||
#define FONT			"-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*"
 | 
			
		||||
#define NORMBORDERCOLOR		"#cccccc"
 | 
			
		||||
#define NORMBGCOLOR		"#cccccc"
 | 
			
		||||
#define NORMFGCOLOR		"#000000"
 | 
			
		||||
#define SELBORDERCOLOR		"#0066ff"
 | 
			
		||||
#define SELBGCOLOR		"#0066ff"
 | 
			
		||||
#define SELFGCOLOR		"#ffffff"
 | 
			
		||||
 | 
			
		||||
/* bar position */
 | 
			
		||||
#define BX 0
 | 
			
		||||
#define BY 0
 | 
			
		||||
#define BW 1280
 | 
			
		||||
 | 
			
		||||
/* window area, including floating windows */
 | 
			
		||||
#define WX 0
 | 
			
		||||
#define WY bh
 | 
			
		||||
#define WW sw
 | 
			
		||||
#define WH sh - bh
 | 
			
		||||
 | 
			
		||||
/* master area */
 | 
			
		||||
#define MX WX
 | 
			
		||||
#define MY bh
 | 
			
		||||
#define MW 1280
 | 
			
		||||
#define MH 800 - bh
 | 
			
		||||
 | 
			
		||||
/* tile area, might be on a different screen */
 | 
			
		||||
#define TX 1280
 | 
			
		||||
#define TY 0
 | 
			
		||||
#define TW 1680
 | 
			
		||||
#define TH 1050
 | 
			
		||||
 | 
			
		||||
/* monocle area, might be restricted to a specific screen */
 | 
			
		||||
#define MOX MX
 | 
			
		||||
#define MOY MY
 | 
			
		||||
#define MOW MW
 | 
			
		||||
#define MOH MH
 | 
			
		||||
 | 
			
		||||
/* tagging */
 | 
			
		||||
const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
 | 
			
		||||
 | 
			
		||||
Rule rules[] = {
 | 
			
		||||
	/* class:instance:title substr	tags ref	isfloating */
 | 
			
		||||
	{ "Firefox",			tags[8],	False },
 | 
			
		||||
	{ "Gimp",			NULL,		True },
 | 
			
		||||
	{ "MPlayer",			NULL,		True },
 | 
			
		||||
	{ "Acroread",			NULL,		True },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* layout(s) */
 | 
			
		||||
#define RESIZEHINTS		True	/* False - respect size hints in tiled resizals */
 | 
			
		||||
#define SNAP			32	/* snap pixel */
 | 
			
		||||
 | 
			
		||||
Layout layouts[] = {
 | 
			
		||||
	/* symbol		function	isfloating */
 | 
			
		||||
	{ "[]|",		tileh,		False }, /* first entry is default */
 | 
			
		||||
	{ "[]=",		tilev,		False },
 | 
			
		||||
	{ "><>",		floating,	True },
 | 
			
		||||
	{ "[M]",		monocle,	True },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* key definitions */
 | 
			
		||||
#define MODKEY			Mod1Mask
 | 
			
		||||
Key keys[] = {
 | 
			
		||||
	/* modifier			key		function	argument */
 | 
			
		||||
#if ANSELM_OFFICE
 | 
			
		||||
	{ MODKEY,			XK_p,		spawn,
 | 
			
		||||
		"exec dmenu_run -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"' -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"' -x 0 -y 0 -w 1280" },
 | 
			
		||||
#else
 | 
			
		||||
	{ MODKEY,			XK_p,		spawn,
 | 
			
		||||
		"exec dmenu_run -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"' -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"'" },
 | 
			
		||||
#endif
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_Return,	spawn, "exec uxterm" },
 | 
			
		||||
	{ MODKEY,			XK_j,		focusnext,	NULL },
 | 
			
		||||
	{ MODKEY,			XK_k,		focusprev,	NULL },
 | 
			
		||||
	{ MODKEY,			XK_r,		reapply,	NULL },
 | 
			
		||||
	{ MODKEY,			XK_Return,	zoom,		NULL },
 | 
			
		||||
	{ MODKEY,			XK_Tab,		viewprevtag,	NULL },
 | 
			
		||||
	{ MODKEY,			XK_m,		setlayout,	"[M]" },
 | 
			
		||||
	{ MODKEY,			XK_f,		setlayout,	"><>" },
 | 
			
		||||
	{ MODKEY,			XK_v,		setlayout,	"[]=" },
 | 
			
		||||
	{ MODKEY,			XK_h,		setlayout,	"[]|" },
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_space,	togglefloating,	NULL },
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_c,		killclient,	NULL },
 | 
			
		||||
	{ MODKEY,			XK_0,		view,		NULL },
 | 
			
		||||
	{ MODKEY,			XK_1,		view,		tags[0] },
 | 
			
		||||
	{ MODKEY,			XK_2,		view,		tags[1] },
 | 
			
		||||
	{ MODKEY,			XK_3,		view,		tags[2] },
 | 
			
		||||
	{ MODKEY,			XK_4,		view,		tags[3] },
 | 
			
		||||
	{ MODKEY,			XK_5,		view,		tags[4] },
 | 
			
		||||
	{ MODKEY,			XK_6,		view,		tags[5] },
 | 
			
		||||
	{ MODKEY,			XK_7,		view,		tags[6] },
 | 
			
		||||
	{ MODKEY,			XK_8,		view,		tags[7] },
 | 
			
		||||
	{ MODKEY,			XK_9,		view,		tags[8] },
 | 
			
		||||
	{ MODKEY|ControlMask,		XK_1,		toggleview,	tags[0] },
 | 
			
		||||
	{ MODKEY|ControlMask,		XK_2,		toggleview,	tags[1] },
 | 
			
		||||
	{ MODKEY|ControlMask,		XK_3,		toggleview,	tags[2] },
 | 
			
		||||
	{ MODKEY|ControlMask,		XK_4,		toggleview,	tags[3] },
 | 
			
		||||
	{ MODKEY|ControlMask,		XK_5,		toggleview,	tags[4] },
 | 
			
		||||
	{ MODKEY|ControlMask,		XK_6,		toggleview,	tags[5] },
 | 
			
		||||
	{ MODKEY|ControlMask,		XK_7,		toggleview,	tags[6] },
 | 
			
		||||
	{ MODKEY|ControlMask,		XK_8,		toggleview,	tags[7] },
 | 
			
		||||
	{ MODKEY|ControlMask,		XK_9,		toggleview,	tags[8] },
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_0,		tag,		NULL },
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_1,		tag,		tags[0] },
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_2,		tag,		tags[1] },
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_3,		tag,		tags[2] },
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_4,		tag,		tags[3] },
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_5,		tag,		tags[4] },
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_6,		tag,		tags[5] },
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_7,		tag,		tags[6] },
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_8,		tag,		tags[7] },
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_9,		tag,		tags[8] },
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_1,		toggletag,	tags[0] },
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_2,		toggletag,	tags[1] },
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_3,		toggletag,	tags[2] },
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_4,		toggletag,	tags[3] },
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_5,		toggletag,	tags[4] },
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_6,		toggletag,	tags[5] },
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_7,		toggletag,	tags[6] },
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_8,		toggletag,	tags[7] },
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_9,		toggletag,	tags[8] },
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_q,		quit,		NULL },
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										10
									
								
								config.def.h
								
								
								
								
							
							
						
						
									
										10
									
								
								config.def.h
								
								
								
								
							| 
						 | 
				
			
			@ -56,9 +56,10 @@ Rule rules[] = {
 | 
			
		|||
 | 
			
		||||
Layout layouts[] = {
 | 
			
		||||
	/* symbol		function	isfloating */
 | 
			
		||||
	{ "[]=",		tile,		False }, /* first entry is default */
 | 
			
		||||
	{ "><>",		floating	True },
 | 
			
		||||
	{ "[M]",		monocle		True },
 | 
			
		||||
	{ "[]|",		tileh,		False }, /* first entry is default */
 | 
			
		||||
	{ "[]=",		tilev,		False },
 | 
			
		||||
	{ "><>",		floating,	True },
 | 
			
		||||
	{ "[M]",		monocle,	True },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* key definitions */
 | 
			
		||||
| 
						 | 
				
			
			@ -80,7 +81,8 @@ Key keys[] = {
 | 
			
		|||
	{ MODKEY,			XK_Tab,		viewprevtag,	NULL },
 | 
			
		||||
	{ MODKEY,			XK_m,		setlayout,	"[M]" },
 | 
			
		||||
	{ MODKEY,			XK_f,		setlayout,	"><>" },
 | 
			
		||||
	{ MODKEY,			XK_t,		setlayout,	"[]=" },
 | 
			
		||||
	{ MODKEY,			XK_v,		setlayout,	"[]=" },
 | 
			
		||||
	{ MODKEY,			XK_h,		setlayout,	"[]|" },
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_space,	togglefloating,	NULL },
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_c,		killclient,	NULL },
 | 
			
		||||
	{ MODKEY,			XK_0,		view,		NULL },
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										7
									
								
								dwm.1
								
								
								
								
							
							
						
						
									
										7
									
								
								dwm.1
								
								
								
								
							| 
						 | 
				
			
			@ -69,8 +69,11 @@ Apply floating layout.
 | 
			
		|||
.B Mod1\-m
 | 
			
		||||
Apply monocle layout.
 | 
			
		||||
.TP
 | 
			
		||||
.B Mod1\-t
 | 
			
		||||
Apply tiled layout.
 | 
			
		||||
.B Mod1\-v
 | 
			
		||||
Apply vertical tiled layout.
 | 
			
		||||
.TP
 | 
			
		||||
.B Mod1\-h
 | 
			
		||||
Apply horizontal tiled layout.
 | 
			
		||||
.TP
 | 
			
		||||
.B Mod1\-j
 | 
			
		||||
Focus next window.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										49
									
								
								dwm.c
								
								
								
								
							
							
						
						
									
										49
									
								
								dwm.c
								
								
								
								
							| 
						 | 
				
			
			@ -1,6 +1,3 @@
 | 
			
		|||
/**
 | 
			
		||||
 * - allow for vstack
 | 
			
		||||
 */
 | 
			
		||||
/* See LICENSE file for copyright and license details.
 | 
			
		||||
 *
 | 
			
		||||
 * dynamic window manager is designed like any other X client as well. It is
 | 
			
		||||
| 
						 | 
				
			
			@ -36,7 +33,6 @@
 | 
			
		|||
#include <sys/select.h>
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/wait.h>
 | 
			
		||||
#include <regex.h>
 | 
			
		||||
#include <X11/cursorfont.h>
 | 
			
		||||
#include <X11/keysym.h>
 | 
			
		||||
#include <X11/Xatom.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -170,8 +166,10 @@ void spawn(const char *arg);
 | 
			
		|||
void tag(const char *arg);
 | 
			
		||||
unsigned int textnw(const char *text, unsigned int len);
 | 
			
		||||
unsigned int textw(const char *text);
 | 
			
		||||
void tile(void);
 | 
			
		||||
void tileh(void);
 | 
			
		||||
void tilehstack(unsigned int n);
 | 
			
		||||
unsigned int tilemaster(void);
 | 
			
		||||
void tilev(void);
 | 
			
		||||
void tilevstack(unsigned int n);
 | 
			
		||||
void togglefloating(const char *arg);
 | 
			
		||||
void toggletag(const char *arg);
 | 
			
		||||
| 
						 | 
				
			
			@ -1547,6 +1545,37 @@ tileresize(Client *c, int x, int y, int w, int h) {
 | 
			
		|||
		resize(c, x, y, w, h, False);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
tileh(void) {
 | 
			
		||||
	tilehstack(tilemaster());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
tilehstack(unsigned int n) {
 | 
			
		||||
	int i, x, w;
 | 
			
		||||
	Client *c;
 | 
			
		||||
 | 
			
		||||
	if(n == 0)
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
	x = TX;
 | 
			
		||||
	w = (TW) / n;
 | 
			
		||||
	if(w < bh)
 | 
			
		||||
		w = TW;
 | 
			
		||||
 | 
			
		||||
	for(i = 0, c = nexttiled(clients); c; c = nexttiled(c->next), i++)
 | 
			
		||||
		if(i > 0) {
 | 
			
		||||
			if(i > 1 && i == n) /* remainder */
 | 
			
		||||
				tileresize(c, x, TY, ((TX) + (TW)) - x - 2 * c->border,
 | 
			
		||||
				              TH - 2 * c->border);
 | 
			
		||||
			else
 | 
			
		||||
				tileresize(c, x, TY, w - 2 * c->border,
 | 
			
		||||
				              TH - 2 * c->border);
 | 
			
		||||
			if(w != TW)
 | 
			
		||||
				x = c->x + c->w + 2 * c->border;
 | 
			
		||||
		}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
unsigned int
 | 
			
		||||
tilemaster(void) {
 | 
			
		||||
	unsigned int n;
 | 
			
		||||
| 
						 | 
				
			
			@ -1563,6 +1592,11 @@ tilemaster(void) {
 | 
			
		|||
	return n - 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
tilev(void) {
 | 
			
		||||
	tilevstack(tilemaster());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
tilevstack(unsigned int n) {
 | 
			
		||||
	int i, y, h;
 | 
			
		||||
| 
						 | 
				
			
			@ -1589,11 +1623,6 @@ tilevstack(unsigned int n) {
 | 
			
		|||
		}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
tile(void) {
 | 
			
		||||
	tilevstack(tilemaster());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
togglefloating(const char *arg) {
 | 
			
		||||
	if(!sel)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue