summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/FbWinFrame.cc2
-rw-r--r--src/FbWinFrame.hh10
-rw-r--r--src/Window.cc6
-rw-r--r--src/Window.hh11
4 files changed, 4 insertions, 25 deletions
diff --git a/src/FbWinFrame.cc b/src/FbWinFrame.cc
index c31b74f..9056d54 100644
--- a/src/FbWinFrame.cc
+++ b/src/FbWinFrame.cc
@@ -90,10 +90,8 @@ FbWinFrame::FbWinFrame(BScreen &screen, FbWinFrameTheme &theme, FbTk::ImageContr
90 m_shaded(false), 90 m_shaded(false),
91 m_focused_alpha(AlphaAcc(theme, &FbWinFrameTheme::focusedAlpha)), 91 m_focused_alpha(AlphaAcc(theme, &FbWinFrameTheme::focusedAlpha)),
92 m_unfocused_alpha(AlphaAcc(theme, &FbWinFrameTheme::unfocusedAlpha)), 92 m_unfocused_alpha(AlphaAcc(theme, &FbWinFrameTheme::unfocusedAlpha)),
93 m_themelistener(*this),
94 m_shape(m_window, theme.shapePlace()), 93 m_shape(m_window, theme.shapePlace()),
95 m_disable_themeshape(false) { 94 m_disable_themeshape(false) {
96 m_theme.reconfigSig().attach(&m_themelistener);
97 init(); 95 init();
98} 96}
99 97
diff --git a/src/FbWinFrame.hh b/src/FbWinFrame.hh
index bf71566..5d81dba 100644
--- a/src/FbWinFrame.hh
+++ b/src/FbWinFrame.hh
@@ -396,16 +396,6 @@ private:
396 FbTk::DefaultValue<unsigned char, AlphaAcc> m_focused_alpha; 396 FbTk::DefaultValue<unsigned char, AlphaAcc> m_focused_alpha;
397 FbTk::DefaultValue<unsigned char, AlphaAcc> m_unfocused_alpha; 397 FbTk::DefaultValue<unsigned char, AlphaAcc> m_unfocused_alpha;
398 398
399 class ThemeListener: public FbTk::Observer {
400 public:
401 ThemeListener(FbWinFrame &frame):m_frame(frame) { }
402 void update(FbTk::Subject *) {
403 m_frame.reconfigure();
404 }
405 private:
406 FbWinFrame &m_frame;
407 };
408 ThemeListener m_themelistener;
409 FbTk::Shape m_shape; 399 FbTk::Shape m_shape;
410 400
411 bool m_disable_themeshape; 401 bool m_disable_themeshape;
diff --git a/src/Window.cc b/src/Window.cc
index 45efd39..7f14ee8 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -269,7 +269,6 @@ FluxboxWindow::FluxboxWindow(WinClient &client, FbWinFrameTheme &tm,
269 m_statesig(*this), 269 m_statesig(*this),
270 m_layersig(*this), 270 m_layersig(*this),
271 m_workspacesig(*this), 271 m_workspacesig(*this),
272 m_themelistener(*this),
273 m_creation_time(0), 272 m_creation_time(0),
274 moving(false), resizing(false), shaded(false), iconic(false), 273 moving(false), resizing(false), shaded(false), iconic(false),
275 stuck(false), m_initialized(false), fullscreen(false), 274 stuck(false), m_initialized(false), fullscreen(false),
@@ -299,7 +298,7 @@ FluxboxWindow::FluxboxWindow(WinClient &client, FbWinFrameTheme &tm,
299 m_parent(client.screen().rootWindow()), 298 m_parent(client.screen().rootWindow()),
300 m_resize_corner(RIGHTBOTTOM) { 299 m_resize_corner(RIGHTBOTTOM) {
301 300
302 tm.reconfigSig().attach(&m_themelistener); 301 tm.reconfigSig().attach(this);
303 302
304 init(); 303 init();
305 304
@@ -3011,6 +3010,9 @@ void FluxboxWindow::update(FbTk::Subject *subj) {
3011 if (FocusControl::focusedFbWindow()) 3010 if (FocusControl::focusedFbWindow())
3012 setFullscreenLayer(); 3011 setFullscreenLayer();
3013 } 3012 }
3013 } else if (subj == &frame().theme().reconfigSig()) {
3014 reconfigTheme();
3015 frame().reconfigure();
3014 } 3016 }
3015} 3017}
3016 3018
diff --git a/src/Window.hh b/src/Window.hh
index 419e152..8d0c6f1 100644
--- a/src/Window.hh
+++ b/src/Window.hh
@@ -556,17 +556,6 @@ private:
556 m_layersig, 556 m_layersig,
557 m_workspacesig; 557 m_workspacesig;
558 558
559 class ThemeListener: public FbTk::Observer {
560 public:
561 ThemeListener(FluxboxWindow &win):m_win(win) { }
562 void update(FbTk::Subject *) {
563 m_win.reconfigTheme();
564 }
565 private:
566 FluxboxWindow &m_win;
567 };
568 ThemeListener m_themelistener;
569
570 time_t m_creation_time; 559 time_t m_creation_time;
571 560
572 // Window states 561 // Window states