all repos — openbox @ 25d1e3538be5719b238f7e62a949c409fef2af66

openbox fork - make it a bit more like ryudo

use OB Widgets for everything
Dana Jansens danakj@orodu.net
commit

25d1e3538be5719b238f7e62a949c409fef2af66

parent

d49d01044d34793dc88bea4889ee98ec333220ce

7 files changed, 30 insertions(+), 35 deletions(-)

jump to
M otk/widget.ccotk/widget.cc

@@ -438,7 +438,7 @@

if (it != _children.end()) _children.erase(it); } -#include <stdio.h> + void OtkWidget::setStyle(Style *style) { assert(style);
M src/Makefile.amsrc/Makefile.am

@@ -16,7 +16,8 @@

openbox3_LDADD=../otk/libotk.a @LIBINTL@ openbox3_SOURCES= actions.cc client.cc frame.cc openbox.cc screen.cc \ - main.cc rootwindow.cc backgroundwidget.cc + main.cc rootwindow.cc backgroundwidget.cc labelwidget.cc \ + buttonwidget.cc MAINTAINERCLEANFILES= Makefile.in
M src/client.hhsrc/client.hh

@@ -303,7 +303,8 @@ //! Resizes the client window, anchoring it in a given corner

/*! This also maintains things like the client's minsize, and size increments. @param anchor The corner to keep in the same position when resizing - @param size The new size for the client + @param x The X component of the new size for the client + @param y The Y component of the new size for the client */ void resize(Corner anchor, int x, int y);
M src/frame.ccsrc/frame.cc

@@ -27,14 +27,14 @@ _client(client),

_screen(otk::OBDisplay::screenInfo(client->screen())), _plate(this, OBWidget::Type_Plate), _titlebar(this, OBWidget::Type_Titlebar), - _button_close(&_titlebar), - _button_iconify(&_titlebar), - _button_max(&_titlebar), - _button_stick(&_titlebar), - _label(&_titlebar), + _button_close(&_titlebar, OBWidget::Type_CloseButton), + _button_iconify(&_titlebar, OBWidget::Type_IconifyButton), + _button_max(&_titlebar, OBWidget::Type_MaximizeButton), + _button_stick(&_titlebar, OBWidget::Type_StickyButton), + _label(&_titlebar, OBWidget::Type_Label), _handle(this, OBWidget::Type_Handle), - _grip_left(&_handle), - _grip_right(&_handle), + _grip_left(&_handle, OBWidget::Type_LeftGrip), + _grip_right(&_handle, OBWidget::Type_RightGrip), _decorations(client->decorations()) { assert(client);

@@ -85,15 +85,6 @@ {

assert(style); otk::OtkWidget::setStyle(style); - // set the grips' textures - _grip_left.setTexture(style->getGripFocus()); - _grip_left.setUnfocusTexture(style->getGripUnfocus()); - _grip_left.setPressedFocusTexture(style->getGripFocus()); - _grip_left.setPressedUnfocusTexture(style->getGripUnfocus()); - _grip_right.setTexture(style->getGripFocus()); - _grip_right.setUnfocusTexture(style->getGripUnfocus()); - _grip_right.setPressedFocusTexture(style->getGripFocus()); - _grip_right.setPressedUnfocusTexture(style->getGripUnfocus()); // if a style was previously set, then 'replace' is true, cause we're // replacing a style

@@ -107,10 +98,6 @@ _style = style;

// XXX: change when focus changes! XSetWindowBorder(otk::OBDisplay::display, getWindow(), - _style->getBorderColor()->pixel()); - XSetWindowBorder(otk::OBDisplay::display, _grip_left.getWindow(), - _style->getBorderColor()->pixel()); - XSetWindowBorder(otk::OBDisplay::display, _grip_right.getWindow(), _style->getBorderColor()->pixel()); // if !replace, then adjust() will get called after the client is grabbed!
M src/frame.hhsrc/frame.hh

@@ -11,14 +11,13 @@ }

#include "client.hh" #include "backgroundwidget.hh" +#include "labelwidget.hh" +#include "buttonwidget.hh" #include "otk/strut.hh" #include "otk/rect.hh" #include "otk/screeninfo.hh" #include "otk/style.hh" #include "otk/widget.hh" -#include "otk/button.hh" -#include "otk/focuswidget.hh" -#include "otk/focuslabel.hh" #include <string>

@@ -52,14 +51,14 @@

// decoration windows OBBackgroundWidget _plate; // sits entirely under the client window OBBackgroundWidget _titlebar; - otk::OtkButton _button_close; - otk::OtkButton _button_iconify; - otk::OtkButton _button_max; - otk::OtkButton _button_stick; - otk::OtkFocusLabel _label; + OBButtonWidget _button_close; + OBButtonWidget _button_iconify; + OBButtonWidget _button_max; + OBButtonWidget _button_stick; + OBLabelWidget _label; OBBackgroundWidget _handle; - otk::OtkButton _grip_left; - otk::OtkButton _grip_right; + OBButtonWidget _grip_left; + OBButtonWidget _grip_right; //! The decorations to display on the window. /*!
M src/rootwindow.hhsrc/rootwindow.hh

@@ -2,7 +2,7 @@ // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-

#ifndef __rootwindow_hh #define __rootwindow_hh -/*! @file client.hh +/*! @file rootwindow.hh @brief The OBClient class maintains the state of a client window by handling property changes on the window and some client messages */
M src/widget.hhsrc/widget.hh

@@ -9,7 +9,14 @@ public:

enum WidgetType { Type_Titlebar, Type_Handle, - Type_Plate + Type_Plate, + Type_Label, + Type_MaximizeButton, + Type_CloseButton, + Type_IconifyButton, + Type_StickyButton, + Type_LeftGrip, + Type_RightGrip }; private: