]> Dogcows Code - chaz/openbox/commitdiff
add a Config class with config data from the scripts.
authorDana Jansens <danakj@orodu.net>
Fri, 14 Feb 2003 03:04:23 +0000 (03:04 +0000)
committerDana Jansens <danakj@orodu.net>
Fri, 14 Feb 2003 03:04:23 +0000 (03:04 +0000)
set up the functions for loading a style from a file.
use the Config class throughout instead of reading out of the python namespace all the time.

15 files changed:
otk/renderstyle.cc
otk/renderstyle.hh
scripts/config.py
src/Makefile.am
src/actions.cc
src/client.cc
src/config.cc [new file with mode: 0644]
src/config.hh [new file with mode: 0644]
src/frame.cc
src/frame.hh
src/python.cc
src/python.hh
src/screen.cc
src/screen.hh
wrap/ob.i

index f555284401ce8a87bdc0446e0274f055175bf1e8..d9e106ab09d8f634f18ff47eb725474205e48598 100644 (file)
@@ -17,8 +17,10 @@ void RenderStyle::initialize()
 {
   int screens = ScreenCount(**display);
   _styles = new RenderStyle*[screens];
-  for (int i = 0; i < screens; ++i)
-    _styles[i] = new RenderStyle(i, ""); // XXX get a path
+  for (int i = 0; i < screens; ++i) {
+    _styles[i] = new RenderStyle();
+    defaultStyle(_styles[i], i);
+    }
   _notifies = new std::list<StyleNotify*>[screens];
 }
 
@@ -49,467 +51,649 @@ RenderStyle *RenderStyle::style(int screen)
   return _styles[screen];
 }
 
