parent
57815445d1
commit
d729f2c717
6
src/E.h
6
src/E.h
|
@ -1205,6 +1205,11 @@ typedef struct
|
|||
int screens;
|
||||
} display;
|
||||
struct
|
||||
{
|
||||
char pointer_grab_active;
|
||||
Window pointer_grab_window;
|
||||
} grabs;
|
||||
struct
|
||||
{
|
||||
char master; /* We are the master E */
|
||||
char single; /* No slaves */
|
||||
|
@ -1239,7 +1244,6 @@ typedef struct
|
|||
char have_place_grab;
|
||||
char action_inhibit;
|
||||
char justclicked;
|
||||
char click_focus_grabbed;
|
||||
EWin *focuswin;
|
||||
EWin *mouse_over_ewin;
|
||||
int px, py, x, y;
|
||||
|
|
26
src/grabs.c
26
src/grabs.c
|
@ -22,8 +22,6 @@
|
|||
*/
|
||||
#include "E.h"
|
||||
|
||||
static Window grab_window;
|
||||
|
||||
void
|
||||
GrabActionKey(Action * a)
|
||||
{
|
||||
|
@ -80,12 +78,12 @@ void
|
|||
GrabTheButtons(Window win)
|
||||
{
|
||||
EDBUG(4, "GrabTheButtons");
|
||||
if (Mode.click_focus_grabbed)
|
||||
if (Mode.grabs.pointer_grab_active)
|
||||
EDBUG_RETURN_;
|
||||
XGrabPointer(disp, win, True, ButtonPressMask | ButtonReleaseMask,
|
||||
GrabModeAsync, GrabModeAsync, None, None, CurrentTime);
|
||||
grab_window = win;
|
||||
Mode.click_focus_grabbed = 1;
|
||||
Mode.grabs.pointer_grab_window = win;
|
||||
Mode.grabs.pointer_grab_active = 1;
|
||||
EDBUG_RETURN_;
|
||||
}
|
||||
|
||||
|
@ -95,7 +93,7 @@ GrabThePointer(Window win, int csr)
|
|||
int ret;
|
||||
|
||||
EDBUG(4, "GrabThePointer");
|
||||
if (Mode.click_focus_grabbed)
|
||||
if (Mode.grabs.pointer_grab_active)
|
||||
EDBUG_RETURN(1);
|
||||
ret =
|
||||
XGrabPointer(disp, win, True,
|
||||
|
@ -103,8 +101,8 @@ GrabThePointer(Window win, int csr)
|
|||
ButtonMotionMask | EnterWindowMask | LeaveWindowMask,
|
||||
GrabModeAsync, GrabModeAsync, None, ECsrGet(csr),
|
||||
CurrentTime);
|
||||
grab_window = win;
|
||||
Mode.click_focus_grabbed = 1;
|
||||
Mode.grabs.pointer_grab_window = win;
|
||||
Mode.grabs.pointer_grab_active = 1;
|
||||
EDBUG_RETURN(ret);
|
||||
}
|
||||
|
||||
|
@ -114,7 +112,7 @@ GrabConfineThePointer(Window win, int csr)
|
|||
int ret;
|
||||
|
||||
EDBUG(4, "GrabThePointer");
|
||||
if (Mode.click_focus_grabbed)
|
||||
if (Mode.grabs.pointer_grab_active)
|
||||
EDBUG_RETURN(1);
|
||||
ret =
|
||||
XGrabPointer(disp, win, True,
|
||||
|
@ -122,8 +120,8 @@ GrabConfineThePointer(Window win, int csr)
|
|||
ButtonMotionMask | EnterWindowMask | LeaveWindowMask,
|
||||
GrabModeAsync, GrabModeAsync, win, ECsrGet(csr),
|
||||
CurrentTime);
|
||||
grab_window = win;
|
||||
Mode.click_focus_grabbed = 1;
|
||||
Mode.grabs.pointer_grab_window = win;
|
||||
Mode.grabs.pointer_grab_active = 1;
|
||||
EDBUG_RETURN(ret);
|
||||
}
|
||||
|
||||
|
@ -131,10 +129,10 @@ void
|
|||
UnGrabTheButtons()
|
||||
{
|
||||
EDBUG(4, "UnGrabTheButtons");
|
||||
if (!Mode.click_focus_grabbed)
|
||||
if (!Mode.grabs.pointer_grab_active)
|
||||
EDBUG_RETURN_;
|
||||
XUngrabPointer(disp, CurrentTime);
|
||||
Mode.click_focus_grabbed = 0;
|
||||
grab_window = 0;
|
||||
Mode.grabs.pointer_grab_active = 0;
|
||||
Mode.grabs.pointer_grab_window = None;
|
||||
EDBUG_RETURN_;
|
||||
}
|
||||
|
|
27
src/ipc.c
27
src/ipc.c
|
@ -3522,7 +3522,7 @@ IPC_FocusMode(const char *params, Client * c)
|
|||
if (!strcmp(params, "click"))
|
||||
{
|
||||
Conf.focus.mode = MODE_FOCUS_CLICK;
|
||||
Mode.click_focus_grabbed = 1;
|
||||
Mode.grabs.pointer_grab_active = 1;
|
||||
}
|
||||
else if (!strcmp(params, "pointer"))
|
||||
{
|
||||
|
@ -3535,14 +3535,14 @@ IPC_FocusMode(const char *params, Client * c)
|
|||
else if (!strcmp(params, "clicknograb"))
|
||||
{
|
||||
Conf.focus.mode = MODE_FOCUS_CLICK;
|
||||
Mode.click_focus_grabbed = 0;
|
||||
Mode.grabs.pointer_grab_active = 0;
|
||||
}
|
||||
else if (!strcmp(params, "?"))
|
||||
{
|
||||
Esnprintf(buf, sizeof(buf), "Focus Mode: ");
|
||||
if (Conf.focus.mode == MODE_FOCUS_CLICK)
|
||||
{
|
||||
if (Mode.click_focus_grabbed)
|
||||
if (Mode.grabs.pointer_grab_active)
|
||||
{
|
||||
strcat(buf, "click");
|
||||
}
|
||||
|
@ -5839,23 +5839,18 @@ IPC_EwinInfo2(const char *params, Client * c __UNUSED__)
|
|||
}
|
||||
|
||||
static void
|
||||
IPC_MiscInfo(const char *params __UNUSED__, Client * c)
|
||||
IPC_MiscInfo(const char *params __UNUSED__, Client * c __UNUSED__)
|
||||
{
|
||||
char buf[FILEPATH_LEN_MAX];
|
||||
char buf3[FILEPATH_LEN_MAX];
|
||||
IpcPrintf("stuff:\n");
|
||||
|
||||
Esnprintf(buf, sizeof(buf), "stuff:\n");
|
||||
if (Mode.focuswin)
|
||||
{
|
||||
Esnprintf(buf3, sizeof(buf3), "mode.focuswin - %8x\n",
|
||||
(unsigned)Mode.focuswin->client.win);
|
||||
strcat(buf, buf3);
|
||||
}
|
||||
IpcPrintf(" mode.focuswin - %#lx\n", Mode.focuswin->client.win);
|
||||
|
||||
if (Mode.cur_menu_mode)
|
||||
{
|
||||
strcat(buf, "cur_menu_mode is set\n");
|
||||
}
|
||||
CommsSend(c, buf);
|
||||
IpcPrintf(" cur_menu_mode is set\n");
|
||||
|
||||
IpcPrintf("Pointer grab on=%d win=%#lx\n",
|
||||
Mode.grabs.pointer_grab_active, Mode.grabs.pointer_grab_window);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in New Issue