summaryrefslogtreecommitdiff
path: root/src/Screen.h
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/Screen.h
parente640ee15ad19f24e0ad8351933fea5bafe98d380 (diff)
import from bb-cvs
added slit and enable-clobber defines back in Makefile.am
Diffstat (limited to 'src/Screen.h')
-rw-r--r--src/Screen.h336
1 files changed, 0 insertions, 336 deletions
diff --git a/src/Screen.h b/src/Screen.h
deleted file mode 100644
index 24baba1f..00000000
--- a/src/Screen.h
+++ /dev/null
@@ -1,336 +0,0 @@
-// Screen.h for Openbox
-// Copyright (c) 2001 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
-// copy of this software and associated documentation files (the "Software"),
-// to deal in the Software without restriction, including without limitation
-// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-// and/or sell copies of the Software, and to permit persons to whom the
-// Software is furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-// DEALINGS IN THE SOFTWARE.
-
-#ifndef __Screen_hh
-#define __Screen_hh
-
-#include <X11/Xlib.h>
-#include <X11/Xresource.h>
-
-#ifdef TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else // !TIME_WITH_SYS_TIME
-# ifdef HAVE_SYS_TIME_H
-# include <sys/time.h>
-# else // !HAVE_SYS_TIME_H
-# include <time.h>
-# endif // HAVE_SYS_TIME_H
-#endif // TIME_WITH_SYS_TIME
-
-#include "BaseDisplay.h"
-#include "Configmenu.h"
-#include "Iconmenu.h"
-#include "Netizen.h"
-#include "Rootmenu.h"
-#include "Timer.h"
-#include "Workspace.h"
-#include "Workspacemenu.h"
-#include "openbox.h"
-#ifdef SLIT
-# include "Slit.h"
-#endif // SLIT
-#include "Image.h"
-#include "Resource.h"
-#include "Util.h"
-
-#include <list>
-#include <vector>
-
-// forward declaration
-class BScreen;
-
-struct WindowStyle {
- BColor f_focus, f_unfocus, l_text_focus, l_text_unfocus, b_pic_focus,
- b_pic_unfocus;
- BTexture t_focus, t_unfocus, l_focus, l_unfocus, h_focus, h_unfocus,
- b_focus, b_unfocus, b_pressed, g_focus, g_unfocus;
- GC l_text_focus_gc, l_text_unfocus_gc, b_pic_focus_gc, b_pic_unfocus_gc;
-
- XFontSet fontset;
- XFontSetExtents *fontset_extents;
- XFontStruct *font;
-
- int justify;
-};
-
-struct ToolbarStyle {
- BColor l_text, w_text, c_text, b_pic;
- BTexture toolbar, label, window, button, pressed, clock;
- GC l_text_gc, w_text_gc, c_text_gc, b_pic_gc;
-
- XFontSet fontset;
- XFontSetExtents *fontset_extents;
- XFontStruct *font;
-
- int justify;
-};
-
-struct MenuStyle {
- BColor t_text, f_text, h_text, d_text;
- BTexture title, frame, hilite;
- GC t_text_gc, f_text_gc, h_text_gc, d_text_gc, hilite_gc;
-
- XFontSet t_fontset, f_fontset;
- XFontSetExtents *t_fontset_extents, *f_fontset_extents;
- XFontStruct *t_font, *f_font;
-
- int t_justify, f_justify, bullet, bullet_pos;
-};
-
-
-class BScreen : public ScreenInfo {
-private:
- Bool root_colormap_installed, managed, geom_visible;
- GC opGC;
- Pixmap geom_pixmap;
- Window geom_window;
-
- Openbox &openbox;
- Resource &config;
- BImageControl *image_control;
- Configmenu *configmenu;
- Iconmenu *iconmenu;
- Rootmenu *rootmenu;
-
- typedef std::list<Rootmenu *> menuList;
- menuList rootmenuList;
- typedef std::list<Netizen *> netList;
- netList netizenList;
- typedef std::list<OpenboxWindow *> winList;
- winList iconList; // winList is declared in Workspace.h
-
-#ifdef SLIT
- Slit *slit;
-#endif // SLIT
-
- Toolbar *toolbar;
- Workspace *current_workspace;
- Workspacemenu *workspacemenu;
-
- unsigned int geom_w, geom_h;
- unsigned long event_mask;
-
- typedef std::vector<std::string> wkspNameList;
- wkspNameList workspaceNames;
- typedef std::vector<Workspace *> wkspList;
- wkspList workspacesList;
-
- struct resource {
- WindowStyle wstyle;
- ToolbarStyle tstyle;
- MenuStyle mstyle;
-
- bool sloppy_focus, auto_raise, auto_edge_balance, focus_last,
- ordered_dither, opaque_move, hide_toolbar, full_max, focus_new;
- BColor border_color;
- Resource styleconfig;
-
- int workspaces, placement_policy, edge_snap_threshold, row_direction,
- col_direction;
-
- unsigned int handle_width, bevel_width, frame_width, border_width;
- int zones; // number of zones to be used when alt-resizing a window
-
-#ifdef HAVE_STRFTIME
- char *strftime_format;
-#else // !HAVE_STRFTIME
- bool clock24hour;
- int date_format;
-#endif // HAVE_STRFTIME
-
- char *root_command;
- } resource;
-
-
-protected:
- Bool parseMenuFile(FILE *, Rootmenu *);
-
- void readDatabaseTexture(const char *, const char *, BTexture *,
- unsigned long);
- void readDatabaseColor(const char *, const char *, BColor *, unsigned long);
-
- void readDatabaseFontSet(const char *, const char *, XFontSet *);
- XFontSet createFontSet(const char *);
- void readDatabaseFont(const char *, const char *, XFontStruct **);
-
- void InitMenu();
- void LoadStyle();
-
-
-public:
- BScreen(Openbox &, int, Resource &);
- ~BScreen();
-
- inline const Bool &isScreenManaged() const { return managed; }
- inline const GC &getOpGC() const { return opGC; }
-
- inline Openbox &getOpenbox() { return openbox; }
- inline BColor *getBorderColor() { return &resource.border_color; }
- inline BImageControl *getImageControl() { return image_control; }
- inline Rootmenu *getRootmenu() { return rootmenu; }
-
-#ifdef SLIT
- inline Slit *getSlit() { return slit; }
-#endif // SLIT
-
- inline Toolbar *getToolbar() { return toolbar; }
-
- Rect availableArea() const;
-
- inline Workspace *getWorkspace(unsigned int w) {
- ASSERT(w < workspacesList.size());
- return workspacesList[w];
- }
- inline Workspace *getCurrentWorkspace() { return current_workspace; }
-
- inline Workspacemenu *getWorkspacemenu() { return workspacemenu; }
-
- inline void iconUpdate() { iconmenu->update(); }
-
- inline const unsigned int &getHandleWidth() const
- { return resource.handle_width; }
- inline const unsigned int &getBevelWidth() const
- { return resource.bevel_width; }
- inline const unsigned int &getFrameWidth() const
- { return resource.frame_width; }
- inline const unsigned int &getBorderWidth() const
- { return resource.border_width; }
-
- inline const int getCurrentWorkspaceID()
- { return current_workspace->getWorkspaceID(); }
- inline const int getWorkspaceCount() { return workspacesList.size(); }
- inline const int getIconCount() { return iconList.size(); }
-
- inline const Bool &isRootColormapInstalled() const
- { return root_colormap_installed; }
- inline void setRootColormapInstalled(Bool r) { root_colormap_installed = r; }
-
- inline bool sloppyFocus() const { return resource.sloppy_focus; }
- void setSloppyFocus(bool s);
-
- inline bool autoRaise() const { return resource.auto_raise; }
- void setAutoRaise(bool a);
-
- inline bool imageDither() const { return image_control->doDither(); }
- void setImageDither(bool d, bool reconfig = true);
-
- inline bool orderedDither() const { return resource.ordered_dither; }
-
- inline bool opaqueMove() const { return resource.opaque_move; }
- void setOpaqueMove(bool o);
-
- inline bool fullMax() const { return resource.full_max; }
- void setFullMax(bool f);
-
- inline bool focusNew() const { return resource.focus_new; }
- void setFocusNew(bool f);
-
- inline bool focusLast() const { return resource.focus_last; }
- void setFocusLast(bool f);
-
- inline int getWindowZones() const { return resource.zones; }
- void setWindowZones(int z);
-
- inline int workspaceCount() const { return resource.workspaces; }
- void setWorkspaceCount(int w);
-
- inline int placementPolicy() const { return resource.placement_policy; }
- void setPlacementPolicy(int p);
-
- inline int edgeSnapThreshold() const { return resource.edge_snap_threshold; }
- void setEdgeSnapThreshold(int t);
-
- inline int rowPlacementDirection() const { return resource.row_direction; }
- void setRowPlacementDirection(int d);
-
- inline int colPlacementDirection() const { return resource.col_direction; }
- void setColPlacementDirection(int d);
-
- inline char *rootCommand() const { return resource.root_command; }
- inline void setRootCommand(const char *cmd);
-
-#ifdef HAVE_STRFTIME
- inline char *strftimeFormat() { return resource.strftime_format; }
- void setStrftimeFormat(const char *);
-#else // !HAVE_STRFTIME
- inline int dateFormat() { return resource.date_format; }
- void setDateFormat(int f);
- inline bool clock24Hour() { return resource.clock24hour; }
- void setClock24Hour(Bool c);
-#endif // HAVE_STRFTIME
-
- inline bool hideToolbar() const { return resource.hide_toolbar; }
- void setHideToolbar(bool);
-
- inline WindowStyle *getWindowStyle() { return &resource.wstyle; }
- inline MenuStyle *getMenuStyle() { return &resource.mstyle; }
- inline ToolbarStyle *getToolbarStyle() { return &resource.tstyle; }
-
- OpenboxWindow *getIcon(int);
-
- int addWorkspace();
- int removeLastWorkspace();
-
- void removeWorkspaceNames();
- void addWorkspaceName(const char *);
- void saveWorkspaceNames();
- void addNetizen(Netizen *);
- void removeNetizen(Window);
- void addIcon(OpenboxWindow *);
- void removeIcon(OpenboxWindow *);
- const char *getNameOfWorkspace(int);
- void changeWorkspaceID(int);
- void raiseWindows(Window *, int);
- void reassociateWindow(OpenboxWindow *, int, Bool);
- void prevFocus();
- void nextFocus();
- void raiseFocus();
- void reconfigure();
- void load();
- void save();
- void rereadMenu();
- void shutdown();
- void showPosition(int, int);
- void showGeometry(unsigned int, unsigned int);
- void hideGeometry();
- void updateNetizenCurrentWorkspace();
- void updateNetizenWorkspaceCount();
- void updateNetizenWindowFocus();
- void updateNetizenWindowAdd(Window, unsigned long);
- void updateNetizenWindowDel(Window);
- void updateNetizenConfigNotify(XEvent *);
- void updateNetizenWindowRaise(Window);
- void updateNetizenWindowLower(Window);
-
- enum { RowSmartPlacement = 1, ColSmartPlacement, CascadePlacement,
- BestFitPlacement, UnderMousePlacement, ClickMousePlacement,
- LeftRight, RightLeft, TopBottom, BottomTop };
- enum { LeftJustify = 1, RightJustify, CenterJustify };
- enum { RoundBullet = 1, TriangleBullet, SquareBullet, NoBullet };
- enum { Restart = 1, RestartOther, Exit, Shutdown, Execute, Reconfigure,
- WindowShade, WindowIconify, WindowMaximize, WindowClose, WindowRaise,
- WindowLower, WindowStick, WindowKill, SetStyle };
-};
-
-
-#endif // __Screen_hh