aboutsummaryrefslogtreecommitdiffstats
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)
downloadnsxiv-07300da7dfc1f783418e81eb7bea9b6c42952755.tar.zst
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);