Got questions, comments, patches, etc.?
Contact Jason Woofenden
gitweb
/
spectrwm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
If the master window already has focus when M-m is pressed, switch focus
[spectrwm.git]
/
scrotwm.c
diff --git
a/scrotwm.c
b/scrotwm.c
index
f6e5070
..
634e08b
100644
(file)
--- a/
scrotwm.c
+++ b/
scrotwm.c
@@
-160,7
+160,7
@@
int font_adjusted = 0;
/* dialog windows */
double dialog_ratio = .6;
/* status bar */
/* dialog windows */
double dialog_ratio = .6;
/* status bar */
-#define SWM_BAR_MAX (128)
+#define SWM_BAR_MAX (256)
char *bar_argv[] = { NULL, NULL };
int bar_pipe[2];
char bar_ext[SWM_BAR_MAX];
char *bar_argv[] = { NULL, NULL };
int bar_pipe[2];
char bar_ext[SWM_BAR_MAX];
@@
-249,6
+249,7
@@
void horizontal_stack(struct workspace *, struct swm_geometry *);
void max_stack(struct workspace *, struct swm_geometry *);
void grabbuttons(struct ws_win *, int);
void max_stack(struct workspace *, struct swm_geometry *);
void grabbuttons(struct ws_win *, int);
+void new_region(struct swm_screen *, int, int, int, int);
struct layout {
void (*l_stack)(struct workspace *, struct swm_geometry *);
struct layout {
void (*l_stack)(struct workspace *, struct swm_geometry *);
@@
-437,8
+438,6
@@
setscreencolor(char *val, int i, int c)
i, ScreenCount(display));
}
i, ScreenCount(display));
}
-void new_region(struct swm_screen *, int, int, int, int);
-
void
custom_region(char *val)
{
void
custom_region(char *val)
{
@@
-706,15
+705,15
@@
bar_toggle(struct swm_region *r, union arg *args)
DNPRINTF(SWM_D_MISC, "bar_toggle\n");
DNPRINTF(SWM_D_MISC, "bar_toggle\n");
- if (bar_enabled) {
+ if (bar_enabled)
for (i = 0; i < sc; i++)
TAILQ_FOREACH(tmpr, &screens[i].rl, entry)
XUnmapWindow(display, tmpr->bar_window);
for (i = 0; i < sc; i++)
TAILQ_FOREACH(tmpr, &screens[i].rl, entry)
XUnmapWindow(display, tmpr->bar_window);
- } else {
+ else
for (i = 0; i < sc; i++)
TAILQ_FOREACH(tmpr, &screens[i].rl, entry)
XMapRaised(display, tmpr->bar_window);
for (i = 0; i < sc; i++)
TAILQ_FOREACH(tmpr, &screens[i].rl, entry)
XMapRaised(display, tmpr->bar_window);
- }
+
bar_enabled = !bar_enabled;
for (i = 0; i < sc; i++)
for (j = 0; j < SWM_WS_MAX; j++)
bar_enabled = !bar_enabled;
for (i = 0; i < sc; i++)
for (j = 0; j < SWM_WS_MAX; j++)
@@
-1289,6
+1288,10
@@
focus(struct swm_region *r, union arg *args)
case SWM_ARG_ID_FOCUSMAIN:
winfocus = TAILQ_FIRST(wl);
case SWM_ARG_ID_FOCUSMAIN:
winfocus = TAILQ_FIRST(wl);
+ if (winfocus == cur_focus)
+ winfocus = cur_focus->ws->focus_prev;
+ if (winfocus == NULL)
+ return;
break;
default:
break;
default:
@@
-2790,6
+2793,11
@@
screenchange(XEvent *e) {
TAILQ_FOREACH(r, &screens[i].rl, entry)
TAILQ_FOREACH(win, &r->ws->winlist, entry)
XUnmapWindow(display, win->id);
TAILQ_FOREACH(r, &screens[i].rl, entry)
TAILQ_FOREACH(win, &r->ws->winlist, entry)
XUnmapWindow(display, win->id);
+
+ /* add bars to all regions */
+ for (i = 0; i < ScreenCount(display); i++)
+ TAILQ_FOREACH(r, &screens[i].rl, entry)
+ bar_setup(r);
stack();
}
stack();
}