add 'moveamount' to cwmrc; it sets keyboard movement amount, making

it more useful on large screens
manpage tweak & ok jmc@
ok okan@, oga@
This commit is contained in:
martynas 2009-02-07 21:07:00 +00:00
parent 507b65a27f
commit 17ae65adc5
5 changed files with 90 additions and 30 deletions

View File

@ -256,6 +256,8 @@ struct conf {
int flags;
#define CONF_BWIDTH 1
int bwidth;
#define CONF_MAMOUNT 1
int mamount;
char termpath[MAXPATHLEN];
char lockpath[MAXPATHLEN];

1
conf.c
View File

@ -77,6 +77,7 @@ conf_init(struct conf *c)
{
c->flags = 0;
c->bwidth = CONF_BWIDTH;
c->mamount = CONF_MAMOUNT;
TAILQ_INIT(&c->ignoreq);
TAILQ_INIT(&c->cmdq);

107
cwmrc.5
View File

@ -14,7 +14,7 @@
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.Dd $Mdocdate: January 21 2009 $
.Dd $Mdocdate: February 7 2009 $
.Dt CWMRC 5
.Os
.Sh NAME
@ -34,7 +34,7 @@ properties, where
.Ar group
is a number between 0 and 9.
If the group number is 0, then the window will not be grouped; this to
allow for
allow for
.Dq sticky
windows in sticky group mode.
.Pp
@ -139,7 +139,7 @@ The modifier keys come first, followed by a
The following modifiers are recognised:
.Pp
.Bl -tag -width Ds -offset indent -compact
.It C
.It C
The Control key.
.It M
The Meta key.
@ -169,6 +169,11 @@ may be taken from the
.Sx MOUSEBIND COMMAND LIST
(see below).
.Pp
.It Ic moveamount Ar pixels
Set a default size for the keyboard movement bindings,
in pixels.
The default is 1.
.Pp
.It Ic sticky Ic yes Ns \&| Ns Ic no
Toggle sticky group mode.
The default behavior for new windows is to not assign any group.
@ -264,53 +269,101 @@ Maximize current window full-screen.
.It vmaximize
Maximize current window vertically.
.It moveup
Move window 1 pixel up.
Move window
.Ar moveamount
pixels up.
.It movedown
Move window 1 pixel down.
Move window
.Ar moveamount
pixels down.
.It moveright
Move window 1 pixel right.
Move window
.Ar moveamount
pixels right.
.It moveleft
Move window 1 pixel left.
Move window
.Ar moveamount
pixels left.
.It bigmoveup
Move window 10 pixels up.
Move window 10 times
.Ar moveamount
pixels up.
.It bigmovedown
Move window 10 pixels down.
Move window 10 times
.Ar moveamount
pixels down.
.It bigmoveright
Move window 10 pixels right.
Move window 10 times
.Ar moveamount
pixels right.
.It bigmoveleft
Move window 10 pixels left.
Move window 10 times
.Ar moveamount
pixels left.
.It resizeup
Resize window 1 pixel up.
Resize window
.Ar moveamount
pixels up.
.It resizedown
Resize window 1 pixel down.
Resize window
.Ar moveamount
pixels down.
.It resizeright
Resize window 1 pixel right.
Resize window
.Ar moveamount
pixels right.
.It resizeleft
Resize window 1 pixel left.
Resize window
.Ar moveamount
pixels left.
.It bigresizeup
Resize window 10 pixels up.
Resize window 10 times
.Ar moveamount
pixels up.
.It bigresizedown
Resize window 10 pixels down.
Resize window 10 times
.Ar moveamount
pixels down.
.It bigresizeright
Resize window 10 pixels right.
Resize window 10 times
.Ar moveamount
pixels right.
.It bigresizeleft
Resize window 10 pixels left.
Resize window 10 times
.Ar moveamount
pixels left.
.It ptrmoveup
Move pointer 1 pixel up.
Move pointer
.Ar moveamount
pixels up.
.It ptrmovedown
Move pointer 1 pixel down.
Move pointer
.Ar moveamount
pixels down.
.It ptrmoveright
Move pointer 1 pixel right.
Move pointer
.Ar moveamount
pixels right.
.It ptrmoveleft
Move pointer 1 pixel left.
Move pointer
.Ar moveamount
pixels left.
.It bigptrmoveup
Move pointer 10 pixels up.
Move pointer 10 times
.Ar moveamount
pixels up.
.It bigptrmovedown
Move pointer 10 pixels down.
Move pointer 10 times
.Ar moveamount
pixels down.
.It bigptrmoveright
Move pointer 10 pixels right.
Move pointer 10 times
.Ar moveamount
pixels right.
.It bigptrmoveleft
Move pointer 10 pixels left.
Move pointer 10 times
.Ar moveamount
pixels left.
.El
.Sh MOUSEBIND COMMAND LIST
.Bl -tag -width 18n -compact

View File

@ -25,7 +25,6 @@
#define KNOWN_HOSTS ".ssh/known_hosts"
#define HASH_MARKER "|1|"
#define MOVE_AMOUNT 1
extern int _xev_quit;
@ -54,7 +53,7 @@ kbfunc_moveresize(struct client_ctx *cc, union arg *arg)
mx = my = 0;
flags = arg->i;
amt = MOVE_AMOUNT;
amt = Conf.mamount;
if (flags & CWM_BIGMOVE) {
flags -= CWM_BIGMOVE;

View File

@ -66,7 +66,7 @@ typedef struct {
%token FONTNAME STICKY GAP MOUSEBIND
%token AUTOGROUP BIND COMMAND IGNORE
%token YES NO BORDERWIDTH
%token YES NO BORDERWIDTH MOVEAMOUNT
%token ERROR
%token <v.string> STRING
%token <v.number> NUMBER
@ -110,6 +110,9 @@ main : FONTNAME STRING {
| BORDERWIDTH NUMBER {
conf->bwidth = $2;
}
| MOVEAMOUNT NUMBER {
conf->mamount = $2;
}
| COMMAND STRING string {
conf_cmd_add(conf, $3, $2, 0);
free($2);
@ -207,6 +210,7 @@ lookup(char *s)
{ "gap", GAP},
{ "ignore", IGNORE},
{ "mousebind", MOUSEBIND},
{ "moveamount", MOVEAMOUNT},
{ "no", NO},
{ "sticky", STICKY},
{ "yes", YES}
@ -499,6 +503,7 @@ parse_config(const char *filename, struct conf *xconf)
xconf->flags = conf->flags;
xconf->bwidth = conf->bwidth;
xconf->mamount = conf->mamount;
while ((cmd = TAILQ_FIRST(&conf->cmdq)) != NULL) {
TAILQ_REMOVE(&conf->cmdq, cmd, entry);