static const char *wakeupcmd[] = { "/usr/local/bin/wake-up", "toggle", NULL };
static const char *calendarcmd[] = { "/usr/local/bin/dwm-calendar", NULL };
static const char *windowcontainercmd[] = { "/usr/local/bin/dwm-window-container-toggle", NULL };
+static const char *gotowindowcmd[] = { "/usr/local/bin/dwm-goto-window", NULL };
static const Key keys[] = {
/* modifier key function argument */
{ MODKEY|ShiftMask, XK_m, spawn, {.v = cpucmd } },
// { MODKEY, XK_e, spawn, {.v = calc_mccw_cmd } },
// { MODKEY|ControlMask, XK_e, spawn, {.v = calc_mcw_cmd } },
- { MODKEY, XK_o, focuscalculator, {0} },
+ { MODKEY, XK_c, focuscalculator, {0} },
+ { MODKEY, XK_o, spawn, {.v = gotowindowcmd} },
{ MODKEY|ShiftMask, XK_f, spawn, {.v = facecamcmd } },
{ MODKEY|ShiftMask, XK_b, spawn, {.v = brightnesscmd} },
{ MODKEY|ShiftMask, XK_p, spawn, {.v = calendarcmd} },
static const char *wakeupcmd[] = { "/usr/local/bin/wake-up", "toggle", NULL };
static const char *calendarcmd[] = { "/usr/local/bin/dwm-calendar", NULL };
static const char *windowcontainercmd[] = { "/usr/local/bin/dwm-window-container-toggle", NULL };
+static const char *gotowindowcmd[] = { "/usr/local/bin/dwm-goto-window", NULL };
static const Key keys[] = {
/* modifier key function argument */
{ MODKEY|ShiftMask, XK_m, spawn, {.v = cpucmd } },
// { MODKEY, XK_e, spawn, {.v = calc_mccw_cmd } },
// { MODKEY|ControlMask, XK_e, spawn, {.v = calc_mcw_cmd } },
- { MODKEY, XK_o, focuscalculator, {0} },
+ { MODKEY, XK_c, focuscalculator, {0} },
+ { MODKEY, XK_o, spawn, {.v = gotowindowcmd} },
{ MODKEY|ShiftMask, XK_f, spawn, {.v = facecamcmd } },
{ MODKEY|ShiftMask, XK_b, spawn, {.v = brightnesscmd} },
{ MODKEY|ShiftMask, XK_p, spawn, {.v = calendarcmd} },
setfullscreen(c, (cme->data.l[0] == 1 /* _NET_WM_STATE_ADD */
|| (cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */ && !c->isfullscreen)));
} else if (cme->message_type == netatom[NetActiveWindow]) {
- if (c != selmon->sel && !c->isurgent)
+// /* cme->data.l[0] == 2 means it came from an external pager/script like wmctrl */
+ if (cme->data.l[0] == 2) {
+ /* --- NATIVE TAG, MONITOR, AND MOUSE JUMP ON ACTIVATION --- */
+ selmon = c->mon;
+ if (!(c->tags & selmon->tagset[selmon->seltags])) {
+ view(&(Arg){ .ui = c->tags });
+ }
+ focus(c);
+ restack(selmon);
+
+ /* Optional: Warp cursor to the center of the target monitor */
+ XWarpPointer(dpy, None, root, 0, 0, 0, 0,
+ selmon->wx + selmon->ww / 2,
+ selmon->wy + selmon->wh / 2);
+ /* ------------------------------------------------------- */
+
+ } else if (c != selmon->sel && !c->isurgent)
seturgent(c, 1);
}
}
+// void
+// clientmessage(XEvent *e)
+// {
+// XClientMessageEvent *cme = &e->xclient;
+// Client *c = wintoclient(cme->window);
+
+// if (!c)
+// return;
+// if (cme->message_type == netatom[NetWMState]) {
+// if (cme->data.l[1] == netatom[NetWMFullscreen]
+// || cme->data.l[2] == netatom[NetWMFullscreen])
+// setfullscreen(c, (cme->data.l[0] == 1 /* _NET_WM_STATE_ADD */
+// || (cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */ && !c->isfullscreen)));
+// } else if (cme->message_type == netatom[NetActiveWindow]) {
+// /* cme->data.l[0] == 2 means it came from an external pager/script like wmctrl */
+// if (cme->data.l[0] == 2 || c->switchto) {
+// selmon = c->mon;
+// if (!(c->tags & selmon->tagset[selmon->seltags])) {
+// view(&(Arg){ .ui = c->tags });
+// }
+// focus(c);
+// restack(selmon);
+
+// XWarpPointer(dpy, None, root, 0, 0, 0, 0,
+// selmon->wx + selmon->ww / 2,
+// selmon->wy + selmon->wh / 2);
+// c->switchto = 0;
+// } else {
+// /* App launch when switchto is false: focus quietly without moving tags */
+// focus(c);
+// restack(selmon);
+// }
+// }
+// }
+
void
configure(Client *c)
{