Allow configuring a percentage window size of the master window during
htile/vtile actions. From Uwe Werler, with a few manpage tweaks.
This commit is contained in:
parent
ac0e12b4da
commit
831953a478
@ -15,7 +15,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*
|
*
|
||||||
* $OpenBSD: calmwm.h,v 1.374 2020/03/24 14:47:29 okan Exp $
|
* $OpenBSD: calmwm.h,v 1.375 2020/04/16 13:32:35 okan Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _CALMWM_H_
|
#ifndef _CALMWM_H_
|
||||||
@ -291,6 +291,8 @@ struct conf {
|
|||||||
int bwidth;
|
int bwidth;
|
||||||
int mamount;
|
int mamount;
|
||||||
int snapdist;
|
int snapdist;
|
||||||
|
int htile;
|
||||||
|
int vtile;
|
||||||
struct gap gap;
|
struct gap gap;
|
||||||
char *color[CWM_COLOR_NITEMS];
|
char *color[CWM_COLOR_NITEMS];
|
||||||
char *font;
|
char *font;
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*
|
*
|
||||||
* $OpenBSD: client.c,v 1.262 2020/03/24 14:47:29 okan Exp $
|
* $OpenBSD: client.c,v 1.263 2020/04/16 13:32:35 okan Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@ -940,7 +940,8 @@ client_htile(struct client_ctx *cc)
|
|||||||
cc->geom.x = area.x;
|
cc->geom.x = area.x;
|
||||||
cc->geom.y = area.y;
|
cc->geom.y = area.y;
|
||||||
cc->geom.w = area.w - (cc->bwidth * 2);
|
cc->geom.w = area.w - (cc->bwidth * 2);
|
||||||
cc->geom.h = (area.h - (cc->bwidth * 2)) / 2;
|
if (Conf.htile > 0)
|
||||||
|
cc->geom.h = ((area.h - (cc->bwidth * 2)) * Conf.htile) / 100;
|
||||||
client_resize(cc, 1);
|
client_resize(cc, 1);
|
||||||
client_ptr_warp(cc);
|
client_ptr_warp(cc);
|
||||||
|
|
||||||
@ -1007,7 +1008,8 @@ client_vtile(struct client_ctx *cc)
|
|||||||
cc->flags &= ~CLIENT_VMAXIMIZED;
|
cc->flags &= ~CLIENT_VMAXIMIZED;
|
||||||
cc->geom.x = area.x;
|
cc->geom.x = area.x;
|
||||||
cc->geom.y = area.y;
|
cc->geom.y = area.y;
|
||||||
cc->geom.w = (area.w - (cc->bwidth * 2)) / 2;
|
if (Conf.vtile > 0)
|
||||||
|
cc->geom.w = ((area.w - (cc->bwidth * 2)) * Conf.vtile) / 100;
|
||||||
cc->geom.h = area.h - (cc->bwidth * 2);
|
cc->geom.h = area.h - (cc->bwidth * 2);
|
||||||
client_resize(cc, 1);
|
client_resize(cc, 1);
|
||||||
client_ptr_warp(cc);
|
client_ptr_warp(cc);
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*
|
*
|
||||||
* $OpenBSD: conf.c,v 1.251 2020/02/27 14:56:39 okan Exp $
|
* $OpenBSD: conf.c,v 1.252 2020/04/16 13:32:35 okan Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@ -281,6 +281,8 @@ conf_init(struct conf *c)
|
|||||||
c->stickygroups = 0;
|
c->stickygroups = 0;
|
||||||
c->bwidth = 1;
|
c->bwidth = 1;
|
||||||
c->mamount = 1;
|
c->mamount = 1;
|
||||||
|
c->htile = 50;
|
||||||
|
c->vtile = 50;
|
||||||
c->snapdist = 0;
|
c->snapdist = 0;
|
||||||
c->ngroups = 0;
|
c->ngroups = 0;
|
||||||
c->nameqlen = 5;
|
c->nameqlen = 5;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.\" $OpenBSD: cwmrc.5,v 1.75 2020/03/13 20:50:07 tim Exp $
|
.\" $OpenBSD: cwmrc.5,v 1.76 2020/04/16 13:32:35 okan Exp $
|
||||||
.\"
|
.\"
|
||||||
.\" Copyright (c) 2004,2005 Marius Aamodt Eriksen <marius@monkey.org>
|
.\" Copyright (c) 2004,2005 Marius Aamodt Eriksen <marius@monkey.org>
|
||||||
.\"
|
.\"
|
||||||
@ -14,7 +14,7 @@
|
|||||||
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
.\"
|
.\"
|
||||||
.Dd $Mdocdate: March 13 2020 $
|
.Dd $Mdocdate: April 16 2020 $
|
||||||
.Dt CWMRC 5
|
.Dt CWMRC 5
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -183,6 +183,13 @@ This
|
|||||||
can be used for applications such as
|
can be used for applications such as
|
||||||
.Xr xclock 1 ,
|
.Xr xclock 1 ,
|
||||||
where the user may wish to remain visible.
|
where the user may wish to remain visible.
|
||||||
|
.It Ic htile Ar percent
|
||||||
|
Set the percentage of screen the master window should occupy
|
||||||
|
after calling
|
||||||
|
.Ic window-htile .
|
||||||
|
If set to 0, the horizontal size of the master window will
|
||||||
|
remain unchanged.
|
||||||
|
The default is 50.
|
||||||
.It Ic ignore Ar windowname
|
.It Ic ignore Ar windowname
|
||||||
Ignore, and do not warp to, windows with the name
|
Ignore, and do not warp to, windows with the name
|
||||||
.Ar windowname
|
.Ar windowname
|
||||||
@ -216,6 +223,13 @@ A special
|
|||||||
keyword
|
keyword
|
||||||
.Dq all
|
.Dq all
|
||||||
can be used to unbind all buttons.
|
can be used to unbind all buttons.
|
||||||
|
.It Ic vtile Ar percent
|
||||||
|
Set the percentage of screen the master window should occupy
|
||||||
|
after calling
|
||||||
|
.Ic window-vtile .
|
||||||
|
If set to 0, the vertical size of the master window will
|
||||||
|
remain unchanged.
|
||||||
|
The default is 50.
|
||||||
.It Ic wm Ar name path
|
.It Ic wm Ar name path
|
||||||
Every
|
Every
|
||||||
.Ar name
|
.Ar name
|
||||||
@ -303,11 +317,15 @@ Vertically maximize current window (gap + border honored).
|
|||||||
Horizontally maximize current window (gap + border honored).
|
Horizontally maximize current window (gap + border honored).
|
||||||
.It window-htile
|
.It window-htile
|
||||||
Current window is placed at the top of the screen, maximized
|
Current window is placed at the top of the screen, maximized
|
||||||
horizontally and resized to half of the vertical screen space.
|
horizontally and resized to
|
||||||
|
.Ar htile
|
||||||
|
(default half) of the vertical screen space.
|
||||||
Other windows in its group share remaining screen space.
|
Other windows in its group share remaining screen space.
|
||||||
.It window-vtile
|
.It window-vtile
|
||||||
Current window is placed on the left of the screen, maximized vertically
|
Current window is placed on the left of the screen, maximized vertically
|
||||||
and resized to half of the horizontal screen space.
|
and resized to
|
||||||
|
.Ar vtile
|
||||||
|
(default half) of the horizontal screen space.
|
||||||
Other windows in its group share remaining screen space.
|
Other windows in its group share remaining screen space.
|
||||||
.It window-move
|
.It window-move
|
||||||
Move current window.
|
Move current window.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: parse.y,v 1.72 2018/11/09 16:00:54 okan Exp $ */
|
/* $OpenBSD: parse.y,v 1.73 2020/04/16 13:32:35 okan Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2002, 2003, 2004 Henning Brauer <henning@openbsd.org>
|
* Copyright (c) 2002, 2003, 2004 Henning Brauer <henning@openbsd.org>
|
||||||
@ -71,7 +71,7 @@ typedef struct {
|
|||||||
%token BINDKEY UNBINDKEY BINDMOUSE UNBINDMOUSE
|
%token BINDKEY UNBINDKEY BINDMOUSE UNBINDMOUSE
|
||||||
%token FONTNAME STICKY GAP
|
%token FONTNAME STICKY GAP
|
||||||
%token AUTOGROUP COMMAND IGNORE WM
|
%token AUTOGROUP COMMAND IGNORE WM
|
||||||
%token YES NO BORDERWIDTH MOVEAMOUNT
|
%token YES NO BORDERWIDTH MOVEAMOUNT HTILE VTILE
|
||||||
%token COLOR SNAPDIST
|
%token COLOR SNAPDIST
|
||||||
%token ACTIVEBORDER INACTIVEBORDER URGENCYBORDER
|
%token ACTIVEBORDER INACTIVEBORDER URGENCYBORDER
|
||||||
%token GROUPBORDER UNGROUPBORDER
|
%token GROUPBORDER UNGROUPBORDER
|
||||||
@ -122,6 +122,20 @@ main : FONTNAME STRING {
|
|||||||
}
|
}
|
||||||
conf->bwidth = $2;
|
conf->bwidth = $2;
|
||||||
}
|
}
|
||||||
|
| HTILE NUMBER {
|
||||||
|
if ($2 < 0 || $2 > 99) {
|
||||||
|
yyerror("invalid htile percent");
|
||||||
|
YYERROR;
|
||||||
|
}
|
||||||
|
conf->htile = $2;
|
||||||
|
}
|
||||||
|
| VTILE NUMBER {
|
||||||
|
if ($2 < 0 || $2 > 99) {
|
||||||
|
yyerror("invalid vtile percent");
|
||||||
|
YYERROR;
|
||||||
|
}
|
||||||
|
conf->vtile = $2;
|
||||||
|
}
|
||||||
| MOVEAMOUNT NUMBER {
|
| MOVEAMOUNT NUMBER {
|
||||||
if ($2 < 0 || $2 > INT_MAX) {
|
if ($2 < 0 || $2 > INT_MAX) {
|
||||||
yyerror("invalid movemount");
|
yyerror("invalid movemount");
|
||||||
@ -316,6 +330,7 @@ lookup(char *s)
|
|||||||
{ "fontname", FONTNAME},
|
{ "fontname", FONTNAME},
|
||||||
{ "gap", GAP},
|
{ "gap", GAP},
|
||||||
{ "groupborder", GROUPBORDER},
|
{ "groupborder", GROUPBORDER},
|
||||||
|
{ "htile", HTILE},
|
||||||
{ "ignore", IGNORE},
|
{ "ignore", IGNORE},
|
||||||
{ "inactiveborder", INACTIVEBORDER},
|
{ "inactiveborder", INACTIVEBORDER},
|
||||||
{ "menubg", MENUBG},
|
{ "menubg", MENUBG},
|
||||||
@ -329,6 +344,7 @@ lookup(char *s)
|
|||||||
{ "unbind-mouse", UNBINDMOUSE},
|
{ "unbind-mouse", UNBINDMOUSE},
|
||||||
{ "ungroupborder", UNGROUPBORDER},
|
{ "ungroupborder", UNGROUPBORDER},
|
||||||
{ "urgencyborder", URGENCYBORDER},
|
{ "urgencyborder", URGENCYBORDER},
|
||||||
|
{ "vtile", VTILE},
|
||||||
{ "wm", WM},
|
{ "wm", WM},
|
||||||
{ "yes", YES}
|
{ "yes", YES}
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user