diff options
Diffstat (limited to 'src/fluxbox.cc')
-rw-r--r-- | src/fluxbox.cc | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc index 60faf2a..6369212 100644 --- a/src/fluxbox.cc +++ b/src/fluxbox.cc | |||
@@ -1,6 +1,6 @@ | |||
1 | // fluxbox.cc for Fluxbox. | 1 | // fluxbox.cc for Fluxbox. |
2 | // Copyright (c) 2001 Henrik Kinnunen (fluxgen@linuxmail.org) | 2 | // Copyright (c) 2001 Henrik Kinnunen (fluxgen@linuxmail.org) |
3 | 3 | // | |
4 | // blackbox.cc for blackbox - an X11 Window manager | 4 | // blackbox.cc for blackbox - an X11 Window manager |
5 | // Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net) | 5 | // Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net) |
6 | // | 6 | // |
@@ -116,6 +116,8 @@ | |||
116 | 116 | ||
117 | #include <iostream> | 117 | #include <iostream> |
118 | #include <string> | 118 | #include <string> |
119 | #include <strstream> | ||
120 | using namespace std; | ||
119 | 121 | ||
120 | #ifndef HAVE_BASENAME | 122 | #ifndef HAVE_BASENAME |
121 | static inline char *basename (char *); | 123 | static inline char *basename (char *); |
@@ -131,7 +133,7 @@ static inline char *basename (char *s) { | |||
131 | #define RC_PATH "fluxbox" | 133 | #define RC_PATH "fluxbox" |
132 | #define RC_INIT_FILE "init" | 134 | #define RC_INIT_FILE "init" |
133 | 135 | ||
134 | using namespace std; | 136 | |
135 | // X event scanner for enter/leave notifies - adapted from twm | 137 | // X event scanner for enter/leave notifies - adapted from twm |
136 | typedef struct scanargs { | 138 | typedef struct scanargs { |
137 | Window w; | 139 | Window w; |
@@ -165,7 +167,7 @@ Fluxbox *Fluxbox::instance(int m_argc, char **m_argv, char *dpy_name, char *rc) | |||
165 | 167 | ||
166 | 168 | ||
167 | Fluxbox::Fluxbox(int m_argc, char **m_argv, char *dpy_name, char *rc) | 169 | Fluxbox::Fluxbox(int m_argc, char **m_argv, char *dpy_name, char *rc) |
168 | : BaseDisplay(m_argv[0], dpy_name) | 170 | : BaseDisplay(m_argv[0], dpy_name) |
169 | { | 171 | { |
170 | 172 | ||
171 | //singleton pointer | 173 | //singleton pointer |
@@ -262,7 +264,7 @@ Fluxbox::Fluxbox(int m_argc, char **m_argv, char *dpy_name, char *rc) | |||
262 | timer->fireOnce(True); | 264 | timer->fireOnce(True); |
263 | 265 | ||
264 | //create keybindings handler and load keys file | 266 | //create keybindings handler and load keys file |
265 | key = new Keys(resource.keys_file); | 267 | key = new Keys(getXDisplay(), resource.keys_file); |
266 | 268 | ||
267 | ungrab(); | 269 | ungrab(); |
268 | } | 270 | } |
@@ -1689,17 +1691,17 @@ void Fluxbox::save_rc(void) { | |||
1689 | delete [] dbfile; | 1691 | delete [] dbfile; |
1690 | } | 1692 | } |
1691 | 1693 | ||
1692 | //getRcFilename | 1694 | //-------- getRcFilename ------------- |
1693 | //returns filename of resource file | 1695 | // Returns filename of resource file |
1696 | //------------------------------------ | ||
1694 | char *Fluxbox::getRcFilename() { | 1697 | char *Fluxbox::getRcFilename() { |
1695 | char *dbfile=0; | 1698 | char *dbfile=0; |
1696 | 1699 | ||
1697 | if (!rc_file) { | 1700 | if (!rc_file) { |
1698 | char *homedir = getenv("HOME"); | 1701 | strstream str; |
1699 | const int dbfile_size = strlen(homedir) + strlen("/.") +strlen(RC_PATH) + strlen(RC_INIT_FILE) + 24; | 1702 | str<<getenv("HOME")<<"/."<<RC_PATH<<"/"<<RC_INIT_FILE; |
1700 | dbfile = new char[dbfile_size]; | 1703 | |
1701 | snprintf(dbfile, dbfile_size, "%s/.%s/%s", homedir, RC_PATH, RC_INIT_FILE); | 1704 | return StringUtil::strdup(str.str()); |
1702 | |||
1703 | } else | 1705 | } else |
1704 | dbfile = StringUtil::strdup(rc_file); | 1706 | dbfile = StringUtil::strdup(rc_file); |
1705 | 1707 | ||