JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
Change bar_ext from 'unsigned char' to 'char'.
[spectrwm.git] / spectrwm.c
index 3da4be0..75aec9c 100644 (file)
@@ -348,7 +348,7 @@ double                      dialog_ratio = 0.6;
 
 char           *bar_argv[] = { NULL, NULL };
 int             bar_pipe[2];
-unsigned char   bar_ext[SWM_BAR_MAX];
+char            bar_ext[SWM_BAR_MAX];
 char            bar_vertext[SWM_BAR_MAX];
 int             bar_version = 0;
 sig_atomic_t    bar_alarm = 0;
@@ -871,7 +871,7 @@ char        *expand_tilde(const char *);
 void    expose(xcb_expose_event_t *);
 void    fake_keypress(struct ws_win *, xcb_keysym_t, uint16_t);
 struct pid_e   *find_pid(pid_t);
-struct ws_win  *find_unmanaged_window(xcb_window_t); 
+struct ws_win  *find_unmanaged_window(xcb_window_t);
 struct ws_win  *find_window(xcb_window_t);
 void    floating_toggle(struct swm_region *, union arg *);
 int     floating_toggle_win(struct ws_win *);
@@ -1068,7 +1068,8 @@ char *
 expand_tilde(const char *s)
 {
        struct passwd           *ppwd;
-       int                     i, max;
+       int                     i;
+       long                    max;
        char                    *user;
        const char              *sc = s;
        char                    *result;
@@ -1851,7 +1852,7 @@ bar_extra_stop(void)
                kill(bar_pid, SIGTERM);
                bar_pid = 0;
        }
-       strlcpy((char *)bar_ext, "", sizeof bar_ext);
+       strlcpy(bar_ext, "", sizeof bar_ext);
        bar_extra = 0;
 }
 
@@ -2197,14 +2198,14 @@ bar_update(void)
                while ((b = fgetln(stdin, &len)) != NULL)
                        if (b && b[len - 1] == '\n') {
                                b[len - 1] = '\0';
-                               strlcpy((char *)bar_ext, b, sizeof bar_ext);
+                               strlcpy(bar_ext, b, sizeof bar_ext);
                        }
                if (b == NULL && errno != EAGAIN) {
                        warn("bar_update: bar_extra failed");
                        bar_extra_stop();
                }
        } else
-               strlcpy((char *)bar_ext, "", sizeof bar_ext);
+               strlcpy(bar_ext, "", sizeof bar_ext);
 
        bar_fmt_print();
        alarm(bar_delay);
@@ -2404,7 +2405,7 @@ xft_init(struct swm_region *r)
 
        if (!XftColorAllocValue(display, DefaultVisual(display, r->s->idx),
            DefaultColormap(display, r->s->idx), &color, &bar_font_color))
-               warn("unable to allocate Xft color");
+               warn("Xft error: unable to allocate color.");
 
        bar_height = bar_font->height + 2 * bar_border_width;
 
