From 88a4e59f44d077bae57e4c2be762c88d3141ed36 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Mon, 3 Feb 2003 08:37:55 +0000 Subject: [PATCH] always get the first focused screen --- src/openbox.cc | 11 ++++++++--- 1 file 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 -- 2.39.2