all repos — openbox @ 88a4e59f44d077bae57e4c2be762c88d3141ed36

openbox fork - make it a bit more like ryudo

always get the first focused screen
Dana Jansens danakj@orodu.net
commit

88a4e59f44d077bae57e4c2be762c88d3141ed36

parent

ef48bd3dffbc273a0be170a96a4511658a05a050

1 files changed, 8 insertions(+), 3 deletions(-)

jump to
M src/openbox.ccsrc/openbox.cc

@@ -148,6 +148,8 @@ if (!python_exec(_scriptfilepath.c_str()))

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,13 +157,17 @@ _screens.push_back(0);

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"));

@@ -177,7 +183,6 @@ // grab any keys set up before the screens existed

_bindings->grabKeys(true); // set up input focus - _focused_screen = _screens[0]; setFocusedClient(0); _state = State_Normal; // done starting