@@ -5051,7 +5052,7 @@ resize(struct ws_win *win, union arg *args)
 {
        xcb_timestamp_t         timestamp = 0;
        struct swm_region       *r = NULL;
-       int                     resize_step = 0;
+       int                     resize_stp = 0;
        struct swm_geometry     g;
        int                     top = 0, left = 0, resizing;
        int                     dx, dy;
@@ -5089,24 +5090,24 @@ resize(struct ws_win *win, union arg *args)
        switch (args->id) {
        case SWM_ARG_ID_WIDTHSHRINK:
                WIDTH(win) -= SWM_RESIZE_STEPS;
-               resize_step = 1;
+               resize_stp = 1;
                break;
        case SWM_ARG_ID_WIDTHGROW:
                WIDTH(win) += SWM_RESIZE_STEPS;
-               resize_step = 1;
+               resize_stp = 1;
                break;
        case SWM_ARG_ID_HEIGHTSHRINK:
                HEIGHT(win) -= SWM_RESIZE_STEPS;
-               resize_step = 1;
+               resize_stp = 1;
                break;
        case SWM_ARG_ID_HEIGHTGROW:
                HEIGHT(win) += SWM_RESIZE_STEPS;
-               resize_step = 1;
+               resize_stp = 1;
                break;
        default:
                break;
        }
-       if (resize_step) {
+       if (resize_stp) {
                constrain_window(win, r, 1);
                update_window(win);
                store_float_geom(win,r);
@@ -5240,7 +5241,7 @@ void
 move(struct ws_win *win, union arg *args)
 {
        xcb_timestamp_t         timestamp = 0;
-       int                     move_step = 0, moving;
+       int                     move_stp = 0, moving;
        struct swm_region       *r = NULL;
        xcb_query_pointer_reply_t       *qpr;
        xcb_generic_event_t             *evt;
@@ -5273,28 +5274,28 @@ move(struct ws_win *win, union arg *args)
 
        focus_flush();
 
-       move_step = 0;
+       move_stp = 0;
        switch (args->id) {
        case SWM_ARG_ID_MOVELEFT:
                X(win) -= (SWM_MOVE_STEPS - border_width);
-               move_step = 1;
+               move_stp = 1;
                break;
        case SWM_ARG_ID_MOVERIGHT:
                X(win) += (SWM_MOVE_STEPS - border_width);
-               move_step = 1;
+               move_stp = 1;
                break;
        case SWM_ARG_ID_MOVEUP:
                Y(win) -= (SWM_MOVE_STEPS - border_width);
-               move_step = 1;
+               move_stp = 1;
                break;
        case SWM_ARG_ID_MOVEDOWN:
                Y(win) += (SWM_MOVE_STEPS - border_width);
-               move_step = 1;
+               move_stp = 1;
                break;
        default:
                break;
        }
-       if (move_step) {
+       if (move_stp) {
                constrain_window(win, r, 0);
                update_window(win);
                store_float_geom(win, r);
@@ -5939,7 +5940,7 @@ setkeybinding(unsigned int mod, KeySym ks, enum keyfuncid kfid,
                return;
        }
        if (kfid == KF_INVALID) {
-               warnx("error: setkeybinding: cannot find mod/key combination");
+               warnx("bind: Key combination already unbound.");
                DNPRINTF(SWM_D_KEY, "setkeybinding: leave\n");
                return;
        }
@@ -7441,7 +7442,13 @@ buttonpress(xcb_button_press_event_t *e)
                        /* Focus on empty region */
                        /* If no windows on region if its empty. */
                        r = root_to_region(e->root, SWM_CK_POINTER);
-                       if (r && TAILQ_EMPTY(&r->ws->winlist)) {
+                       if (r == NULL) {
+                               DNPRINTF(SWM_D_EVENT, "buttonpress: "
+                                   "NULL region; ignoring.\n");
+                               goto out;
+                       }
+
+                       if (TAILQ_EMPTY(&r->ws->winlist)) {
                                old_r = root_to_region(e->root, SWM_CK_FOCUS);
                                if (old_r && old_r != r)
                                        unfocus_win(old_r->ws->focus);
@@ -7815,6 +7822,12 @@ enternotify(xcb_enter_notify_event_t *e)
                if (e->event == e->root) {
                        /* If no windows on pointer region, then focus root. */
                        r = root_to_region(e->root, SWM_CK_POINTER);
+                       if (r == NULL) {
+                               DNPRINTF(SWM_D_EVENT, "enterntoify: "
+                                   "NULL region; ignoring.\n");
+                               return;
+                       }
+
                        if (TAILQ_EMPTY(&r->ws->winlist)) {
                                old_r = root_to_region(e->root, SWM_CK_FOCUS);
                                if (old_r && old_r != r)
@@ -7855,9 +7868,6 @@ leavenotify(xcb_leave_notify_event_t *e)
 }
 #endif
 
-/* lets us use one switch statement for arbitrary mode/detail combinations */
-#define MERGE_MEMBERS(a,b)     (((a & 0xffff) << 16) | (b & 0xffff))
-
 void
 mapnotify(xcb_map_notify_event_t *e)
 {