diff options
author | fluxgen <fluxgen> | 2003-06-18 13:51:37 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2003-06-18 13:51:37 (GMT) |
commit | 501168b557f4c21ca10dfdaad7776c125968363a (patch) | |
tree | 8dbad6af50df13a31d2a7e17bfc0c4b8308fc9dd /src | |
parent | b373962b76db06f59c04e504a8c93084607fe13d (diff) | |
download | fluxbox-501168b557f4c21ca10dfdaad7776c125968363a.zip fluxbox-501168b557f4c21ca10dfdaad7776c125968363a.tar.bz2 |
handling propertyNotify for atomhandlers
Diffstat (limited to 'src')
-rw-r--r-- | src/fluxbox.cc | 22 |
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 |
134 | namespace { | 134 | namespace { |
135 | 135 | ||
136 | char *basename (char *s) { | 136 | char *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; |