summaryrefslogtreecommitdiff
path: root/wm
diff options
context:
space:
mode:
authoris <is@pkgsrc.org>2019-01-26 20:50:50 +0000
committeris <is@pkgsrc.org>2019-01-26 20:50:50 +0000
commitf6aa58504dee3d43aa5730ddc6257e6b20174e80 (patch)
treec22967df811bb5d15497fa75f775afe10450c0ee /wm
parent585b42b32b3c4b0aa8dc0fa8f05e15e38bc4e957 (diff)
downloadpkgsrc-f6aa58504dee3d43aa5730ddc6257e6b20174e80.tar.gz
Add support for _NET_WM_STATE_FULLSCREEN.
Diffstat (limited to 'wm')
-rw-r--r--wm/pwm/Makefile4
-rw-r--r--wm/pwm/distinfo8
-rw-r--r--wm/pwm/patches/patch-clientwin_c22
-rw-r--r--wm/pwm/patches/patch-event_c17
-rw-r--r--wm/pwm/patches/patch-global_h13
-rw-r--r--wm/pwm/patches/patch-main_c15
-rw-r--r--wm/pwm/patches/patch-mwmhints_c41
-rw-r--r--wm/pwm/patches/patch-mwmhints_h11
8 files changed, 128 insertions, 3 deletions
diff --git a/wm/pwm/Makefile b/wm/pwm/Makefile
index a3e1e3f006d..1527b4efa43 100644
--- a/wm/pwm/Makefile
+++ b/wm/pwm/Makefile
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.37 2017/09/03 08:37:02 wiz Exp $
+# $NetBSD: Makefile,v 1.38 2019/01/26 20:50:50 is Exp $
#
DISTNAME= pwm-20060517
PKGNAME= ${DISTNAME:S/-/-1.0./}
-PKGREVISION= 2
+PKGREVISION= 3
CATEGORIES= wm x11
MASTER_SITES= http://modeemi.fi/~tuomov/pwm/dl/
diff --git a/wm/pwm/distinfo b/wm/pwm/distinfo
index 0f6f89b5d48..70176946276 100644
--- a/wm/pwm/distinfo
+++ b/wm/pwm/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.20 2015/11/02 23:42:54 agc Exp $
+$NetBSD: distinfo,v 1.21 2019/01/26 20:50:50 is Exp $
SHA1 (pwm-20060517.tar.gz) = d69dd232e07c20a053d1eec92355ee5134a422b3
RMD160 (pwm-20060517.tar.gz) = a2df30c1a4b68b569b5c9e3ec3a8c4ff003714ab
@@ -10,3 +10,9 @@ SHA1 (patch-af) = 1f302ae3b78c436bd5170dea55e77e8e00f789d0
SHA1 (patch-ag) = ed5df2ddc4b4061c66f7599ac1f787a5d78dd778
SHA1 (patch-ah) = 146a957d385cfc70322ffd2c2ddf10238e2960bc
SHA1 (patch-ai) = bf0a0aaf07b53220c01b7e4a0e244988353b22e2
+SHA1 (patch-clientwin_c) = c2982bb3610a68108181b6382182bc7da08ca7d8
+SHA1 (patch-event_c) = 1cbf5b12d6b681744baf86277aeaef60c1316d31
+SHA1 (patch-global_h) = 1c548c61ccb0abb6c2d770b75914578d17722d46
+SHA1 (patch-main_c) = 18f15dd7227e8081b124436a60d5d477d09f273e
+SHA1 (patch-mwmhints_c) = f7b148361db646d5b92971b44d7c3663abbad42e
+SHA1 (patch-mwmhints_h) = 4956b982d30354f9361bd2f908754101c9146388
diff --git a/wm/pwm/patches/patch-clientwin_c b/wm/pwm/patches/patch-clientwin_c
new file mode 100644
index 00000000000..37d6a243cad
--- /dev/null
+++ b/wm/pwm/patches/patch-clientwin_c
@@ -0,0 +1,22 @@
+$NetBSD: patch-clientwin_c,v 1.1 2019/01/26 20:50:50 is Exp $
+
+--- clientwin.c.orig 2006-05-17 06:50:33.000000000 +0000
++++ clientwin.c
+@@ -338,6 +338,9 @@ WClientWin* create_clientwin(Window win,
+ cwin->event_mask=CLIENT_MASK;
+ cwin->transient_for=None;
+ cwin->dockpos=INT_MAX;
++
++ (void)XChangeProperty(wglobal.dpy, win, wglobal.atom_net_wm_allow,
++ XA_ATOM, 32, PropModeReplace, (uchar*)&wglobal.atom_net_wm_allow_fs, 1);
+
+ /* Unnecessary, done when reparenting */
+ /* XSelectInput(wglobal.dpy, win, cwin->event_mask); */
+@@ -386,6 +389,7 @@ static bool add_clientwin(WClientWin *cw
+ #ifndef CF_NO_MWM_HINTS
+ get_mwm_hints(win, &(cwin->flags));
+ #endif
++ get_net_wm_state(win, &(cwin->flags));
+
+ get_initial_winprops(win, &frame_id, &ws, &(cwin->flags));
+
diff --git a/wm/pwm/patches/patch-event_c b/wm/pwm/patches/patch-event_c
new file mode 100644
index 00000000000..d1ffd02ab73
--- /dev/null
+++ b/wm/pwm/patches/patch-event_c
@@ -0,0 +1,17 @@
+$NetBSD: patch-event_c,v 1.1 2019/01/26 20:50:50 is Exp $
+
+--- event.c.orig 2006-05-17 06:50:33.000000000 +0000
++++ event.c
+@@ -584,6 +584,12 @@ static void handle_property(const XPrope
+ if(frame!=NULL && frame->cwin_count==1)
+ frame_set_decor(frame, flags&CWIN_WILD ? WFRAME_NO_DECOR : 0);
+ }
++ if(ev->atom==wglobal.atom_net_wm_state){
++ get_net_wm_state(ev->window, &flags);
++ cwin->flags=(cwin->flags&~CWIN_WILD)|flags;
++ if(frame!=NULL && frame->cwin_count==1)
++ frame_set_decor(frame, flags&CWIN_WILD ? WFRAME_NO_DECOR : 0);
++ }
+ return;
+ }
+
diff --git a/wm/pwm/patches/patch-global_h b/wm/pwm/patches/patch-global_h
new file mode 100644
index 00000000000..c4af7f0fe17
--- /dev/null
+++ b/wm/pwm/patches/patch-global_h
@@ -0,0 +1,13 @@
+$NetBSD: patch-global_h,v 1.1 2019/01/26 20:50:50 is Exp $
+
+--- global.h.orig 2006-05-17 06:50:33.000000000 +0000
++++ global.h
+@@ -57,6 +57,8 @@ typedef struct _WGlobal{
+ Atom atom_private_ipc;
+ #ifndef CF_NO_MWM_HINTS
+ Atom atom_mwm_hints;
++ Atom atom_net_wm_state, atom_net_wm_state_fs;
++ Atom atom_net_wm_allow, atom_net_wm_allow_fs;
+ #endif
+
+ WWinObj *current_winobj, *previous_winobj;
diff --git a/wm/pwm/patches/patch-main_c b/wm/pwm/patches/patch-main_c
new file mode 100644
index 00000000000..9ee2d8421a5
--- /dev/null
+++ b/wm/pwm/patches/patch-main_c
@@ -0,0 +1,15 @@
+$NetBSD: patch-main_c,v 1.1 2019/01/26 20:50:50 is Exp $
+
+--- main.c.orig 2006-05-17 06:50:33.000000000 +0000
++++ main.c
+@@ -205,6 +205,10 @@ static bool initialize(const char*displa
+ wglobal.atom_private_ipc=XInternAtom(dpy, "_PWM_PRIVATE_IPC", False);
+ #ifndef CF_NO_MWM_HINTS
+ wglobal.atom_mwm_hints=XInternAtom(dpy, "_MOTIF_WM_HINTS", False);
++ wglobal.atom_net_wm_state=XInternAtom(dpy, "_NET_WM_STATE", False);
++ wglobal.atom_net_wm_state_fs=XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", False);
++ wglobal.atom_net_wm_allow=XInternAtom(dpy, "_NET_WM_ALLOWED_ACTIONS", False);
++ wglobal.atom_net_wm_allow_fs=XInternAtom(dpy, "_NET_WM_ACTION_FULLSCREEN", False);
+ #endif
+
+ init_bindings();
diff --git a/wm/pwm/patches/patch-mwmhints_c b/wm/pwm/patches/patch-mwmhints_c
new file mode 100644
index 00000000000..6a45a50e7d6
--- /dev/null
+++ b/wm/pwm/patches/patch-mwmhints_c
@@ -0,0 +1,41 @@
+$NetBSD: patch-mwmhints_c,v 1.1 2019/01/26 20:50:50 is Exp $
+
+--- mwmhints.c.orig 2006-05-17 06:50:33.000000000 +0000
++++ mwmhints.c
+@@ -12,8 +12,29 @@
+ #include "mwmhints.h"
+ #include "frame.h"
+
+-
+ #ifndef CF_NO_WILD_WINDOWS
++void get_net_wm_state(Window win, int *flags)
++{
++ Atom *winstate;
++ int n;
++ int i;
++
++ n=do_get_property(wglobal.dpy, win,
++ wglobal.atom_net_wm_state, XA_ATOM,
++ 32, (uchar **)&winstate);
++
++ for (i=0;i<n;i++) {
++ if (winstate[i] == wglobal.atom_net_wm_state_fs) {
++ *flags|=CWIN_WILD;
++ goto cleanup;
++ }
++ }
++ *flags&=~CWIN_WILD;
++
++cleanup:
++ XFree((void *)winstate);
++}
++
+ void get_mwm_hints(Window win, int *flags)
+ {
+ WMwmHints *hints;
+@@ -36,4 +57,5 @@ void get_mwm_hints(Window win, int *flag
+
+ XFree((void*)hints);
+ }
++
+ #endif
diff --git a/wm/pwm/patches/patch-mwmhints_h b/wm/pwm/patches/patch-mwmhints_h
new file mode 100644
index 00000000000..ce99b43a236
--- /dev/null
+++ b/wm/pwm/patches/patch-mwmhints_h
@@ -0,0 +1,11 @@
+$NetBSD: patch-mwmhints_h,v 1.1 2019/01/26 20:50:50 is Exp $
+
+--- mwmhints.h.orig 2019-01-25 19:46:53.325613996 +0000
++++ mwmhints.h
+@@ -56,5 +56,6 @@ typedef struct _WMwmHints{
+
+
+ extern void get_mwm_hints(Window win, int *flags);
++extern void get_net_wm_state(Window win, int *flags);
+
+ #endif /* INCLUDED_MWMHINTS_H */