all repos — openbox @ b067510b6114844945381293227783bf9fd7a806

openbox fork - make it a bit more like ryudo

cleanups.
OBScreen almost ready for some action
Dana Jansens danakj@orodu.net
commit

b067510b6114844945381293227783bf9fd7a806

parent

00b96c7846e715698d0f635887a3eff009deb0c8

M otk/property.ccotk/property.cc

@@ -30,7 +30,7 @@ _atoms[Atom_String] = XA_STRING;

_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");
M otk/property.hhotk/property.hh

@@ -34,7 +34,7 @@ Atom_String, //!< The atom which represents ascii strings

Atom_Utf8, //!< The atom which represents utf8-encoded strings #ifdef HAVE_GETPID - blackbox_pid, + openbox_pid, #endif // HAVE_GETPID // window hints
M po/POTFILES.inpo/POTFILES.in

@@ -2,4 +2,5 @@ # List of source files containing translatable strings.

src/openbox.cc src/display.cc -src/client.cc+src/client.cc +src/screen.cc
M src/bbwindow.ccsrc/bbwindow.cc

@@ -1583,7 +1583,7 @@ * According to the ICCCM a client message is not sent for a resize, only a

* 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);
M src/bbwindow.hhsrc/bbwindow.hh

@@ -384,7 +384,7 @@ void grabButtons(void);

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);
M src/openbox.ccsrc/openbox.cc

@@ -10,6 +10,8 @@ #include "otk/property.hh"

#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 @@ sigaction(SIGINT, &action, (struct sigaction *) 0);

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 }
M src/openbox.hhsrc/openbox.hh

@@ -49,6 +49,16 @@ State_Normal, //!< The window manager is running in its normal state

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 @@

//! 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;

@@ -127,6 +140,9 @@ */

inline otk::OBTimerQueueManager *timerManager() { return &_timermanager; } 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 /*!