diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Screen.cc | 1 | ||||
-rw-r--r-- | src/Screen.hh | 4 | ||||
-rw-r--r-- | src/Window.cc | 20 | ||||
-rw-r--r-- | src/Window.hh | 2 |
4 files changed, 11 insertions, 16 deletions
diff --git a/src/Screen.cc b/src/Screen.cc index 804321f..2e4a6dd 100644 --- a/src/Screen.cc +++ b/src/Screen.cc | |||
@@ -270,6 +270,7 @@ BScreen::ScreenResource::ScreenResource(FbTk::ResourceManager &rm, | |||
270 | auto_raise(rm, false, scrname+".autoRaise", altscrname+".AutoRaise"), | 270 | auto_raise(rm, false, scrname+".autoRaise", altscrname+".AutoRaise"), |
271 | click_raises(rm, true, scrname+".clickRaises", altscrname+".ClickRaises"), | 271 | click_raises(rm, true, scrname+".clickRaises", altscrname+".ClickRaises"), |
272 | decorate_transient(rm, false, scrname+".decorateTransient", altscrname+".DecorateTransient"), | 272 | decorate_transient(rm, false, scrname+".decorateTransient", altscrname+".DecorateTransient"), |
273 | default_deco(rm, FluxboxWindow::DECORM_LAST-1, scrname+".defaultDeco", altscrname+".DefaultDeco"), | ||
273 | rootcommand(rm, "", scrname+".rootCommand", altscrname+".RootCommand"), | 274 | rootcommand(rm, "", scrname+".rootCommand", altscrname+".RootCommand"), |
274 | resize_model(rm, BOTTOMRESIZE, scrname+".resizeMode", altscrname+".ResizeMode"), | 275 | resize_model(rm, BOTTOMRESIZE, scrname+".resizeMode", altscrname+".ResizeMode"), |
275 | tab_placement(rm, FbWinFrame::TOPLEFT, scrname+".tab.placement", altscrname+".Tab.Placement"), | 276 | tab_placement(rm, FbWinFrame::TOPLEFT, scrname+".tab.placement", altscrname+".Tab.Placement"), |
diff --git a/src/Screen.hh b/src/Screen.hh index 1778308..739c458 100644 --- a/src/Screen.hh +++ b/src/Screen.hh | |||
@@ -120,6 +120,7 @@ public: | |||
120 | bool doFullMax() const { return *resource.full_max; } | 120 | bool doFullMax() const { return *resource.full_max; } |
121 | bool doShowWindowPos() const { return *resource.show_window_pos; } | 121 | bool doShowWindowPos() const { return *resource.show_window_pos; } |
122 | bool decorateTransient() const { return *resource.decorate_transient; } | 122 | bool decorateTransient() const { return *resource.decorate_transient; } |
123 | unsigned int defaultDeco() const { return *resource.default_deco; } | ||
123 | const std::string &windowMenuFilename() const { return *resource.windowmenufile; } | 124 | const std::string &windowMenuFilename() const { return *resource.windowmenufile; } |
124 | FbTk::ImageControl &imageControl() { return *m_image_control.get(); } | 125 | FbTk::ImageControl &imageControl() { return *m_image_control.get(); } |
125 | // menus | 126 | // menus |
@@ -440,7 +441,8 @@ private: | |||
440 | workspace_warping, | 441 | workspace_warping, |
441 | desktop_wheeling, reverse_wheeling, show_window_pos, | 442 | desktop_wheeling, reverse_wheeling, show_window_pos, |
442 | auto_raise, click_raises, decorate_transient; | 443 | auto_raise, click_raises, decorate_transient; |
443 | FbTk::Resource<std::string> rootcommand; | 444 | FbTk::Resource<unsigned int> default_deco; |
445 | FbTk::Resource<std::string> rootcommand; | ||
444 | FbTk::Resource<ResizeModel> resize_model; | 446 | FbTk::Resource<ResizeModel> resize_model; |
445 | FbTk::Resource<FbWinFrame::TabPlacement> tab_placement; | 447 | FbTk::Resource<FbWinFrame::TabPlacement> tab_placement; |
446 | FbTk::Resource<std::string> windowmenufile; | 448 | FbTk::Resource<std::string> windowmenufile; |
diff --git a/src/Window.cc b/src/Window.cc index f8b4457..523fd66 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -447,18 +447,8 @@ void FluxboxWindow::init() { | |||
447 | m_blackbox_attrib.premax_x = m_blackbox_attrib.premax_y = 0; | 447 | m_blackbox_attrib.premax_x = m_blackbox_attrib.premax_y = 0; |
448 | m_blackbox_attrib.premax_w = m_blackbox_attrib.premax_h = 0; | 448 | m_blackbox_attrib.premax_w = m_blackbox_attrib.premax_h = 0; |
449 | 449 | ||
450 | //use tab as default | 450 | // set default decorations but don't apply them |
451 | decorations.tab = true; | 451 | setDecorationMask(screen().defaultDeco(), false); |
452 | // enable decorations | ||
453 | decorations.enabled = true; | ||
454 | |||
455 | // set default values for decoration | ||
456 | decorations.menu = true; //override menu option | ||
457 | // all decorations on by default | ||
458 | decorations.titlebar = decorations.border = decorations.handle = true; | ||
459 | decorations.maximize = decorations.close = | ||
460 | decorations.sticky = decorations.shade = decorations.tab = true; | ||
461 | |||
462 | 452 | ||
463 | functions.resize = functions.move = functions.iconify = functions.maximize = functions.close = functions.tabable = true; | 453 | functions.resize = functions.move = functions.iconify = functions.maximize = functions.close = functions.tabable = true; |
464 | decorations.close = false; | 454 | decorations.close = false; |
@@ -3298,7 +3288,7 @@ unsigned int FluxboxWindow::decorationMask() const { | |||
3298 | return ret; | 3288 | return ret; |
3299 | } | 3289 | } |
3300 | 3290 | ||
3301 | void FluxboxWindow::setDecorationMask(unsigned int mask) { | 3291 | void FluxboxWindow::setDecorationMask(unsigned int mask, bool apply) { |
3302 | decorations.titlebar = mask & DECORM_TITLEBAR; | 3292 | decorations.titlebar = mask & DECORM_TITLEBAR; |
3303 | decorations.handle = mask & DECORM_HANDLE; | 3293 | decorations.handle = mask & DECORM_HANDLE; |
3304 | decorations.border = mask & DECORM_BORDER; | 3294 | decorations.border = mask & DECORM_BORDER; |
@@ -3310,7 +3300,9 @@ void FluxboxWindow::setDecorationMask(unsigned int mask) { | |||
3310 | decorations.shade = mask & DECORM_SHADE; | 3300 | decorations.shade = mask & DECORM_SHADE; |
3311 | decorations.tab = mask & DECORM_TAB; | 3301 | decorations.tab = mask & DECORM_TAB; |
3312 | decorations.enabled = mask & DECORM_ENABLED; | 3302 | decorations.enabled = mask & DECORM_ENABLED; |
3313 | applyDecorations(); | 3303 | // we don't want to do this during initialization |
3304 | if (apply) | ||
3305 | applyDecorations(); | ||
3314 | } | 3306 | } |
3315 | 3307 | ||
3316 | void FluxboxWindow::startMoving(int x, int y) { | 3308 | void FluxboxWindow::startMoving(int x, int y) { |
diff --git a/src/Window.hh b/src/Window.hh index b58a87a..142b451 100644 --- a/src/Window.hh +++ b/src/Window.hh | |||
@@ -281,7 +281,7 @@ public: | |||
281 | void toggleDecoration(); | 281 | void toggleDecoration(); |
282 | 282 | ||
283 | unsigned int decorationMask() const; | 283 | unsigned int decorationMask() const; |
284 | void setDecorationMask(unsigned int mask); | 284 | void setDecorationMask(unsigned int mask, bool apply = true); |
285 | /** | 285 | /** |
286 | * Start moving process, grabs the pointer and draws move rectangle | 286 | * Start moving process, grabs the pointer and draws move rectangle |
287 | * @param x position of pointer | 287 | * @param x position of pointer |