]> Dogcows Code - chaz/openbox/blobdiff - src/screen.cc
speed up workspace switching by causing the minimal number of expose events (none...
[chaz/openbox] / src / screen.cc
index be56156d98f908448dbc2708ebf22b9952642611..16e37df61a731502f4a10349162cf3502f3fe77f 100644 (file)
@@ -40,8 +40,7 @@ namespace ob {
 
 
 Screen::Screen(int screen)
-  : _number(screen),
-    _config(screen)
+  : _number(screen)
 {
   assert(screen >= 0); assert(screen < ScreenCount(**otk::display));
   _info = otk::display->screenInfo(screen);
@@ -80,7 +79,7 @@ Screen::Screen(int screen)
 
   _desktop = 0;
 
-  changeNumDesktops(1); // set the hint
+  changeNumDesktops(4); // set the hint
   changeDesktop(0); // set the hint
 
   // don't start in showing-desktop mode
@@ -198,7 +197,7 @@ void Screen::updateDesktopLayout()
                          otk::Property::atoms.net_desktop_layout,
                          otk::Property::atoms.cardinal,
                          &num, &data)) {
-    if (num >= 4) {
+    if (num == 4) {
       if (data[0] == _NET_WM_ORIENTATION_VERT)
         _layout.orientation = DesktopLayout::Vertical;
       if (data[3] == _NET_WM_TOPRIGHT)
@@ -810,6 +809,9 @@ void Screen::changeNumDesktops(unsigned int num)
   // the number of rows/columns will differ
   updateDesktopLayout();
 
+  // may be some unnamed desktops that we need to fill in with names
+  updateDesktopNames();
+
   // change our desktop if we're on one that no longer exists!
   if (_desktop >= _num_desktops)
     changeDesktop(_num_desktops - 1);
@@ -818,7 +820,7 @@ void Screen::changeNumDesktops(unsigned int num)
 
 void Screen::updateDesktopNames()
 {
-  unsigned long num = (unsigned) -1;
+  unsigned long num;
   
   if (!otk::Property::get(_info->rootWindow(),
                           otk::Property::atoms.net_desktop_names,
@@ -829,12 +831,6 @@ void Screen::updateDesktopNames()
 }
 
 
-otk::ustring Screen::desktopName(unsigned int i) const
-{
-  if (i >= _num_desktops) return "";
-  return _desktop_names[i];
-}
-
 const otk::Rect& Screen::area(unsigned int desktop) const {
   assert(desktop < _num_desktops || desktop == 0xffffffff);
   if (desktop < _num_desktops)
This page took 0.026549 seconds and 4 git commands to generate.