-RenderStyle::RenderStyle(int screen, const std::string &stylefile)
-  : _screen(screen),
-    _file(stylefile)
+bool RenderStyle::setStyle(int screen, const ustring &stylefile)
+{
+  RenderStyle *s = new RenderStyle();
+  if (!loadStyle(s, screen, stylefile)) {
+    delete s;
+    return false;
+  }
+  delete _styles[screen];
+  _styles[screen] = s;
+
+  std::list<StyleNotify*>::iterator it, end = _notifies[screen].end();
+  for (it = _notifies[screen].begin(); it != end; ++it)
+    (*it)->styleChanged(*s);
+  return true;
+}
+
+bool RenderStyle::loadStyle(RenderStyle *s, int screen,
+                            const ustring &stylefile)
 {
+  s->_screen = screen;
+  s->_file = stylefile;
 // pick one..
 //#define FIERON
 #define MERRY
 
 #ifdef FIERON
-  _root_color = new RenderColor(_screen, 0x272a2f);
+  s->_root_color = new RenderColor(screen, 0x272a2f);
   
-  _text_color_focus = new RenderColor(_screen, 0x272a2f);
-  _text_color_unfocus = new RenderColor(_screen, 0x676869);
-
-  _button_color_focus = new RenderColor(_screen, 0x96ba86);
-  _button_color_unfocus = new RenderColor(_screen, 0x676869);
-
-  _frame_border_color = new RenderColor(_screen, 0x181f24);
-  _frame_border_width = 1;
-
-  _client_border_color_focus = new RenderColor(_screen, 0x858687);
-  _client_border_color_unfocus = new RenderColor(_screen, 0x555657);
-  _client_border_width = 1;
+  s->_text_color_focus = new RenderColor(screen, 0x272a2f);
+  s->_text_color_unfocus = new RenderColor(screen, 0x676869);
+
+  s->_button_color_focus = new RenderColor(screen, 0x96ba86);
+  s->_button_color_unfocus = new RenderColor(screen, 0x676869);
+
+  s->_frame_border_color = new RenderColor(screen, 0x181f24);
+  s->_frame_border_width = 1;
+
+  s->_client_border_color_focus = new RenderColor(screen, 0x858687);
+  s->_client_border_color_unfocus = new RenderColor(screen, 0x555657);
+  s->_client_border_width = 1;
+
+  s->_titlebar_focus = new RenderTexture(screen,
+                                         false,
+                                         RenderTexture::Flat,
+                                         RenderTexture::Bevel1,
+                                         false,
+                                         RenderTexture::Vertical,
+                                         false,
+                                         0x858687,
+                                         0x373a3f,
+                                         0x0,
+                                         0x0);
+  s->_titlebar_unfocus = new RenderTexture(screen,
+                                           false,
+                                           RenderTexture::Flat,
+                                           RenderTexture::Bevel1,
+                                           false,
+                                           RenderTexture::Vertical,
+                                        false,
+                                           0x555657,
+                                           0x171a1f,
+                                           0x0,
+                                           0x0);
 
-  _titlebar_focus = new RenderTexture(_screen,
+  s->_label_focus = new RenderTexture(screen,
                                       false,
                                       RenderTexture::Flat,
                                       RenderTexture::Bevel1,
-                                      false,
+                                      true,
                                       RenderTexture::Vertical,
                                       false,
-                                      0x858687,
-                                      0x373a3f,
-                                      0x0,
+                                      0x96ba86,
+                                      0x5a724c,
+                                      0x181f24,
                                       0x0);
-  _titlebar_unfocus = new RenderTexture(_screen,
+  s->_label_unfocus = new RenderTexture(screen,
                                         false,
-                                        RenderTexture::Flat,
+                                        RenderTexture::Sunken,
                                         RenderTexture::Bevel1,
                                         false,
-                                        RenderTexture::Vertical,
+                                        RenderTexture::CrossDiagonal,
                                         false,
                                         0x555657,
-                                        0x171a1f,
+                                        0x272a2f,
                                         0x0,
                                         0x0);
 
-  _label_focus = new RenderTexture(_screen,
-                                   false,
-                                   RenderTexture::Flat,
-                                   RenderTexture::Bevel1,
-                                   true,
-                                   RenderTexture::Vertical,
-                                   false,
-                                   0x96ba86,
-                                   0x5a724c,
-                                   0x181f24,
-                                   0x0);
-  _label_unfocus = new RenderTexture(_screen,
+  s->_handle_focus = new RenderTexture(screen,
+                                       false,
+                                       RenderTexture::Flat,
+                                       RenderTexture::Bevel1,
+                                       false,
+                                       RenderTexture::Vertical,
+                                       false,
+                                       0x858687,
+                                       0x373a3f,
+                                       0x0,
+                                       0x0);
+  s->_handle_unfocus = new RenderTexture(screen,
+                                         false,
+                                         RenderTexture::Flat,
+                                         RenderTexture::Bevel1,
+                                         false,
+                                         RenderTexture::Vertical,
+                                         false,
+                                         0x555657,
+                                         0x171a1f,
+                                         0x0,
+                                         0x0);
+  
+  s->_button_unpress_focus = new RenderTexture(screen,
+                                               false,
+                                               RenderTexture::Raised,
+                                               RenderTexture::Bevel2,
+                                               false,
+                                               RenderTexture::CrossDiagonal,
+                                               false,
+                                               0x858687,
+                                               0x272a2f,
+                                               0x0,
+                                               0x0);
+  s->_button_unpress_unfocus = new RenderTexture(screen,
+                                                 false,
+                                                 RenderTexture::Raised,
+                                                 RenderTexture::Bevel2,
+                                                 false,
+                                                 RenderTexture::CrossDiagonal,
+                                                 false,
+                                                 0x555657,
+                                                 0x171a1f,
+                                                 0x0,
+                                                 0x0);
+
+  s->_button_press_focus = new RenderTexture(screen,
+                                             false,
+                                             RenderTexture::Sunken,
+                                             RenderTexture::Bevel2,
+                                             false,
+                                             RenderTexture::CrossDiagonal,
+                                             false,
+                                             0x96ba86,
+                                             0x5a724c,
+                                             0x0,
+                                             0x0);
+  s->_button_press_unfocus = new RenderTexture(screen,
+                                               false,
+                                               RenderTexture::Sunken,
+                                               RenderTexture::Bevel2,
+                                               false,
+                                               RenderTexture::CrossDiagonal,
+                                               false,
+                                               0x555657,
+                                               0x171a1f,
+                                               0x0,
+                                               0x0);
+  
+  s->_grip_focus = new RenderTexture(screen,
                                      false,
-                                     RenderTexture::Sunken,
+                                     RenderTexture::Flat,
                                      RenderTexture::Bevel1,
                                      false,
-                                     RenderTexture::CrossDiagonal,
+                                     RenderTexture::Vertical,
                                      false,
-                                     0x555657,
-                                     0x272a2f,
+                                     0x96ba86,
+                                     0x5a724c,
                                      0x0,
                                      0x0);
-
-
-  _handle_focus = new RenderTexture(_screen,
-                                    false,
-                                    RenderTexture::Flat,
-                                    RenderTexture::Bevel1,
-                                    false,
-                                    RenderTexture::Vertical,
-                                    false,
-                                    0x858687,
-                                    0x373a3f,
-                                    0x0,
-                                    0x0);
-  _handle_unfocus = new RenderTexture(_screen,
-                                      false,
-                                      RenderTexture::Flat,
-                                      RenderTexture::Bevel1,
-                                      false,
-                                      RenderTexture::Vertical,
-                                      false,
-                                      0x555657,
-                                      0x171a1f,
-                                      0x0,
-                                      0x0);
-
-  
-  _button_unpress_focus = new RenderTexture(_screen,
-                                            false,
-                                            RenderTexture::Raised,
-                                            RenderTexture::Bevel2,
-                                            false,
-                                            RenderTexture::CrossDiagonal,
-                                            false,
-                                            0x858687,
-                                            0x272a2f,
-                                            0x0,
-                                            0x0);
-  _button_unpress_unfocus = new RenderTexture(_screen,
-                                              false,
-                                              RenderTexture::Raised,
-                                              RenderTexture::Bevel2,
-                                              false,
-                                              RenderTexture::CrossDiagonal,
-                                              false,
-                                              0x555657,
-                                              0x171a1f,
-                                              0x0,
-                                              0x0);
-
-  _button_press_focus = new RenderTexture(_screen,
-                                          false,
-                                          RenderTexture::Sunken,
-                                          RenderTexture::Bevel2,
-                                          false,
-                                          RenderTexture::CrossDiagonal,
-                                          false,
-                                          0x96ba86,
-                                          0x5a724c,
-                                          0x0,
-                                          0x0);
-  _button_press_unfocus = new RenderTexture(_screen,
-                                            false,
-                                            RenderTexture::Sunken,
-                                            RenderTexture::Bevel2,
-                                            false,
-                                            RenderTexture::CrossDiagonal,
-                                            false,
-                                            0x555657,
-                                            0x171a1f,
-                                            0x0,
-                                            0x0);
-
-  _grip_focus = new RenderTexture(_screen,
-                                  false,
-                                  RenderTexture::Flat,
-                                  RenderTexture::Bevel1,
-                                  false,
-                                  RenderTexture::Vertical,
-                                  false,
-                                  0x96ba86,
-                                  0x5a724c,
-                                  0x0,
-                                  0x0);
-  _grip_unfocus = new RenderTexture(_screen,
-                                    false,
-                                    RenderTexture::Flat,
-                                    RenderTexture::Bevel1,
-                                    false,
-                                    RenderTexture::Vertical,
-                                    false,
-                                    0x555657,
-                                    0x171a1f,
-                                    0x0,
-                                    0x0);
-
-  _label_font = new Font(_screen, "Arial,Sans-9:bold", true, 1, 0x40);
-  _label_justify = RightBottomJustify;
-
-  _max_mask = new PixmapMask();
-  _max_mask->w = _max_mask->h = 8;
+  s->_grip_unfocus = new RenderTexture(screen,
+                                       false,
+                                       RenderTexture::Flat,
+                                       RenderTexture::Bevel1,
+                                       false,
+                                       RenderTexture::Vertical,
+                                       false,
+                                       0x555657,
+                                       0x171a1f,
+                                       0x0,
+                                       0x0);
+
+  s->_label_font = new Font(screen, "Arial,Sans-9:bold", true, 1, 0x40);
+  s->_label_justify = RightBottomJustify;
+
+  s->_max_mask = new PixmapMask();
+  s->_max_mask->w = s->_max_mask->h = 8;
   {
     //char data[] = { 0x7e, 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0xff, 0x7e };
     char data []  = {0x00, 0x00, 0x18, 0x3c, 0x66, 0x42, 0x00, 0x00 };
-    _max_mask->mask =
+    s->_max_mask->mask =
       XCreateBitmapFromData(**display,
-                            display->screenInfo(_screen)->rootWindow(),
+                            display->screenInfo(screen)->rootWindow(),
                             data, 8, 8);
   }
 
-  _icon_mask = new PixmapMask();
-  _icon_mask->w = _icon_mask->h = 8;
+  s->_icon_mask = new PixmapMask();
+  s->_icon_mask->w = s->_icon_mask->h = 8;
   {
     //char data[] = { 0x00, 0x00, 0xc3, 0xe7, 0x7e, 0x3c, 0x18, 0x00 };
     char data[] = { 0x00, 0x00, 0x42, 0x66, 0x3c, 0x18, 0x00, 0x00 };
-    _icon_mask->mask =
+    s->_icon_mask->mask =
       XCreateBitmapFromData(**display,
-                            display->screenInfo(_screen)->rootWindow(),
+                            display->screenInfo(screen)->rootWindow(),
                             data, 8, 8);
   }
   
-  _alldesk_mask = new PixmapMask();
-  _alldesk_mask->w = _alldesk_mask->h = 8;
+  s->_alldesk_mask = new PixmapMask();
+  s->_alldesk_mask->w = s->_alldesk_mask->h = 8;
   {
     //char data[] = { 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x00, 0x00 };
     char data[] = { 0x00, 0x66, 0x66, 0x00, 0x00, 0x66, 0x66, 0x00 };
-    _alldesk_mask->mask =
+    s->_alldesk_mask->mask =
       XCreateBitmapFromData(**display,
-                            display->screenInfo(_screen)->rootWindow(),
+                            display->screenInfo(screen)->rootWindow(),
                             data, 8, 8);
   }
   
-  _close_mask = new PixmapMask();
-  _close_mask->w = _close_mask->h = 8;
+  s->_close_mask = new PixmapMask();
+  s->_close_mask->w = s->_close_mask->h = 8;
   {
     //char data[] = { 0xc3, 0xe7, 0x7e, 0x3c, 0x3c, 0x7e, 0xe7, 0xc3 };
     char data[] = { 0x00, 0xc3, 0x66, 0x3c, 0x3c, 0x66, 0xc3, 0x00 };
-    _close_mask->mask =
+    s->_close_mask->mask =
       XCreateBitmapFromData(**display,
-                            display->screenInfo(_screen)->rootWindow(),
+                            display->screenInfo(screen)->rootWindow(),
                             data, 8, 8);
   }
 
-  _bevel_width = 1;
-  _handle_width = 4;
+  s->_bevel_width = 1;
+  s->_handle_width = 4;
 #else
 #  ifdef MERRY
-  _root_color = new RenderColor(_screen, 0x7b756a);
+  s->_root_color = new RenderColor(screen, 0x7b756a);
   
-  _text_color_focus = new RenderColor(_screen, 0xffffff);
-  _text_color_unfocus = new RenderColor(_screen, 0xffffff);
-
-  _button_color_focus = new RenderColor(_screen, 0x222222);
-  _button_color_unfocus = new RenderColor(_screen, 0x333333);
-
-  _frame_border_color = new RenderColor(_screen, 0x222222);
-  _frame_border_width = 1;
-
-  _client_border_color_focus = new RenderColor(_screen, 0x858687);
-  _client_border_color_unfocus = new RenderColor(_screen, 0x555657);
-  _client_border_width = 0;
-
-  _titlebar_focus = new RenderTexture(_screen,
+  s->_text_color_focus = new RenderColor(screen, 0xffffff);
+  s->_text_color_unfocus = new RenderColor(screen, 0xffffff);
+
+  s->_button_color_focus = new RenderColor(screen, 0x222222);
+  s->_button_color_unfocus = new RenderColor(screen, 0x333333);
+
+  s->_frame_border_color = new RenderColor(screen, 0x222222);
+  s->_frame_border_width = 1;
+
+  s->_client_border_color_focus = new RenderColor(screen, 0x858687);
+  s->_client_border_color_unfocus = new RenderColor(screen, 0x555657);
+  s->_client_border_width = 0;
+
+  s->_titlebar_focus = new RenderTexture(screen,
+                                         false,
+                                         RenderTexture::Flat,
+                                         RenderTexture::Bevel1,
+                                         false,
+                                         RenderTexture::Solid,
+                                         false,
+                                         0xe6e6e6,
+                                         0xe6e6e6,  
+                                         0x0,
+                                         0x0);
+  s->_titlebar_unfocus = new RenderTexture(screen,
+                                           false,
+                                           RenderTexture::Flat,
+                                           RenderTexture::Bevel1,
+                                           false,
+                                           RenderTexture::Solid,
+                                           false,
+                                           0xe6e6e6,
+                                           0xd9d9d9,
+                                           0x0,
+                                           0x0);
+
+  s->_label_focus = new RenderTexture(screen,
                                       false,
                                       RenderTexture::Flat,
                                       RenderTexture::Bevel1,
+                                      true,
+                                      RenderTexture::Vertical,
                                       false,
-                                      RenderTexture::Solid,
-                                      false,
-                                      0xe6e6e6,
-                                      0xe6e6e6,  
-                                     0x0,
+                                      //0x6a6973,
+                                      //0x6a6973,
+                                      0x4c59a6,
+                                      0x5a6dbd,
+                                      0x222222,
                                       0x0);
-  _titlebar_unfocus = new RenderTexture(_screen,
+  //urg this ain't so hot
+  s->_label_unfocus = new RenderTexture(screen,
                                         false,
                                         RenderTexture::Flat,
                                         RenderTexture::Bevel1,
+                                        true,
+                                        RenderTexture::Vertical,
                                         false,
-                                        RenderTexture::Solid,
-                                        false,
-                                        0xe6e6e6,
-                                        0xd9d9d9,
-                                        0x0,
+                                        0xb4b2ad,
+                                        0xc3c1bc,
+                                        0x6a696a,
                                         0x0);
 
-  _label_focus = new RenderTexture(_screen,
-                                   false,
-                                   RenderTexture::Flat,
-                                   RenderTexture::Bevel1,
-                                   true,
-                                   RenderTexture::Vertical,
-                                   false,
-                                   //0x6a6973,
-                                   //0x6a6973,
-                                   0x4c59a6,
-                                  0x5a6dbd,
-                                  0x222222,
-                                   0x0);
-  //urg this ain't so hot
-_label_unfocus = new RenderTexture(_screen,
-                                       false,
-                                   RenderTexture::Flat,
-                                   RenderTexture::Bevel1,
-                                   true,
-                                   RenderTexture::Vertical,
-                                   false,
-                                   0xb4b2ad,
-                                   0xc3c1bc,
-                               0x6a696a,
-                                   0x0);
-
-
-  _handle_focus = new RenderTexture(_screen,
-                                    false,
-                                    RenderTexture::Flat,
-                                    RenderTexture::Bevel1,
-                                    false,
-                                    RenderTexture::Vertical,
-                                    false,
-                                    0xe6e6e6,
-                                        0xd9d9d9,
-                                    0x0,
-                                    0x0);
-  _handle_unfocus = new RenderTexture(_screen,
-                                      false,
-                                      RenderTexture::Flat,
-                                      RenderTexture::Bevel1,
-                                      false,
-                                      RenderTexture::Solid,
-                                      false,
-                                     0xe6e6e6,
-                                        0xe6e6e6,
-                                      0x0,
-                                      0x0);
+
+  s->_handle_focus = new RenderTexture(screen,
+                                       false,
+                                       RenderTexture::Flat,
+                                       RenderTexture::Bevel1,
+                                       false,
+                                       RenderTexture::Vertical,
+                                       false,
+                                       0xe6e6e6,
+                                       0xd9d9d9,
+                                       0x0,
+                                       0x0);
+  s->_handle_unfocus = new RenderTexture(screen,
+                                         false,
+                                         RenderTexture::Flat,
+                                         RenderTexture::Bevel1,
+                                         false,
+                                         RenderTexture::Solid,
+                                         false,
+                                         0xe6e6e6,
+                                         0xe6e6e6,
+                                         0x0,
+                                         0x0);
 
   
-  _button_unpress_focus = new RenderTexture(_screen,
-                                            false,
-                                            RenderTexture::Flat,
-                                            RenderTexture::Bevel1,
-                                            false,
-                                            RenderTexture::Solid,
-                                            false,
-                                            0xe6e6e6,
-                                        0xe6e6e6,
-                                            0x0,
-                                            0x0);
-  _button_unpress_unfocus = new RenderTexture(_screen,
-                                              false,
-                                              RenderTexture::Flat,
-                                              RenderTexture::Bevel1,
-                                              false,
-                                              RenderTexture::Solid,
-                                              false,
+  s->_button_unpress_focus = new RenderTexture(screen,
+                                               false,
+                                               RenderTexture::Flat,
+                                               RenderTexture::Bevel1,
+                                               false,
+                                               RenderTexture::Solid,
+                                               false,
+                                               0xe6e6e6,
+                                               0xe6e6e6,
+                                               0x0,
+                                               0x0);
+  s->_button_unpress_unfocus = new RenderTexture(screen,
+                                                 false,
+                                                 RenderTexture::Flat,
+                                                 RenderTexture::Bevel1,
+                                                 false,
+                                                 RenderTexture::Solid,
+                                                 false,
+                                                 0xe6e6e6,
+                                                 0xe6e6e6,
+                                                 0x0,
+                                                 0x0);
+
+  s->_button_press_focus = new RenderTexture(screen,
+                                             false,
+                                             RenderTexture::Sunken,
+                                             RenderTexture::Bevel2,
+                                             false,
+                                             RenderTexture::Vertical,
+                                             false,
                                              0xe6e6e6,
-                                        0xe6e6e6,
-                                              0x0,
-                                              0x0);
-
-  _button_press_focus = new RenderTexture(_screen,
-                                          false,
-                                            RenderTexture::Sunken,
-                                            RenderTexture::Bevel2,
-                                          false,
-                                          RenderTexture::Vertical,
-                                          false,
-                                          0xe6e6e6,
-                                          0xe6e6e6,
-                                          0x0,
-                                          0x0);
-  _button_press_unfocus = new RenderTexture(_screen,
-                                            false,
-                                              RenderTexture::Sunken,
-                                            RenderTexture::Bevel2,
-                                            false,
-                                            RenderTexture::Vertical,
-                                            false,
-                                              0xe6e6e6,
-                                        0xe6e6e6,
-                                            0x0,
-                                            0x0);
-
-  _grip_focus = new RenderTexture(_screen,
-                                  false,
-                                  RenderTexture::Flat,
-                                  RenderTexture::Bevel1,
-                                  false,
-                                  RenderTexture::Vertical,
-                                  false,
-                                    0xe6e6e6,
-                                        0xd9d9d9,
-                                  0x0,
-                                  0x0);
-  _grip_unfocus = new RenderTexture(_screen,
-                                    false,
-                                    RenderTexture::Flat,
-                                    RenderTexture::Bevel1,
-                                    false,
-                                    RenderTexture::Solid,
-                                    false,
-                                      0xe6e6e6,
-                                        0xe6e6e6,
-                                    0x0,
-                                    0x0);
-
-  _label_font = new Font(_screen, "Arial,Sans-8", true, 1, 0x3e);
-  _label_justify = CenterJustify;
-
-  _max_mask = new PixmapMask();
-  _max_mask->w = _max_mask->h = 7;
+                                             0xe6e6e6,
+                                             0x0,
+                                             0x0);
+  s->_button_press_unfocus = new RenderTexture(screen,
+                                               false,
+                                               RenderTexture::Sunken,
+                                               RenderTexture::Bevel2,
+                                               false,
+                                               RenderTexture::Vertical,
+                                               false,
+                                               0xe6e6e6,
+                                               0xe6e6e6,
+                                               0x0,
+                                               0x0);
+
+  s->_grip_focus = new RenderTexture(screen,
+                                     false,
+                                     RenderTexture::Flat,
+                                     RenderTexture::Bevel1,
+                                     false,
+                                     RenderTexture::Vertical,
+                                     false,
+                                     0xe6e6e6,
+                                     0xd9d9d9,
+                                     0x0,
+                                     0x0);
+  s->_grip_unfocus = new RenderTexture(screen,
+                                       false,
+                                       RenderTexture::Flat,
+                                       RenderTexture::Bevel1,
+                                       false,
+                                       RenderTexture::Solid,
+                                       false,
+                                       0xe6e6e6,
+                                       0xe6e6e6,
+                                       0x0,
+                                       0x0);
+
+  s->_label_font = new Font(screen, "Arial,Sans-8", true, 1, 0x3e);
+  s->_label_justify = CenterJustify;
+
+  s->_max_mask = new PixmapMask();
+  s->_max_mask->w = s->_max_mask->h = 7;
   {
     char data []  = {0x7c, 0x44, 0x47, 0x47, 0x7f, 0x1f, 0x1f  };
-    _max_mask->mask =
+    s->_max_mask->mask =
       XCreateBitmapFromData(**display,
-                            display->screenInfo(_screen)->rootWindow(),
+                            display->screenInfo(screen)->rootWindow(),
                             data, 7, 7);
   }
 
-  _icon_mask = new PixmapMask();
-  _icon_mask->w = _icon_mask->h = 7;
+  s->_icon_mask = new PixmapMask();
+  s->_icon_mask->w = s->_icon_mask->h = 7;
   {
     char data[] = {0x00, 0x00, 0x00, 0x00, 0x3e, 0x3e, 0x3e };
-    _icon_mask->mask =
+    s->_icon_mask->mask =
       XCreateBitmapFromData(**display,
-                            display->screenInfo(_screen)->rootWindow(),
+                            display->screenInfo(screen)->rootWindow(),
                             data, 7, 7);
   }
   
-  _alldesk_mask = new PixmapMask();
-  _alldesk_mask->w = _alldesk_mask->h = 7;
+  s->_alldesk_mask = new PixmapMask();
+  s->_alldesk_mask->w = s->_alldesk_mask->h = 7;
   {
     char data[] = {0x00, 0x36, 0x36, 0x00, 0x36, 0x36, 0x00 };
-    _alldesk_mask->mask =
+    s->_alldesk_mask->mask =
       XCreateBitmapFromData(**display,
-                            display->screenInfo(_screen)->rootWindow(),
+                            display->screenInfo(screen)->rootWindow(),
                             data, 7, 7);
   }
   
-  _close_mask = new PixmapMask();
-  _close_mask->w = _close_mask->h = 7;
+  s->_close_mask = new PixmapMask();
+  s->_close_mask->w = s->_close_mask->h = 7;
   {
     char data[] = {  0x22, 0x77, 0x3e, 0x1c, 0x3e, 0x77, 0x22 };
-    _close_mask->mask =
+    s->_close_mask->mask =
       XCreateBitmapFromData(**display,
-                            display->screenInfo(_screen)->rootWindow(),
+                            display->screenInfo(screen)->rootWindow(),
                             data, 7, 7);
   }
 
-  _bevel_width = 1;
-  _handle_width = 3;
+  s->_bevel_width = 1;
+  s->_handle_width = 3;
 #  else
 #    error 1
 #  endif
 #endif
+
+  return true;
+}
+
+void RenderStyle::defaultStyle(RenderStyle *s, int screen)
+{
+  s->_screen = screen;
+  s->_file = "";
+
+  s->_root_color = new RenderColor(screen, 0);
+  s->_text_color_focus = new RenderColor(screen, 0xffffff);
+  s->_text_color_unfocus = new RenderColor(screen, 0xffffff);
+  s->_button_color_focus = new RenderColor(screen, 0);
+  s->_button_color_unfocus = new RenderColor(screen, 0);
+  s->_frame_border_color = new RenderColor(screen, 0);
+  s->_frame_border_width = 1;
+  s->_client_border_color_focus = new RenderColor(screen, 0);
+  s->_client_border_color_unfocus = new RenderColor(screen, 0);
+  s->_client_border_width = 1;
+  s->_titlebar_focus = new RenderTexture(screen,
+                                         false,
+                                         RenderTexture::Flat,
+                                         RenderTexture::Bevel1,
+                                         false,
+                                         RenderTexture::Solid,
+                                         false,
+                                         0, 0, 0, 0);
+  s->_titlebar_unfocus = new RenderTexture(screen,
+                                           false,
+                                           RenderTexture::Flat,
+                                           RenderTexture::Bevel1,
+                                           false,
+                                           RenderTexture::Solid,
+                                           false,
+                                           0, 0, 0, 0);
+
+  s->_label_focus = new RenderTexture(screen,
+                                      false,
+                                      RenderTexture::Flat,
+                                      RenderTexture::Bevel1,
+                                      true,
+                                      RenderTexture::Solid,
+                                      false,
+                                      0, 0, 0, 0);
+  s->_label_unfocus = new RenderTexture(screen,
+                                        false,
+                                        RenderTexture::Flat,
+                                        RenderTexture::Bevel1,
+                                        false,
+                                        RenderTexture::Solid,
+                                        false,
+                                        0, 0, 0, 0);
+
+  s->_handle_focus = new RenderTexture(screen,
+                                       false,
+                                       RenderTexture::Flat,
+                                       RenderTexture::Bevel1,
+                                       false,
+                                       RenderTexture::Solid,
+                                       false,
+                                       0, 0, 0, 0);
+  s->_handle_unfocus = new RenderTexture(screen,
+                                         false,
+                                         RenderTexture::Flat,
+                                         RenderTexture::Bevel1,
+                                         false,
+                                         RenderTexture::Solid,
+                                         false,
+                                         0, 0, 0, 0);
+  
+  s->_button_unpress_focus = new RenderTexture(screen,
+                                               false,
+                                               RenderTexture::Flat,
+                                               RenderTexture::Bevel1,
+                                               false,
+                                               RenderTexture::Solid,
+                                               false,
+                                               0, 0, 0, 0);
+  s->_button_unpress_unfocus = new RenderTexture(screen,
+                                                 false,
+                                                 RenderTexture::Flat,
+                                                 RenderTexture::Bevel1,
+                                                 false,
+                                                 RenderTexture::Solid,
+                                                 false,
+                                                 0, 0, 0, 0);
+
+  s->_button_press_focus = new RenderTexture(screen,
+                                             false,
+                                             RenderTexture::Flat,
+                                             RenderTexture::Bevel1,
+                                             false,
+                                             RenderTexture::Solid,
+                                             false,
+                                             0, 0, 0, 0);
+  s->_button_press_unfocus = new RenderTexture(screen,
+                                               false,
+                                               RenderTexture::Flat,
+                                               RenderTexture::Bevel1,
+                                               false,
+                                               RenderTexture::Solid,
+                                               false,
+                                               0, 0, 0, 0);
+  
+  s->_grip_focus = new RenderTexture(screen,
+                                     false,
+                                     RenderTexture::Flat,
+                                     RenderTexture::Bevel1,
+                                     false,
+                                     RenderTexture::Solid,
+                                     false,
+                                     0, 0, 0, 0);
+  s->_grip_unfocus = new RenderTexture(screen,
+                                       false,
+                                       RenderTexture::Flat,
+                                       RenderTexture::Bevel1,
+                                       false,
+                                       RenderTexture::Solid,
+                                       false,
+                                       0, 0, 0, 0);
+
+  s->_label_font = new Font(screen, "Sans-9", false, 0, 0);
+  s->_label_justify = LeftTopJustify;
+
+  s->_max_mask = new PixmapMask();
+  s->_max_mask->w = s->_max_mask->h = 0;
+  s->_max_mask->mask = None;
+
+  s->_icon_mask = new PixmapMask();
+  s->_icon_mask->w = s->_icon_mask->h = 0;
+  s->_icon_mask->mask = None;
+  
+  s->_alldesk_mask = new PixmapMask();
+  s->_alldesk_mask->w = s->_alldesk_mask->h = 0;
+  s->_alldesk_mask->mask = 0;
+  
+  s->_close_mask = new PixmapMask();
+  s->_close_mask->w = s->_close_mask->h = 8;
+  s->_close_mask->mask = 0;
+
+  s->_bevel_width = 1;
+  s->_handle_width = 4;
 }
 
 RenderStyle::~RenderStyle()
 {
+  assert(_root_color);
   delete _root_color;
   
+  assert(_text_color_focus);
   delete _text_color_focus;
+  assert(_text_color_unfocus);
   delete _text_color_unfocus;
 
+  assert(_button_color_focus);
   delete _button_color_focus;
+  assert(_button_color_unfocus);
   delete _button_color_unfocus;
 
+  assert(_frame_border_color);
   delete _frame_border_color;
 
+  assert(_client_border_color_focus);
   delete _client_border_color_focus; 
+  assert(_client_border_color_unfocus);
   delete _client_border_color_unfocus;
  
+  assert(_titlebar_focus);
   delete _titlebar_focus;
+  assert(_titlebar_unfocus);
   delete _titlebar_unfocus;
 
+  assert(_label_focus);
   delete _label_focus;
+  assert(_label_unfocus);
   delete _label_unfocus;
 
+  assert(_handle_focus);
   delete _handle_focus;
+  assert(_handle_unfocus);
   delete _handle_unfocus;
 
+  assert(_button_unpress_focus);
   delete _button_unpress_focus;
+  assert(_button_unpress_unfocus);
   delete _button_unpress_unfocus;
+  assert(_button_press_focus);
   delete _button_press_focus;
+  assert(_button_press_unfocus);
   delete _button_press_unfocus;
 
+  assert(_grip_focus);
   delete _grip_focus;
+  assert(_grip_unfocus);
   delete _grip_unfocus;
 
+  assert(_label_font);
   delete _label_font;
 
+  assert(_max_mask);
   delete _max_mask;
+  assert(_icon_mask);
   delete _icon_mask;
+  assert(_alldesk_mask);
   delete _alldesk_mask;
+  assert(_close_mask);
   delete _close_mask;
 }
 
index 697455337c9cae067952d92cf037016ff7a7f32c..69c26a7fa189ecf5666e20c3dba0f01cde283462 100644 (file)
@@ -5,8 +5,8 @@
 #include "rendertexture.hh"
 #include "rendercolor.hh"
 #include "font.hh"
+#include "ustring.hh"
 
-#include <string>
 #include <list>
 
 namespace otk {
@@ -34,6 +34,7 @@ public:
   static void registerNotify(int screen, StyleNotify *n);
   static void unregisterNotify(int screen, StyleNotify *n);
   static RenderStyle *style(int screen);
+  static bool setStyle(int screen, const ustring &stylefile);
   
   enum Justify {
     LeftTopJustify,
@@ -42,8 +43,11 @@ public:
   };
 
 private:
+  static bool loadStyle(RenderStyle *s, int screen, const ustring &stylefile);
+  static void defaultStyle(RenderStyle *s, int screen);
+  
   int _screen;
-  std::string _file;
+  ustring _file;
 
   RenderColor *_root_color;
   
@@ -89,7 +93,6 @@ private:
   int _bevel_width;
 
 public:
-  RenderStyle(int screen, const std::string &stylefile);
   virtual ~RenderStyle();
 
   inline int screen() const { return _screen; }
index dd32e7f7098a010be82bf86d46f6b1b52971d316..df1e7eb4d6d74ef4307ed9ffa28b852a390820e1 100644 (file)
@@ -6,7 +6,7 @@ THEME = "/usr/local/share/openbox/styles/fieron2"
 """The theme used to decorate everything."""
 
 #TITLEBAR_LAYOUT = [ "icon", "title", "alldesktops", "iconify", "maximize", "close" ]
-TITLEBAR_LAYOUT = [ "alldesktops", "iconify", "title", "maximize", "close" ]
+TITLEBAR_LAYOUT = "NTIMC"
 """The layout of the buttons/label on client titlebars, can be made up of the
 following:
     I - iconify button
index 9288490a145cf6a8b866ac240a8364ad9513ea1a..107f7355ce077e20e4bf19b02e5a351c78390daf 100644 (file)
@@ -16,9 +16,9 @@ bin_PROGRAMS= openbox3
 openbox3_LDADD=-L../otk -lotk @LIBINTL@
 openbox3_LDFLAGS=-export-dynamic
 openbox3_SOURCES= actions.cc client.cc frame.cc openbox.cc screen.cc \
-                  main.cc python.cc bindings.cc
+                  main.cc python.cc bindings.cc config.cc
 noinst_HEADERS= actions.hh bindings.hh client.hh frame.hh openbox.hh \
-                python.hh screen.hh
+                python.hh screen.hh config.hh
 
 MAINTAINERCLEANFILES= Makefile.in
 
index 65931fc6b7380fad54a3262f85d776faac07c764..cefa577872f2ebaa0d13ec5a74e23139cf19d266 100644 (file)
@@ -165,12 +165,7 @@ void Actions::buttonReleaseHandler(const XButtonEvent &e)
   data.action = MouseAction::Click;
   openbox->bindings()->fireButton(&data);
     
-
-  // XXX: dont load this every time!!@*
-  long dblclick;
-  if (!python_get_long("DOUBLE_CLICK_DELAY", &dblclick))
-    dblclick = 300;
-
+  long dblclick = openbox->screen(screen)->config().double_click_delay;
   if (e.time - _release.time < (unsigned)dblclick &&
       _release.win == e.window && _release.button == e.button) {
 
@@ -318,13 +313,17 @@ void Actions::motionHandler(const XMotionEvent &e)
     y_root = e.y_root;
   }
 
+  int screen;
+  Client *c = openbox->findClient(e.window);
+  if (c)
+    screen = c->screen();
+  else
+    screen = otk::display->findScreen(e.root)->screen();
+
   if (!_dragging) {
-    long threshold;
     int dx = x_root - _posqueue[0]->pos.x();
     int dy = y_root - _posqueue[0]->pos.y();
-    // XXX: dont get this from python every time!
-    if (!python_get_long("DRAG_THRESHOLD", &threshold))
-      threshold = 0;
+    long threshold = openbox->screen(screen)->config().drag_threshold;
     if (!(std::abs(dx) >= threshold || std::abs(dy) >= threshold))
       return; // not at the threshold yet
   }
@@ -337,12 +336,6 @@ void Actions::motionHandler(const XMotionEvent &e)
   unsigned int state = e.state & (ControlMask | ShiftMask | Mod1Mask |
                                   Mod2Mask | Mod3Mask | Mod4Mask | Mod5Mask);
   unsigned int button = _posqueue[0]->button;
-  int screen;
-  Client *c = openbox->findClient(e.window);
-  if (c)
-    screen = c->screen();
-  else
-    screen = otk::display->findScreen(e.root)->screen();
   MouseData data(screen, c, e.time, state, button, context,
                  MouseAction::Motion, x_root, y_root,
                  _posqueue[0]->pos, _posqueue[0]->clientarea);
index b3d444eae49ac24326fc2e553fbbae97407fcb5b..bd7f7b83c82a29b68302de4782088d7219f28f72 100644 (file)
@@ -446,7 +446,7 @@ void Client::calcLayer() {
     }
     c = c->_transient_for;
   }
-  if (!fs) {
+  if (!fs && _fullscreen) {
     // is one of our transients focused?
     c = searchFocusTree(this, this);
     if (c) fs = true;
@@ -738,8 +738,6 @@ void Client::updateIcons()
       i += w * h;
       assert(i <= num);
     }
-    printf("i: %lu\n", i);
-    printf("bleffffffff\n");
     
     delete [] data;
   }
diff --git a/src/config.cc b/src/config.cc
new file mode 100644 (file)
index 0000000..6feb94b
--- /dev/null
@@ -0,0 +1,72 @@
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
+
+#include "config.h"
+
+#include "config.hh"
+
+extern "C" {
+#include <Python.h>
+}
+
+namespace ob {
+
+static PyObject *obdict = NULL;
+
+bool python_get_long(const char *name, long *value)
+{
+  PyObject *val = PyDict_GetItemString(obdict, const_cast<char*>(name));
+  if (!(val && PyInt_Check(val))) return false;
+  
+  *value = PyInt_AsLong(val);
+  return true;
+}
+
+bool python_get_string(const char *name, otk::ustring *value)
+{
+  PyObject *val = PyDict_GetItemString(obdict, const_cast<char*>(name));
+  if (!(val && PyString_Check(val))) return false;
+  
+  *value = PyString_AsString(val);
+  return true;
+}
+
+bool python_get_stringlist(const char *name, std::vector<otk::ustring> *value)
+{
+  PyObject *val = PyDict_GetItemString(obdict, const_cast<char*>(name));
+  if (!(val && PyList_Check(val))) return false;
+
+  value->clear();
+  
+  for (int i = 0, end = PyList_Size(val); i < end; ++i) {
+    PyObject *str = PyList_GetItem(val, i);
+    if (PyString_Check(str))
+      value->push_back(PyString_AsString(str));
+  }
+  return true;
+}
+
+Config::Config()
+{
+  PyRun_SimpleString("import config;");
+  // set up access to the python global variables
+  PyObject *obmodule = PyImport_AddModule("config");
+  obdict = PyModule_GetDict(obmodule);
+
+  std::vector<otk::ustring> names;
+  python_get_stringlist("DESKTOP_NAMES", &names);
+
+  python_get_string("THEME", &theme);
+
+  if (!python_get_string("TITLEBAR_LAYOUT", &titlebar_layout))
+    titlebar_layout = "NTIMC";
+  printf("LAYOUT %s\n", titlebar_layout.c_str());
+
+  if (!python_get_long("DOUBLE_CLICK_DELAY", &double_click_delay))
+    double_click_delay = 300;
+  if (!python_get_long("DRAG_THRESHOLD", &drag_threshold))
+    drag_threshold = 3;
+  if (!python_get_long("NUMBER_OF_DESKTOPS", (long*)&num_desktops))
+    num_desktops = 1;
+}
+
+}
diff --git a/src/config.hh b/src/config.hh
new file mode 100644 (file)
index 0000000..8f8144e
--- /dev/null
@@ -0,0 +1,29 @@
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
+#ifndef   __config_hh
+#define   __config_hh
+
+/*! @file config.hh
+  @brief The Config class contains configuration options set by the user's
+         scripts
+*/
+
+#include "otk/ustring.hh"
+
+#include <vector>
+
+namespace ob {
+
+struct Config {
+  std::vector<otk::ustring> desktop_names;
+  otk::ustring theme;
+  otk::ustring titlebar_layout;
+  long double_click_delay;
+  long drag_threshold;
+  long num_desktops;
+
+  Config();
+};
+
+}
+
+#endif // __config_hh
index c9a83452c9ee9c2a973d8d9e25dde404972c6f87..edcfdfcd86dc5d7d645fa5f06492999b51e1b2dd 100644 (file)
@@ -99,7 +99,7 @@ Frame::Frame(Client *client)
 
   applyStyle(*otk::RenderStyle::style(_client->screen()));
 
-  _layout = "NDITMC";
+  _layout = openbox->screen(_client->screen())->config().titlebar_layout;
 
   // register all of the windows with the event dispatcher
   Window *w = allWindows();
index df353c7d3471fa6d7f750ace6ce69616e8322664..45916a1d9a3b1391bc02b92a15eaff947d2f85f4 100644 (file)
@@ -95,7 +95,7 @@ private:
   otk::Surface  *_icon_sur;
   otk::Surface  *_close_sur;
 
-  std::string _layout; // layout of the titlebar
+  otk::ustring _layout; // layout of the titlebar
 
   bool _max_press;
   bool _desk_press;
index 2db948c2505417612a71628011b1e1d31b9a5fa0..08f8f506139cf2398f8ce25c511500789c0cb82f 100644 (file)
@@ -14,8 +14,6 @@ extern "C" {
 
 namespace ob {
 
-static PyObject *obdict = NULL;
-
 void python_init(char *argv0)
 {
   // start the python engine
@@ -27,15 +25,6 @@ void python_init(char *argv0)
   PyRun_SimpleString(const_cast<char*>(("sys.path.insert(0, '" +
                                         otk::expandTilde("~/.openbox/python") +
                                         "')").c_str()));
-  //PyRun_SimpleString("import ob; import otk; import config;");
-  PyRun_SimpleString("import config;");
-  // set up convenience global variables
-  //PyRun_SimpleString("ob.openbox = ob.Openbox_instance()");
-  //PyRun_SimpleString("otk.display = otk.Display_instance()");
-
-  // set up access to the python global variables
-  PyObject *obmodule = PyImport_AddModule("config");
-  obdict = PyModule_GetDict(obmodule);
 }
 
 void python_destroy()
@@ -55,37 +44,4 @@ bool python_exec(const std::string &path)
   return true;
 }
 
-bool python_get_long(const char *name, long *value)
-{
-  PyObject *val = PyDict_GetItemString(obdict, const_cast<char*>(name));
-  if (!(val && PyInt_Check(val))) return false;
-  
-  *value = PyInt_AsLong(val);
-  return true;
-}
-
-bool python_get_string(const char *name, otk::ustring *value)
-{
-  PyObject *val = PyDict_GetItemString(obdict, const_cast<char*>(name));
-  if (!(val && PyString_Check(val))) return false;
-  
-  *value = PyString_AsString(val);
-  return true;
-}
-
-bool python_get_stringlist(const char *name, std::vector<otk::ustring> *value)
-{
-  PyObject *val = PyDict_GetItemString(obdict, const_cast<char*>(name));
-  if (!(val && PyList_Check(val))) return false;
-
-  value->clear();
-  
-  for (int i = 0, end = PyList_Size(val); i < end; ++i) {
-    PyObject *str = PyList_GetItem(val, i);
-    if (PyString_Check(str))
-      value->push_back(PyString_AsString(str));
-  }
-  return true;
-}
-
 }
index b6f8ae7cecb64dbdb309bb3fe0c85f8ef0535f3d..8c3839041489132f40cbba8ce76997cd8779f4c0 100644 (file)
@@ -233,10 +233,6 @@ void python_init(char *argv0);
 void python_destroy();
 bool python_exec(const std::string &path);
 
-bool python_get_long(const char *name, long *value);
-bool python_get_string(const char *name, otk::ustring *value);
-bool python_get_stringlist(const char *name, std::vector<otk::ustring> *value);
-
 #endif // SWIG
 
 }
index 039d82050fa770004a9f2ff93ef877ba7353d33d..17a8c225849c875f717f4a658496ecf2eb947ccb 100644 (file)
@@ -66,21 +66,8 @@ Screen::Screen(int screen)
   XDefineCursor(**otk::display, _info->rootWindow(),
                 openbox->cursors().session);
 
-  // XXX: initialize the screen's style
-  /*
-  otk::ustring stylepath;
-  python_get_string("THEME", &stylepath);
-  otk::Configuration sconfig(false);
-  sconfig.setFile(otk::expandTilde(stylepath.c_str()));
-  if (!sconfig.load()) {
-    sconfig.setFile(otk::expandTilde(DEFAULTSTYLE));
-    if (!sconfig.load()) {
-      printf(_("Unable to load default style: %s. Aborting.\n"), DEFAULTSTYLE);
-      ::exit(1);
-    }
-  }
-  _style.load(sconfig);
-  */
+  // initialize the screen's style
+  otk::RenderStyle::setStyle(_number, _config.theme);
   otk::display->renderControl(_number)->
     drawRoot(*otk::RenderStyle::style(_number)->rootColor());
 
@@ -95,19 +82,15 @@ Screen::Screen(int screen)
                      otk::Property::atoms.cardinal, geometry, 2);
 
   // Set the net_desktop_names property
-  std::vector<otk::ustring> names;
-  python_get_stringlist("DESKTOP_NAMES", &names);
   otk::Property::set(_info->rootWindow(),
                      otk::Property::atoms.net_desktop_names,
-                     otk::Property::utf8, names);
+                     otk::Property::utf8, _config.desktop_names);
   // the above set() will cause the updateDesktopNames to fire right away so
   // we have a list of desktop names
 
   _desktop = 0;
-  
-  if (!python_get_long("NUMBER_OF_DESKTOPS", (long*)&_num_desktops))
-    _num_desktops = 1;
-  changeNumDesktops(_num_desktops); // set the hint
+
+  changeNumDesktops(_config.num_desktops); // set the hint
 
   changeDesktop(0); // set the hint
 
index 4eb81d4aebd0b222beebf963f1fd48701ea543eb..457ca324ef909d997b3c623f52e573c3a4b253ce 100644 (file)
@@ -10,6 +10,7 @@ extern "C" {
 #include <X11/Xlib.h>
 }
 
+#include "config.hh"
 #include "otk/strut.hh"
 #include "otk/rect.hh"
 #include "otk/screeninfo.hh"
@@ -67,6 +68,9 @@ private:
 
   //! Information about this screen
   const otk::ScreenInfo *_info;
+
+  //! Configuration options from the user scripts
+  Config _config;
   
   //! Area usable for placement etc (total - struts), one per desktop,
   //! plus one extra for windows on all desktops
@@ -159,6 +163,10 @@ public:
     used.
   */
   inline bool managed() const { return _managed; }
+
+  //! Returns the config options set by the user scripts
+  const Config& config() const { return _config; }
+
   //!  An offscreen window which gets focus when nothing else has it
   inline Window focuswindow() const { return _focuswindow; }
   //! Returns the desktop being displayed
@@ -176,6 +184,8 @@ public:
   */
   const otk::Rect& area(unsigned int desktop) const;
 
+  //! Gives the layout of how the desktops are being displayed, the number of
+  //! rows and columns etc.
   const DesktopLayout& desktopLayout() const { return _layout; }
 
   //! Shows and focuses the desktop and hides all the client windows, or
index 7e95f6024ae024d867e01d273eadba684920a54d..ba59d4d311261cb48407c6696cbf5571e25a4168 100644 (file)
--- a/wrap/ob.i
+++ b/wrap/ob.i
@@ -48,6 +48,9 @@
 // do this through events
 %ignore ob::Screen::showDesktop(bool);
 
+%ignore ob::Screen::managed;
+%ignore ob::Screen::config;
+
 %import "otk.i"
 
 %import "actions.hh"
This page took 0.059858 seconds and 4 git commands to generate.