diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-02-03 08:37:55 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-02-03 08:37:55 +0000 |
| commit | 88a4e59f44d077bae57e4c2be762c88d3141ed36 (patch) | |
| tree | 91f784c79a0f5d2a31afd4ce9c7de7ab8abbf63e /src/openbox.cc | |
| parent | ef48bd3dffbc273a0be170a96a4511658a05a050 (diff) | |
always get the first focused screen
Diffstat (limited to 'src/openbox.cc')
| -rw-r--r-- | src/openbox.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/openbox.cc b/src/openbox.cc index 0143a3eb..caacb63b 100644 --- a/src/openbox.cc +++ b/src/openbox.cc @@ -148,6 +148,8 @@ Openbox::Openbox(int argc, char **argv) python_exec(SCRIPTDIR"/defaults.py"); // system default bahaviors // initialize all the screens + _focused_screen = 0; + for (int i = 0, max = ScreenCount(**otk::display); i < max; ++i) { Screen *screen; if (_single && i != DefaultScreen(**otk::display)) { @@ -155,14 +157,18 @@ Openbox::Openbox(int argc, char **argv) continue; } screen = new Screen(i); - if (screen->managed()) + if (screen->managed()) { _screens.push_back(screen); - else { + if (!_focused_screen) // set this to the first screen managed + _focused_screen = screen; + } else { delete screen; _screens.push_back(0); } } + assert(_focused_screen); + if (_screens.empty()) { printf(_("No screens were found without a window manager. Exiting.\n")); ::exit(1); @@ -177,7 +183,6 @@ Openbox::Openbox(int argc, char **argv) _bindings->grabKeys(true); // set up input focus - _focused_screen = _screens[0]; setFocusedClient(0); _state = State_Normal; // done starting |
