summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2003-06-18 13:51:37 (GMT)
committerfluxgen <fluxgen>2003-06-18 13:51:37 (GMT)
commit501168b557f4c21ca10dfdaad7776c125968363a (patch)
tree8dbad6af50df13a31d2a7e17bfc0c4b8308fc9dd
parentb373962b76db06f59c04e504a8c93084607fe13d (diff)
downloadfluxbox_lack-501168b557f4c21ca10dfdaad7776c125968363a.zip
fluxbox_lack-501168b557f4c21ca10dfdaad7776c125968363a.tar.bz2
handling propertyNotify for atomhandlers
-rw-r--r--src/fluxbox.cc22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc
index 02d27b0..b3011fb 100644
--- a/src/fluxbox.cc
+++ b/src/fluxbox.cc
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: fluxbox.cc,v 1.158 2003/06/15 11:38:35 rathnor Exp $ 25// $Id: fluxbox.cc,v 1.159 2003/06/18 13:51:37 fluxgen Exp $
26 26
27#include "fluxbox.hh" 27#include "fluxbox.hh"
28 28
@@ -133,7 +133,7 @@ using namespace FbTk;
133#ifndef HAVE_BASENAME 133#ifndef HAVE_BASENAME
134namespace { 134namespace {
135 135
136char *basename (char *s) { 136char *basename(char *s) {
137 char *save = s; 137 char *save = s;
138 138
139 while (*s) { 139 while (*s) {
@@ -803,10 +803,6 @@ void Fluxbox::handleEvent(XEvent * const e) {
803 case CreateNotify: 803 case CreateNotify:
804 break; 804 break;
805 case DestroyNotify: { 805 case DestroyNotify: {
806#ifdef DEBUG
807 cerr<<__FILE__<<"("<<__FUNCTION__<<"): DestroyNotify window="<<hex<<
808 e->xdestroywindow.window<<dec<<endl;
809#endif // DEBUG
810 FluxboxWindow *win = searchWindow(e->xdestroywindow.window); 806 FluxboxWindow *win = searchWindow(e->xdestroywindow.window);
811 if (win != 0) { 807 if (win != 0) {
812 WinClient *client = win->findClient(e->xdestroywindow.window); 808 WinClient *client = win->findClient(e->xdestroywindow.window);
@@ -827,10 +823,18 @@ void Fluxbox::handleEvent(XEvent * const e) {
827 break; 823 break;
828 case MotionNotify: 824 case MotionNotify:
829 break; 825 break;
830 case PropertyNotify: 826 case PropertyNotify: {
831 m_last_time = e->xproperty.time; 827 m_last_time = e->xproperty.time;
832 // handled in FluxboxWindow::handleEvent 828 FluxboxWindow *win = searchWindow(e->xproperty.window);
833 break; 829 if (win == 0)
830 break;
831 // most of them are handled in FluxboxWindow::handleEvent
832 // but some special cases like ewmh propertys needs to be checked
833 for (int i=0; i<m_atomhandler.size(); ++i) {
834 if (m_atomhandler[i]->propertyNotify(*win, e->xproperty.atom))
835 break;
836 }
837 } break;
834 case EnterNotify: { 838 case EnterNotify: {
835 m_last_time = e->xcrossing.time; 839 m_last_time = e->xcrossing.time;
836 BScreen *screen = 0; 840 BScreen *screen = 0;