pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/wm/pwm Add support for _NET_WM_STATE_FULLSCREEN.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/d031db12e4b3
branches:  trunk
changeset: 318525:d031db12e4b3
user:      is <is%pkgsrc.org@localhost>
date:      Sat Jan 26 20:50:50 2019 +0000

description:
Add support for _NET_WM_STATE_FULLSCREEN.

diffstat:

 wm/pwm/Makefile                  |   4 +-
 wm/pwm/distinfo                  |   8 ++++++-
 wm/pwm/patches/patch-clientwin_c |  22 +++++++++++++++++++++
 wm/pwm/patches/patch-event_c     |  17 ++++++++++++++++
 wm/pwm/patches/patch-global_h    |  13 ++++++++++++
 wm/pwm/patches/patch-main_c      |  15 ++++++++++++++
 wm/pwm/patches/patch-mwmhints_c  |  41 ++++++++++++++++++++++++++++++++++++++++
 wm/pwm/patches/patch-mwmhints_h  |  11 ++++++++++
 8 files changed, 128 insertions(+), 3 deletions(-)

diffs (177 lines):

diff -r c45cda81ae8e -r d031db12e4b3 wm/pwm/Makefile
--- a/wm/pwm/Makefile   Sat Jan 26 20:47:12 2019 +0000
+++ b/wm/pwm/Makefile   Sat Jan 26 20:50:50 2019 +0000
@@ -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 -r c45cda81ae8e -r d031db12e4b3 wm/pwm/distinfo
--- a/wm/pwm/distinfo   Sat Jan 26 20:47:12 2019 +0000
+++ b/wm/pwm/distinfo   Sat Jan 26 20:50:50 2019 +0000
@@ -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-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 -r c45cda81ae8e -r d031db12e4b3 wm/pwm/patches/patch-clientwin_c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/wm/pwm/patches/patch-clientwin_c  Sat Jan 26 20:50:50 2019 +0000
@@ -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 -r c45cda81ae8e -r d031db12e4b3 wm/pwm/patches/patch-event_c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/wm/pwm/patches/patch-event_c      Sat Jan 26 20:50:50 2019 +0000
@@ -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 -r c45cda81ae8e -r d031db12e4b3 wm/pwm/patches/patch-global_h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/wm/pwm/patches/patch-global_h     Sat Jan 26 20:50:50 2019 +0000
@@ -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 -r c45cda81ae8e -r d031db12e4b3 wm/pwm/patches/patch-main_c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/wm/pwm/patches/patch-main_c       Sat Jan 26 20:50:50 2019 +0000
@@ -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 -r c45cda81ae8e -r d031db12e4b3 wm/pwm/patches/patch-mwmhints_c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/wm/pwm/patches/patch-mwmhints_c   Sat Jan 26 20:50:50 2019 +0000
@@ -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 -r c45cda81ae8e -r d031db12e4b3 wm/pwm/patches/patch-mwmhints_h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/wm/pwm/patches/patch-mwmhints_h   Sat Jan 26 20:50:50 2019 +0000
@@ -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 */



Home | Main Index | Thread Index | Old Index