mirror of
https://github.com/vale981/spectrwm
synced 2025-03-04 17:31:40 -05:00
Implement stack_balance and assign it to M-S-<h,l>
This commit is contained in:
parent
e0e24c4fa6
commit
5af4c4b26b
2 changed files with 15 additions and 0 deletions
|
@ -350,6 +350,7 @@ See
|
|||
.Ic master_del ,
|
||||
.Ic stack_inc ,
|
||||
.Ic stack_dec ,
|
||||
.Ic stack_balance ,
|
||||
and
|
||||
.Ic always_raise
|
||||
for more information.
|
||||
|
@ -616,6 +617,8 @@ cycle_layout
|
|||
flip_layout
|
||||
.It Cm M-S- Ns Aq Cm Space
|
||||
stack_reset
|
||||
.It Cm M-S-h
|
||||
stack_balance
|
||||
.It Cm M-h
|
||||
master_shrink
|
||||
.It Cm M-l
|
||||
|
@ -753,6 +756,8 @@ Cycle layout.
|
|||
Swap the master and stacking areas.
|
||||
.It Cm stack_reset
|
||||
Reset layout.
|
||||
.It Cm stack_balance
|
||||
Balance master/stacking area.
|
||||
.It Cm master_shrink
|
||||
Shrink master area.
|
||||
.It Cm master_grow
|
||||
|
|
10
spectrwm.c
10
spectrwm.c
|
@ -627,6 +627,7 @@ union arg {
|
|||
#define SWM_ARG_ID_FLIPLAYOUT (24)
|
||||
#define SWM_ARG_ID_STACKRESET (30)
|
||||
#define SWM_ARG_ID_STACKINIT (31)
|
||||
#define SWM_ARG_ID_STACKBALANCE (32)
|
||||
#define SWM_ARG_ID_CYCLEWS_UP (40)
|
||||
#define SWM_ARG_ID_CYCLEWS_DOWN (41)
|
||||
#define SWM_ARG_ID_CYCLERG_UP (42)
|
||||
|
@ -893,6 +894,7 @@ enum keyfuncid {
|
|||
KF_STACK_INC,
|
||||
KF_STACK_DEC,
|
||||
KF_STACK_RESET,
|
||||
KF_STACK_BALANCE,
|
||||
KF_SWAP_MAIN,
|
||||
KF_SWAP_NEXT,
|
||||
KF_SWAP_PREV,
|
||||
|
@ -4944,6 +4946,9 @@ vertical_config(struct workspace *ws, int id)
|
|||
ws->l_state.vertical_mwin = 1;
|
||||
ws->l_state.vertical_stacks = 1;
|
||||
break;
|
||||
case SWM_ARG_ID_STACKBALANCE:
|
||||
ws->l_state.vertical_msize = SWM_V_SLICE / (ws->l_state.vertical_stacks + 1);
|
||||
break;
|
||||
case SWM_ARG_ID_MASTERSHRINK:
|
||||
if (ws->l_state.vertical_msize > 1)
|
||||
ws->l_state.vertical_msize--;
|
||||
|
@ -4994,6 +4999,9 @@ horizontal_config(struct workspace *ws, int id)
|
|||
ws->l_state.horizontal_msize = SWM_H_SLICE / 2;
|
||||
ws->l_state.horizontal_stacks = 1;
|
||||
break;
|
||||
case SWM_ARG_ID_STACKBALANCE:
|
||||
ws->l_state.horizontal_msize = SWM_H_SLICE / (ws->l_state.horizontal_stacks + 1);
|
||||
break;
|
||||
case SWM_ARG_ID_MASTERSHRINK:
|
||||
if (ws->l_state.horizontal_msize > 1)
|
||||
ws->l_state.horizontal_msize--;
|
||||
|
@ -6708,6 +6716,7 @@ struct keyfunc {
|
|||
{ "stack_inc", stack_config, {.id = SWM_ARG_ID_STACKINC} },
|
||||
{ "stack_dec", stack_config, {.id = SWM_ARG_ID_STACKDEC} },
|
||||
{ "stack_reset", stack_config, {.id = SWM_ARG_ID_STACKRESET} },
|
||||
{ "stack_balance", stack_config, {.id = SWM_ARG_ID_STACKBALANCE} },
|
||||
{ "swap_main", swapwin, {.id = SWM_ARG_ID_SWAPMAIN} },
|
||||
{ "swap_next", swapwin, {.id = SWM_ARG_ID_SWAPNEXT} },
|
||||
{ "swap_prev", swapwin, {.id = SWM_ARG_ID_SWAPPREV} },
|
||||
|
@ -7510,6 +7519,7 @@ setup_keys(void)
|
|||
setkeybinding(MODKEY_SHIFT, XK_comma, KF_STACK_INC, NULL);
|
||||
setkeybinding(MODKEY_SHIFT, XK_period, KF_STACK_DEC, NULL);
|
||||
setkeybinding(MODKEY_SHIFT, XK_space, KF_STACK_RESET, NULL);
|
||||
setkeybinding(MODKEY_SHIFT, XK_h, KF_STACK_BALANCE, NULL);
|
||||
setkeybinding(MODKEY, XK_Return, KF_SWAP_MAIN, NULL);
|
||||
setkeybinding(MODKEY_SHIFT, XK_j, KF_SWAP_NEXT, NULL);
|
||||
setkeybinding(MODKEY_SHIFT, XK_k, KF_SWAP_PREV, NULL);
|
||||
|
|
Loading…
Add table
Reference in a new issue