]> Dogcows Code - chaz/openbox/blobdiff - src/Screen.cc
rename fieron to not have a cap letter
[chaz/openbox] / src / Screen.cc
index 2722fe4bd28310f1336109fda1ddec2569e830ad..522a5be3f2db2a44eb791e1de6d93b27d134ed05 100644 (file)
@@ -407,6 +407,13 @@ void BScreen::saveAAFonts(bool f) {
 }
 
 
+void BScreen::saveShadowFonts(bool f) {
+  resource.shadow_fonts = f;
+  reconfigure();
+  config->setValue(screenstr + "dropShadowFonts", resource.shadow_fonts);
+}
+
+
 void BScreen::saveHideToolbar(bool h) {
   resource.hide_toolbar = h;
   if (resource.hide_toolbar)
@@ -589,10 +596,37 @@ void BScreen::saveRootScrollDirection(int d) {
 }
 
 
+void BScreen::saveRootMenuButton(unsigned int b) {
+  resource.root_menu_button = b;
+  const char *but;
+  switch (resource.root_menu_button) {
+  case 0: but = "None"; break;
+  case 1: but = "Left"; break;
+  case 2: but = "Middle"; break;
+  case 3: default: but = "Right"; break;
+  }
+  config->setValue(screenstr + "rootMenuButton", but);
+}
+
+
+void BScreen::saveWorkspaceMenuButton(unsigned int b) {
+  resource.workspace_menu_button = b;
+  const char *but;
+  switch (resource.workspace_menu_button) {
+  case 0: but = "None"; break;
+  case 1: but = "Left"; break;
+  case 2: default: but = "Middle"; break;
+  case 3: but = "Right"; break;
+  }
+  config->setValue(screenstr + "workspaceMenuButton", but);
+}
+
+
 void BScreen::save_rc(void) {
   saveSloppyFocus(resource.sloppy_focus);
   saveAutoRaise(resource.auto_raise);
   saveImageDither(doImageDither());
+  saveShadowFonts(resource.shadow_fonts);
   saveAAFonts(resource.aa_fonts);
   saveResizeZones(resource.resize_zones);
   saveOpaqueMove(resource.opaque_move);
@@ -621,6 +655,8 @@ void BScreen::save_rc(void) {
   saveAllowScrollLock(resource.allow_scroll_lock);
   saveWorkspaceWarping(resource.workspace_warping);
   saveRootScrollDirection(resource.root_scroll);
+  saveRootMenuButton(resource.root_menu_button);
+  saveWorkspaceMenuButton(resource.workspace_menu_button);
 
   toolbar->save_rc();
   slit->save_rc();
@@ -646,6 +682,9 @@ void BScreen::load_rc(void) {
   if (! config->getValue(screenstr + "opaqueMove", resource.opaque_move))
     resource.opaque_move = false;
 
+  if (! config->getValue(screenstr + "dropShadowFonts", resource.shadow_fonts))
+    resource.shadow_fonts = false;
+
   if (! config->getValue(screenstr + "antialiasFonts", resource.aa_fonts))
     resource.aa_fonts = true;
 
@@ -793,6 +832,29 @@ void BScreen::load_rc(void) {
     else if (s == "Reverse")
       resource.root_scroll = ReverseScroll;
   }
+
+  resource.root_menu_button = 3;
+  if (config->getValue(screenstr + "rootMenuButton", s)) {
+    if (s == "None")
+      resource.root_menu_button = 0;
+    else if (s == "Left")
+      resource.root_menu_button = 1;
+    else if (s == "Middle")
+      resource.root_menu_button = 2;
+  }
+
+  resource.workspace_menu_button = 2;
+  if (config->getValue(screenstr + "workspaceMenuButton", s)) {
+    if (s == "None")
+      resource.workspace_menu_button = 0;
+    else if (s == "Left")
+      resource.workspace_menu_button = 1;
+    else if (s == "Right")
+      resource.workspace_menu_button = 3;
+  }
+  // cant both be the same
+  if (resource.workspace_menu_button == resource.root_menu_button)
+    resource.workspace_menu_button = 0;
 }
 
 
@@ -2402,10 +2464,6 @@ void BScreen::buttonPressEvent(const XButtonEvent *xbutton) {
 
     if (rootmenu->isVisible())
       rootmenu->hide();
-  } else if (xbutton->button == 2) {
-    showWorkspaceMenu(xbutton->x_root, xbutton->y_root);
-  } else if (xbutton->button == 3) {
-    showRootMenu(xbutton->x_root, xbutton->y_root);
   // mouse wheel up
   } else if ((xbutton->button == 4 && resource.root_scroll == NormalScroll) ||
              (xbutton->button == 5 && resource.root_scroll == ReverseScroll)) {
@@ -2421,6 +2479,13 @@ void BScreen::buttonPressEvent(const XButtonEvent *xbutton) {
     else
       changeWorkspaceID(getCurrentWorkspaceID() - 1);
   }
+
+  if (resource.root_menu_button > 0 &&
+      xbutton->button == resource.root_menu_button)
+    showRootMenu(xbutton->x_root, xbutton->y_root);
+  else if (resource.workspace_menu_button > 0 &&
+           xbutton->button == resource.workspace_menu_button)
+    showWorkspaceMenu(xbutton->x_root, xbutton->y_root);
 }
 
 
@@ -2520,6 +2585,8 @@ BTexture BScreen::readDatabaseTexture(const string &rname,
   texture.setColor(readDatabaseColor(rname + ".color", default_color, style));
   texture.setColorTo(readDatabaseColor(rname + ".colorTo", default_color,
                                        style));
+  texture.setBorderColor(readDatabaseColor(rname + ".borderColor",
+                                           default_color, style));
   
   return texture;
 }
@@ -2559,7 +2626,7 @@ BFont *BScreen::readDatabaseFont(const string &rbasename,
     }
     
     BFont *b = new BFont(blackbox->getXDisplay(), this, family, i, bold,
-                         italic, resource.aa_fonts);
+                         italic, resource.shadow_fonts, resource.aa_fonts);
     if (b->valid())
       return b;
     else
This page took 0.024736 seconds and 4 git commands to generate.