Skip to content

Commit

Permalink
Remove {open,close}pixel(), var mouseinfo, type mouseinfo_t
Browse files Browse the repository at this point in the history
Input shape is now set to 0x0, which takes care of the functionality
that {open,close}pixel() previously provided. As such, completely remove
{open,close}pixel() since they're no longer needed. In addition, remove
the mouseinfo var and the mouseinfo_t type since those were used only by
{open,close}pixel().
  • Loading branch information
jabashque committed Feb 23, 2020
1 parent 5bf1954 commit a026328
Showing 1 changed file with 1 addition and 63 deletions.
64 changes: 1 addition & 63 deletions keynav.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,6 @@ typedef struct wininfo {
int curviewport;
} wininfo_t;

typedef struct mouseinfo {
int x;
int y;
} mouseinfo_t;

typedef struct viewport {
int x;
int y;
Expand All @@ -96,7 +91,6 @@ typedef struct viewport {
} viewport_t;

static wininfo_t wininfo;
static mouseinfo_t mouseinfo;
static viewport_t *viewports;
static int nviewports = 0;
static int xinerama = 0;
Expand Down Expand Up @@ -191,8 +185,6 @@ void sighup(int sig);
void restart();
void recordings_save(const char *filename);
void parse_recordings(const char *filename);
void openpixel(Display *dpy, Window zone, mouseinfo_t *mouseinfo);
void closepixel(Display *dpy, Window zone, mouseinfo_t *mouseinfo);

typedef struct dispatch {
char *command;
Expand Down Expand Up @@ -1178,21 +1170,7 @@ void cmd_warp(char *args) {
x = wininfo.x + wininfo.w / 2;
y = wininfo.y + wininfo.h / 2;

if (mouseinfo.x != -1 && mouseinfo.y != -1) {
closepixel(dpy, zone, &mouseinfo);
}

/* Open pixels hould be relative to the window coordinates,
* not screen coordinates. */
mouseinfo.x = x - wininfo.x;
mouseinfo.y = y - wininfo.y;
openpixel(dpy, zone, &mouseinfo);

xdo_move_mouse(xdo, x, y, viewports[wininfo.curviewport].screen_num);
xdo_wait_for_mouse_move_to(xdo, x, y);

/* TODO(sissel): do we need to open again? */
openpixel(dpy, zone, &mouseinfo);
}

void cmd_click(char *args) {
Expand Down Expand Up @@ -1981,36 +1959,6 @@ void parse_recordings(const char *filename) {
fclose(fp);
}

void openpixel(Display *dpy, Window zone, mouseinfo_t *mouseinfo) {
XRectangle rect;
if (mouseinfo->x == -1 && mouseinfo->y == -1) {
return;
}

rect.x = mouseinfo->x;
rect.y = mouseinfo->y;
rect.width = 1;
rect.height = 1;

XShapeCombineRectangles(dpy, zone, ShapeBounding, 0, 0, &rect, 1,
ShapeSubtract, 0);
} /* void openpixel */

void closepixel(Display *dpy, Window zone, mouseinfo_t *mouseinfo) {
XRectangle rect;
if (mouseinfo->x == -1 && mouseinfo->y == -1) {
return;
}

rect.x = mouseinfo->x;
rect.y = mouseinfo->y;
rect.width = 1;
rect.height = 1;

XShapeCombineRectangles(dpy, zone, ShapeBounding, 0, 0, &rect, 1,
ShapeUnion, 0);
} /* void closepixel */

int main(int argc, char **argv) {
char *pcDisplay;
int ret;
Expand Down Expand Up @@ -2099,17 +2047,6 @@ int main(int argc, char **argv) {
}
break;

case MotionNotify:
if (zone) {
if (mouseinfo.x != -1 && mouseinfo.y != -1) {
closepixel(dpy, zone, &mouseinfo);
}
mouseinfo.x = e.xmotion.x;
mouseinfo.y = e.xmotion.y;
openpixel(dpy, zone, &mouseinfo);
}
break;

// Ignorable events.
case GraphicsExpose:
case NoExpose:
Expand All @@ -2118,6 +2055,7 @@ int main(int argc, char **argv) {
case DestroyNotify: // window was destroyed
case UnmapNotify: // window was unmapped (hidden)
case MappingNotify: // when keyboard mapping changes
case MotionNotify: // when mouse movement is detected
break;
default:
if (e.type == xrandr_event_base + RRScreenChangeNotify) {
Expand Down

0 comments on commit a026328

Please sign in to comment.