diff options
author | Pavel Labath <pavelo@centrum.sk> | 2011-08-19 15:01:07 (GMT) |
---|---|---|
committer | Pavel Labath <pavelo@centrum.sk> | 2011-11-01 10:04:03 (GMT) |
commit | 8a3c7ff2ac1b615ed8f891814f5b3980b8327aae (patch) | |
tree | c0da38ddd391db2b2afd50c2bd569c306c677b4d /util/fluxbox-update_configs.cc | |
parent | 18e8f7cd9906728864ecc3e25b2ab3e29070ec8a (diff) | |
download | fluxbox_pavel-8a3c7ff2ac1b615ed8f891814f5b3980b8327aae.zip fluxbox_pavel-8a3c7ff2ac1b615ed8f891814f5b3980b8327aae.tar.bz2 |
fluxbox-update_configs: automatically update menu file
To achieve this, I had to partially resurrect (and heavily modify) the old parsing code in
MenuCreator.cc.
Diffstat (limited to 'util/fluxbox-update_configs.cc')
-rw-r--r-- | util/fluxbox-update_configs.cc | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/util/fluxbox-update_configs.cc b/util/fluxbox-update_configs.cc index 883d864..2b24f66 100644 --- a/util/fluxbox-update_configs.cc +++ b/util/fluxbox-update_configs.cc | |||
@@ -19,12 +19,12 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | #include "../src/FbTk/Container.hh" | 22 | #include "FbTk/Container.hh" |
23 | #include "../src/FbTk/I18n.hh" | 23 | #include "FbTk/I18n.hh" |
24 | #include "../src/FbTk/LResource.hh" | 24 | #include "FbTk/LResource.hh" |
25 | #include "../src/FbTk/LuaUtil.hh" | 25 | #include "FbTk/LuaUtil.hh" |
26 | #include "../src/FbTk/StringUtil.hh" | 26 | #include "FbTk/StringUtil.hh" |
27 | #include "../src/FbTk/FileUtil.hh" | 27 | #include "FbTk/FileUtil.hh" |
28 | 28 | ||
29 | #include "../src/defaults.hh" | 29 | #include "../src/defaults.hh" |
30 | #include "../src/Resources.hh" | 30 | #include "../src/Resources.hh" |
@@ -58,6 +58,8 @@ | |||
58 | #include <list> | 58 | #include <list> |
59 | #include <vector> | 59 | #include <vector> |
60 | 60 | ||
61 | #include "MenuConvertor.hh" | ||
62 | |||
61 | using std::cout; | 63 | using std::cout; |
62 | using std::cerr; | 64 | using std::cerr; |
63 | using std::endl; | 65 | using std::endl; |
@@ -740,6 +742,17 @@ void update_keys_for_lua(std::auto_ptr<FbTk::ResourceManager_base>& rm, FbTk::Lu | |||
740 | write_file(FbTk::StringUtil::expandFilename(*rc_keyfile), l.tostring(-1)); | 742 | write_file(FbTk::StringUtil::expandFilename(*rc_keyfile), l.tostring(-1)); |
741 | } | 743 | } |
742 | 744 | ||
745 | void update_menu_for_lua(std::auto_ptr<FbTk::ResourceManager_base>& rm, FbTk::Lua &l) { | ||
746 | FbTk::StringResource rc_menufile(*rm, "~/.fluxbox/menu", "menuFile", "MenuFile"); | ||
747 | Menu menu; | ||
748 | std::ostringstream stream; | ||
749 | |||
750 | MenuConvertor::createFromFile(*rc_menufile, menu); | ||
751 | menu.write(stream); | ||
752 | *rc_menufile = string(*rc_menufile) + ".lua"; | ||
753 | write_file(FbTk::StringUtil::expandFilename(*rc_menufile), stream.str()); | ||
754 | } | ||
755 | |||
743 | /*------------------------------------------------------------------*\ | 756 | /*------------------------------------------------------------------*\ |
744 | \*------------------------------------------------------------------*/ | 757 | \*------------------------------------------------------------------*/ |
745 | 758 | ||
@@ -764,7 +777,8 @@ const Update UPDATES[] = { | |||
764 | { 13, update_limit_nextwindow_to_current_workspace }, | 777 | { 13, update_limit_nextwindow_to_current_workspace }, |
765 | { 14, update_lua_resource_manager }, | 778 | { 14, update_lua_resource_manager }, |
766 | { 15, update_move_slitlist_to_init_file }, | 779 | { 15, update_move_slitlist_to_init_file }, |
767 | { 16, update_keys_for_lua } | 780 | { 16, update_keys_for_lua }, |
781 | { 17, update_menu_for_lua } | ||
768 | }; | 782 | }; |
769 | 783 | ||
770 | /*------------------------------------------------------------------*\ | 784 | /*------------------------------------------------------------------*\ |