_atoms[Atom_Utf8] = create("UTF8_STRING");
#ifdef HAVE_GETPID
- _atoms[blackbox_pid] = create("_BLACKBOX_PID");
+ _atoms[openbox_pid] = create("_OPENBOX_PID");
#endif // HAVE_GETPID
_atoms[wm_colormap_windows] = create("WM_COLORMAP_WINDOWS");
Atom_Utf8, //!< The atom which represents utf8-encoded strings
#ifdef HAVE_GETPID
- blackbox_pid,
+ openbox_pid,
#endif // HAVE_GETPID
// window hints
src/openbox.cc
src/display.cc
-src/client.cc
\ No newline at end of file
+src/client.cc
+src/screen.cc
* 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);
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);
#include "otk/display.hh"
extern "C" {
+#include <X11/cursorfont.h>
+
#ifdef HAVE_STDIO_H
# include <stdio.h>
#endif // HAVE_STDIO_H
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
}
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;
//! 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;
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.