handle command failure
This commit is contained in:
parent
a8275b4713
commit
df1341a220
2 changed files with 30 additions and 8 deletions
|
@ -26,9 +26,9 @@ static const char *termcmd[] = { "foot", NULL };
|
||||||
/* click can be ClkTagBar, ClkLayout, ClkMode, ClkTitle, ClkStatus */
|
/* click can be ClkTagBar, ClkLayout, ClkMode, ClkTitle, ClkStatus */
|
||||||
static const Button buttons[] = {
|
static const Button buttons[] = {
|
||||||
/* click button function argument */
|
/* click button function argument */
|
||||||
{ ClkTagBar, BTN_LEFT, cmd, {.s = "set-focused-tags"} },
|
{ ClkTagBar, BTN_LEFT, command, {.s = "set-focused-tags"} },
|
||||||
{ ClkTagBar, BTN_RIGHT, cmd, {.s = "toggle-focused-tags"} },
|
{ ClkTagBar, BTN_RIGHT, command, {.s = "toggle-focused-tags"} },
|
||||||
{ ClkTagBar, BTN_MIDDLE, cmd, {.s = "set-view-tags"} },
|
{ ClkTagBar, BTN_MIDDLE, command, {.s = "set-view-tags"} },
|
||||||
{ ClkTitle, BTN_LEFT, cmd, {.s = "zoom"} },
|
{ ClkTitle, BTN_LEFT, command, {.s = "zoom"} },
|
||||||
{ ClkStatus, BTN_MIDDLE, spawn, {.v = termcmd } },
|
{ ClkStatus, BTN_MIDDLE, spawn, {.v = termcmd } },
|
||||||
};
|
};
|
||||||
|
|
30
dam.c
30
dam.c
|
@ -58,7 +58,7 @@ typedef struct {
|
||||||
const Arg arg;
|
const Arg arg;
|
||||||
} Button;
|
} Button;
|
||||||
|
|
||||||
static void cmd(const Arg *arg);
|
static void command(const Arg *arg);
|
||||||
static void spawn(const Arg *arg);
|
static void spawn(const Arg *arg);
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
@ -130,7 +130,29 @@ parse_color(uint32_t *dest, const char *src)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
cmd(const Arg *arg)
|
command_handle_message(void *data,
|
||||||
|
struct zriver_command_callback_v1 *zriver_command_callback_v1,
|
||||||
|
const char *message)
|
||||||
|
{
|
||||||
|
if (message && message[0] != '\0')
|
||||||
|
fprintf(stderr, "command message: %s\n", message);
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct zriver_command_callback_v1_listener callback_listener = {
|
||||||
|
.success = command_handle_message,
|
||||||
|
.failure = command_handle_message,
|
||||||
|
};
|
||||||
|
|
||||||
|
static void
|
||||||
|
command_run(void)
|
||||||
|
{
|
||||||
|
struct zriver_command_callback_v1 *callback;
|
||||||
|
callback = zriver_control_v1_run_command(control, seat);
|
||||||
|
zriver_command_callback_v1_add_listener(callback, &callback_listener, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
command(const Arg *arg)
|
||||||
{
|
{
|
||||||
char argbuf[4];
|
char argbuf[4];
|
||||||
zriver_control_v1_add_argument(control, arg->s);
|
zriver_control_v1_add_argument(control, arg->s);
|
||||||
|
@ -138,7 +160,7 @@ cmd(const Arg *arg)
|
||||||
snprintf(argbuf, sizeof(argbuf), "%d", arg->ui);
|
snprintf(argbuf, sizeof(argbuf), "%d", arg->ui);
|
||||||
zriver_control_v1_add_argument(control, argbuf);
|
zriver_control_v1_add_argument(control, argbuf);
|
||||||
}
|
}
|
||||||
zriver_control_v1_run_command(control, seat);
|
command_run();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -148,7 +170,7 @@ spawn(const Arg *arg)
|
||||||
zriver_control_v1_add_argument(control, "spawn");
|
zriver_control_v1_add_argument(control, "spawn");
|
||||||
for (i = (char *const *)arg->v; *i != NULL; i++)
|
for (i = (char *const *)arg->v; *i != NULL; i++)
|
||||||
zriver_control_v1_add_argument(control, *i);
|
zriver_control_v1_add_argument(control, *i);
|
||||||
zriver_control_v1_run_command(control, seat);
|
command_run();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Add table
Reference in a new issue