cleaning
This commit is contained in:
parent
4ce0b72282
commit
06ad66a211
2 changed files with 238 additions and 270 deletions
432
src/Toolbar.cc
432
src/Toolbar.cc
|
@ -22,7 +22,7 @@
|
||||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
// DEALINGS IN THE SOFTWARE.
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
// $Id: Toolbar.cc,v 1.41 2002/11/26 16:46:05 fluxgen Exp $
|
// $Id: Toolbar.cc,v 1.42 2002/11/27 12:20:23 fluxgen Exp $
|
||||||
|
|
||||||
#include "Toolbar.hh"
|
#include "Toolbar.hh"
|
||||||
|
|
||||||
|
@ -48,7 +48,6 @@
|
||||||
#include <X11/Xutil.h>
|
#include <X11/Xutil.h>
|
||||||
#include <X11/keysym.h>
|
#include <X11/keysym.h>
|
||||||
|
|
||||||
|
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
|
|
||||||
|
@ -72,11 +71,11 @@ on_top(scrn->isToolbarOnTop()),
|
||||||
editing(false),
|
editing(false),
|
||||||
hidden(scrn->doToolbarAutoHide()),
|
hidden(scrn->doToolbarAutoHide()),
|
||||||
do_auto_hide(scrn->doToolbarAutoHide()),
|
do_auto_hide(scrn->doToolbarAutoHide()),
|
||||||
screen(scrn),
|
m_screen(scrn),
|
||||||
image_ctrl(scrn->getImageControl()),
|
image_ctrl(scrn->getImageControl()),
|
||||||
clock_timer(this), // get the clock updating every minute
|
clock_timer(this), // get the clock updating every minute
|
||||||
hide_timer(&hide_handler),
|
hide_timer(&hide_handler),
|
||||||
iconbar(0) {
|
m_toolbarmenu(*this) {
|
||||||
timeval delay;
|
timeval delay;
|
||||||
delay.tv_sec = 1;
|
delay.tv_sec = 1;
|
||||||
delay.tv_usec = 0;
|
delay.tv_usec = 0;
|
||||||
|
@ -89,8 +88,6 @@ iconbar(0) {
|
||||||
|
|
||||||
frame.grab_x = frame.grab_y = 0;
|
frame.grab_x = frame.grab_y = 0;
|
||||||
|
|
||||||
toolbarmenu = new Toolbarmenu(this);
|
|
||||||
|
|
||||||
display = BaseDisplay::getXDisplay();
|
display = BaseDisplay::getXDisplay();
|
||||||
XSetWindowAttributes attrib;
|
XSetWindowAttributes attrib;
|
||||||
unsigned long create_mask = CWBackPixmap | CWBackPixel | CWBorderPixel |
|
unsigned long create_mask = CWBackPixmap | CWBackPixel | CWBorderPixel |
|
||||||
|
@ -98,17 +95,18 @@ iconbar(0) {
|
||||||
|
|
||||||
attrib.background_pixmap = None;
|
attrib.background_pixmap = None;
|
||||||
attrib.background_pixel = attrib.border_pixel =
|
attrib.background_pixel = attrib.border_pixel =
|
||||||
screen->getBorderColor()->pixel();
|
m_screen->getBorderColor()->pixel();
|
||||||
attrib.colormap = screen->colormap();
|
attrib.colormap = m_screen->colormap();
|
||||||
attrib.override_redirect = true;
|
attrib.override_redirect = true;
|
||||||
attrib.event_mask = ButtonPressMask | ButtonReleaseMask |
|
attrib.event_mask = ButtonPressMask | ButtonReleaseMask |
|
||||||
EnterWindowMask | LeaveWindowMask;
|
EnterWindowMask | LeaveWindowMask;
|
||||||
|
|
||||||
Fluxbox * const fluxbox = Fluxbox::instance();
|
Fluxbox * const fluxbox = Fluxbox::instance();
|
||||||
|
int depth = m_screen->getDepth();
|
||||||
|
Visual *vis = m_screen->getVisual();
|
||||||
frame.window =
|
frame.window =
|
||||||
XCreateWindow(display, screen->getRootWindow(), 0, 0, 1, 1, 0,
|
XCreateWindow(display, m_screen->getRootWindow(), 0, 0, 1, 1, 0,
|
||||||
screen->getDepth(), InputOutput, screen->getVisual(),
|
depth, InputOutput, vis,
|
||||||
create_mask, &attrib);
|
create_mask, &attrib);
|
||||||
fluxbox->saveToolbarSearch(frame.window, this);
|
fluxbox->saveToolbarSearch(frame.window, this);
|
||||||
|
|
||||||
|
@ -116,38 +114,38 @@ iconbar(0) {
|
||||||
KeyPressMask | EnterWindowMask;
|
KeyPressMask | EnterWindowMask;
|
||||||
|
|
||||||
frame.workspace_label =
|
frame.workspace_label =
|
||||||
XCreateWindow(display, frame.window, 0, 0, 1, 1, 0, screen->getDepth(),
|
XCreateWindow(display, frame.window, 0, 0, 1, 1, 0, depth,
|
||||||
InputOutput, screen->getVisual(), create_mask, &attrib);
|
InputOutput, vis, create_mask, &attrib);
|
||||||
fluxbox->saveToolbarSearch(frame.workspace_label, this);
|
fluxbox->saveToolbarSearch(frame.workspace_label, this);
|
||||||
|
|
||||||
frame.window_label =
|
frame.window_label =
|
||||||
XCreateWindow(display, frame.window, 0, 0, 1, 1, 0, screen->getDepth(),
|
XCreateWindow(display, frame.window, 0, 0, 1, 1, 0, depth,
|
||||||
InputOutput, screen->getVisual(), create_mask, &attrib);
|
InputOutput, vis, create_mask, &attrib);
|
||||||
fluxbox->saveToolbarSearch(frame.window_label, this);
|
fluxbox->saveToolbarSearch(frame.window_label, this);
|
||||||
|
|
||||||
frame.clock =
|
frame.clock =
|
||||||
XCreateWindow(display, frame.window, 0, 0, 1, 1, 0, screen->getDepth(),
|
XCreateWindow(display, frame.window, 0, 0, 1, 1, 0, depth,
|
||||||
InputOutput, screen->getVisual(), create_mask, &attrib);
|
InputOutput, vis, create_mask, &attrib);
|
||||||
fluxbox->saveToolbarSearch(frame.clock, this);
|
fluxbox->saveToolbarSearch(frame.clock, this);
|
||||||
|
|
||||||
frame.psbutton =
|
frame.psbutton =
|
||||||
XCreateWindow(display ,frame.window, 0, 0, 1, 1, 0, screen->getDepth(),
|
XCreateWindow(display ,frame.window, 0, 0, 1, 1, 0, depth,
|
||||||
InputOutput, screen->getVisual(), create_mask, &attrib);
|
InputOutput, vis, create_mask, &attrib);
|
||||||
fluxbox->saveToolbarSearch(frame.psbutton, this);
|
fluxbox->saveToolbarSearch(frame.psbutton, this);
|
||||||
|
|
||||||
frame.nsbutton =
|
frame.nsbutton =
|
||||||
XCreateWindow(display ,frame.window, 0, 0, 1, 1, 0, screen->getDepth(),
|
XCreateWindow(display ,frame.window, 0, 0, 1, 1, 0, depth,
|
||||||
InputOutput, screen->getVisual(), create_mask, &attrib);
|
InputOutput, vis, create_mask, &attrib);
|
||||||
fluxbox->saveToolbarSearch(frame.nsbutton, this);
|
fluxbox->saveToolbarSearch(frame.nsbutton, this);
|
||||||
|
|
||||||
frame.pwbutton =
|
frame.pwbutton =
|
||||||
XCreateWindow(display ,frame.window, 0, 0, 1, 1, 0, screen->getDepth(),
|
XCreateWindow(display ,frame.window, 0, 0, 1, 1, 0, depth,
|
||||||
InputOutput, screen->getVisual(), create_mask, &attrib);
|
InputOutput, vis, create_mask, &attrib);
|
||||||
fluxbox->saveToolbarSearch(frame.pwbutton, this);
|
fluxbox->saveToolbarSearch(frame.pwbutton, this);
|
||||||
|
|
||||||
frame.nwbutton =
|
frame.nwbutton =
|
||||||
XCreateWindow(display ,frame.window, 0, 0, 1, 1, 0, screen->getDepth(),
|
XCreateWindow(display ,frame.window, 0, 0, 1, 1, 0, depth,
|
||||||
InputOutput, screen->getVisual(), create_mask, &attrib);
|
InputOutput, vis, create_mask, &attrib);
|
||||||
fluxbox->saveToolbarSearch(frame.nwbutton, this);
|
fluxbox->saveToolbarSearch(frame.nwbutton, this);
|
||||||
|
|
||||||
frame.base = frame.label = frame.wlabel = frame.clk = frame.button =
|
frame.base = frame.label = frame.wlabel = frame.clk = frame.button =
|
||||||
|
@ -155,9 +153,8 @@ iconbar(0) {
|
||||||
|
|
||||||
|
|
||||||
if (Fluxbox::instance()->useIconBar())
|
if (Fluxbox::instance()->useIconBar())
|
||||||
iconbar = new IconBar(screen, frame.window_label);
|
m_iconbar.reset(new IconBar(screen(), frame.window_label));
|
||||||
else
|
|
||||||
iconbar = 0;
|
|
||||||
|
|
||||||
XMapSubwindows(display, frame.window);
|
XMapSubwindows(display, frame.window);
|
||||||
XMapWindow(display, frame.window);
|
XMapWindow(display, frame.window);
|
||||||
|
@ -194,19 +191,16 @@ Toolbar::~Toolbar() {
|
||||||
|
|
||||||
XDestroyWindow(display, frame.window);
|
XDestroyWindow(display, frame.window);
|
||||||
|
|
||||||
delete toolbarmenu;
|
|
||||||
if (iconbar)
|
|
||||||
delete iconbar;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Toolbar::addIcon(FluxboxWindow *w) {
|
void Toolbar::addIcon(FluxboxWindow *w) {
|
||||||
if (iconbar)
|
if (m_iconbar.get() != 0)
|
||||||
Fluxbox::instance()->saveToolbarSearch(iconbar->addIcon(w), this);
|
Fluxbox::instance()->saveToolbarSearch(m_iconbar->addIcon(w), this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Toolbar::delIcon(FluxboxWindow *w) {
|
void Toolbar::delIcon(FluxboxWindow *w) {
|
||||||
if (iconbar)
|
if (m_iconbar.get() != 0)
|
||||||
Fluxbox::instance()->removeToolbarSearch(iconbar->delIcon(w));
|
Fluxbox::instance()->removeToolbarSearch(m_iconbar->delIcon(w));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Toolbar::reconfigure() {
|
void Toolbar::reconfigure() {
|
||||||
|
@ -215,54 +209,54 @@ void Toolbar::reconfigure() {
|
||||||
head_w,
|
head_w,
|
||||||
head_h;
|
head_h;
|
||||||
|
|
||||||
frame.bevel_w = screen->getBevelWidth();
|
frame.bevel_w = screen()->getBevelWidth();
|
||||||
#ifdef XINERAMA
|
#ifdef XINERAMA
|
||||||
int head = (screen->hasXinerama())
|
int head = (screen->hasXinerama())
|
||||||
? screen->getToolbarOnHead()
|
? screen->getToolbarOnHead()
|
||||||
: -1;
|
: -1;
|
||||||
|
|
||||||
if (head >= 0) { // toolbar on head nr, if -1 then over ALL heads
|
if (head >= 0) { // toolbar on head nr, if -1 then over ALL heads
|
||||||
head_x = screen->getHeadX(head);
|
head_x = screen()->getHeadX(head);
|
||||||
head_y = screen->getHeadY(head);
|
head_y = screen()->getHeadY(head);
|
||||||
head_w = screen->getHeadWidth(head);
|
head_w = screen()->getHeadWidth(head);
|
||||||
head_h = screen->getHeadHeight(head);
|
head_h = screen()->getHeadHeight(head);
|
||||||
|
|
||||||
frame.width =
|
frame.width =
|
||||||
(screen->getHeadWidth(head) * screen->getToolbarWidthPercent() / 100);
|
(screen()->getHeadWidth(head) * screen()->getToolbarWidthPercent() / 100);
|
||||||
} else {
|
} else {
|
||||||
head_w = screen->getWidth();
|
head_w = screen->getWidth();
|
||||||
head_h = screen->getHeight();
|
head_h = screen->getHeight();
|
||||||
|
|
||||||
frame.width = screen->getWidth() * screen->getToolbarWidthPercent() / 100;
|
frame.width = screen()->getWidth() * screen()->getToolbarWidthPercent() / 100;
|
||||||
}
|
}
|
||||||
#else // !XINERAMA
|
#else // !XINERAMA
|
||||||
head_w = screen->getWidth();
|
head_w = screen()->getWidth();
|
||||||
head_h = screen->getHeight();
|
head_h = screen()->getHeight();
|
||||||
|
|
||||||
frame.width = screen->getWidth() * screen->getToolbarWidthPercent() / 100;
|
frame.width = screen()->getWidth() * screen()->getToolbarWidthPercent() / 100;
|
||||||
#endif // XINERAMA
|
#endif // XINERAMA
|
||||||
|
|
||||||
frame.height = screen->getToolbarStyle()->font.height();
|
frame.height = screen()->getToolbarStyle()->font.height();
|
||||||
frame.button_w = frame.height;
|
frame.button_w = frame.height;
|
||||||
frame.height += 2;
|
frame.height += 2;
|
||||||
frame.label_h = frame.height;
|
frame.label_h = frame.height;
|
||||||
frame.height += (frame.bevel_w * 2);
|
frame.height += (frame.bevel_w * 2);
|
||||||
|
|
||||||
switch (screen->getToolbarPlacement()) {
|
switch (screen()->getToolbarPlacement()) {
|
||||||
case TOPLEFT:
|
case TOPLEFT:
|
||||||
frame.x = head_x;
|
frame.x = head_x;
|
||||||
frame.y = head_y;
|
frame.y = head_y;
|
||||||
frame.x_hidden = head_x;
|
frame.x_hidden = head_x;
|
||||||
frame.y_hidden = head_y +
|
frame.y_hidden = head_y +
|
||||||
screen->getBevelWidth() - screen->getBorderWidth() - frame.height;
|
screen()->getBevelWidth() - screen()->getBorderWidth() - frame.height;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BOTTOMLEFT:
|
case BOTTOMLEFT:
|
||||||
frame.x = head_x;
|
frame.x = head_x;
|
||||||
frame.y = head_y + head_h - frame.height - screen->getBorderWidth2x();
|
frame.y = head_y + head_h - frame.height - screen()->getBorderWidth2x();
|
||||||
frame.x_hidden = head_x;
|
frame.x_hidden = head_x;
|
||||||
frame.y_hidden = head_y + head_h - screen->getBevelWidth() -
|
frame.y_hidden = head_y + head_h - screen()->getBevelWidth() -
|
||||||
screen->getBorderWidth();
|
screen()->getBorderWidth();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TOPCENTER:
|
case TOPCENTER:
|
||||||
|
@ -270,32 +264,32 @@ void Toolbar::reconfigure() {
|
||||||
frame.y = head_y;
|
frame.y = head_y;
|
||||||
frame.x_hidden = frame.x;
|
frame.x_hidden = frame.x;
|
||||||
frame.y_hidden = head_y +
|
frame.y_hidden = head_y +
|
||||||
screen->getBevelWidth() - screen->getBorderWidth() - frame.height;
|
screen()->getBevelWidth() - screen()->getBorderWidth() - frame.height;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BOTTOMCENTER:
|
case BOTTOMCENTER:
|
||||||
default:
|
default:
|
||||||
frame.x = head_x + ((head_w - frame.width) / 2);
|
frame.x = head_x + ((head_w - frame.width) / 2);
|
||||||
frame.y = head_y + head_h - frame.height - screen->getBorderWidth2x();
|
frame.y = head_y + head_h - frame.height - screen()->getBorderWidth2x();
|
||||||
frame.x_hidden = frame.x;
|
frame.x_hidden = frame.x;
|
||||||
frame.y_hidden = head_y + head_h - screen->getBevelWidth() -
|
frame.y_hidden = head_y + head_h - screen()->getBevelWidth() -
|
||||||
screen->getBorderWidth();
|
screen()->getBorderWidth();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TOPRIGHT:
|
case TOPRIGHT:
|
||||||
frame.x = head_x + head_w - frame.width - screen->getBorderWidth2x();
|
frame.x = head_x + head_w - frame.width - screen()->getBorderWidth2x();
|
||||||
frame.y = head_y;
|
frame.y = head_y;
|
||||||
frame.x_hidden = frame.x;
|
frame.x_hidden = frame.x;
|
||||||
frame.y_hidden = head_y +
|
frame.y_hidden = head_y +
|
||||||
screen->getBevelWidth() - screen->getBorderWidth() - frame.height;
|
screen()->getBevelWidth() - screen()->getBorderWidth() - frame.height;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BOTTOMRIGHT:
|
case BOTTOMRIGHT:
|
||||||
frame.x = head_x + head_w - frame.width - screen->getBorderWidth2x();
|
frame.x = head_x + head_w - frame.width - screen()->getBorderWidth2x();
|
||||||
frame.y = head_y + head_h - frame.height - screen->getBorderWidth2x();
|
frame.y = head_y + head_h - frame.height - screen()->getBorderWidth2x();
|
||||||
frame.x_hidden = frame.x;
|
frame.x_hidden = frame.x;
|
||||||
frame.y_hidden = head_y + head_h - screen->getBevelWidth() -
|
frame.y_hidden = head_y + head_h - screen()->getBevelWidth() -
|
||||||
screen->getBorderWidth();
|
screen()->getBorderWidth();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -307,14 +301,14 @@ void Toolbar::reconfigure() {
|
||||||
tt = localtime(&ttmp);
|
tt = localtime(&ttmp);
|
||||||
if (tt) {
|
if (tt) {
|
||||||
char t[1024], *time_string = (char *) 0;
|
char t[1024], *time_string = (char *) 0;
|
||||||
int len = strftime(t, 1024, screen->getStrftimeFormat(), tt);
|
int len = strftime(t, 1024, screen()->getStrftimeFormat(), tt);
|
||||||
|
|
||||||
time_string = new char[len + 1];
|
time_string = new char[len + 1];
|
||||||
|
|
||||||
memset(time_string, '0', len);
|
memset(time_string, '0', len);
|
||||||
*(time_string + len) = '\0';
|
*(time_string + len) = '\0';
|
||||||
|
|
||||||
frame.clock_w = screen->getToolbarStyle()->font.textWidth(time_string, len);
|
frame.clock_w = screen()->getToolbarStyle()->font.textWidth(time_string, len);
|
||||||
frame.clock_w += (frame.bevel_w * 4);
|
frame.clock_w += (frame.bevel_w * 4);
|
||||||
|
|
||||||
delete [] time_string;
|
delete [] time_string;
|
||||||
|
@ -324,7 +318,7 @@ void Toolbar::reconfigure() {
|
||||||
frame.clock_w = 0;
|
frame.clock_w = 0;
|
||||||
#else // !HAVE_STRFTIME
|
#else // !HAVE_STRFTIME
|
||||||
|
|
||||||
frame.clock_w = screen->getToolbarStyle()->font.textWidth(
|
frame.clock_w = screen()->getToolbarStyle()->font.textWidth(
|
||||||
i18n->getMessage(
|
i18n->getMessage(
|
||||||
ToolbarSet, ToolbarNoStrftimeLength,
|
ToolbarSet, ToolbarNoStrftimeLength,
|
||||||
"00:00000"),
|
"00:00000"),
|
||||||
|
@ -338,10 +332,10 @@ void Toolbar::reconfigure() {
|
||||||
unsigned int w = 0;
|
unsigned int w = 0;
|
||||||
frame.workspace_label_w = 0;
|
frame.workspace_label_w = 0;
|
||||||
|
|
||||||
for (i = 0; i < screen->getCount(); i++) {
|
for (i = 0; i < screen()->getCount(); i++) {
|
||||||
w = screen->getToolbarStyle()->font.textWidth(
|
w = screen()->getToolbarStyle()->font.textWidth(
|
||||||
screen->getWorkspace(i)->name().c_str(),
|
screen()->getWorkspace(i)->name().c_str(),
|
||||||
screen->getWorkspace(i)->name().size());
|
screen()->getWorkspace(i)->name().size());
|
||||||
|
|
||||||
w += (frame.bevel_w * 4);
|
w += (frame.bevel_w * 4);
|
||||||
|
|
||||||
|
@ -390,7 +384,7 @@ void Toolbar::reconfigure() {
|
||||||
frame.label_h);
|
frame.label_h);
|
||||||
|
|
||||||
Pixmap tmp = frame.base;
|
Pixmap tmp = frame.base;
|
||||||
FbTk::Texture *texture = &(screen->getToolbarStyle()->toolbar);
|
FbTk::Texture *texture = &(screen()->getToolbarStyle()->toolbar);
|
||||||
if (texture->type() == (FbTk::Texture::FLAT | FbTk::Texture::SOLID)) {
|
if (texture->type() == (FbTk::Texture::FLAT | FbTk::Texture::SOLID)) {
|
||||||
frame.base = None;
|
frame.base = None;
|
||||||
XSetWindowBackground(display, frame.window,
|
XSetWindowBackground(display, frame.window,
|
||||||
|
@ -403,7 +397,7 @@ void Toolbar::reconfigure() {
|
||||||
if (tmp) image_ctrl->removeImage(tmp);
|
if (tmp) image_ctrl->removeImage(tmp);
|
||||||
|
|
||||||
tmp = frame.label;
|
tmp = frame.label;
|
||||||
texture = &(screen->getToolbarStyle()->window);
|
texture = &(screen()->getToolbarStyle()->window);
|
||||||
if (texture->type() == (FbTk::Texture::FLAT | FbTk::Texture::SOLID)) {
|
if (texture->type() == (FbTk::Texture::FLAT | FbTk::Texture::SOLID)) {
|
||||||
frame.label = None;
|
frame.label = None;
|
||||||
XSetWindowBackground(display, frame.window_label,
|
XSetWindowBackground(display, frame.window_label,
|
||||||
|
@ -416,7 +410,7 @@ void Toolbar::reconfigure() {
|
||||||
if (tmp) image_ctrl->removeImage(tmp);
|
if (tmp) image_ctrl->removeImage(tmp);
|
||||||
|
|
||||||
tmp = frame.wlabel;
|
tmp = frame.wlabel;
|
||||||
texture = &(screen->getToolbarStyle()->label);
|
texture = &(screen()->getToolbarStyle()->label);
|
||||||
if (texture->type() == (FbTk::Texture::FLAT | FbTk::Texture::SOLID)) {
|
if (texture->type() == (FbTk::Texture::FLAT | FbTk::Texture::SOLID)) {
|
||||||
frame.wlabel = None;
|
frame.wlabel = None;
|
||||||
XSetWindowBackground(display, frame.workspace_label,
|
XSetWindowBackground(display, frame.workspace_label,
|
||||||
|
@ -429,7 +423,7 @@ void Toolbar::reconfigure() {
|
||||||
if (tmp) image_ctrl->removeImage(tmp);
|
if (tmp) image_ctrl->removeImage(tmp);
|
||||||
|
|
||||||
tmp = frame.clk;
|
tmp = frame.clk;
|
||||||
texture = &(screen->getToolbarStyle()->clock);
|
texture = &(screen()->getToolbarStyle()->clock);
|
||||||
if (texture->type() == (FbTk::Texture::FLAT | FbTk::Texture::SOLID)) {
|
if (texture->type() == (FbTk::Texture::FLAT | FbTk::Texture::SOLID)) {
|
||||||
frame.clk = None;
|
frame.clk = None;
|
||||||
XSetWindowBackground(display, frame.clock,
|
XSetWindowBackground(display, frame.clock,
|
||||||
|
@ -442,7 +436,7 @@ void Toolbar::reconfigure() {
|
||||||
if (tmp) image_ctrl->removeImage(tmp);
|
if (tmp) image_ctrl->removeImage(tmp);
|
||||||
|
|
||||||
tmp = frame.button;
|
tmp = frame.button;
|
||||||
texture = &(screen->getToolbarStyle()->button);
|
texture = &(screen()->getToolbarStyle()->button);
|
||||||
if (texture->type() == (FbTk::Texture::FLAT | FbTk::Texture::SOLID)) {
|
if (texture->type() == (FbTk::Texture::FLAT | FbTk::Texture::SOLID)) {
|
||||||
frame.button = None;
|
frame.button = None;
|
||||||
|
|
||||||
|
@ -463,7 +457,7 @@ void Toolbar::reconfigure() {
|
||||||
if (tmp) image_ctrl->removeImage(tmp);
|
if (tmp) image_ctrl->removeImage(tmp);
|
||||||
|
|
||||||
tmp = frame.pbutton;
|
tmp = frame.pbutton;
|
||||||
texture = &(screen->getToolbarStyle()->pressed);
|
texture = &(screen()->getToolbarStyle()->pressed);
|
||||||
if (texture->type() == (FbTk::Texture::FLAT | FbTk::Texture::SOLID)) {
|
if (texture->type() == (FbTk::Texture::FLAT | FbTk::Texture::SOLID)) {
|
||||||
frame.pbutton = None;
|
frame.pbutton = None;
|
||||||
frame.pbutton_pixel = texture->color().pixel();
|
frame.pbutton_pixel = texture->color().pixel();
|
||||||
|
@ -473,8 +467,8 @@ void Toolbar::reconfigure() {
|
||||||
if (tmp) image_ctrl->removeImage(tmp);
|
if (tmp) image_ctrl->removeImage(tmp);
|
||||||
|
|
||||||
XSetWindowBorder(display, frame.window,
|
XSetWindowBorder(display, frame.window,
|
||||||
screen->getBorderColor()->pixel());
|
screen()->getBorderColor()->pixel());
|
||||||
XSetWindowBorderWidth(display, frame.window, screen->getBorderWidth());
|
XSetWindowBorderWidth(display, frame.window, screen()->getBorderWidth());
|
||||||
|
|
||||||
XClearWindow(display, frame.window);
|
XClearWindow(display, frame.window);
|
||||||
XClearWindow(display, frame.workspace_label);
|
XClearWindow(display, frame.workspace_label);
|
||||||
|
@ -493,14 +487,14 @@ void Toolbar::reconfigure() {
|
||||||
redrawNextWindowButton();
|
redrawNextWindowButton();
|
||||||
checkClock(true);
|
checkClock(true);
|
||||||
|
|
||||||
toolbarmenu->reconfigure();
|
m_toolbarmenu.reconfigure();
|
||||||
|
|
||||||
//iconbar, no iconbar?
|
//iconbar, no iconbar?
|
||||||
if (Fluxbox::instance()->useIconBar()) {
|
if (Fluxbox::instance()->useIconBar()) {
|
||||||
if (!iconbar) {
|
if (m_iconbar.get() == 0) { // create new iconbar if we don't have one
|
||||||
iconbar = new IconBar(screen, frame.window_label);
|
m_iconbar.reset(new IconBar(screen(), frame.window_label));
|
||||||
if (screen->getIconCount()) {
|
if (screen()->getIconCount()) {
|
||||||
BScreen::Icons & l = screen->getIconList();
|
BScreen::Icons & l = screen()->getIconList();
|
||||||
BScreen::Icons::iterator it = l.begin();
|
BScreen::Icons::iterator it = l.begin();
|
||||||
BScreen::Icons::iterator it_end = l.end();
|
BScreen::Icons::iterator it_end = l.end();
|
||||||
for(; it != it_end; ++it) {
|
for(; it != it_end; ++it) {
|
||||||
|
@ -509,27 +503,21 @@ void Toolbar::reconfigure() {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else
|
} else
|
||||||
iconbar->reconfigure();
|
m_iconbar->reconfigure();
|
||||||
} else {
|
} else if (m_iconbar.get() != 0) {
|
||||||
if (iconbar) {
|
BScreen::Icons & l = screen()->getIconList();
|
||||||
BScreen::Icons & l = screen->getIconList();
|
BScreen::Icons::iterator it = l.begin();
|
||||||
BScreen::Icons::iterator it = l.begin();
|
BScreen::Icons::iterator it_end = l.end();
|
||||||
BScreen::Icons::iterator it_end = l.end();
|
for(; it != it_end; ++it)
|
||||||
for(; it != it_end; ++it) {
|
delIcon(*it);
|
||||||
delIcon(*it);
|
|
||||||
}
|
m_iconbar.reset(0); // destroy iconbar
|
||||||
delete iconbar;
|
|
||||||
iconbar = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_STRFTIME
|
|
||||||
void Toolbar::checkClock(bool redraw) {
|
|
||||||
#else // !HAVE_STRFTIME
|
|
||||||
void Toolbar::checkClock(bool redraw, bool date) {
|
void Toolbar::checkClock(bool redraw, bool date) {
|
||||||
#endif // HAVE_STRFTIME
|
|
||||||
time_t tmp = 0;
|
time_t tmp = 0;
|
||||||
struct tm *tt = 0;
|
struct tm *tt = 0;
|
||||||
|
|
||||||
|
@ -552,13 +540,13 @@ void Toolbar::checkClock(bool redraw, bool date) {
|
||||||
XClearWindow(display, frame.clock);
|
XClearWindow(display, frame.clock);
|
||||||
#ifdef HAVE_STRFTIME
|
#ifdef HAVE_STRFTIME
|
||||||
char t[1024];
|
char t[1024];
|
||||||
if (! strftime(t, 1024, screen->getStrftimeFormat(), tt))
|
if (! strftime(t, 1024, screen()->getStrftimeFormat(), tt))
|
||||||
return;
|
return;
|
||||||
#else // !HAVE_STRFTIME
|
#else // !HAVE_STRFTIME
|
||||||
char t[9];
|
char t[9];
|
||||||
if (date) {
|
if (date) {
|
||||||
// format the date... with special consideration for y2k ;)
|
// format the date... with special consideration for y2k ;)
|
||||||
if (screen->getDateFormat() == Blackbox::B_EuropeanDate) {
|
if (screen()->getDateFormat() == Blackbox::B_EuropeanDate) {
|
||||||
sprintf(t,
|
sprintf(t,
|
||||||
i18n->getMessage(
|
i18n->getMessage(
|
||||||
ToolbarSet, ToolbarNoStrftimeDateFormatEu,
|
ToolbarSet, ToolbarNoStrftimeDateFormatEu,
|
||||||
|
@ -574,7 +562,7 @@ void Toolbar::checkClock(bool redraw, bool date) {
|
||||||
(tt->tm_year >= 100) ? tt->tm_year - 100 : tt->tm_year);
|
(tt->tm_year >= 100) ? tt->tm_year - 100 : tt->tm_year);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (screen->isClock24Hour()) {
|
if (screen()->isClock24Hour()) {
|
||||||
sprintf(t,
|
sprintf(t,
|
||||||
i18n->getMessage(
|
i18n->getMessage(
|
||||||
ToolbarSet, ToolbarNoStrftimeTimeFormat24,
|
ToolbarSet, ToolbarNoStrftimeTimeFormat24,
|
||||||
|
@ -601,16 +589,16 @@ void Toolbar::checkClock(bool redraw, bool date) {
|
||||||
size_t newlen = strlen(t);
|
size_t newlen = strlen(t);
|
||||||
int dx = DrawUtil::doAlignment(frame.clock_w,
|
int dx = DrawUtil::doAlignment(frame.clock_w,
|
||||||
frame.bevel_w*2,
|
frame.bevel_w*2,
|
||||||
screen->getToolbarStyle()->justify,
|
screen()->getToolbarStyle()->justify,
|
||||||
screen->getToolbarStyle()->font,
|
screen()->getToolbarStyle()->font,
|
||||||
t, strlen(t), newlen);
|
t, strlen(t), newlen);
|
||||||
|
|
||||||
screen->getToolbarStyle()->font.drawText(
|
screen()->getToolbarStyle()->font.drawText(
|
||||||
frame.clock,
|
frame.clock,
|
||||||
screen->getScreenNumber(),
|
screen()->getScreenNumber(),
|
||||||
screen->getToolbarStyle()->c_text_gc,
|
screen()->getToolbarStyle()->c_text_gc,
|
||||||
t, newlen,
|
t, newlen,
|
||||||
dx, 1 + screen->getToolbarStyle()->font.ascent());
|
dx, 1 + screen()->getToolbarStyle()->font.ascent());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -621,47 +609,47 @@ void Toolbar::redrawWindowLabel(bool redraw) {
|
||||||
XClearWindow(display, frame.window_label);
|
XClearWindow(display, frame.window_label);
|
||||||
|
|
||||||
FluxboxWindow *foc = Fluxbox::instance()->getFocusedWindow();
|
FluxboxWindow *foc = Fluxbox::instance()->getFocusedWindow();
|
||||||
if (foc->getScreen() != screen || foc->getTitle().size() == 0)
|
if (foc->getScreen() != screen() || foc->getTitle().size() == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
size_t newlen = foc->getTitle().size();
|
size_t newlen = foc->getTitle().size();
|
||||||
int dx = DrawUtil::doAlignment(frame.window_label_w, frame.bevel_w*2,
|
int dx = DrawUtil::doAlignment(frame.window_label_w, frame.bevel_w*2,
|
||||||
screen->getToolbarStyle()->justify,
|
screen()->getToolbarStyle()->justify,
|
||||||
screen->getToolbarStyle()->font,
|
screen()->getToolbarStyle()->font,
|
||||||
foc->getTitle().c_str(), foc->getTitle().size(), newlen);
|
foc->getTitle().c_str(), foc->getTitle().size(), newlen);
|
||||||
|
|
||||||
screen->getToolbarStyle()->font.drawText(
|
screen()->getToolbarStyle()->font.drawText(
|
||||||
frame.window_label,
|
frame.window_label,
|
||||||
screen->getScreenNumber(),
|
screen()->getScreenNumber(),
|
||||||
screen->getToolbarStyle()->w_text_gc,
|
screen()->getToolbarStyle()->w_text_gc,
|
||||||
foc->getTitle().c_str(), newlen,
|
foc->getTitle().c_str(), newlen,
|
||||||
dx, 1 + screen->getToolbarStyle()->font.ascent());
|
dx, 1 + screen()->getToolbarStyle()->font.ascent());
|
||||||
} else
|
} else
|
||||||
XClearWindow(display, frame.window_label);
|
XClearWindow(display, frame.window_label);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Toolbar::redrawWorkspaceLabel(bool redraw) {
|
void Toolbar::redrawWorkspaceLabel(bool redraw) {
|
||||||
if (screen->getCurrentWorkspace()->name().size()==0)
|
if (screen()->getCurrentWorkspace()->name().size()==0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (redraw)
|
if (redraw)
|
||||||
XClearWindow(display, frame.workspace_label);
|
XClearWindow(display, frame.workspace_label);
|
||||||
|
|
||||||
const char *text = screen->getCurrentWorkspace()->name().c_str();
|
const char *text = screen()->getCurrentWorkspace()->name().c_str();
|
||||||
size_t textlen = screen->getCurrentWorkspace()->name().size();
|
size_t textlen = screen()->getCurrentWorkspace()->name().size();
|
||||||
size_t newlen = textlen;
|
size_t newlen = textlen;
|
||||||
int dx = DrawUtil::doAlignment(frame.workspace_label_w, frame.bevel_w,
|
int dx = DrawUtil::doAlignment(frame.workspace_label_w, frame.bevel_w,
|
||||||
screen->getToolbarStyle()->justify,
|
screen()->getToolbarStyle()->justify,
|
||||||
screen->getToolbarStyle()->font,
|
screen()->getToolbarStyle()->font,
|
||||||
text, textlen, newlen);
|
text, textlen, newlen);
|
||||||
|
|
||||||
screen->getToolbarStyle()->font.drawText(
|
screen()->getToolbarStyle()->font.drawText(
|
||||||
frame.workspace_label,
|
frame.workspace_label,
|
||||||
screen->getScreenNumber(),
|
screen()->getScreenNumber(),
|
||||||
screen->getToolbarStyle()->l_text_gc,
|
screen()->getToolbarStyle()->l_text_gc,
|
||||||
text, newlen,
|
text, newlen,
|
||||||
dx, 1 + screen->getToolbarStyle()->font.ascent());
|
dx, 1 + screen()->getToolbarStyle()->font.ascent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -688,7 +676,7 @@ void Toolbar::redrawPrevWorkspaceButton(bool pressed, bool redraw) {
|
||||||
pts[1].x = 4; pts[1].y = 2;
|
pts[1].x = 4; pts[1].y = 2;
|
||||||
pts[2].x = 0; pts[2].y = -4;
|
pts[2].x = 0; pts[2].y = -4;
|
||||||
|
|
||||||
XFillPolygon(display, frame.psbutton, screen->getToolbarStyle()->b_pic_gc,
|
XFillPolygon(display, frame.psbutton, screen()->getToolbarStyle()->b_pic_gc,
|
||||||
pts, 3, Convex, CoordModePrevious);
|
pts, 3, Convex, CoordModePrevious);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -716,7 +704,7 @@ void Toolbar::redrawNextWorkspaceButton(bool pressed, bool redraw) {
|
||||||
pts[1].x = 4; pts[1].y = 2;
|
pts[1].x = 4; pts[1].y = 2;
|
||||||
pts[2].x = -4; pts[2].y = 2;
|
pts[2].x = -4; pts[2].y = 2;
|
||||||
|
|
||||||
XFillPolygon(display, frame.nsbutton, screen->getToolbarStyle()->b_pic_gc,
|
XFillPolygon(display, frame.nsbutton, screen()->getToolbarStyle()->b_pic_gc,
|
||||||
pts, 3, Convex, CoordModePrevious);
|
pts, 3, Convex, CoordModePrevious);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -744,7 +732,7 @@ void Toolbar::redrawPrevWindowButton(bool pressed, bool redraw) {
|
||||||
pts[1].x = 4; pts[1].y = 2;
|
pts[1].x = 4; pts[1].y = 2;
|
||||||
pts[2].x = 0; pts[2].y = -4;
|
pts[2].x = 0; pts[2].y = -4;
|
||||||
|
|
||||||
XFillPolygon(display, frame.pwbutton, screen->getToolbarStyle()->b_pic_gc,
|
XFillPolygon(display, frame.pwbutton, screen()->getToolbarStyle()->b_pic_gc,
|
||||||
pts, 3, Convex, CoordModePrevious);
|
pts, 3, Convex, CoordModePrevious);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -772,7 +760,7 @@ void Toolbar::redrawNextWindowButton(bool pressed, bool redraw) {
|
||||||
pts[1].x = 4; pts[1].y = 2;
|
pts[1].x = 4; pts[1].y = 2;
|
||||||
pts[2].x = -4; pts[2].y = 2;
|
pts[2].x = -4; pts[2].y = 2;
|
||||||
|
|
||||||
XFillPolygon(display, frame.nwbutton, screen->getToolbarStyle()->b_pic_gc,
|
XFillPolygon(display, frame.nwbutton, screen()->getToolbarStyle()->b_pic_gc,
|
||||||
pts, 3, Convex, CoordModePrevious);
|
pts, 3, Convex, CoordModePrevious);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -790,7 +778,7 @@ void Toolbar::edit() {
|
||||||
|
|
||||||
//set input focus to workspace label
|
//set input focus to workspace label
|
||||||
XSetInputFocus(display, frame.workspace_label,
|
XSetInputFocus(display, frame.workspace_label,
|
||||||
((screen->isSloppyFocus() || screen->isSemiSloppyFocus()) ?
|
((screen()->isSloppyFocus() || screen()->isSemiSloppyFocus()) ?
|
||||||
RevertToPointerRoot : RevertToParent), CurrentTime);
|
RevertToPointerRoot : RevertToParent), CurrentTime);
|
||||||
|
|
||||||
XClearWindow(display, frame.workspace_label); //clear workspace text
|
XClearWindow(display, frame.workspace_label); //clear workspace text
|
||||||
|
@ -800,7 +788,7 @@ void Toolbar::edit() {
|
||||||
fluxbox->getFocusedWindow()->setFocusFlag(false);
|
fluxbox->getFocusedWindow()->setFocusFlag(false);
|
||||||
|
|
||||||
XDrawRectangle(display, frame.workspace_label,
|
XDrawRectangle(display, frame.workspace_label,
|
||||||
screen->getWindowStyle()->l_text_focus_gc,
|
screen()->getWindowStyle()->l_text_focus_gc,
|
||||||
frame.workspace_label_w / 2, 0, 1,
|
frame.workspace_label_w / 2, 0, 1,
|
||||||
frame.label_h - 1);
|
frame.label_h - 1);
|
||||||
}
|
}
|
||||||
|
@ -817,8 +805,8 @@ void Toolbar::buttonPressEvent(XButtonEvent *be) {
|
||||||
redrawPrevWindowButton(true, true);
|
redrawPrevWindowButton(true, true);
|
||||||
else if (be->window == frame.nwbutton)
|
else if (be->window == frame.nwbutton)
|
||||||
redrawNextWindowButton(true, true);
|
redrawNextWindowButton(true, true);
|
||||||
else if ( iconbar ) {
|
else if ( m_iconbar.get() != 0 ) {
|
||||||
if ( (fluxboxwin = iconbar->findWindow(be->window)) )
|
if ( (fluxboxwin = m_iconbar->findWindow(be->window)) )
|
||||||
fluxboxwin->deiconify();
|
fluxboxwin->deiconify();
|
||||||
}
|
}
|
||||||
#ifndef HAVE_STRFTIME
|
#ifndef HAVE_STRFTIME
|
||||||
|
@ -830,14 +818,14 @@ void Toolbar::buttonPressEvent(XButtonEvent *be) {
|
||||||
else if (! on_top) {
|
else if (! on_top) {
|
||||||
Workspace::Stack st;
|
Workspace::Stack st;
|
||||||
st.push_back(frame.window);
|
st.push_back(frame.window);
|
||||||
screen->raiseWindows(st);
|
screen()->raiseWindows(st);
|
||||||
}
|
}
|
||||||
} else if (be->button == 2 && (! on_top)) {
|
} else if (be->button == 2 && (! on_top)) {
|
||||||
XLowerWindow(display, frame.window);
|
XLowerWindow(display, frame.window);
|
||||||
} else if (be->button == 3) {
|
} else if (be->button == 3) {
|
||||||
FluxboxWindow *fluxboxwin = 0;
|
FluxboxWindow *fluxboxwin = 0;
|
||||||
// if we clicked on a icon then show window menu
|
// if we clicked on a icon then show window menu
|
||||||
if ( iconbar && (fluxboxwin = iconbar->findWindow(be->window)) ) {
|
if ( m_iconbar.get() != 0 && (fluxboxwin = m_iconbar->findWindow(be->window)) ) {
|
||||||
const Windowmenu * const wm = fluxboxwin->getWindowmenu();
|
const Windowmenu * const wm = fluxboxwin->getWindowmenu();
|
||||||
if (wm != 0) {
|
if (wm != 0) {
|
||||||
int menu_y = be->y_root - wm->height();
|
int menu_y = be->y_root - wm->height();
|
||||||
|
@ -848,31 +836,31 @@ void Toolbar::buttonPressEvent(XButtonEvent *be) {
|
||||||
}
|
}
|
||||||
if (menu_x < 0) {
|
if (menu_x < 0) {
|
||||||
menu_x = 0;
|
menu_x = 0;
|
||||||
} else if (menu_x + wm->width() > screen->getWidth()) {
|
} else if (menu_x + wm->width() > screen()->getWidth()) {
|
||||||
menu_x = screen->getWidth() - wm->width();
|
menu_x = screen()->getWidth() - wm->width();
|
||||||
}
|
}
|
||||||
fluxboxwin->showMenu(menu_x, menu_y);
|
fluxboxwin->showMenu(menu_x, menu_y);
|
||||||
}
|
}
|
||||||
} else if (! toolbarmenu->isVisible()) {
|
} else if (! m_toolbarmenu.isVisible()) {
|
||||||
int x, y;
|
int x, y;
|
||||||
|
|
||||||
x = be->x_root - (toolbarmenu->width() / 2);
|
x = be->x_root - (m_toolbarmenu.width() / 2);
|
||||||
y = be->y_root - (toolbarmenu->height() / 2);
|
y = be->y_root - (m_toolbarmenu.height() / 2);
|
||||||
|
|
||||||
if (x < 0)
|
if (x < 0)
|
||||||
x = 0;
|
x = 0;
|
||||||
else if (x + toolbarmenu->width() > screen->getWidth())
|
else if (x + m_toolbarmenu.width() > screen()->getWidth())
|
||||||
x = screen->getWidth() - toolbarmenu->width();
|
x = screen()->getWidth() - m_toolbarmenu.width();
|
||||||
|
|
||||||
if (y < 0)
|
if (y < 0)
|
||||||
y = 0;
|
y = 0;
|
||||||
else if (y + toolbarmenu->height() > screen->getHeight())
|
else if (y + m_toolbarmenu.height() > screen()->getHeight())
|
||||||
y = screen->getHeight() - toolbarmenu->height();
|
y = screen()->getHeight() - m_toolbarmenu.height();
|
||||||
|
|
||||||
toolbarmenu->move(x, y);
|
m_toolbarmenu.move(x, y);
|
||||||
toolbarmenu->show();
|
m_toolbarmenu.show();
|
||||||
} else
|
} else
|
||||||
toolbarmenu->hide();
|
m_toolbarmenu.hide();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -886,27 +874,27 @@ void Toolbar::buttonReleaseEvent(XButtonEvent *re) {
|
||||||
|
|
||||||
if (re->x >= 0 && re->x < (signed) frame.button_w &&
|
if (re->x >= 0 && re->x < (signed) frame.button_w &&
|
||||||
re->y >= 0 && re->y < (signed) frame.button_w)
|
re->y >= 0 && re->y < (signed) frame.button_w)
|
||||||
screen->prevWorkspace(1);
|
screen()->prevWorkspace(1);
|
||||||
} else if (re->window == frame.nsbutton) {
|
} else if (re->window == frame.nsbutton) {
|
||||||
redrawNextWorkspaceButton(false, true);
|
redrawNextWorkspaceButton(false, true);
|
||||||
|
|
||||||
if (re->x >= 0 && re->x < (signed) frame.button_w &&
|
if (re->x >= 0 && re->x < (signed) frame.button_w &&
|
||||||
re->y >= 0 && re->y < (signed) frame.button_w)
|
re->y >= 0 && re->y < (signed) frame.button_w)
|
||||||
screen->nextWorkspace(1);
|
screen()->nextWorkspace(1);
|
||||||
} else if (re->window == frame.pwbutton) {
|
} else if (re->window == frame.pwbutton) {
|
||||||
redrawPrevWindowButton(false, true);
|
redrawPrevWindowButton(false, true);
|
||||||
|
|
||||||
if (re->x >= 0 && re->x < (signed) frame.button_w &&
|
if (re->x >= 0 && re->x < (signed) frame.button_w &&
|
||||||
re->y >= 0 && re->y < (signed) frame.button_w)
|
re->y >= 0 && re->y < (signed) frame.button_w)
|
||||||
screen->prevFocus();
|
screen()->prevFocus();
|
||||||
} else if (re->window == frame.nwbutton) {
|
} else if (re->window == frame.nwbutton) {
|
||||||
redrawNextWindowButton(false, true);
|
redrawNextWindowButton(false, true);
|
||||||
|
|
||||||
if (re->x >= 0 && re->x < (signed) frame.button_w &&
|
if (re->x >= 0 && re->x < (signed) frame.button_w &&
|
||||||
re->y >= 0 && re->y < (signed) frame.button_w)
|
re->y >= 0 && re->y < (signed) frame.button_w)
|
||||||
screen->nextFocus();
|
screen()->nextFocus();
|
||||||
} else if (re->window == frame.workspace_label) {
|
} else if (re->window == frame.workspace_label) {
|
||||||
Basemenu *menu = screen->getWorkspacemenu();
|
Basemenu *menu = screen()->getWorkspacemenu();
|
||||||
//move the workspace label and make it visible
|
//move the workspace label and make it visible
|
||||||
menu->move(re->x_root, re->y_root);
|
menu->move(re->x_root, re->y_root);
|
||||||
// make sure the entire menu is visible (TODO: this is repeated by other menus, make a function!)
|
// make sure the entire menu is visible (TODO: this is repeated by other menus, make a function!)
|
||||||
|
@ -914,18 +902,18 @@ void Toolbar::buttonReleaseEvent(XButtonEvent *re) {
|
||||||
int newy = menu->y(); // new y position of menu
|
int newy = menu->y(); // new y position of menu
|
||||||
if (menu->x() < 0)
|
if (menu->x() < 0)
|
||||||
newx = 0;
|
newx = 0;
|
||||||
else if (menu->x() + menu->width() > screen->getWidth())
|
else if (menu->x() + menu->width() > screen()->getWidth())
|
||||||
newx = screen->getWidth() - menu->width();
|
newx = screen()->getWidth() - menu->width();
|
||||||
|
|
||||||
if (menu->y() < 0)
|
if (menu->y() < 0)
|
||||||
newy = 0;
|
newy = 0;
|
||||||
else if (menu->y() + menu->height() > screen->getHeight())
|
else if (menu->y() + menu->height() > screen()->getHeight())
|
||||||
newy = screen->getHeight() - menu->height();
|
newy = screen()->getHeight() - menu->height();
|
||||||
// move and show menu
|
// move and show menu
|
||||||
menu->move(newx, newy);
|
menu->move(newx, newy);
|
||||||
menu->show();
|
menu->show();
|
||||||
} else if (re->window == frame.window_label)
|
} else if (re->window == frame.window_label)
|
||||||
screen->raiseFocus();
|
screen()->raiseFocus();
|
||||||
#ifndef HAVE_STRFTIME
|
#ifndef HAVE_STRFTIME
|
||||||
else if (re->window == frame.clock) {
|
else if (re->window == frame.clock) {
|
||||||
XClearWindow(display, frame.clock);
|
XClearWindow(display, frame.clock);
|
||||||
|
@ -933,9 +921,9 @@ void Toolbar::buttonReleaseEvent(XButtonEvent *re) {
|
||||||
}
|
}
|
||||||
#endif // HAVE_STRFTIME
|
#endif // HAVE_STRFTIME
|
||||||
} else if (re->button == 4) //mousewheel scroll up
|
} else if (re->button == 4) //mousewheel scroll up
|
||||||
screen->nextWorkspace(1);
|
screen()->nextWorkspace(1);
|
||||||
else if (re->button == 5) //mousewheel scroll down
|
else if (re->button == 5) //mousewheel scroll down
|
||||||
screen->prevWorkspace(1);
|
screen()->prevWorkspace(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -957,10 +945,11 @@ void Toolbar::leaveNotifyEvent(XCrossingEvent *) {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (hidden) {
|
if (hidden) {
|
||||||
if (hide_timer.isTiming()) hide_timer.stop();
|
if (hide_timer.isTiming())
|
||||||
} else if (! toolbarmenu->isVisible()) {
|
hide_timer.stop();
|
||||||
if (! hide_timer.isTiming()) hide_timer.start();
|
} else if (! m_toolbarmenu.isVisible() && ! hide_timer.isTiming())
|
||||||
}
|
hide_timer.start();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -974,8 +963,8 @@ void Toolbar::exposeEvent(XExposeEvent *ee) {
|
||||||
else if (ee->window == frame.nsbutton) redrawNextWorkspaceButton();
|
else if (ee->window == frame.nsbutton) redrawNextWorkspaceButton();
|
||||||
else if (ee->window == frame.pwbutton) redrawPrevWindowButton();
|
else if (ee->window == frame.pwbutton) redrawPrevWindowButton();
|
||||||
else if (ee->window == frame.nwbutton) redrawNextWindowButton();
|
else if (ee->window == frame.nwbutton) redrawNextWindowButton();
|
||||||
else if (iconbar)//try iconbar
|
else if (m_iconbar.get() != 0)
|
||||||
iconbar->exposeEvent(ee);
|
m_iconbar->exposeEvent(ee);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -999,18 +988,18 @@ void Toolbar::keyPressEvent(XKeyEvent *ke) {
|
||||||
XSetInputFocus(display, PointerRoot, None, CurrentTime);
|
XSetInputFocus(display, PointerRoot, None, CurrentTime);
|
||||||
|
|
||||||
if (ks == XK_Return) //change workspace name if keypress = Return
|
if (ks == XK_Return) //change workspace name if keypress = Return
|
||||||
screen->getCurrentWorkspace()->setName(new_workspace_name.c_str());
|
screen()->getCurrentWorkspace()->setName(new_workspace_name.c_str());
|
||||||
|
|
||||||
new_workspace_name.erase(); //erase temporary workspace name
|
new_workspace_name.erase(); //erase temporary workspace name
|
||||||
|
|
||||||
screen->getCurrentWorkspace()->menu().hide();
|
screen()->getCurrentWorkspace()->menu().hide();
|
||||||
screen->getWorkspacemenu()->
|
screen()->getWorkspacemenu()->
|
||||||
remove(screen->getCurrentWorkspace()->workspaceID() + 2);
|
remove(screen()->getCurrentWorkspace()->workspaceID() + 2);
|
||||||
screen->getWorkspacemenu()->
|
screen()->getWorkspacemenu()->
|
||||||
insert(screen->getCurrentWorkspace()->name().c_str(),
|
insert(screen()->getCurrentWorkspace()->name().c_str(),
|
||||||
&screen->getCurrentWorkspace()->menu(),
|
&screen()->getCurrentWorkspace()->menu(),
|
||||||
screen->getCurrentWorkspace()->workspaceID() + 2);
|
screen()->getCurrentWorkspace()->workspaceID() + 2);
|
||||||
screen->getWorkspacemenu()->update();
|
screen()->getWorkspacemenu()->update();
|
||||||
|
|
||||||
reconfigure();
|
reconfigure();
|
||||||
//save workspace names
|
//save workspace names
|
||||||
|
@ -1027,21 +1016,21 @@ void Toolbar::keyPressEvent(XKeyEvent *ke) {
|
||||||
XClearWindow(display, frame.workspace_label);
|
XClearWindow(display, frame.workspace_label);
|
||||||
int l = new_workspace_name.size(), tw, x;
|
int l = new_workspace_name.size(), tw, x;
|
||||||
|
|
||||||
tw = screen->getToolbarStyle()->font.textWidth(new_workspace_name.c_str(), l);
|
tw = screen()->getToolbarStyle()->font.textWidth(new_workspace_name.c_str(), l);
|
||||||
x = (frame.workspace_label_w - tw) / 2;
|
x = (frame.workspace_label_w - tw) / 2;
|
||||||
|
|
||||||
if (x < (signed) frame.bevel_w)
|
if (x < (signed) frame.bevel_w)
|
||||||
x = frame.bevel_w;
|
x = frame.bevel_w;
|
||||||
|
|
||||||
screen->getToolbarStyle()->font.drawText(
|
screen()->getToolbarStyle()->font.drawText(
|
||||||
frame.workspace_label,
|
frame.workspace_label,
|
||||||
screen->getScreenNumber(),
|
screen()->getScreenNumber(),
|
||||||
screen->getWindowStyle()->l_text_focus_gc,
|
screen()->getWindowStyle()->l_text_focus_gc,
|
||||||
new_workspace_name.c_str(), l,
|
new_workspace_name.c_str(), l,
|
||||||
x, 1 + screen->getToolbarStyle()->font.ascent());
|
x, 1 + screen()->getToolbarStyle()->font.ascent());
|
||||||
|
|
||||||
XDrawRectangle(display, frame.workspace_label,
|
XDrawRectangle(display, frame.workspace_label,
|
||||||
screen->getWindowStyle()->l_text_focus_gc, x + tw, 0, 1,
|
screen()->getWindowStyle()->l_text_focus_gc, x + tw, 0, 1,
|
||||||
frame.label_h - 1);
|
frame.label_h - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1078,8 +1067,9 @@ void Toolbar::HideHandler::timeout() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Toolbarmenu::Toolbarmenu(Toolbar *tb) : Basemenu(tb->screen) {
|
Toolbarmenu::Toolbarmenu(Toolbar &tb) : Basemenu(tb.screen()), m_toolbar(tb),
|
||||||
toolbar = tb;
|
m_placementmenu(*this) {
|
||||||
|
|
||||||
I18n *i18n = I18n::instance();
|
I18n *i18n = I18n::instance();
|
||||||
using namespace FBNLS;
|
using namespace FBNLS;
|
||||||
setLabel(i18n->getMessage(
|
setLabel(i18n->getMessage(
|
||||||
|
@ -1087,23 +1077,20 @@ Toolbarmenu::Toolbarmenu(Toolbar *tb) : Basemenu(tb->screen) {
|
||||||
"Toolbar"));
|
"Toolbar"));
|
||||||
setInternalMenu();
|
setInternalMenu();
|
||||||
|
|
||||||
placementmenu = new Placementmenu(this);
|
|
||||||
#ifdef XINERAMA
|
#ifdef XINERAMA
|
||||||
if (toolbar->screen->hasXinerama()) { // only create if we need it
|
if (m_toolbar.screen()->hasXinerama()) { // only create if we need it
|
||||||
headmenu = new Headmenu(this);
|
m_headmenu.reset(new Headmenu(this));
|
||||||
}
|
}
|
||||||
#endif // XINERAMA
|
#endif // XINERAMA
|
||||||
|
|
||||||
insert(i18n->getMessage(
|
insert(i18n->getMessage(
|
||||||
CommonSet, CommonPlacementTitle,
|
CommonSet, CommonPlacementTitle,
|
||||||
"Placement"),
|
"Placement"),
|
||||||
placementmenu);
|
&m_placementmenu);
|
||||||
|
|
||||||
#ifdef XINERAMA
|
if (m_headmenu.get()) { //TODO: NLS
|
||||||
if (toolbar->screen->hasXinerama()) { //TODO: NLS
|
insert(i18n->getMessage(0, 0, "Place on Head"), m_headmenu.get());
|
||||||
insert(i18n->getMessage(0, 0, "Place on Head"), headmenu);
|
|
||||||
}
|
}
|
||||||
#endif // XINERAMA
|
|
||||||
|
|
||||||
insert(i18n->getMessage(
|
insert(i18n->getMessage(
|
||||||
CommonSet, CommonAlwaysOnTop,
|
CommonSet, CommonAlwaysOnTop,
|
||||||
|
@ -1112,7 +1099,7 @@ Toolbarmenu::Toolbarmenu(Toolbar *tb) : Basemenu(tb->screen) {
|
||||||
insert(i18n->getMessage(
|
insert(i18n->getMessage(
|
||||||
CommonSet, CommonAutoHide,
|
CommonSet, CommonAutoHide,
|
||||||
"Auto hide"),
|
"Auto hide"),
|
||||||
2);
|
2);
|
||||||
insert(i18n->getMessage(
|
insert(i18n->getMessage(
|
||||||
ToolbarSet, ToolbarEditWkspcName,
|
ToolbarSet, ToolbarEditWkspcName,
|
||||||
"Edit current workspace name"),
|
"Edit current workspace name"),
|
||||||
|
@ -1120,20 +1107,14 @@ Toolbarmenu::Toolbarmenu(Toolbar *tb) : Basemenu(tb->screen) {
|
||||||
|
|
||||||
update();
|
update();
|
||||||
|
|
||||||
if (toolbar->isOnTop())
|
if (m_toolbar.isOnTop())
|
||||||
setItemSelected(1, true);
|
setItemSelected(1, true);
|
||||||
if (toolbar->doAutoHide())
|
if (m_toolbar.doAutoHide())
|
||||||
setItemSelected(2, true);
|
setItemSelected(2, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Toolbarmenu::~Toolbarmenu() {
|
Toolbarmenu::~Toolbarmenu() {
|
||||||
delete placementmenu;
|
|
||||||
#ifdef XINERAMA
|
|
||||||
if (toolbar->screen->hasXinerama()) {
|
|
||||||
delete headmenu;
|
|
||||||
}
|
|
||||||
#endif // XINERAMA
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1146,33 +1127,33 @@ void Toolbarmenu::itemSelected(int button, unsigned int index) {
|
||||||
|
|
||||||
switch (item->function()) {
|
switch (item->function()) {
|
||||||
case 1: {// always on top
|
case 1: {// always on top
|
||||||
bool change = ((toolbar->isOnTop()) ? false : true);
|
bool change = ((m_toolbar.isOnTop()) ? false : true);
|
||||||
toolbar->on_top = change;
|
m_toolbar.on_top = change;
|
||||||
screen()->saveToolbarOnTop(toolbar->on_top);
|
screen()->saveToolbarOnTop(m_toolbar.on_top);
|
||||||
setItemSelected(1, change);
|
setItemSelected(1, change);
|
||||||
|
|
||||||
if (toolbar->isOnTop())
|
if (m_toolbar.isOnTop())
|
||||||
toolbar->screen->raiseWindows(Workspace::Stack());
|
m_toolbar.screen()->raiseWindows(Workspace::Stack());
|
||||||
|
|
||||||
Fluxbox::instance()->save_rc();
|
Fluxbox::instance()->save_rc();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case 2: { // auto hide
|
case 2: { // auto hide
|
||||||
bool change = ((toolbar->doAutoHide()) ? false : true);
|
bool change = ((m_toolbar.doAutoHide()) ? false : true);
|
||||||
toolbar->do_auto_hide = change;
|
m_toolbar.do_auto_hide = change;
|
||||||
screen()->saveToolbarAutoHide(toolbar->do_auto_hide);
|
screen()->saveToolbarAutoHide(m_toolbar.do_auto_hide);
|
||||||
setItemSelected(2, change);
|
setItemSelected(2, change);
|
||||||
|
|
||||||
#ifdef SLIT
|
#ifdef SLIT
|
||||||
toolbar->screen->getSlit()->reposition();
|
m_toolbar.screen()->getSlit()->reposition();
|
||||||
#endif // SLIT
|
#endif // SLIT
|
||||||
Fluxbox::instance()->save_rc();
|
Fluxbox::instance()->save_rc();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case 3: // edit current workspace name
|
case 3: // edit current workspace name
|
||||||
toolbar->edit(); //set edit mode
|
m_toolbar.edit(); //set edit mode
|
||||||
hide(); //dont show menu while editing name
|
hide(); //dont show menu while editing name
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -1183,26 +1164,25 @@ void Toolbarmenu::itemSelected(int button, unsigned int index) {
|
||||||
|
|
||||||
void Toolbarmenu::internal_hide() {
|
void Toolbarmenu::internal_hide() {
|
||||||
Basemenu::internal_hide();
|
Basemenu::internal_hide();
|
||||||
if (toolbar->doAutoHide() && ! toolbar->isEditing())
|
if (m_toolbar.doAutoHide() && ! m_toolbar.isEditing())
|
||||||
toolbar->hide_handler.timeout();
|
m_toolbar.hide_handler.timeout();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Toolbarmenu::reconfigure() {
|
void Toolbarmenu::reconfigure() {
|
||||||
placementmenu->reconfigure();
|
m_placementmenu.reconfigure();
|
||||||
#ifdef XINERAMA
|
|
||||||
if (toolbar->screen->hasXinerama()) {
|
if (m_headmenu.get()) {
|
||||||
headmenu->reconfigure();
|
m_headmenu->reconfigure();
|
||||||
}
|
}
|
||||||
#endif // XINERAMA
|
|
||||||
|
|
||||||
Basemenu::reconfigure();
|
Basemenu::reconfigure();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Toolbarmenu::Placementmenu::Placementmenu(Toolbarmenu *tm)
|
Toolbarmenu::Placementmenu::Placementmenu(Toolbarmenu &tm)
|
||||||
: Basemenu(tm->toolbar->screen) {
|
: Basemenu(tm.m_toolbar.screen()), m_toolbarmenu(tm) {
|
||||||
toolbarmenu = tm;
|
|
||||||
I18n *i18n = I18n::instance();
|
I18n *i18n = I18n::instance();
|
||||||
using namespace FBNLS;
|
using namespace FBNLS;
|
||||||
setLabel(i18n->getMessage(
|
setLabel(i18n->getMessage(
|
||||||
|
@ -1246,15 +1226,15 @@ void Toolbarmenu::Placementmenu::itemSelected(int button, unsigned int index) {
|
||||||
if (! item)
|
if (! item)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
toolbarmenu->toolbar->screen->saveToolbarPlacement(
|
m_toolbarmenu.m_toolbar.screen()->saveToolbarPlacement(
|
||||||
static_cast<Toolbar::Placement>(item->function()));
|
static_cast<Toolbar::Placement>(item->function()));
|
||||||
hide();
|
hide();
|
||||||
toolbarmenu->toolbar->reconfigure();
|
m_toolbarmenu.m_toolbar.reconfigure();
|
||||||
|
|
||||||
#ifdef SLIT
|
#ifdef SLIT
|
||||||
// reposition the slit as well to make sure it doesn't intersect the
|
// reposition the slit as well to make sure it doesn't intersect the
|
||||||
// toolbar
|
// toolbar
|
||||||
toolbarmenu->toolbar->screen->getSlit()->reposition();
|
m_toolbarmenu.m_toolbar.screen()->getSlit()->reposition();
|
||||||
#endif // SLIT
|
#endif // SLIT
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1262,9 +1242,9 @@ void Toolbarmenu::Placementmenu::itemSelected(int button, unsigned int index) {
|
||||||
|
|
||||||
#ifdef XINERAMA
|
#ifdef XINERAMA
|
||||||
|
|
||||||
Toolbarmenu::Headmenu::Headmenu(Toolbarmenu *tm)
|
Toolbarmenu::Headmenu::Headmenu(Toolbarmenu &tm)
|
||||||
: Basemenu(tm->toolbar->screen) {
|
: Basemenu(tm.m_toolbar.screen()), m_toolbarmenu(tm) {
|
||||||
toolbarmenu = tm;
|
|
||||||
I18n *i18n = I18n::instance();
|
I18n *i18n = I18n::instance();
|
||||||
|
|
||||||
setLabel(i18n->getMessage(0, 0, "Place on Head")); //TODO: NLS
|
setLabel(i18n->getMessage(0, 0, "Place on Head")); //TODO: NLS
|
||||||
|
@ -1290,15 +1270,15 @@ void Toolbarmenu::Headmenu::itemSelected(int button, unsigned int index) {
|
||||||
if (! item)
|
if (! item)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
toolbarmenu->toolbar->screen->saveToolbarOnHead(
|
m_toolbarmenu.m_toolbar.screen()->saveToolbarOnHead(
|
||||||
static_cast<int>(item->function()));
|
static_cast<int>(item->function()));
|
||||||
hide();
|
hide();
|
||||||
toolbarmenu->toolbar->reconfigure();
|
m_toolbarmenu.m_toolbar.reconfigure();
|
||||||
|
|
||||||
#ifdef SLIT
|
#ifdef SLIT
|
||||||
// reposition the slit as well to make sure it doesn't intersect the
|
// reposition the slit as well to make sure it doesn't intersect the
|
||||||
// toolbar
|
// toolbar
|
||||||
toolbarmenu->toolbar->screen->getSlit()->reposition();
|
m_toolbarmenu.m_toolbar.screen()->getSlit()->reposition();
|
||||||
#endif // SLIT
|
#endif // SLIT
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
// DEALINGS IN THE SOFTWARE.
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
// $Id: Toolbar.hh,v 1.13 2002/11/15 12:04:27 fluxgen Exp $
|
// $Id: Toolbar.hh,v 1.14 2002/11/27 12:20:23 fluxgen Exp $
|
||||||
|
|
||||||
#ifndef TOOLBAR_HH
|
#ifndef TOOLBAR_HH
|
||||||
#define TOOLBAR_HH
|
#define TOOLBAR_HH
|
||||||
|
@ -31,6 +31,7 @@
|
||||||
#include "Timer.hh"
|
#include "Timer.hh"
|
||||||
#include "IconBar.hh"
|
#include "IconBar.hh"
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
class Toolbar;
|
class Toolbar;
|
||||||
|
|
||||||
|
@ -40,14 +41,13 @@ class Toolbar;
|
||||||
*/
|
*/
|
||||||
class Toolbarmenu:public Basemenu {
|
class Toolbarmenu:public Basemenu {
|
||||||
public:
|
public:
|
||||||
explicit Toolbarmenu(Toolbar *tb);
|
explicit Toolbarmenu(Toolbar &tb);
|
||||||
~Toolbarmenu();
|
~Toolbarmenu();
|
||||||
#ifdef XINERAMA
|
|
||||||
inline Basemenu *getHeadmenu() { return headmenu; }
|
|
||||||
#endif // XINERAMA
|
|
||||||
|
|
||||||
inline Basemenu *getPlacementmenu() { return placementmenu; }
|
inline const Basemenu *headmenu() const { return m_headmenu.get(); }
|
||||||
inline const Basemenu *getPlacementmenu() const { return placementmenu; }
|
|
||||||
|
inline Basemenu *placementmenu() { return &m_placementmenu; }
|
||||||
|
inline const Basemenu *placementmenu() const { return &m_placementmenu; }
|
||||||
|
|
||||||
void reconfigure();
|
void reconfigure();
|
||||||
|
|
||||||
|
@ -57,35 +57,31 @@ protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class Placementmenu : public Basemenu {
|
class Placementmenu : public Basemenu {
|
||||||
private:
|
public:
|
||||||
Toolbarmenu *toolbarmenu;
|
Placementmenu(Toolbarmenu &tm);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void itemSelected(int button, unsigned int index);
|
virtual void itemSelected(int button, unsigned int index);
|
||||||
|
private:
|
||||||
public:
|
Toolbarmenu &m_toolbarmenu;
|
||||||
Placementmenu(Toolbarmenu *);
|
|
||||||
};
|
};
|
||||||
|
friend class Placementmenu;
|
||||||
|
|
||||||
#ifdef XINERAMA
|
|
||||||
class Headmenu : public Basemenu {
|
class Headmenu : public Basemenu {
|
||||||
public:
|
public:
|
||||||
Headmenu(Toolbarmenu *);
|
Headmenu(Toolbarmenu &tm);
|
||||||
private:
|
|
||||||
Toolbarmenu *toolbarmenu;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void itemSelected(int button, unsigned int index);
|
virtual void itemSelected(int button, unsigned int index);
|
||||||
|
private:
|
||||||
|
Toolbarmenu &m_toolbarmenu;
|
||||||
};
|
};
|
||||||
Headmenu *headmenu;
|
std::auto_ptr<Headmenu> m_headmenu;
|
||||||
friend class Headmenu;
|
friend class Headmenu;
|
||||||
#endif // XINERAMA
|
|
||||||
|
|
||||||
|
|
||||||
Toolbar *toolbar;
|
Toolbar &m_toolbar;
|
||||||
Placementmenu *placementmenu;
|
Placementmenu m_placementmenu;
|
||||||
|
|
||||||
friend class Placementmenu;
|
|
||||||
friend class Toolbar;
|
friend class Toolbar;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -109,11 +105,7 @@ public:
|
||||||
/// remove icon from iconbar
|
/// remove icon from iconbar
|
||||||
void delIcon(FluxboxWindow *w);
|
void delIcon(FluxboxWindow *w);
|
||||||
|
|
||||||
inline Toolbarmenu *getMenu() { return toolbarmenu; }
|
inline const Toolbarmenu &menu() const { return m_toolbarmenu; }
|
||||||
inline const Toolbarmenu *getMenu() const { return toolbarmenu; }
|
|
||||||
|
|
||||||
//inline Window getWindowLabel(void) { return frame.window_label; }
|
|
||||||
|
|
||||||
/// are we in workspacename editing?
|
/// are we in workspacename editing?
|
||||||
inline bool isEditing() const { return editing; }
|
inline bool isEditing() const { return editing; }
|
||||||
/// always on top?
|
/// always on top?
|
||||||
|
@ -122,17 +114,17 @@ public:
|
||||||
inline bool isHidden() const { return hidden; }
|
inline bool isHidden() const { return hidden; }
|
||||||
/// do we auto hide the toolbar?
|
/// do we auto hide the toolbar?
|
||||||
inline bool doAutoHide() const { return do_auto_hide; }
|
inline bool doAutoHide() const { return do_auto_hide; }
|
||||||
/**
|
/// @return X window of the toolbar
|
||||||
@return X window of the toolbar
|
|
||||||
*/
|
|
||||||
inline Window getWindowID() const { return frame.window; }
|
inline Window getWindowID() const { return frame.window; }
|
||||||
|
inline BScreen *screen() { return m_screen; }
|
||||||
|
inline const BScreen *screen() const { return m_screen; }
|
||||||
inline unsigned int width() const { return frame.width; }
|
inline unsigned int width() const { return frame.width; }
|
||||||
inline unsigned int height() const { return frame.height; }
|
inline unsigned int height() const { return frame.height; }
|
||||||
inline unsigned int getExposedHeight() const { return ((do_auto_hide) ? frame.bevel_w : frame.height); }
|
inline unsigned int exposedHeight() const { return ((do_auto_hide) ? frame.bevel_w : frame.height); }
|
||||||
inline int x() const { return ((hidden) ? frame.x_hidden : frame.x); }
|
inline int x() const { return ((hidden) ? frame.x_hidden : frame.x); }
|
||||||
inline int y() const { return ((hidden) ? frame.y_hidden : frame.y); }
|
inline int y() const { return ((hidden) ? frame.y_hidden : frame.y); }
|
||||||
inline const IconBar *iconBar() const { return iconbar; }
|
/// @return pointer to iconbar if it got one, else 0
|
||||||
|
inline const IconBar *iconBar() const { return m_iconbar.get(); }
|
||||||
/**
|
/**
|
||||||
@name eventhandlers
|
@name eventhandlers
|
||||||
*/
|
*/
|
||||||
|
@ -155,11 +147,7 @@ public:
|
||||||
void edit();
|
void edit();
|
||||||
void reconfigure();
|
void reconfigure();
|
||||||
|
|
||||||
#ifdef HAVE_STRFTIME
|
|
||||||
void checkClock(bool redraw = false);
|
|
||||||
#else // HAVE_STRFTIME
|
|
||||||
void checkClock(bool redraw = false, bool date = false);
|
void checkClock(bool redraw = false, bool date = false);
|
||||||
#endif // HAVE_STRFTIME
|
|
||||||
|
|
||||||
virtual void timeout();
|
virtual void timeout();
|
||||||
|
|
||||||
|
@ -189,20 +177,20 @@ private:
|
||||||
virtual void timeout();
|
virtual void timeout();
|
||||||
} hide_handler;
|
} hide_handler;
|
||||||
|
|
||||||
BScreen *screen;
|
BScreen *m_screen;
|
||||||
BImageControl *image_ctrl;
|
BImageControl *image_ctrl;
|
||||||
BTimer clock_timer, hide_timer;
|
BTimer clock_timer; ///< timer to update clock
|
||||||
Toolbarmenu *toolbarmenu;
|
BTimer hide_timer; ///< timer to for auto hide toolbar
|
||||||
IconBar *iconbar;
|
Toolbarmenu m_toolbarmenu;
|
||||||
|
std::auto_ptr<IconBar> m_iconbar;
|
||||||
|
|
||||||
std::string new_workspace_name; ///< temp variable in edit workspace name mode
|
std::string new_workspace_name; ///< temp variable in edit workspace name mode
|
||||||
|
|
||||||
friend class HideHandler;
|
friend class HideHandler;
|
||||||
friend class Toolbarmenu;
|
friend class Toolbarmenu;
|
||||||
friend class Toolbarmenu::Placementmenu;
|
friend class Toolbarmenu::Placementmenu;
|
||||||
#ifdef XINERAMA
|
|
||||||
friend class Toolbarmenu::Headmenu;
|
friend class Toolbarmenu::Headmenu;
|
||||||
#endif // XINERAMA
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue