parent
1388595dd7
commit
1c27a1b475
|
@ -76,6 +76,7 @@ static const WinOp winops[] = {
|
|||
{"no_button_grabs", 0, 1, 1, EWIN_OP_NO_BUTTON_GRABS},
|
||||
{"skiplists", 4, 1, 1, EWIN_OP_SKIP_LISTS},
|
||||
|
||||
{"no_app_focus", 0, 1, 1, EWIN_OP_INH_APP_FOCUS},
|
||||
{"no_app_move", 0, 1, 1, EWIN_OP_INH_APP_MOVE},
|
||||
{"no_app_size", 0, 1, 1, EWIN_OP_INH_APP_SIZE},
|
||||
{"no_user_close", 0, 1, 1, EWIN_OP_INH_USER_CLOSE},
|
||||
|
@ -1424,6 +1425,9 @@ EwinMoveToArea(EWin * ewin, int ax, int ay)
|
|||
void
|
||||
EwinOpActivate(EWin * ewin, int source)
|
||||
{
|
||||
if (source == OPSRC_APP && EwinInhGetApp(ewin, focus))
|
||||
return;
|
||||
|
||||
if (!ewin->state.animated && !ewin->state.iconified)
|
||||
DeskGotoByEwin(ewin);
|
||||
EwinOpRaise(ewin, source);
|
||||
|
|
|
@ -63,6 +63,7 @@ typedef enum
|
|||
EWIN_OP_NO_BUTTON_GRABS,
|
||||
EWIN_OP_SKIP_LISTS,
|
||||
|
||||
EWIN_OP_INH_APP_FOCUS,
|
||||
EWIN_OP_INH_APP_MOVE,
|
||||
EWIN_OP_INH_APP_SIZE,
|
||||
EWIN_OP_INH_USER_CLOSE,
|
||||
|
|
|
@ -712,6 +712,12 @@ IPC_WinOps(const char *params, Client * c __UNUSED__)
|
|||
}
|
||||
break;
|
||||
|
||||
case EWIN_OP_INH_APP_FOCUS:
|
||||
on = EwinInhGetApp(ewin, focus);
|
||||
SetEwinBoolean(wop->name, &on, param1, 1);
|
||||
EwinInhSetApp(ewin, focus, on);
|
||||
break;
|
||||
|
||||
case EWIN_OP_INH_APP_MOVE:
|
||||
on = EwinInhGetApp(ewin, move);
|
||||
SetEwinBoolean(wop->name, &on, param1, 1);
|
||||
|
@ -1409,7 +1415,7 @@ static const IpcItem IPCArray[] = {
|
|||
" <what>: all, none, border, command, desktop, dialog, group, icon,\n"
|
||||
" layer, location, opacity, shade, shadow, size, sticky\n"
|
||||
" win_op <windowid> <focusclick/never_use_area/no_button_grabs/skiplists>\n"
|
||||
" win_op <windowid> <no_app_move/size>\n"
|
||||
" win_op <windowid> <no_app_focus/move/size>\n"
|
||||
" win_op <windowid> <no_user_close/move/size>\n"
|
||||
" win_op <windowid> <no_wm_focus>\n"
|
||||
" win_op <windowid> noshadow\n"
|
||||
|
|
|
@ -750,6 +750,10 @@ WindowMatchEwinOpsAction(EWin * ewin, int op, const char *args)
|
|||
WINOP_SET_BOOL(ewin->props.no_button_grabs, args);
|
||||
break;
|
||||
|
||||
case EWIN_OP_INH_APP_FOCUS:
|
||||
WINOP_SET_BOOL(EwinInhGetApp(ewin, focus), args);
|
||||
break;
|
||||
|
||||
case EWIN_OP_INH_APP_MOVE:
|
||||
WINOP_SET_BOOL(EwinInhGetApp(ewin, move), args);
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue