summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-11-10 12:20:29 +0000
committerDana Jansens <danakj@orodu.net>2002-11-10 12:20:29 +0000
commitb067510b6114844945381293227783bf9fd7a806 (patch)
tree5efde47d042e0afc0689a2af1a26f505e146e67d /src
parent00b96c7846e715698d0f635887a3eff009deb0c8 (diff)
cleanups.
OBScreen almost ready for some action
Diffstat (limited to 'src')
-rw-r--r--src/bbwindow.cc2
-rw-r--r--src/bbwindow.hh2
-rw-r--r--src/openbox.cc11
-rw-r--r--src/openbox.hh16
4 files changed, 28 insertions, 3 deletions
diff --git a/src/bbwindow.cc b/src/bbwindow.cc
index ea0bb55c..e9616099 100644
--- a/src/bbwindow.cc
+++ b/src/bbwindow.cc
@@ -1583,7 +1583,7 @@ BlackboxWindow *BlackboxWindow::getTransientFor(void) const {
* move.
*/
void BlackboxWindow::configure(int dx, int dy,
- unsigned int dw, unsigned int dh) {
+ int dw, int dh) {
bool send_event = ((frame.rect.x() != dx || frame.rect.y() != dy) &&
! flags.moving);
diff --git a/src/bbwindow.hh b/src/bbwindow.hh
index b7472323..8417d1bc 100644
--- a/src/bbwindow.hh
+++ b/src/bbwindow.hh
@@ -384,7 +384,7 @@ public:
void ungrabButtons(void);
void installColormap(bool install);
void restore(bool remap);
- void configure(int dx, int dy, unsigned int dw, unsigned int dh);
+ void configure(int dx, int dy, int dw, int dh);
void setWorkspace(unsigned int n);
void changeBlackboxHints(const BlackboxHints *net);
void restoreAttributes(void);
diff --git a/src/openbox.cc b/src/openbox.cc
index ee2fffb5..6f42bc20 100644
--- a/src/openbox.cc
+++ b/src/openbox.cc
@@ -10,6 +10,8 @@
#include "otk/display.hh"
extern "C" {
+#include <X11/cursorfont.h>
+
#ifdef HAVE_STDIO_H
# include <stdio.h>
#endif // HAVE_STDIO_H
@@ -96,7 +98,14 @@ Openbox::Openbox(int argc, char **argv)
sigaction(SIGHUP, &action, (struct sigaction *) 0);
_property = new otk::OBProperty();
-
+
+ // create the mouse cursors we'll use
+ _cursors.session = XCreateFontCursor(otk::OBDisplay::display, XC_left_ptr);
+ _cursors.move = XCreateFontCursor(otk::OBDisplay::display, XC_fleur);
+ _cursors.ll_angle = XCreateFontCursor(otk::OBDisplay::display, XC_ll_angle);
+ _cursors.lr_angle = XCreateFontCursor(otk::OBDisplay::display, XC_lr_angle);
+ _cursors.ul_angle = XCreateFontCursor(otk::OBDisplay::display, XC_ul_angle);
+ _cursors.ur_angle = XCreateFontCursor(otk::OBDisplay::display, XC_ur_angle);
_state = State_Normal; // done starting
}
diff --git a/src/openbox.hh b/src/openbox.hh
index bb05fae8..c3fa3cf9 100644
--- a/src/openbox.hh
+++ b/src/openbox.hh
@@ -49,6 +49,16 @@ public:
State_Exiting //!< The window manager is exiting (being destroyed)
};
+ //! Mouse cursors used throughout Openbox
+ struct Cursors {
+ Cursor session; //!< The default mouse cursor
+ Cursor move; //!< For moving a window
+ Cursor ll_angle; //!< For resizing the bottom left corner of a window
+ Cursor lr_angle; //!< For resizing the bottom right corner of a window
+ Cursor ul_angle; //!< For resizing the top left corner of a window
+ Cursor ur_angle; //!< For resizing the right corner of a window
+ };
+
//! A map for looking up a specific client class from the window id
typedef std::map<Window, OBClient *> ClientMap;
@@ -93,6 +103,9 @@ private:
//! The running state of the window manager
RunState _state;
+ //! Mouse cursors used throughout Openbox
+ Cursors _cursors;
+
//! When set to true, the Openbox::eventLoop function will stop and return
bool _doshutdown;
@@ -128,6 +141,9 @@ public:
inline const otk::OBProperty *property() const { return _property; }
+ //! Returns the mouse cursors used throughout Openbox
+ inline const Cursors &cursor() const { return _cursors; }
+
//! The main function of the Openbox class
/*!
This function should be called after instantiating the Openbox class.