diff options
author | is <is@pkgsrc.org> | 2019-01-26 20:50:50 +0000 |
---|---|---|
committer | is <is@pkgsrc.org> | 2019-01-26 20:50:50 +0000 |
commit | f6aa58504dee3d43aa5730ddc6257e6b20174e80 (patch) | |
tree | c22967df811bb5d15497fa75f775afe10450c0ee /wm | |
parent | 585b42b32b3c4b0aa8dc0fa8f05e15e38bc4e957 (diff) | |
download | pkgsrc-f6aa58504dee3d43aa5730ddc6257e6b20174e80.tar.gz |
Add support for _NET_WM_STATE_FULLSCREEN.
Diffstat (limited to 'wm')
-rw-r--r-- | wm/pwm/Makefile | 4 | ||||
-rw-r--r-- | wm/pwm/distinfo | 8 | ||||
-rw-r--r-- | wm/pwm/patches/patch-clientwin_c | 22 | ||||
-rw-r--r-- | wm/pwm/patches/patch-event_c | 17 | ||||
-rw-r--r-- | wm/pwm/patches/patch-global_h | 13 | ||||
-rw-r--r-- | wm/pwm/patches/patch-main_c | 15 | ||||
-rw-r--r-- | wm/pwm/patches/patch-mwmhints_c | 41 | ||||
-rw-r--r-- | wm/pwm/patches/patch-mwmhints_h | 11 |
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 */ |