summaryrefslogtreecommitdiff
path: root/src/Rootmenu.cc
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-05-25 00:29:44 +0000
committerDana Jansens <danakj@orodu.net>2002-05-25 00:29:44 +0000
commit8794d357e67abddf9fda9db77b235e294d0ec590 (patch)
tree97e618433ff557b2b2d0842498d8464d4fba8717 /src/Rootmenu.cc
parente640ee15ad19f24e0ad8351933fea5bafe98d380 (diff)
import from bb-cvs
added slit and enable-clobber defines back in Makefile.am
Diffstat (limited to 'src/Rootmenu.cc')
-rw-r--r--src/Rootmenu.cc62
1 files changed, 21 insertions, 41 deletions
diff --git a/src/Rootmenu.cc b/src/Rootmenu.cc
index 4728f507..3fbc844c 100644
--- a/src/Rootmenu.cc
+++ b/src/Rootmenu.cc
@@ -1,5 +1,6 @@
-// Rootmenu.cc for Openbox
-// Copyright (c) 2001 Sean 'Shaleh' Perry <shaleh@debian.org>
+// -*- mode: C++; indent-tabs-mode: nil; -*-
+// Rootmenu.cc for Blackbox - an X11 Window manager
+// Copyright (c) 2001 - 2002 Sean 'Shaleh' Perry <shaleh@debian.org>
// Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net)
//
// Permission is hereby granted, free of charge, to any person obtaining a
@@ -20,48 +21,38 @@
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
-// stupid macros needed to access some functions in version 2 of the GNU C
-// library
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif // _GNU_SOURCE
-
#ifdef HAVE_CONFIG_H
# include "../config.h"
#endif // HAVE_CONFIG_H
-#include "openbox.h"
-#include "Rootmenu.h"
-#include "Screen.h"
-
+extern "C" {
#ifdef HAVE_STDIO_H
# include <stdio.h>
#endif // HAVE_STDIO_H
-#ifdef HAVE_STDLIB_H
+#ifdef HAVE_STDLIB_H
# include <stdlib.h>
#endif // HAVE_STDLIB_H
-#ifdef HAVE_STRING_H
+#ifdef HAVE_STRING_H
# include <string.h>
#endif // HAVE_STRING_H
#ifdef HAVE_SYS_PARAM_H
# include <sys/param.h>
#endif // HAVE_SYS_PARAM_H
+}
-#ifndef MAXPATHLEN
-#define MAXPATHLEN 255
-#endif // MAXPATHLEN
+#include "blackbox.hh"
+#include "Rootmenu.hh"
+#include "Screen.hh"
+#include "Util.hh"
-Rootmenu::Rootmenu(BScreen &scrn) : Basemenu(scrn), openbox(scrn.getOpenbox()),
- screen(scrn)
-{
-}
+Rootmenu::Rootmenu(BScreen *scrn) : Basemenu(scrn) { }
-void Rootmenu::itemSelected(int button, int index) {
+void Rootmenu::itemSelected(int button, unsigned int index) {
if (button != 1)
return;
@@ -72,44 +63,33 @@ void Rootmenu::itemSelected(int button, int index) {
switch (item->function()) {
case BScreen::Execute:
- if (item->exec()) {
-#ifndef __EMX__
- char displaystring[MAXPATHLEN];
- sprintf(displaystring, "DISPLAY=%s",
- DisplayString(screen.getBaseDisplay().getXDisplay()));
- sprintf(displaystring + strlen(displaystring) - 1, "%d",
- screen.getScreenNumber());
-
- bexec(item->exec(), displaystring);
-#else // __EMX__
- spawnlp(P_NOWAIT, "cmd.exe", "cmd.exe", "/c", item->exec(), NULL);
-#endif // !__EMX__
- }
+ if (item->exec())
+ bexec(item->exec(), getScreen()->displayString());
break;
case BScreen::Restart:
- openbox.restart();
+ getScreen()->getBlackbox()->restart();
break;
case BScreen::RestartOther:
if (item->exec())
- openbox.restart(item->exec());
+ getScreen()->getBlackbox()->restart(item->exec());
break;
case BScreen::Exit:
- openbox.shutdown();
+ getScreen()->getBlackbox()->shutdown();
break;
case BScreen::SetStyle:
if (item->exec())
- openbox.setStyleFilename(item->exec());
+ getScreen()->getBlackbox()->saveStyleFilename(item->exec());
case BScreen::Reconfigure:
- openbox.reconfigure();
+ getScreen()->getBlackbox()->reconfigure();
return;
}
- if (! (screen.getRootmenu()->isTorn() || isTorn()) &&
+ if (! (getScreen()->getRootmenu()->isTorn() || isTorn()) &&
item->function() != BScreen::Reconfigure &&
item->function() != BScreen::SetStyle)
hide();