From f14c73ed3388a4f995b99e4fedddfc09e2df6e63 Mon Sep 17 00:00:00 2001 From: mathias Date: Fri, 21 Oct 2005 19:23:57 +0000 Subject: Fixed #1223878, Style reloading on USR2 (patch from Zan) cosmetic stuff in StringUtil.cc/hh --- ChangeLog | 135 +++++++++++++++++++++++++------------------------ src/FbTk/StringUtil.cc | 55 ++++++++++---------- src/FbTk/StringUtil.hh | 2 +- src/Screen.cc | 4 ++ 4 files changed, 102 insertions(+), 94 deletions(-) diff --git a/ChangeLog b/ChangeLog index e020c73..4360a01 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ (Format: Year/Month/Day) Changes for 0.9.15: +*05/10/21: + * Fixed #1223878, Style reloading on USR2 (thanx Zan) + Screen.cc *05/10/20: * Fixed bug #1327878. (Henrik) Appending backslash to () and [] characters in the apps file @@ -21,7 +24,7 @@ Changes for 0.9.15: src/ScreenResources.cc * Use fbsetroot in Default-Styles (Mathias) data/styles/* -------------------------------------------------------------- +------------------------------------------------------------- Changes for 0.9.14: *05/09/12: * Fixes #1281708, MenuIcon doesnt scale properly (thanx Erik-Jan) @@ -72,7 +75,7 @@ Changes for 0.9.14: - ClickFocus - change the focus to the window the user clicks - MouseTabFocus - change active tabclient to the one under the mouse in titlebar, does NOT change the focus - - ClickTabFocus - change active tabclient when clicked onto a + - ClickTabFocus - change active tabclient when clicked onto a tabbutton to achieve former SemiSloppyFocus behavior one needs MouseFocus and ClickTabFocus @@ -110,7 +113,7 @@ Changes for 0.9.14: * Little reordering of ToolbarMenu items (Mathias) Toolbar.cc *05/06/23: - * Moved window menu from FluxboxWindow to BScreen, so + * Moved window menu from FluxboxWindow to BScreen, so we now use one window menu per screen instead of one menu per window, thus saving memory and increasing speed. (Henrik) Makefile.am, WindowCmd.hh/cc, LayerMenu.hh/cc, @@ -167,7 +170,7 @@ Changes for 0.9.14: - Removed "antialias"-option completly, to enable/disable "antialias" use either :antialias= in the style or use Xft.antialias: in your .Xdefaults - - Added new styleresources: + - Added new styleresources: *.font.effect: *.font.shadow.x : - shadow x offset *.font.shadow.y : - shadow y offset @@ -201,7 +204,7 @@ Changes for 0.9.14: fbrun/main.cc fbrun/FbRun.cc *05/06/02: * Fixed _BLACKBOX_NOTIFY_WINDOW_ADD issue (thanx Vadim) - _BLACKBOX_NOTIFY_WINDOW_ADD was emited before _NET_CLIENT_LIST + _BLACKBOX_NOTIFY_WINDOW_ADD was emited before _NET_CLIENT_LIST and _NET_CLIENT_LIST_STACKING lists updates. Screen.cc * Fixed iconified windows disappear from _NET_CLIENT_LIST (thanx Vadim) @@ -214,7 +217,7 @@ Changes for 0.9.14: *05/05/27: * Bugfix, install directory for keys, menu, init (Thanks php-coder) data/Makefile.am - * Belarusian language translation + * Belarusian language translation (Thanks Kirill A. Shutemov, k.shutemov at sam-solutions d0t net) configure.in, nls/Makefile.am, be_BY/* *05/05/21: @@ -229,18 +232,18 @@ Changes for 0.9.14: * Added new configure option --with-locale=path redirects location of nls directories. (Thanks php-coder at altlinux dot ru) - configure.in, nls/*/Makefile.am, + configure.in, nls/*/Makefile.am, *05/05/17: * Fix systemtray overlap (Simon + Thanks Vadim) SystemTray.cc *05/05/14: * Fix some Ewmh/Gnome issues (Mathias + thanx Vadim) - + _NET_CLIENT_LIST and _NET_CLIENT_LIST_STACKING not updated + + _NET_CLIENT_LIST and _NET_CLIENT_LIST_STACKING not updated when sending _BLACKBOX_NOTIFY_WINDOW_DEL + _NET_WM_DESKTOP and _WIN_WORKSPACE had wrong initial values (-1), which lead to probems with (eg) fbpager Ewmh.cc/hh Gnome.cc -------------------------------------------------------------- +------------------------------------------------------------- Changes for 0.9.13 *05/05/13: * Fix a segfault crash, and a similar potential one (Simon) @@ -286,7 +289,7 @@ Changes for 0.9.13 etc. - MenuIcon - click on it provides the windowmenu, if the app contains a pixmap (gvim, konqueror etc etc) the pixmap is displayed, a - little menu otherwise. + little menu otherwise. Styleresources: window.menuicon.pixmap, window.menuicon.unfocus.pixmap window.menuicon.pressed.pixmap etc. @@ -311,7 +314,7 @@ Changes for 0.9.13 leads to broken NextWindow/PrevWindow and broken fbrun/CommandDialog: - be aware of what xkb is doing to the event.state - minor cleaning - CommandDialog.cc WorkspaceCmd.cc Keys.cc FbTk/KeyUtil.cc/hh + CommandDialog.cc WorkspaceCmd.cc Keys.cc FbTk/KeyUtil.cc/hh FbTk/TextBox.cc fluxbox.cc FbRun.cc *05/05/03: * Fix drawing of no-title menus, plus updating of int menu items (Simon) @@ -325,7 +328,7 @@ Changes for 0.9.13 * Added FbTk::Select2nd + more code cleaning (Henrik) This returns .second from operator ()(Someclass &a) Usefull for std::map loops. - FbTk/Select2nd.hh, Window.cc, Screen.cc, fluxbox.cc/hh + FbTk/Select2nd.hh, Window.cc, Screen.cc, fluxbox.cc/hh * Cleaning, (Henrik) Create/delete tabs with FbWinFrame::createTab/removeTab FbWinFrame.hh/cc, Window.cc @@ -342,15 +345,15 @@ Changes for 0.9.13 * Fixed transient bug. (Henrik) #1157361 inconsistent behavior of Java dialogs. Transients that are created before the transient_for window - gets copied to a transient_for waiting list and when the - transient_for window is created the transients are updated, + gets copied to a transient_for waiting list and when the + transient_for window is created the transients are updated, When raising a transient window the window gets placed last - in the transient list so it gets raised last and thus gets + in the transient list so it gets raised last and thus gets places above. - WinClient.hh/cc, Window.cc + WinClient.hh/cc, Window.cc *05/04/28: * Revert Mathias's little change to my patch, and fix it properly :) (Simon) - FbTk/FbWindow.cc/hh FbWinFrame.cc + FbTk/FbWindow.cc/hh FbWinFrame.cc *05/04/27: * Fix some initialisation, plus setting background too much (Simon + Mathias) FbTk/FbWindow.cc/hh FbWinFrame.cc @@ -377,8 +380,8 @@ Changes for 0.9.13 * Fix systray icon sizing (send a configurenotify on resize) (Simon) SystemTray.cc WinClient.hh/cc FbTk/FbWindow.hh/cc Window.cc * Extension of previous patch, pushing various bits of menu items and - text buttons onto the background, and fixing various issues (Simon) - + Incidentally, adds some new theme items (due to backwards + text buttons onto the background, and fixing various issues (Simon) + + Incidentally, adds some new theme items (due to backwards compatibility fix): - menu.hilite.submenu.pixmap: - menu.hilite.selected.pixmap: @@ -386,9 +389,9 @@ Changes for 0.9.13 These are equivalent to the no-.hilite ones, except are shown when the item is highlighted... FbTk/... - Menu.hh/cc MenuItem.hh/cc MenuTheme.hh/cc TextButton.hh/cc + Menu.hh/cc MenuItem.hh/cc MenuTheme.hh/cc TextButton.hh/cc FbWindow.hh/cc MenuIcon.hh/cc - FbWinFrame.hh/cc IconButton.hh/cc ToggleMenu.hh Window.cc + FbWinFrame.hh/cc IconButton.hh/cc ToggleMenu.hh Window.cc *05/04/25: * Fixed #1188690, fbrun segfault (Mathias) FbTk/App.cc @@ -420,7 +423,7 @@ Changes for 0.9.13 WorkspaceCmd.cc *05/04/20: * Fixed problem with _NET_WM_STRUT (Mathias) - WinClient.cc + WinClient.cc *05/04/18: * Fixed problem with WindowSnapping (Mathias) Window.cc Slit.cc @@ -435,28 +438,28 @@ Changes for 0.9.13 + Massively reduce pixmap memory usage (view with xrestop) + Should also improve startup+style change times, esp for large menus + This introduces a few rendering bugs, but I'd like stuff tested - + Transparency is done differently now. People shouldn't need to + + Transparency is done differently now. People shouldn't need to call updateTransparent. - + Do not use persistent pixmap buffers unless you're sure! - XSetWindowBackground already copies/buffers the set pixmap, so - things need to be rendered to a temp pixmap once, then can be + + Do not use persistent pixmap buffers unless you're sure! + XSetWindowBackground already copies/buffers the set pixmap, so + things need to be rendered to a temp pixmap once, then can be freed. Known bugs (please report others to Rathnor on #fluxbox): - - different focus/unfocus transparency doesn't update labelbuttons + - different focus/unfocus transparency doesn't update labelbuttons properly. Workaround: use same transparency for both. - - Text sometimes gets overdrawn a lot. Probably should render it to + - Text sometimes gets overdrawn a lot. Probably should render it to background using a virtual hook in FbWindow::updateBackground - Changing style resizes things, not all pixmaps updated properly Workaround: restart fluxbox after changing style - Probably breaks Composite support. Let me know how. TODO: - + FbPixmap::getRootPixmap called very often. It should cache the + + FbPixmap::getRootPixmap called very often. It should cache the result and watch the relevant properties. Changed: FbTk/ FbWindow.hh/cc Button.hh/cc Menu.hh/cc TextButton.hh/cc Transparent.hh/cc FbPixmap.cc - Window.hh/cc FbWinFrame.hh/cc fluxbox.hh/cc ArrowButton.cc - ButtonTool.cc Container.cc GenericTool.cc Slit.cc ToggleMenu.hh + Window.hh/cc FbWinFrame.hh/cc fluxbox.hh/cc ArrowButton.cc + ButtonTool.cc Container.cc GenericTool.cc Slit.cc ToggleMenu.hh Toolbar.cc WinButton.hh/cc WinClient.cc *05/04/09: * minor fix to startfluxbox (Mathias) @@ -476,16 +479,16 @@ Changes for 0.9.13 * added -c to 'startfluxbox' (Mathias) * fix for gravity field on _NET_MOVERESIZE_WINDOW (thanx to Rob Stevens) Ewmh.cc, Window.(cc,hh), FbWinFrame.(cc,hh) - * added new option to specify, on which screen fluxbox should handle - the windows. default behavior is to handle each available screen. + * added new option to specify, on which screen fluxbox should handle + the windows. default behavior is to handle each available screen. closes #1159809. (Mathias) -screen <"all"|int[,int]> - eg: - - $> fluxbox -screen 0,2 will run fluxbox on 0.0 and 0.2 so - one can run any other wm on 0.1. + eg: + + $> fluxbox -screen 0,2 will run fluxbox on 0.0 and 0.2 so + one can run any other wm on 0.1. $> fluxbox -screen all default, fluxbox manages all screens fluxbox.cc fluxbox.hh @@ -499,11 +502,11 @@ Changes for 0.9.13 *05/03/11: * Remove trailing whitespaces from any command (Mathias) CommandParser.cc - * Fix usage of 'which' - test behaviour of which to choose usage + * Fix usage of 'which' - test behaviour of which to choose usage method, rather than guessing based on system (Simon) fbsetbg fluxbox-generate_menu.in *05/02/13: - * Romanian translation update for fluxbox-generate_menu + * Romanian translation update for fluxbox-generate_menu (Thanks Costin Stroie) * Added stringstream.hh to FbTk (Henrik) using FbTk_istringstream from this one. @@ -561,14 +564,14 @@ Changes for 0.9.13 execl needs NULL termination, on 64-bit-systems '0' would expand expand to a 32bit integer, not a 64bit pointer. src/FbCommands.cc util/fbrun/FbRun.cc -------------------------------------------------------------- +------------------------------------------------------------- Changes for 0.9.12 *05/01/15: * Added menutest.cc to src/tests (Henrik) testing menu parser and theme *05/01/14: * Fix for #1091710 (SystemTray is not covered by StyleStuff) (Mathias) - SystemTray is now configurable via styles thru the + SystemTray is now configurable via styles thru the toolbar.systray.* - resource, it falls back to the look of the clock SystemTray.cc/hh ToolFactory.cc/hh *05/01/12: @@ -582,9 +585,9 @@ Changes for 0.9.12 * Fix position initialisation from apps file (Simon) Window.cc *05/01/05: - * Tidy up initialisation a bit better. Handlers can still use "action" - functions (e.g. stick()), but those functions should now check if - isInitialised and only set the state variables (not send signals + * Tidy up initialisation a bit better. Handlers can still use "action" + functions (e.g. stick()), but those functions should now check if + isInitialised and only set the state variables (not send signals etc) if not. Window.hh/cc Ewmh.cc * Fix for BScreen::reassociateWindow (Mathias) @@ -599,7 +602,7 @@ Changes for 0.9.12 * Added --with-style=/path/to/default/style (thanx php-coder) * Updated ru_RU (thanx php-coder) ru_RU/Translation.m - * Fix some initialisation states, especially window placement with no + * Fix some initialisation states, especially window placement with no decorations through apps (e.g. aterm) (Simon) Window.hh/cc Screen.cc Ewmh.cc *05/01/02: @@ -661,14 +664,14 @@ Changes for 0.9.12 * Fixed DragNDrop - Sorting of tabs (thanx Rob Stevens) Window.cc/hh FbWinFrame.cc *04/12/10: - * Added Tab command, which goes to a specific tab number + * Added Tab command, which goes to a specific tab number action: Tab ex: Mod1 1 :Tab 1 Mod2 3 :Tab 3 (Thanks Steeve Lennmark ) - CurrentWindowCmd.hh/cc, FbCommandFactory.cc + CurrentWindowCmd.hh/cc, FbCommandFactory.cc * Close #1080323, missing header (Mathias) FbTk/FbPixmap.cc * Fix issue with maximizing shaded windows, #1082671 (Mathias) @@ -681,12 +684,12 @@ Changes for 0.9.12 ClockTool.cc * SlitClientMenu had with wheelup/down sometimes (Mathias) Slit.cc -------------------------------------------------------------- +------------------------------------------------------------- Changes for 0.9.11 *04/12/02: * New features for the Slit (Mathias) - left click on Slitclient-menu enables/disables item - - wheel or middle/right-click on the items move them up / down in + - wheel or middle/right-click on the items move them up / down in the slit - minor visual change of the menu, added a "Save SlitList" - entry Slit.cc/hh @@ -729,7 +732,7 @@ Changes for 0.9.11 * Fix UnderMousePlacement, patch #1052534, close #1048000 (thanx Mike) src/Workspace.cc *04/11/20: - * Fix for (possible) segfaults at Restart/Exit + * Fix for (possible) segfaults at Restart/Exit and fix start of former iconic windows (Mathias) should close #1067582, #1067580, #1060912 fluxbox.cc Screen.cc @@ -754,7 +757,7 @@ Changes for 0.9.11 src/FbTk/Remember.cc *04/11/07: * Fix a problem with snapping windows (Mathias) - decorationless windows have a borderWidth of 0 -> problems at + decorationless windows have a borderWidth of 0 -> problems at the right and bottom border. src/Window.cc *04/11/01: @@ -815,7 +818,7 @@ Changes for 0.9.11 Ignore - ignore the activated window Follow - go to the workspace of the window - Current | CurrentWorkspace | Fetch - get the window onto the + Current | CurrentWorkspace | Fetch - get the window onto the current workspace Screen.hh/cc ScreenResource.cc Ewmh.cc @@ -825,7 +828,7 @@ Changes for 0.9.11 *04/10/10: * Fix for a minor fbrun - problem (Mathias) FbRun.cc - * Added session.screen0.iconbar.iconTextPadding and + * Added session.screen0.iconbar.iconTextPadding and session.tabPadding (Mathias) - defines the space between the text and the border of the buttons fluxbox.hh/cc IconbarTool.hh/cc FbWinFrame.cc FbTk/TextBox.hh/cc @@ -853,7 +856,7 @@ Changes for 0.9.11 bsetroot.cc * Fixed multiple TextButton issues (Mathias): - fixed some keymovement issues inside TextButtons - - a ButtonPress into a TextButton places the Cursor to the + - a ButtonPress into a TextButton places the Cursor to the right place now - cleaned the CommandDialog a bit CommandDialog.(hh|cc) FbTk/TextButton.(cc|hh) @@ -868,7 +871,7 @@ Changes for 0.9.11 * Fix handling of setlocale return (Thanks Victor Yegorov) FbTk/XmbFontImp.cc *04/09/30: - * Fix to show title of current tabbed-window as the label of the + * Fix to show title of current tabbed-window as the label of the iconbar-button-group (Mathias) Window.cc * Fixed typo nls/pl_PL/Translation.m (Mathias) @@ -886,21 +889,21 @@ Changes for 0.9.11 *04/09/12: * Preliminary support for Composite extension (Simon) - Relies on external compositing manager using _NET_WM_WINDOW_OPACITY - - NOTE: Also make alpha resource setting more consistent. + - NOTE: Also make alpha resource setting more consistent. Alpha values are no longer in theme, but are in init file. Possible values are (all beginning with session.screenN.), * means changed/new: - menu.alpha (*) - - slit.alpha + - slit.alpha - window.focus.alpha (*) - window.unfocus.alpha (*) - toolbar.alpha (*) - - Changed menu around a bit. If you don't have/want a compositing + - Changed menu around a bit. If you don't have/want a compositing manager, but Composite is enabled, you can override it by setting - session.forcePseudoTransparency: true + session.forcePseudoTransparency: true - Fix a couple of bugs with transparency in toolbar/buttons - fluxbox.hh/cc Screen.hh/cc FbWinFrame.hh/cc FbWinFrameTheme.hh/cc - Slit.hh/cc Toolbar.hh/cc ToolbarTheme.hh/cc ToolbarItem.hh - ToolFactory.cc *Tool.hh/cc ArrowButton.cc FbTk/FbWindow.hh/cc + fluxbox.hh/cc Screen.hh/cc FbWinFrame.hh/cc FbWinFrameTheme.hh/cc + Slit.hh/cc Toolbar.hh/cc ToolbarTheme.hh/cc ToolbarItem.hh + ToolFactory.cc *Tool.hh/cc ArrowButton.cc FbTk/FbWindow.hh/cc FbTk/Transparent.hh/cc FbTk/Menu.cc * Minor cleaning, moved Resource<> from fluxbox.cc to Resources.cc (Henrik) *04/09/11: @@ -909,13 +912,13 @@ Changes for 0.9.11 It will include each file in the path into the menu (Thanks Ciaran McCreesh) MenuCreator.cc - * Fix for backup of empty or non existing menu + * Fix for backup of empty or non existing menu (Thanks php-coder ) fluxbox-generate_menu.in - * Font::drawText now takes a referens to FbTk::FbDrawable as first argument + * Font::drawText now takes a referens to FbTk::FbDrawable as first argument instead of X Drawable (Henrik) * Code cleaning (Henrik) - fluxbox.cc, Slit.cc/hh, FbCommands.cc + fluxbox.cc, Slit.cc/hh, FbCommands.cc * display() access function for FbDrawable (Henrik) * Fix some more X errors from XRender calls (Simon) - also fixes some menu background update issues @@ -2157,7 +2160,7 @@ Changes for 0.9.6: IconbarTool.cc *03/09/14: * Fixed minor bug in stick pressed button (Henrik) - WinButton.cc + Button.cc * Focus fixes (Simon) Hopefully fixes mysterious instances of focus not being set right. Window.cc fluxbox.cc diff --git a/src/FbTk/StringUtil.cc b/src/FbTk/StringUtil.cc index 3066615..1c1597a 100644 --- a/src/FbTk/StringUtil.cc +++ b/src/FbTk/StringUtil.cc @@ -50,7 +50,8 @@ #include #include -using namespace std; +using std::string; +using std::transform; namespace FbTk { @@ -92,11 +93,11 @@ const char *strcasestr(const char *str, const char *ptn) { if ~ then expand it to home of user returns expanded filename */ -string expandFilename(const std::string &filename) { +string expandFilename(const string &filename) { string retval; size_t pos = filename.find_first_not_of(" \t"); - if (pos != std::string::npos && filename[pos] == '~') { - retval = getenv("HOME"); + if (pos != string::npos && filename[pos] == '~') { + retval = getenv("HOME"); if (pos != filename.size()) { // copy from the character after '~' retval += static_cast(filename.c_str() + pos + 1); @@ -110,16 +111,16 @@ string expandFilename(const std::string &filename) { /** @return string from last "." to end of string */ -string findExtension(const std::string &filename) { +string findExtension(const string &filename) { //get start of extension - std::string::size_type start_pos = filename.find_last_of("."); - if (start_pos == std::string::npos && start_pos != filename.size()) + string::size_type start_pos = filename.find_last_of("."); + if (start_pos == string::npos && start_pos != filename.size()) return ""; // return from last . to end of string return filename.substr(start_pos + 1); } -string replaceString(const std::string &original, +string replaceString(const string &original, const char *findthis, const char *replace) { int i=0; @@ -128,7 +129,7 @@ string replaceString(const std::string &original, string ret_str(original); while (i < ret_str.size()) { i = ret_str.find(findthis, i); - if (i == std::string::npos) + if (i == string::npos) break; // erase old string and insert replacement ret_str.erase(i, size_of_find); @@ -150,31 +151,31 @@ string replaceString(const std::string &original, for the position + 1 in the in-string where the "last"-char value was found. */ -int getStringBetween(std::string& out, const char *instr, const char first, const char last, +int getStringBetween(string& out, const char *instr, const char first, const char last, const char *ok_chars, bool allow_nesting) { assert(first); assert(last); assert(instr); - std::string::size_type i = 0, - total_add=0; //used to add extra if there is a \last to skip - std::string in(instr); + string::size_type i = 0; + string::size_type total_add=0; //used to add extra if there is a \last to skip + string in(instr); // eat leading whitespace i = in.find_first_not_of(ok_chars); - if (i == std::string::npos) + if (i == string::npos) return -in.size(); // nothing left but whitespace if (in[i]!=first) return -i; //return position to error // find the end of the token - std::string::size_type j = i, k; + string::size_type j = i, k; int nesting = 0; while (1) { k = in.find_first_of(first, j+1); j = in.find_first_of(last, j+1); - if (j==std::string::npos) + if (j==string::npos) return -in.size(); //send negative size if (allow_nesting && k < j && in[k-1] != '\\') { @@ -199,26 +200,26 @@ int getStringBetween(std::string& out, const char *instr, const char first, cons return (j+1+total_add); } -std::string toLower(const std::string &conv) { - std::string ret = conv; - std::transform(ret.begin(), ret.end(), ret.begin(), tolower); +string toLower(const string &conv) { + string ret = conv; + transform(ret.begin(), ret.end(), ret.begin(), tolower); return ret; } -std::string toUpper(const std::string &conv) { - std::string ret = conv; - std::transform(ret.begin(), ret.end(), ret.begin(), toupper); +string toUpper(const string &conv) { + string ret = conv; + transform(ret.begin(), ret.end(), ret.begin(), toupper); return ret; } -std::string basename(const std::string &filename) { - std::string::size_type first_pos = filename.find_last_of("/"); - if (first_pos != std::string::npos) +string basename(const string &filename) { + string::size_type first_pos = filename.find_last_of("/"); + if (first_pos != string::npos) return filename.substr(first_pos + 1); return filename; } -string::size_type removeFirstWhitespace(std::string &str) { +string::size_type removeFirstWhitespace(string &str) { string::size_type first_pos = str.find_first_not_of(" \t"); if (first_pos != string::npos) str.erase(0, first_pos); @@ -226,7 +227,7 @@ string::size_type removeFirstWhitespace(std::string &str) { } -string::size_type removeTrailingWhitespace(std::string &str) { +string::size_type removeTrailingWhitespace(string &str) { // strip trailing whitespace string::size_type first_pos = str.find_last_not_of(" \t"); if (first_pos != string::npos) { diff --git a/src/FbTk/StringUtil.hh b/src/FbTk/StringUtil.hh index b79b46a..3e1077f 100644 --- a/src/FbTk/StringUtil.hh +++ b/src/FbTk/StringUtil.hh @@ -45,7 +45,7 @@ std::string findExtension(const std::string &filename); std::string replaceString(const std::string &original, const char *find_string, const char *replace); - + /// returns string between character first and last int getStringBetween(std::string& out, const char *instr, char first, char last, diff --git a/src/Screen.cc b/src/Screen.cc index 4433000..80c382f 100644 --- a/src/Screen.cc +++ b/src/Screen.cc @@ -683,6 +683,7 @@ void BScreen::hideWindowMenus(const FluxboxWindow* except) { void BScreen::reconfigure() { + Fluxbox *fluxbox = Fluxbox::instance(); m_windowtheme->setFocusedAlpha(*resource.focused_alpha); m_windowtheme->setUnfocusedAlpha(*resource.unfocused_alpha); @@ -786,6 +787,9 @@ void BScreen::reconfigure() { // notify objects that the screen is reconfigured m_reconfigure_sig.notify(); + // Reload style + FbTk::ThemeManager::instance().load(fluxbox->getStyleFilename(), + m_root_theme->screenNum()); } -- cgit v0.11.2