aboutsummaryrefslogtreecommitdiff
path: root/util/fluxbox-update_configs.cc
diff options
context:
space:
mode:
authorPavel Labath <pavelo@centrum.sk>2011-08-19 15:01:07 (GMT)
committerPavel Labath <pavelo@centrum.sk>2011-11-01 10:04:03 (GMT)
commit8a3c7ff2ac1b615ed8f891814f5b3980b8327aae (patch)
treec0da38ddd391db2b2afd50c2bd569c306c677b4d /util/fluxbox-update_configs.cc
parent18e8f7cd9906728864ecc3e25b2ab3e29070ec8a (diff)
downloadfluxbox_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.cc28
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
61using std::cout; 63using std::cout;
62using std::cerr; 64using std::cerr;
63using std::endl; 65using 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
745void 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/*------------------------------------------------------------------*\