-extern void shift_active_win(struct WinMeta * wmeta, char dir)
+extern uint8_t shift_active_win(struct WinMeta * wmeta, char dir)
 {
     if (   0 == wmeta->active                     /* No shifting with less    */
         || wmeta->chain_start == wmeta->chain_end /* than two windows visible */
         || (dir != 'f' && dir != 'b'))            /* or wrong direction char. */
     {
-        return;
+        return 0;
     }
     if ('f' == dir)
     {
     {
         shift_win_backward(wmeta);
     }
-    update_wins(wmeta, wmeta->chain_start);
+    return update_wins(wmeta, wmeta->chain_start);
 }
 
 
 
 
 
 /* Move active window forwards (set dir="f") or backwards (set dir="b"). Wrap
- * around in the window chain if start / end of it is met. */
-extern void shift_active_win(struct WinMeta * wmeta, char dir);
+ * around in the window chain if start / end of it is met.
+ *
+ * Returns 0 on success, 1 on (ncurses window/pad memory allocation) error.
+ */
+extern uint8_t shift_active_win(struct WinMeta * wmeta, char dir);