cvsimport

* refs/heads/master:
  Only when mapping clients from an initial wm start or restart, query the pointer and if it matches the child window, activate it; new clients will not need to make this roundtrip to the server.
  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:
okan
2015-09-23 14:09:40 +00:00
6 changed files with 49 additions and 20 deletions

View File

@@ -109,7 +109,7 @@ size_t strlcpy(char *, const char *, size_t);
#define CWM_QUIT 0x0000
#define CWM_RUNNING 0x0001
#define CWM_RESTART 0x0002
#define CWM_EXECWM 0x0002
union arg {
char *c;
@@ -355,6 +355,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;
@@ -602,6 +603,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 *);