On execwm, we should properly release resources before exec'ing into a
new window manager; so allow CWM_EXEC_WM to assign new wm to wm_argv and pass through cwm_status (now EXECWM) so that x_teardown() gets called before exec'ing the new window manager. Removes the need for a separate x_restart() now, using new wm_argv; and consolidates errno for execvp.
This commit is contained in:
4
calmwm.h
4
calmwm.h
@@ -88,7 +88,7 @@
|
||||
|
||||
#define CWM_QUIT 0x0000
|
||||
#define CWM_RUNNING 0x0001
|
||||
#define CWM_RESTART 0x0002
|
||||
#define CWM_EXECWM 0x0002
|
||||
|
||||
union arg {
|
||||
char *c;
|
||||
@@ -334,6 +334,7 @@ extern Display *X_Dpy;
|
||||
extern Time Last_Event_Time;
|
||||
extern struct screen_ctx_q Screenq;
|
||||
extern struct conf Conf;
|
||||
extern char *wm_argv;
|
||||
extern const char *homedir;
|
||||
extern int HasRandr, Randr_ev;
|
||||
|
||||
@@ -581,6 +582,7 @@ void xu_ewmh_handle_net_wm_state_msg(struct client_ctx *,
|
||||
void xu_ewmh_set_net_wm_state(struct client_ctx *);
|
||||
void xu_ewmh_restore_net_wm_state(struct client_ctx *);
|
||||
|
||||
char *u_argv(char * const *);
|
||||
void u_exec(char *);
|
||||
void u_spawn(char *);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user