mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
labnag: return special value on timeout
...to avoid taking either of the <then> or <else> branches on timeout.
This commit is contained in:
parent
073fd02300
commit
09b4e9605e
4 changed files with 16 additions and 3 deletions
|
|
@ -29,13 +29,12 @@
|
|||
#include <wayland-client.h>
|
||||
#include <wayland-cursor.h>
|
||||
#include <wlr/util/log.h>
|
||||
#include "action-prompt-codes.h"
|
||||
#include "pool-buffer.h"
|
||||
#include "cursor-shape-v1-client-protocol.h"
|
||||
#include "wlr-layer-shell-unstable-v1-client-protocol.h"
|
||||
|
||||
#define LABNAG_MAX_HEIGHT 500
|
||||
#define LAB_EXIT_FAILURE 255
|
||||
#define LAB_EXIT_SUCCESS 0
|
||||
|
||||
struct conf {
|
||||
PangoFontDescription *font_description;
|
||||
|
|
@ -1239,6 +1238,7 @@ nag_run(struct nag *nag)
|
|||
wl_display_cancel_read(nag->display);
|
||||
}
|
||||
if (nag->pollfds[FD_TIMER].revents & POLLIN) {
|
||||
exit_status = LAB_EXIT_TIMEOUT;
|
||||
break;
|
||||
}
|
||||
if (nag->pollfds[FD_SIGNAL].revents & POLLIN) {
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ executable(
|
|||
server_protos,
|
||||
epoll_dep,
|
||||
],
|
||||
include_directories: [labwc_inc],
|
||||
install: true
|
||||
)
|
||||
|
||||
|
|
|
|||
9
include/action-prompt-codes.h
Normal file
9
include/action-prompt-codes.h
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
#ifndef LABWC_ACTION_PROMPT_CODES_H
|
||||
#define LABWC_ACTION_PROMPT_CODES_H
|
||||
|
||||
#define LAB_EXIT_FAILURE 255
|
||||
#define LAB_EXIT_TIMEOUT 254
|
||||
#define LAB_EXIT_SUCCESS 0
|
||||
|
||||
#endif /* LABWC_ACTION_PROMPT_CODES_H */
|
||||
|
|
@ -8,6 +8,7 @@
|
|||
#include <unistd.h>
|
||||
#include <wlr/types/wlr_scene.h>
|
||||
#include <wlr/util/log.h>
|
||||
#include "action-prompt-codes.h"
|
||||
#include "common/macros.h"
|
||||
#include "common/list.h"
|
||||
#include "common/mem.h"
|
||||
|
|
@ -860,9 +861,11 @@ action_check_prompt_result(pid_t pid, int exit_code)
|
|||
|
||||
wlr_log(WLR_INFO, "Found pending prompt for exit code %d", exit_code);
|
||||
struct wl_list *actions = NULL;
|
||||
if (exit_code == 0) {
|
||||
if (exit_code == LAB_EXIT_SUCCESS) {
|
||||
wlr_log(WLR_INFO, "Selected the 'then' branch");
|
||||
actions = action_get_actionlist(prompt->action, "then");
|
||||
} else if (exit_code == LAB_EXIT_TIMEOUT) {
|
||||
/* no-op */
|
||||
} else {
|
||||
wlr_log(WLR_INFO, "Selected the 'else' branch");
|
||||
actions = action_get_actionlist(prompt->action, "else");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue