aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBert Münnich <ber.t@posteo.de>2019-07-16 19:26:04 +0200
committerBert Münnich <ber.t@posteo.de>2019-07-16 19:26:04 +0200
commit07300da7dfc1f783418e81eb7bea9b6c42952755 (patch)
tree6f686f5f6dee58b26ba691f24dc233ab6a7335cd
parent28868767e6ea74f1e758686e6ae5d58918bd1627 (diff)
Do not keep track of fullscreen state
There is no more need for this after the removal of the special color handling for fullscreen mode in commit 2886876.
-rw-r--r--main.c2
-rw-r--r--sxiv.h3
-rw-r--r--window.c51
3 files changed, 3 insertions, 53 deletions
diff --git a/main.c b/main.c
index 8adbf78..59c411a 100644
--- a/main.c
+++ b/main.c
@@ -774,7 +774,7 @@ void run(void)
} else {
tns.dirty = true;
}
- if (!resized || win.fullscreen) {
+ if (!resized) {
redraw();
set_timeout(clear_resize, TO_REDRAW_RESIZE, false);
resized = true;
diff --git a/sxiv.h b/sxiv.h
index 50da31b..707eba7 100644
--- a/sxiv.h
+++ b/sxiv.h
@@ -385,7 +385,6 @@ enum {
ATOM__NET_WM_ICON,
ATOM__NET_WM_STATE,
ATOM__NET_WM_STATE_FULLSCREEN,
- ATOM__NET_SUPPORTED,
ATOM_COUNT
};
@@ -417,8 +416,6 @@ struct win {
unsigned int h; /* = win height - bar height */
unsigned int bw;
- bool fullscreen;
-
struct {
int w;
int h;
diff --git a/window.c b/window.c
index d336d06..72ffb6a 100644
--- a/window.c
+++ b/window.c
@@ -53,9 +53,6 @@ static int barheight;
Atom atoms[ATOM_COUNT];
-static Bool fs_support;
-static Bool fs_warned;
-
void win_init_font(const win_env_t *e, const char *fontstr)
{
if ((font = XftFontOpenName(e->dpy, e->scr, fontstr)) == NULL)
@@ -74,36 +71,6 @@ void win_alloc_color(const win_env_t *e, const char *name, XftColor *col)
}
}
-void win_check_wm_support(Display *dpy, Window root)
-{
- int format;
- long offset = 0, length = 16;
- Atom *data, type;
- unsigned long i, nitems, bytes_left;
- Bool found = False;
-
- while (!found && length > 0) {
- if (XGetWindowProperty(dpy, root, atoms[ATOM__NET_SUPPORTED],
- offset, length, False, XA_ATOM, &type, &format,
- &nitems, &bytes_left, (unsigned char**) &data))
- {
- break;
- }
- if (type == XA_ATOM && format == 32) {
- for (i = 0; i < nitems; i++) {
- if (data[i] == atoms[ATOM__NET_WM_STATE_FULLSCREEN]) {
- found = True;
- fs_support = True;
- break;
- }
- }
- }
- XFree(data);
- offset += nitems;
- length = MIN(length, bytes_left / 4);
- }
-}
-
const char* win_res(Display *dpy, const char *name, const char *def)
{
char *type;
@@ -170,9 +137,6 @@ void win_init(win_t *win)
INIT_ATOM_(_NET_WM_ICON);
INIT_ATOM_(_NET_WM_STATE);
INIT_ATOM_(_NET_WM_STATE_FULLSCREEN);
- INIT_ATOM_(_NET_SUPPORTED);
-
- win_check_wm_support(e->dpy, RootWindow(e->dpy, e->scr));
}
void win_open(win_t *win)
@@ -188,7 +152,6 @@ void win_open(win_t *win)
Pixmap none;
int gmask;
XSizeHints sizehints;
- Bool fullscreen = options->fullscreen && fs_support;
e = &win->env;
parent = options->embed != 0 ? options->embed : RootWindow(e->dpy, e->scr);
@@ -300,7 +263,7 @@ void win_open(win_t *win)
XMapWindow(e->dpy, win->xwin);
XFlush(e->dpy);
- if (fullscreen)
+ if (options->fullscreen)
win_toggle_fullscreen(win);
}
@@ -337,15 +300,6 @@ void win_toggle_fullscreen(win_t *win)
XEvent ev;
XClientMessageEvent *cm;
- if (!fs_support) {
- if (!fs_warned) {
- error(0, 0, "No fullscreen support");
- fs_warned = True;
- }
- return;
- }
- win->fullscreen = !win->fullscreen;
-
memset(&ev, 0, sizeof(ev));
ev.type = ClientMessage;
@@ -353,9 +307,8 @@ void win_toggle_fullscreen(win_t *win)
cm->window = win->xwin;
cm->message_type = atoms[ATOM__NET_WM_STATE];
cm->format = 32;
- cm->data.l[0] = win->fullscreen;
+ cm->data.l[0] = 2; // toggle
cm->data.l[1] = atoms[ATOM__NET_WM_STATE_FULLSCREEN];
- cm->data.l[2] = cm->data.l[3] = 0;
XSendEvent(win->env.dpy, DefaultRootWindow(win->env.dpy), False,
SubstructureNotifyMask | SubstructureRedirectMask, &ev);