diff options
author | Vladimir A. Pavlov <pv4@bk.ru> | 2012-10-22 15:39:35 (GMT) |
---|---|---|
committer | Mathias Gumz <akira at fluxbox dot org> | 2012-12-30 11:27:43 (GMT) |
commit | 36489e4a17df27965ff14b7fd0a9482b4cf47882 (patch) | |
tree | 523ae56bd4f45633cc39cc21c682feb33229723a | |
parent | 7a404e7fbca7894cdda76f7b0ddfed855a732424 (diff) | |
download | fluxbox-36489e4a17df27965ff14b7fd0a9482b4cf47882.zip fluxbox-36489e4a17df27965ff14b7fd0a9482b4cf47882.tar.bz2 |
Set WM_WINDOW_ROLE for fluxbox windows
-rw-r--r-- | src/FbMenu.cc | 1 | ||||
-rw-r--r-- | src/FbTk/FbWindow.cc | 7 | ||||
-rw-r--r-- | src/FbTk/FbWindow.hh | 2 | ||||
-rw-r--r-- | src/Slit.cc | 2 | ||||
-rw-r--r-- | src/TextDialog.cc | 1 | ||||
-rw-r--r-- | src/Toolbar.cc | 2 |
6 files changed, 15 insertions, 0 deletions
diff --git a/src/FbMenu.cc b/src/FbMenu.cc index dffd07c..2871042 100644 --- a/src/FbMenu.cc +++ b/src/FbMenu.cc | |||
@@ -33,6 +33,7 @@ FbMenu::FbMenu(FbTk::ThemeProxy<FbTk::MenuTheme> &tm, | |||
33 | FbTk::Menu(tm, imgctrl), | 33 | FbTk::Menu(tm, imgctrl), |
34 | m_layeritem(fbwindow(), layer) { | 34 | m_layeritem(fbwindow(), layer) { |
35 | 35 | ||
36 | fbwindow().setWindowRole("fluxbox-menu"); | ||
36 | } | 37 | } |
37 | 38 | ||
38 | void FbMenu::buttonPressEvent(XButtonEvent &be) { | 39 | void FbMenu::buttonPressEvent(XButtonEvent &be) { |
diff --git a/src/FbTk/FbWindow.cc b/src/FbTk/FbWindow.cc index 8362733..257447f 100644 --- a/src/FbTk/FbWindow.cc +++ b/src/FbTk/FbWindow.cc | |||
@@ -265,6 +265,13 @@ void FbWindow::setName(const char *name) { | |||
265 | XStoreName(display(), m_window, name); | 265 | XStoreName(display(), m_window, name); |
266 | } | 266 | } |
267 | 267 | ||
268 | void FbWindow::setWindowRole(const char *windowRole) { | ||
269 | XTextProperty tp; | ||
270 | XStringListToTextProperty(const_cast<char **>(&windowRole), 1, &tp); | ||
271 | XSetTextProperty(display(), m_window, &tp, XInternAtom(display(), "WM_WINDOW_ROLE", False)); | ||
272 | XFree(tp.value); | ||
273 | } | ||
274 | |||
268 | void FbWindow::setEventMask(long mask) { | 275 | void FbWindow::setEventMask(long mask) { |
269 | XSelectInput(display(), m_window, mask); | 276 | XSelectInput(display(), m_window, mask); |
270 | } | 277 | } |
diff --git a/src/FbTk/FbWindow.hh b/src/FbTk/FbWindow.hh index 9d335fa..3e1c05b 100644 --- a/src/FbTk/FbWindow.hh +++ b/src/FbTk/FbWindow.hh | |||
@@ -87,6 +87,8 @@ public: | |||
87 | virtual void setBorderWidth(unsigned int size); | 87 | virtual void setBorderWidth(unsigned int size); |
88 | /// set window name ("title") | 88 | /// set window name ("title") |
89 | void setName(const char *name); | 89 | void setName(const char *name); |
90 | /// set window role | ||
91 | void setWindowRole(const char *windowRole); | ||
90 | void setEventMask(long mask); | 92 | void setEventMask(long mask); |
91 | /// clear window with background pixmap or color | 93 | /// clear window with background pixmap or color |
92 | virtual void clear(); | 94 | virtual void clear(); |
diff --git a/src/Slit.cc b/src/Slit.cc index 738a81a..7d6b1ef 100644 --- a/src/Slit.cc +++ b/src/Slit.cc | |||
@@ -262,6 +262,8 @@ Slit::Slit(BScreen &scr, FbTk::Layer &layer, const char *filename) | |||
262 | 262 | ||
263 | _FB_USES_NLS; | 263 | _FB_USES_NLS; |
264 | 264 | ||
265 | frame.window.setWindowRole("fluxbox-slit"); | ||
266 | |||
265 | // attach to theme and root window change signal | 267 | // attach to theme and root window change signal |
266 | join(theme().reconfigSig(), FbTk::MemFun(*this, &Slit::reconfigure)); | 268 | join(theme().reconfigSig(), FbTk::MemFun(*this, &Slit::reconfigure)); |
267 | 269 | ||
diff --git a/src/TextDialog.cc b/src/TextDialog.cc index f86c1e6..d27a551 100644 --- a/src/TextDialog.cc +++ b/src/TextDialog.cc | |||
@@ -50,6 +50,7 @@ TextDialog::TextDialog(BScreen &screen, | |||
50 | m_move_x(0), | 50 | m_move_x(0), |
51 | m_move_y(0), | 51 | m_move_y(0), |
52 | m_pixmap(0){ | 52 | m_pixmap(0){ |
53 | setWindowRole("fluxbox-dialog-text"); | ||
53 | init(); | 54 | init(); |
54 | } | 55 | } |
55 | 56 | ||
diff --git a/src/Toolbar.cc b/src/Toolbar.cc index f46b9e9..5f4cc80 100644 --- a/src/Toolbar.cc +++ b/src/Toolbar.cc | |||
@@ -225,6 +225,8 @@ Toolbar::Toolbar(BScreen &scrn, FbTk::Layer &layer, size_t width): | |||
225 | m_resize_lock(false) { | 225 | m_resize_lock(false) { |
226 | _FB_USES_NLS; | 226 | _FB_USES_NLS; |
227 | 227 | ||
228 | frame.window.setWindowRole("fluxbox-toolbar"); | ||
229 | |||
228 | // get this on antialias change | 230 | // get this on antialias change |
229 | m_signal_tracker.join(screen().reconfigureSig(), | 231 | m_signal_tracker.join(screen().reconfigureSig(), |
230 | FbTk::MemFunIgnoreArgs(*this, &Toolbar::reconfigure)); | 232 | FbTk::MemFunIgnoreArgs(*this, &Toolbar::reconfigure)); |