diff options
author | rathnor <rathnor> | 2003-02-22 16:09:44 (GMT) |
---|---|---|
committer | rathnor <rathnor> | 2003-02-22 16:09:44 (GMT) |
commit | b1cb6bcf66c00b555711e0fcdf35277667fb4a13 (patch) | |
tree | 6c7ad1844ae8f33ad4e0c1349751c130599906e6 | |
parent | cc2f023a22db212b4097d7756379bb6b9e866b11 (diff) | |
download | fluxbox_paul-b1cb6bcf66c00b555711e0fcdf35277667fb4a13.zip fluxbox_paul-b1cb6bcf66c00b555711e0fcdf35277667fb4a13.tar.bz2 |
fix autoraise to be saved as separate init option
-rw-r--r-- | src/Screen.cc | 5 | ||||
-rw-r--r-- | src/Screen.hh | 8 | ||||
-rw-r--r-- | src/fluxbox.cc | 66 |
3 files changed, 15 insertions, 64 deletions
diff --git a/src/Screen.cc b/src/Screen.cc index 9ca7859..b9a3b21 100644 --- a/src/Screen.cc +++ b/src/Screen.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: Screen.cc,v 1.113 2003/02/22 15:10:43 rathnor Exp $ | 25 | // $Id: Screen.cc,v 1.114 2003/02/22 16:09:44 rathnor Exp $ |
26 | 26 | ||
27 | 27 | ||
28 | #include "Screen.hh" | 28 | #include "Screen.hh" |
@@ -361,6 +361,7 @@ BScreen::ScreenResource::ScreenResource(ResourceManager &rm, | |||
361 | focus_last(rm, true, scrname+".focusLastWindow", altscrname+".FocusLastWindow"), | 361 | focus_last(rm, true, scrname+".focusLastWindow", altscrname+".FocusLastWindow"), |
362 | focus_new(rm, true, scrname+".focusNewWindows", altscrname+".FocusNewWindows"), | 362 | focus_new(rm, true, scrname+".focusNewWindows", altscrname+".FocusNewWindows"), |
363 | antialias(rm, false, scrname+".antialias", altscrname+".Antialias"), | 363 | antialias(rm, false, scrname+".antialias", altscrname+".Antialias"), |
364 | auto_raise(rm, false, scrname+".autoRaise", altscrname+".AutoRaise"), | ||
364 | rootcommand(rm, "", scrname+".rootCommand", altscrname+".RootCommand"), | 365 | rootcommand(rm, "", scrname+".rootCommand", altscrname+".RootCommand"), |
365 | focus_model(rm, Fluxbox::CLICKTOFOCUS, scrname+".focusModel", altscrname+".FocusModel"), | 366 | focus_model(rm, Fluxbox::CLICKTOFOCUS, scrname+".focusModel", altscrname+".FocusModel"), |
366 | workspaces(rm, 1, scrname+".workspaces", altscrname+".Workspaces"), | 367 | workspaces(rm, 1, scrname+".workspaces", altscrname+".Workspaces"), |
@@ -1758,7 +1759,7 @@ void BScreen::setupConfigmenu(FbTk::Menu &menu) { | |||
1758 | ConfigmenuSet, | 1759 | ConfigmenuSet, |
1759 | ConfigmenuAutoRaise, | 1760 | ConfigmenuAutoRaise, |
1760 | "Auto Raise"), | 1761 | "Auto Raise"), |
1761 | resource.auto_raise, | 1762 | *resource.auto_raise, |
1762 | save_and_reconfigure)); | 1763 | save_and_reconfigure)); |
1763 | 1764 | ||
1764 | focus_menu->update(); | 1765 | focus_menu->update(); |
diff --git a/src/Screen.hh b/src/Screen.hh index a30ca40..9488f3c 100644 --- a/src/Screen.hh +++ b/src/Screen.hh | |||
@@ -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: Screen.hh,v 1.70 2003/02/22 15:10:43 rathnor Exp $ | 25 | // $Id: Screen.hh,v 1.71 2003/02/22 16:09:44 rathnor Exp $ |
26 | 26 | ||
27 | #ifndef SCREEN_HH | 27 | #ifndef SCREEN_HH |
28 | #define SCREEN_HH | 28 | #define SCREEN_HH |
@@ -87,7 +87,7 @@ public: | |||
87 | inline bool isSloppyWindowGrouping() const { return *resource.sloppy_window_grouping; } | 87 | inline bool isSloppyWindowGrouping() const { return *resource.sloppy_window_grouping; } |
88 | inline bool isWorkspaceWarping() const { return *resource.workspace_warping; } | 88 | inline bool isWorkspaceWarping() const { return *resource.workspace_warping; } |
89 | inline bool isDesktopWheeling() const { return *resource.desktop_wheeling; } | 89 | inline bool isDesktopWheeling() const { return *resource.desktop_wheeling; } |
90 | inline bool doAutoRaise() const { return resource.auto_raise; } | 90 | inline bool doAutoRaise() const { return *resource.auto_raise; } |
91 | inline bool doImageDither() const { return *resource.image_dither; } | 91 | inline bool doImageDither() const { return *resource.image_dither; } |
92 | inline bool doMaxOverSlit() const { return *resource.max_over_slit; } | 92 | inline bool doMaxOverSlit() const { return *resource.max_over_slit; } |
93 | inline bool doOpaqueMove() const { return *resource.opaque_move; } | 93 | inline bool doOpaqueMove() const { return *resource.opaque_move; } |
@@ -382,10 +382,10 @@ private: | |||
382 | sloppy_window_grouping, workspace_warping, | 382 | sloppy_window_grouping, workspace_warping, |
383 | desktop_wheeling, show_window_pos, | 383 | desktop_wheeling, show_window_pos, |
384 | focus_last, focus_new, | 384 | focus_last, focus_new, |
385 | antialias; | 385 | antialias, auto_raise; |
386 | Resource<std::string> rootcommand; | 386 | Resource<std::string> rootcommand; |
387 | Resource<Fluxbox::FocusModel> focus_model; | 387 | Resource<Fluxbox::FocusModel> focus_model; |
388 | bool auto_raise, ordered_dither; | 388 | bool ordered_dither; |
389 | Resource<int> workspaces, toolbar_width_percent, edge_snap_threshold, | 389 | Resource<int> workspaces, toolbar_width_percent, edge_snap_threshold, |
390 | tab_width, tab_height; | 390 | tab_width, tab_height; |
391 | Resource<Fluxbox::Layer> slit_layernum, toolbar_layernum; | 391 | Resource<Fluxbox::Layer> slit_layernum, toolbar_layernum; |
diff --git a/src/fluxbox.cc b/src/fluxbox.cc index 1cb66a9..4caf6f0 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.98 2003/02/22 15:10:43 rathnor Exp $ | 25 | // $Id: fluxbox.cc,v 1.99 2003/02/22 16:09:44 rathnor Exp $ |
26 | 26 | ||
27 | 27 | ||
28 | #include "fluxbox.hh" | 28 | #include "fluxbox.hh" |
@@ -172,9 +172,14 @@ setFromString(char const *strval) { | |||
172 | template<> | 172 | template<> |
173 | void Resource<Fluxbox::FocusModel>:: | 173 | void Resource<Fluxbox::FocusModel>:: |
174 | setFromString(char const *strval) { | 174 | setFromString(char const *strval) { |
175 | if (strcasecmp(strval, "SloppyFocus") == 0) | 175 | // auto raise options here for backwards read compatibility |
176 | // they are not supported for saving purposes. Nor does the "AutoRaise" | ||
177 | // part actually do anything | ||
178 | if (strcasecmp(strval, "SloppyFocus") == 0 | ||
179 | || strcasecmp(strval, "AutoRaiseSloppyFocus") == 0) | ||
176 | m_value = Fluxbox::SLOPPYFOCUS; | 180 | m_value = Fluxbox::SLOPPYFOCUS; |
177 | else if (strcasecmp(strval, "SemiSloppyFocus") == 0) | 181 | else if (strcasecmp(strval, "SemiSloppyFocus") == 0 |
182 | || strcasecmp(strval, "AutoRaiseSemiSloppyFocus") == 0) | ||
178 | m_value = Fluxbox::SEMISLOPPYFOCUS; | 183 | m_value = Fluxbox::SEMISLOPPYFOCUS; |
179 | else if (strcasecmp(strval, "ClickToFocus") == 0) | 184 | else if (strcasecmp(strval, "ClickToFocus") == 0) |
180 | m_value = Fluxbox::CLICKTOFOCUS; | 185 | m_value = Fluxbox::CLICKTOFOCUS; |
@@ -1744,24 +1749,6 @@ void Fluxbox::save_rc() { | |||
1744 | placement.c_str()); | 1749 | placement.c_str()); |
1745 | XrmPutLineResource(&new_blackboxrc, rc_string); | 1750 | XrmPutLineResource(&new_blackboxrc, rc_string); |
1746 | 1751 | ||
1747 | //TODO | ||
1748 | /* | ||
1749 | std::string focus_mode; | ||
1750 | if (screen->isSloppyFocus() && screen->doAutoRaise()) | ||
1751 | focus_mode = "AutoRaiseSloppyFocus"; | ||
1752 | else if (screen->isSloppyFocus()) | ||
1753 | focus_mode = "SloppyFocus"; | ||
1754 | else if (screen->isSemiSloppyFocus() && screen->doAutoRaise()) | ||
1755 | focus_mode = "AutoRaiseSemiSloppyFocus"; | ||
1756 | else if (screen->isSemiSloppyFocus()) | ||
1757 | focus_mode = "SemiSloppyFocus"; | ||
1758 | else | ||
1759 | focus_mode = "ClickToFocus"; | ||
1760 | |||
1761 | sprintf(rc_string, "session.screen%d.focusModel: %s", screen_number, | ||
1762 | focus_mode.c_str()); | ||
1763 | XrmPutLineResource(&new_blackboxrc, rc_string); | ||
1764 | */ | ||
1765 | // load_rc(screen); | 1752 | // load_rc(screen); |
1766 | // these are static, but may not be saved in the users resource file, | 1753 | // these are static, but may not be saved in the users resource file, |
1767 | // writing these resources will allow the user to edit them at a later | 1754 | // writing these resources will allow the user to edit them at a later |
@@ -1988,43 +1975,6 @@ void Fluxbox::load_rc(BScreen *screen) { | |||
1988 | delete [] search; | 1975 | delete [] search; |
1989 | } | 1976 | } |
1990 | 1977 | ||
1991 | //TODO (use Fluxbox::FocusModel enum) | ||
1992 | /* | ||
1993 | sprintf(name_lookup, "session.screen%d.focusModel", screen_number); | ||
1994 | sprintf(class_lookup, "Session.Screen%d.FocusModel", screen_number); | ||
1995 | if (XrmGetResource(*database, name_lookup, class_lookup, &value_type, | ||
1996 | &value)) { | ||
1997 | if (! strncasecmp(value.addr, "clicktofocus", value.size)) { | ||
1998 | screen->saveAutoRaise(false); | ||
1999 | screen->saveSloppyFocus(false); | ||
2000 | screen->saveSemiSloppyFocus(false); | ||
2001 | |||
2002 | } else if (! strncasecmp(value.addr, "autoraisesloppyfocus", value.size)) { | ||
2003 | screen->saveSemiSloppyFocus(false); | ||
2004 | screen->saveSloppyFocus(true); | ||
2005 | screen->saveAutoRaise(true); | ||
2006 | } else if (! strncasecmp(value.addr, "autoraisesemisloppyfocus", value.size)) { | ||
2007 | screen->saveSloppyFocus(false); | ||
2008 | screen->saveSemiSloppyFocus(true); | ||
2009 | screen->saveAutoRaise(true); | ||
2010 | |||
2011 | } else if (! strncasecmp(value.addr, "semisloppyfocus", value.size)) { | ||
2012 | screen->saveSloppyFocus(false); | ||
2013 | screen->saveSemiSloppyFocus(true); | ||
2014 | screen->saveAutoRaise(false); | ||
2015 | |||
2016 | } else { | ||
2017 | |||
2018 | screen->saveSemiSloppyFocus(false); | ||
2019 | screen->saveSloppyFocus(true); | ||
2020 | screen->saveAutoRaise(false); | ||
2021 | } | ||
2022 | } else { | ||
2023 | screen->saveSemiSloppyFocus(false); | ||
2024 | screen->saveSloppyFocus(true); | ||
2025 | screen->saveAutoRaise(false); | ||
2026 | } | ||
2027 | */ | ||
2028 | sprintf(name_lookup, "session.screen%d.windowPlacement", screen_number); | 1978 | sprintf(name_lookup, "session.screen%d.windowPlacement", screen_number); |
2029 | sprintf(class_lookup, "Session.Screen%d.WindowPlacement", screen_number); | 1979 | sprintf(class_lookup, "Session.Screen%d.WindowPlacement", screen_number); |
2030 | if (XrmGetResource(*database, name_lookup, class_lookup, &value_type, | 1980 | if (XrmGetResource(*database, name_lookup, class_lookup, &value_type, |