forked from e16/e16
1
0
Fork 0

Enable setting/saving ignorearrange attribute in window menu.

Patch by Daniel Manjarres.

SVN revision: 59351
This commit is contained in:
Kim Woelders 2011-05-12 18:57:00 +00:00
parent a15f23b71d
commit 8149f1017a
5 changed files with 14 additions and 1 deletions

View File

@ -5,5 +5,6 @@
"Toggle Never Focus" NULL "wop * no_wm_focus"
"Toggle Click to Focus" NULL "wop * focusclick"
"Toggle Never Use Area" NULL "wop * never_use_area"
"Toggle Ignore Arrange" NULL "wop * ignore_arrange"
"Toggle Button Grabs" NULL "wop * no_button_grabs"
"Toggle Autoshade" NULL "wop * autoshade"

View File

@ -80,6 +80,7 @@ static const WinOp winops[] = {
{"snap", 0, 1, 0, EWIN_OP_SNAP},
{"ignore_arrange", 0, 1, 1, EWIN_OP_IGNORE_ARRANGE},
{"never_use_area", 0, 1, 1, EWIN_OP_NEVER_USE_AREA},
{"no_button_grabs", 0, 1, 1, EWIN_OP_NO_BUTTON_GRABS},
{"skiplists", 4, 1, 1, EWIN_OP_SKIP_LISTS},

View File

@ -60,6 +60,7 @@ typedef enum {
EWIN_OP_SNAP,
EWIN_OP_FOCUS_CLICK,
EWIN_OP_IGNORE_ARRANGE,
EWIN_OP_NEVER_USE_AREA,
EWIN_OP_NO_BUTTON_GRABS,
EWIN_OP_SKIP_LISTS,

View File

@ -1878,7 +1878,8 @@ typedef union {
unsigned ctf:1;
unsigned nbg:1;
unsigned autoshade:1;
unsigned: 4;
unsigned ia:1;
unsigned: 3;
unsigned: 8;
unsigned: 8;
unsigned no_fade:1;
@ -1899,6 +1900,7 @@ EwinFlagsEncode(const EWin * ewin, unsigned int *flags)
fm.f.inh_wm = ewin->inh_wm.all;
fm2.all = 0;
fm2.f.ia = ewin->props.ignorearrange;
fm2.f.nua = ewin->props.never_use_area;
fm2.f.ctf = ewin->props.focusclick;
fm2.f.nbg = ewin->props.no_button_grabs;
@ -1924,6 +1926,7 @@ EwinFlagsDecode(EWin * ewin, const unsigned int *flags)
ewin->inh_wm.all = fm.f.inh_wm;
fm2.all = flags[1];
ewin->props.ignorearrange = fm2.f.ia;
ewin->props.never_use_area = fm2.f.nua;
ewin->props.focusclick = fm2.f.ctf;
ewin->props.no_button_grabs = fm2.f.nbg;

View File

@ -743,6 +743,13 @@ IpcWinop(const WinOp * wop, EWin * ewin, const char *prm)
EwinOpSkipLists(ewin, OPSRC_USER, on);
break;
case EWIN_OP_IGNORE_ARRANGE:
on = ewin->props.ignorearrange;
SetEwinBoolean(wop->name, &on, param1, 1);
ewin->props.ignorearrange = on;
goto ewin_update_snap_flags;
break;
case EWIN_OP_NEVER_USE_AREA:
on = ewin->props.never_use_area;
SetEwinBoolean(wop->name, &on, param1, 1);