diff options
Diffstat (limited to 'util')
-rw-r--r-- | util/fluxbox-update_configs.cc | 63 |
1 files changed, 50 insertions, 13 deletions
diff --git a/util/fluxbox-update_configs.cc b/util/fluxbox-update_configs.cc index 89b355f..ac1d2a2 100644 --- a/util/fluxbox-update_configs.cc +++ b/util/fluxbox-update_configs.cc | |||
@@ -34,8 +34,8 @@ | |||
34 | #endif // HAVE_SIGNAL_H | 34 | #endif // HAVE_SIGNAL_H |
35 | 35 | ||
36 | //use GNU extensions | 36 | //use GNU extensions |
37 | #ifndef _GNU_SOURCE | 37 | #ifndef _GNU_SOURCE |
38 | #define _GNU_SOURCE | 38 | #define _GNU_SOURCE |
39 | #endif // _GNU_SOURCE | 39 | #endif // _GNU_SOURCE |
40 | 40 | ||
41 | #ifdef HAVE_CSTRING | 41 | #ifdef HAVE_CSTRING |
@@ -81,9 +81,9 @@ int run_updates(int old_version, FbTk::ResourceManager &rm) { | |||
81 | string new_keyfile = ""; | 81 | string new_keyfile = ""; |
82 | // let's put our new keybindings first, so they're easy to find | 82 | // let's put our new keybindings first, so they're easy to find |
83 | new_keyfile += "!mouse actions added by fluxbox-update_configs\n"; | 83 | new_keyfile += "!mouse actions added by fluxbox-update_configs\n"; |
84 | new_keyfile += "OnDesktop Mouse1 :hideMenus\n"; | 84 | new_keyfile += "OnDesktop Mouse1 :HideMenus\n"; |
85 | new_keyfile += "OnDesktop Mouse2 :workspaceMenu\n"; | 85 | new_keyfile += "OnDesktop Mouse2 :WorkspaceMenu\n"; |
86 | new_keyfile += "OnDesktop Mouse3 :rootMenu\n"; | 86 | new_keyfile += "OnDesktop Mouse3 :RootMenu\n"; |
87 | 87 | ||
88 | // scrolling on desktop needs to match user's desktop wheeling settings | 88 | // scrolling on desktop needs to match user's desktop wheeling settings |
89 | // hmmm, what are the odds that somebody wants this to be different on | 89 | // hmmm, what are the odds that somebody wants this to be different on |
@@ -97,11 +97,11 @@ int run_updates(int old_version, FbTk::ResourceManager &rm) { | |||
97 | "Session.Screen0.ReverseWheeling"); | 97 | "Session.Screen0.ReverseWheeling"); |
98 | if (*rc_wheeling) { | 98 | if (*rc_wheeling) { |
99 | if (*rc_reverse) { // if you ask me, this should have been default | 99 | if (*rc_reverse) { // if you ask me, this should have been default |
100 | new_keyfile += "OnDesktop Mouse4 :prevWorkspace\n"; | 100 | new_keyfile += "OnDesktop Mouse4 :PrevWorkspace\n"; |
101 | new_keyfile += "OnDesktop Mouse5 :nextWorkspace\n"; | 101 | new_keyfile += "OnDesktop Mouse5 :NextWorkspace\n"; |
102 | } else { | 102 | } else { |
103 | new_keyfile += "OnDesktop Mouse4 :nextWorkspace\n"; | 103 | new_keyfile += "OnDesktop Mouse4 :NextWorkspace\n"; |
104 | new_keyfile += "OnDesktop Mouse5 :prevWorkspace\n"; | 104 | new_keyfile += "OnDesktop Mouse5 :PrevWorkspace\n"; |
105 | } | 105 | } |
106 | } | 106 | } |
107 | new_keyfile += "\n"; // just for good looks | 107 | new_keyfile += "\n"; // just for good looks |
@@ -167,11 +167,11 @@ int run_updates(int old_version, FbTk::ResourceManager &rm) { | |||
167 | (strcasecmp((*rc_wheeling).c_str(), "Screen") && *rc_screen)) { | 167 | (strcasecmp((*rc_wheeling).c_str(), "Screen") && *rc_screen)) { |
168 | keep_changes = true; | 168 | keep_changes = true; |
169 | if (*rc_reverse) { // if you ask me, this should have been default | 169 | if (*rc_reverse) { // if you ask me, this should have been default |
170 | new_keyfile += "OnToolbar Mouse4 :prevWorkspace\n"; | 170 | new_keyfile += "OnToolbar Mouse4 :PrevWorkspace\n"; |
171 | new_keyfile += "OnToolbar Mouse5 :nextWorkspace\n"; | 171 | new_keyfile += "OnToolbar Mouse5 :NextWorkspace\n"; |
172 | } else { | 172 | } else { |
173 | new_keyfile += "OnToolbar Mouse4 :nextWorkspace\n"; | 173 | new_keyfile += "OnToolbar Mouse4 :NextWorkspace\n"; |
174 | new_keyfile += "OnToolbar Mouse5 :prevWorkspace\n"; | 174 | new_keyfile += "OnToolbar Mouse5 :PrevWorkspace\n"; |
175 | } | 175 | } |
176 | } | 176 | } |
177 | new_keyfile += "\n"; // just for good looks | 177 | new_keyfile += "\n"; // just for good looks |
@@ -239,6 +239,43 @@ int run_updates(int old_version, FbTk::ResourceManager &rm) { | |||
239 | new_version = 5; | 239 | new_version = 5; |
240 | } | 240 | } |
241 | 241 | ||
242 | if (old_version < 6) { // move titlebar actions to keys file | ||
243 | string whole_keyfile = read_file(keyfilename); | ||
244 | string new_keyfile = ""; | ||
245 | // let's put our new keybindings first, so they're easy to find | ||
246 | new_keyfile += "!mouse actions added by fluxbox-update_configs\n"; | ||
247 | new_keyfile += "OnTitlebar Double Mouse1 :Shade\n"; | ||
248 | new_keyfile += "OnTitlebar Mouse3 :Windowmenu\n"; | ||
249 | new_keyfile += "OnTitlebar Mouse2 :Lower\n"; | ||
250 | |||
251 | FbTk::Resource<bool> rc_reverse(rm, false,"session.screen0.reversewheeling", "Session.Screen0.ReverseWheeling"); | ||
252 | FbTk::Resource<std::string> scroll_action(rm, "", "session.screen0.windowScrollAction", "Session.Screen0.WindowScrollAction"); | ||
253 | if (strcasecmp((*scroll_action).c_str(), "shade") == 0) { | ||
254 | if (*rc_reverse) { | ||
255 | new_keyfile += "OnTitlebar Mouse5 :ShadeOn\n"; | ||
256 | new_keyfile += "OnTitlebar Mouse4 :ShadeOff\n"; | ||
257 | } else { | ||
258 | new_keyfile += "OnTitlebar Mouse4 :ShadeOn\n"; | ||
259 | new_keyfile += "OnTitlebar Mouse5 :ShadeOff\n"; | ||
260 | } | ||
261 | } else if (strcasecmp((*scroll_action).c_str(), "nexttab") == 0) { | ||
262 | if (*rc_reverse) { | ||
263 | new_keyfile += "OnTitlebar Mouse5 :PrevTab\n"; | ||
264 | new_keyfile += "OnTitlebar Mouse4 :NextTab\n"; | ||
265 | } else { | ||
266 | new_keyfile += "OnTitlebar Mouse4 :PrevTab\n"; | ||
267 | new_keyfile += "OnTitlebar Mouse5 :NextTab\n"; | ||
268 | } | ||
269 | } | ||
270 | |||
271 | new_keyfile += "\n"; // just for good looks | ||
272 | new_keyfile += whole_keyfile; // don't forget user's old keybindings | ||
273 | |||
274 | write_file(keyfilename, new_keyfile); | ||
275 | |||
276 | new_version = 6; | ||
277 | } | ||
278 | |||
242 | return new_version; | 279 | return new_version; |
243 | } | 280 | } |
244 | 281 | ||