]> Dogcows Code - chaz/openbox/commitdiff
provide a function to return all the desktop names instead of one at a time.
authorDana Jansens <danakj@orodu.net>
Mon, 17 Feb 2003 21:49:39 +0000 (21:49 +0000)
committerDana Jansens <danakj@orodu.net>
Mon, 17 Feb 2003 21:49:39 +0000 (21:49 +0000)
adjust to the new format for otk::Proeprty::get() functions (no nelements)

src/screen.cc
src/screen.hh

index be56156d98f908448dbc2708ebf22b9952642611..ff78e57268e6ab8d4db5ecbe5f03647a11b2ce5f 100644 (file)
@@ -198,7 +198,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 +810,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 +821,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 +832,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)
index d59cf313d2b402919fd7352e319ecbeb2678afad..2f0260831ca90a32183de2c212077238ac9eff14 100644 (file)
@@ -222,15 +222,8 @@ public:
   //! Lowers a client window below all others in its stacking layer
   void lowerWindow(Client *client);
 
-  //! Sets the name of a desktop by changing the root window property
-  /*!
-    @param i The index of the desktop to set the name for (starts at 0)
-    @param name The name to set for the desktop
-    If the index is too large, it is simply ignored.
-  */
-  void setDesktopName(unsigned int i, const otk::ustring &name);
-
-  otk::ustring desktopName(unsigned int i) const;
+  const otk::Property::StringVect& desktopNames() const
+    { return _desktop_names; }
 
   void installColormap(bool install) const;
 
This page took 0.029058 seconds and 4 git commands to generate.