diff options
Diffstat (limited to 'src/fluxbox.cc')
-rw-r--r-- | src/fluxbox.cc | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc index ac1ac30..f1b1cca 100644 --- a/src/fluxbox.cc +++ b/src/fluxbox.cc | |||
@@ -1027,24 +1027,12 @@ void Fluxbox::doWindowAction(Keys::KeyAction action) { | |||
1027 | focused_window->stick(); | 1027 | focused_window->stick(); |
1028 | break; | 1028 | break; |
1029 | case Keys::VERTMAX: | 1029 | case Keys::VERTMAX: |
1030 | //!!TODO: fix this | 1030 | if (focused_window->isResizable()) |
1031 | if (focused_window->isResizable()) { | 1031 | focused_window->maximize(3); // maximize vertically, done with mouse3 |
1032 | int w = focused_window->getWidth(); | ||
1033 | int x = focused_window->getXFrame(); | ||
1034 | int y = focused_window->getYFrame(); | ||
1035 | focused_window->maximize(0); | ||
1036 | focused_window->configure(x, y, w, focused_window->getHeight()); | ||
1037 | } | ||
1038 | break; | 1032 | break; |
1039 | case Keys::HORIZMAX: | 1033 | case Keys::HORIZMAX: |
1040 | //!!TODO: fix this | 1034 | if (focused_window->isResizable()) |
1041 | if (focused_window->isResizable()) { | 1035 | focused_window->maximize(2); // maximize horisontally, done with mouse2 |
1042 | int h = focused_window->getHeight(); | ||
1043 | int x = focused_window->getXFrame(); | ||
1044 | int y = focused_window->getYFrame(); | ||
1045 | focused_window->maximize(0); | ||
1046 | focused_window->configure(x, y, focused_window->getWidth(), h); | ||
1047 | } | ||
1048 | break; | 1036 | break; |
1049 | case Keys::NUDGERIGHT: | 1037 | case Keys::NUDGERIGHT: |
1050 | focused_window->configure( | 1038 | focused_window->configure( |
@@ -1616,6 +1604,10 @@ void Fluxbox::save_rc(void) { | |||
1616 | ((screen->isTabRotateVertical()) ? "True" : "False")); | 1604 | ((screen->isTabRotateVertical()) ? "True" : "False")); |
1617 | XrmPutLineResource(&new_blackboxrc, rc_string); | 1605 | XrmPutLineResource(&new_blackboxrc, rc_string); |
1618 | 1606 | ||
1607 | sprintf(rc_string, "session.screen%d.sloppywindowgrouping: %s", screen_number, | ||
1608 | ((screen->isSloppyWindowGrouping()) ? "True" : "False")); | ||
1609 | XrmPutLineResource(&new_blackboxrc, rc_string); | ||
1610 | |||
1619 | load_rc(screen); | 1611 | load_rc(screen); |
1620 | 1612 | ||
1621 | // these are static, but may not be saved in the users resource file, | 1613 | // these are static, but may not be saved in the users resource file, |
@@ -2349,6 +2341,17 @@ void Fluxbox::load_rc(BScreen *screen) { | |||
2349 | } else | 2341 | } else |
2350 | screen->saveTabRotateVertical(False); | 2342 | screen->saveTabRotateVertical(False); |
2351 | 2343 | ||
2344 | sprintf(name_lookup, "session.screen%d.sloppywindowgrouping", screen_number); | ||
2345 | sprintf(class_lookup, "Session.Screen%d.SloppyWindowGrouping", screen_number); | ||
2346 | if (XrmGetResource(database, name_lookup, class_lookup, | ||
2347 | &value_type, &value)) { | ||
2348 | if (! strncasecmp("true", value.addr, value.size)) | ||
2349 | screen->saveSloppyWindowGrouping(True); | ||
2350 | else | ||
2351 | screen->saveSloppyWindowGrouping(False); | ||
2352 | } else | ||
2353 | screen->saveSloppyWindowGrouping(False); | ||
2354 | |||
2352 | } | 2355 | } |
2353 | 2356 | ||
2354 | 2357 | ||