all repos — openbox @ 8b4004ac68f9a3433e657c5903c064ba37fa6f87

openbox fork - make it a bit more like ryudo

make docks and desktops always on all desktops
Dana Jansens danakj@orodu.net
commit

8b4004ac68f9a3433e657c5903c064ba37fa6f87

parent

ea902741e738ecf5cb7cb7dd61fc6488a4b64a1f

1 files changed, 15 insertions(+), 7 deletions(-)

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

@@ -72,9 +72,21 @@ updateIconTitle();

updateClass(); updateStrut(); + // this makes sure that these windows: + // a) appear on all desktops + // b) don't start iconified + if (_type == Type_Dock || _type == Type_Desktop) { + _desktop = 0xffffffff; + } + // restores iconic state when we restart. // this will override the initial_state if that was set if (_desktop == ICONIC_DESKTOP) _iconic = true; + + // set the desktop hint, to make sure that it always exists, and to reflect + // any changes we've made here + otk::Property::set(_window, otk::Property::atoms.net_wm_desktop, + otk::Property::atoms.cardinal, (unsigned)_desktop); changeState(); }

@@ -121,13 +133,9 @@ {

// defaults to the current desktop _desktop = openbox->screen(_screen)->desktop(); - if (!otk::Property::get(_window, otk::Property::atoms.net_wm_desktop, - otk::Property::atoms.cardinal, - (long unsigned*)&_desktop)) { - // make sure the hint exists - otk::Property::set(_window, otk::Property::atoms.net_wm_desktop, - otk::Property::atoms.cardinal, (unsigned)_desktop); - } + otk::Property::get(_window, otk::Property::atoms.net_wm_desktop, + otk::Property::atoms.cardinal, + (long unsigned*)&_desktop); }