all repos — fluxbox @ e5e76e7761f52ba7c0deca75bcecae4fbd3e2ff5

custom fork of the fluxbox windowmanager

Cosmetic patch from Slava Semushin
mathias mathias
commit

e5e76e7761f52ba7c0deca75bcecae4fbd3e2ff5

parent

426c12c25c2ef095a882619ad7424684b88465b8

M ChangeLogChangeLog

@@ -1,16 +1,24 @@

(Format: Year/Month/Day) Changes for 1.0rc3: +*06/10/30: + * Cosmetic patch from Slava Semushin + CommandDialog.cc Ewmh.cc FbCommands.cc FbAtoms.cc Xutil.cc Gnome.cc + MenuTheme.cc Window.cc Resources.cc tests/testFont.cc FbWinFrameTheme.cc + SystemTray.cc MenuCreator.cc FbTk/TextureRender.cc FbTk/XFontImp.cc + FbTk/EventManager.cc FbTk/Menu.cc FbTk/FbPixmap.cc FbTk/ImageControl.cc + FbTk/XmbFontImp.cc FbTk/Font.cc ScreenResources.cc fluxbox.cc + Workspace.cc Toolbar.cc IconbarTool.cc util/fbsetroot.cc + util/fbrun/FbRun.cc util/fbrun/main.cc *06/10/27: * Changed mode for .fluxbox/startup to 644 (Mathias) some people on noexec-mounted partitions ran into problems util/startfluxbox.in * Small updates to the asciidoc-docs (Mathias) - * Cosmetic patch from Slave Semushin + * Cosmetic patch from Slava Semushin Slit.cc Screen.cc Keys.cc main.cc ToolbarTheme.cc FbTk/MultLayers.cc FbTk/Transparent.cc FbTk/Resource.cc FbTk/Theme.cc FbTk/XLayer.cc FbTk/Image.cc FbTk/Color.cc FbTk/FbString.cc Remember.cc RegExp.cc WinClient.cc Shape.cc ClientPattern.cc FbWinFrame.cc - *06/10/16: * Added CachedPixmap (Henrik) FbTk/CachedPixmap.hh/cc
M src/CommandDialog.ccsrc/CommandDialog.cc

@@ -40,13 +40,17 @@

#include <X11/keysym.h> #include <X11/Xutil.h> -#include <iostream> #include <memory> #include <stdexcept> -using namespace std; + +using std::string; +using std::vector; +using std::auto_ptr; +using std::less; +using std::out_of_range; CommandDialog::CommandDialog(BScreen &screen, - const std::string &title, const std::string precommand) : + const string &title, const string precommand) : FbTk::FbWindow(screen.rootWindow().screenNumber(), 0, 0, 200, 1, ExposureMask), m_textbox(*this, screen.winFrameTheme().font(), ""), m_label(*this, screen.winFrameTheme().font(), title),

@@ -67,7 +71,7 @@ if (m_pixmap != 0)

m_screen.imageControl().removeImage(m_pixmap); } -void CommandDialog::setText(const std::string &text) { +void CommandDialog::setText(const string &text) { m_textbox.setText(text); }

@@ -135,7 +139,7 @@

if (ks == XK_Return) { hide(); // hide and return focus to a FluxboxWindow // create command from line - std::auto_ptr<FbTk::Command> cmd(CommandParser::instance(). + auto_ptr<FbTk::Command> cmd(CommandParser::instance(). parseLine(m_precommand + m_textbox.text())); if (cmd.get()) cmd->execute();

@@ -168,7 +172,7 @@ }

CommandParser::CommandFactoryMap::const_iterator it = CommandParser::instance().factorys().begin(); const CommandParser::CommandFactoryMap::const_iterator it_end = CommandParser::instance().factorys().end(); - std::vector<std::string> matches; + vector<string> matches; for (; it != it_end; ++it) { if ((*it).first.find(prefix) == 0) { matches.push_back((*it).first);

@@ -177,12 +181,12 @@ }

if (!matches.empty()) { // sort and apply larges match - std::sort(matches.begin(), matches.end(), less<string>()); + sort(matches.begin(), matches.end(), less<string>()); m_textbox.setText(m_textbox.text() + matches[0].substr(prefix.size())); } else XBell(FbTk::App::instance()->display(), 0); - } catch (std::out_of_range &oor) { + } catch (out_of_range &oor) { XBell(FbTk::App::instance()->display(), 0); } }
M src/Ewmh.ccsrc/Ewmh.cc

@@ -43,7 +43,10 @@ #include <iostream>

#include <algorithm> #include <new> -using namespace std; +using std::cerr; +using std::endl; +using std::vector; +using std::list; // mipspro has no new(nothrow) #if defined sgi && ! defined GCC

@@ -61,7 +64,7 @@ _NET_WM_MOVERESIZE_SIZE_BOTTOMRIGHT = 4,

_NET_WM_MOVERESIZE_SIZE_BOTTOM = 5, _NET_WM_MOVERESIZE_SIZE_BOTTOMLEFT = 6, _NET_WM_MOVERESIZE_SIZE_LEFT = 7, - _NET_WM_MOVERESIZE_MOVE = 8, // movement only + _NET_WM_MOVERESIZE_MOVE = 8, // movement only _NET_WM_MOVERESIZE_SIZE_KEYBOARD = 9, // size via keyboard _NET_WM_MOVERESIZE_MOVE_KEYBOARD = 10, // move via keyboard _NET_WM_MOVERESIZE_CANCEL = 11 // cancel operation

@@ -84,19 +87,19 @@

/* From Extended Window Manager Hints, draft 1.3: * * _NET_SUPPORTING_WM_CHECK - * - * The Window Manager MUST set this property on the root window - * to be the ID of a child window created by himself, to indicate - * that a compliant window manager is active. The child window - * MUST also have the _NET_SUPPORTING_WM_CHECK property set to - * the ID of the child window. The child window MUST also have + * + * The Window Manager MUST set this property on the root window + * to be the ID of a child window created by himself, to indicate + * that a compliant window manager is active. The child window + * MUST also have the _NET_SUPPORTING_WM_CHECK property set to + * the ID of the child window. The child window MUST also have * the _NET_WM_NAME property set to the name of the Window Manager. - * - * Rationale: The child window is used to distinguish an active - * Window Manager from a stale _NET_SUPPORTING_WM_CHECK property - * that happens to point to another window. If the - * _NET_SUPPORTING_WM_CHECK window on the client window is missing - * or not properly set, clients SHOULD assume that no conforming + * + * Rationale: The child window is used to distinguish an active + * Window Manager from a stale _NET_SUPPORTING_WM_CHECK property + * that happens to point to another window. If the + * _NET_SUPPORTING_WM_CHECK window on the client window is missing + * or not properly set, clients SHOULD assume that no conforming * Window Manager is present. */

@@ -137,7 +140,7 @@ m_net_wm_state_modal,

m_net_wm_state_below, m_net_wm_state_above, m_net_wm_state_demands_attention, - + // window type m_net_wm_window_type, m_net_wm_window_type_dock,

@@ -174,7 +177,7 @@ m_net_restack_window,

m_net_request_frame_extents, m_net_wm_moveresize, - + m_net_frame_extents, // desktop properties

@@ -289,8 +292,8 @@ win.stick();

} else if (atoms[l] == m_net_wm_window_type_splash) { /* - * _NET_WM_WINDOW_TYPE_SPLASH indicates that the - * window is a splash screen displayed as an application + * _NET_WM_WINDOW_TYPE_SPLASH indicates that the + * window is a splash screen displayed as an application * is starting up. */ win.setDecoration(FluxboxWindow::DECOR_NONE);

@@ -318,11 +321,11 @@ }

} XFree(data); } else { - // if _NET_WM_WINDOW_TYPE not set and this window - // has transient_for the type must be set to _NET_WM_WINDOW_TYPE_DIALOG + // if _NET_WM_WINDOW_TYPE not set and this window + // has transient_for the type must be set to _NET_WM_WINDOW_TYPE_DIALOG if ( win.winClient().isTransient() ) { win.winClient(). - changeProperty(m_net_wm_window_type, + changeProperty(m_net_wm_window_type, XA_ATOM, 32, PropModeReplace, (unsigned char*)&m_net_wm_window_type_dialog, 1); }

@@ -379,20 +382,20 @@ }

void Ewmh::updateClientList(BScreen &screen) { - std::list<WinClient *> creation_order_list = screen.focusControl().creationOrderList(); + list<WinClient *> creation_order_list = screen.focusControl().creationOrderList(); size_t num = creation_order_list.size(); Window *wl = FB_new_nothrow Window[num]; if (wl == 0) { _FB_USES_NLS; - cerr<<_FB_CONSOLETEXT(Ewmh, OutOfMemoryClientList, + cerr<<_FB_CONSOLETEXT(Ewmh, OutOfMemoryClientList, "Fatal: Out of memory, can't allocate for EWMH client list", "")<<endl; return; } int win=0; - std::list<WinClient *>::iterator client_it = creation_order_list.begin(); - std::list<WinClient *>::iterator client_it_end = creation_order_list.end(); + list<WinClient *>::iterator client_it = creation_order_list.begin(); + list<WinClient *>::iterator client_it_end = creation_order_list.end(); for (; client_it != client_it_end; ++client_it) wl[win++] = (*client_it)->window();

@@ -594,11 +597,11 @@ delete[] coords;

} void Ewmh::updateState(FluxboxWindow &win) { - + updateActions(win); - - typedef std::vector<unsigned int> StateVec; + + typedef vector<unsigned int> StateVec; StateVec state;

@@ -622,7 +625,7 @@

FluxboxWindow::ClientList::iterator it = win.clientList().begin(); FluxboxWindow::ClientList::iterator it_end = win.clientList().end(); for (; it != it_end; ++it) { - + // search the old states for _NET_WM_STATE_SKIP_PAGER and append it // to the current state, so it wont get deleted by us. StateVec client_state(state);

@@ -646,7 +649,7 @@ }

if (!client_state.empty()) { (*it)->changeProperty(m_net_wm_state, XA_ATOM, 32, PropModeReplace, - reinterpret_cast<unsigned char*>(&client_state.front()), + reinterpret_cast<unsigned char*>(&client_state.front()), client_state.size()); } else (*it)->deleteProperty(m_net_wm_state);

@@ -782,7 +785,7 @@

FluxboxWindow* fbwin = winclient->fbwindow(); // if the raised window is on a different workspace - // we do what the user wish: + // we do what the user wish: // either ignore|go to that workspace|get the window if (fbwin->screen().currentWorkspaceID() != fbwin->workspaceNumber() && !fbwin->isStuck()) {

@@ -801,7 +804,7 @@ fbwin->screen().changeWorkspaceID(fbwin->workspaceNumber());

} // else we ignore it. my favourite mode :) } fbwin->raise(); - } + } winclient->focus(); return true; } else if (ce.message_type == m_net_close_window) {

@@ -836,7 +839,7 @@

// ce.data.l[0] = source indication // ce.data.l[1] = sibling window // ce.data.l[2] = detail - + WinClient *above_win = Fluxbox::instance()->searchWindow(ce.data.l[1]); if (above_win == 0 || above_win->fbwindow() == 0 ||

@@ -877,7 +880,7 @@

} else if (ce.message_type == m_net_wm_moveresize) { if (winclient == 0 || winclient->fbwindow() == 0) return true; - // data.l[0] = x_root + // data.l[0] = x_root // data.l[1] = y_root // data.l[2] = direction // data.l[3] = button

@@ -1030,7 +1033,7 @@

void Ewmh::setFullscreen(FluxboxWindow &win, bool value) { // fullscreen implies maximised, above dock layer, // and no decorations (or decorations offscreen) - // + // // TODO: do we need the WindowState etc here anymore? // FluxboxWindow::setFullscreen() remembering old values // already and set them...

@@ -1157,8 +1160,8 @@ &ret_type, &fmt, &nitems, &bytes_after,

(unsigned char **) &data) && data) { int head = winclient.screen().getHead(winclient); - winclient.setStrut(winclient.screen().requestStrut(head, - data[0], data[1], + winclient.setStrut(winclient.screen().requestStrut(head, + data[0], data[1], data[2], data[3])); winclient.screen().updateAvailableWorkspaceArea(); }

@@ -1172,17 +1175,17 @@ /* From Extended Window Manager Hints, draft 1.3:

* * _NET_WM_ALLOWED_ACTIONS, ATOM[] * - * A list of atoms indicating user operations that the + * A list of atoms indicating user operations that the * Window Manager supports for this window. Atoms present in the - * list indicate allowed actions, atoms not present in the list - * indicate actions that are not supported for this window. The - * Window Manager MUST keep this property updated to reflect the + * list indicate allowed actions, atoms not present in the list + * indicate actions that are not supported for this window. The + * Window Manager MUST keep this property updated to reflect the * actions which are currently "active" or "sensitive" for a window. - * Taskbars, Pagers, and other tools use _NET_WM_ALLOWED_ACTIONS to - * decide which actions should be made available to the user. + * Taskbars, Pagers, and other tools use _NET_WM_ALLOWED_ACTIONS to + * decide which actions should be made available to the user. */ - - typedef std::vector<Atom> ActionsVector; + + typedef vector<Atom> ActionsVector; ActionsVector actions; actions.reserve(10); // all windows can change desktop,

@@ -1190,7 +1193,7 @@ // be shaded or be sticky

actions.push_back(m_net_wm_action_change_desktop); actions.push_back(m_net_wm_action_shade); actions.push_back(m_net_wm_action_stick); - + if (win.isResizable()) actions.push_back(m_net_wm_action_resize); if (win.isMoveable())

@@ -1225,7 +1228,7 @@ FluxboxWindow::ClientList::iterator it_end = win.clientList().end();

for (; it != it_end; ++it) { (*it)->changeProperty(m_net_wm_allowed_actions, XA_ATOM, 32, PropModeReplace, reinterpret_cast<unsigned char*>(&actions.front()), - actions.size()); + actions.size()); } }

@@ -1267,7 +1270,7 @@ }

} void Ewmh::updateFrameExtents(FluxboxWindow &win) { - /* Frame extents are basically the amount the window manager frame + /* Frame extents are basically the amount the window manager frame protrudes from the client window, on left, right, top, bottom (it is independent of window position). */
M src/FbAtoms.ccsrc/FbAtoms.cc

@@ -26,7 +26,7 @@ #include "App.hh"

#include <string> -using namespace std; +using std::string; FbAtoms *FbAtoms::s_singleton = 0;
M src/FbCommands.ccsrc/FbCommands.cc

@@ -54,7 +54,12 @@ #if defined(__EMX__) && defined(HAVE_PROCESS_H)

#include <process.h> // for P_NOWAIT #endif // __EMX__ -using namespace std; +using std::string; +using std::pair; +using std::set; +using std::ofstream; +using std::endl; +using std::ios; namespace {

@@ -107,7 +112,7 @@ }

namespace FbCommands { -ExecuteCmd::ExecuteCmd(const std::string &cmd, int screen_num):m_cmd(cmd), m_screen_num(screen_num) { +ExecuteCmd::ExecuteCmd(const string &cmd, int screen_num):m_cmd(cmd), m_screen_num(screen_num) { }

@@ -125,7 +130,7 @@ pid_t pid = fork();

if (pid) return pid; - std::string displaystring("DISPLAY="); + string displaystring("DISPLAY="); displaystring += DisplayString(FbTk::App::instance()->display()); char intbuff[64]; int screen_num = m_screen_num;

@@ -149,7 +154,7 @@

return pid; // compiler happy -> we are happy ;) } -SetModKeyCmd::SetModKeyCmd(const std::string& modkey) : m_modkey(modkey) { } +SetModKeyCmd::SetModKeyCmd(const string& modkey) : m_modkey(modkey) { } void SetModKeyCmd::execute() { Fluxbox::instance()->setModKey(m_modkey.c_str());

@@ -158,7 +163,7 @@ // TODO: we need a better way to do this ...

Fluxbox::instance()->reconfigure(); } -ExportCmd::ExportCmd(const std::string& name, const std::string& value) : +ExportCmd::ExportCmd(const string& name, const string& value) : m_name(name), m_value(value) { }

@@ -167,7 +172,7 @@

// the setenv()-routine is not everywhere available and // putenv() doesnt manage the strings in the environment // and hence we have to do that on our own to avoid memleaking - static std::set<char*> stored; + static set<char*> stored; char* newenv = new char[m_name.size() + m_value.size() + 2]; if (newenv) {

@@ -203,7 +208,7 @@ void SaveResources::execute() {

Fluxbox::instance()->save_rc(); } -RestartFluxboxCmd::RestartFluxboxCmd(const std::string &cmd):m_cmd(cmd){ +RestartFluxboxCmd::RestartFluxboxCmd(const string &cmd):m_cmd(cmd){ } void RestartFluxboxCmd::execute() {

@@ -223,7 +228,7 @@ SetStyleCmd cmd(Fluxbox::instance()->getStyleFilename());

cmd.execute(); } -SetStyleCmd::SetStyleCmd(const std::string &filename):m_filename(filename) { +SetStyleCmd::SetStyleCmd(const string &filename):m_filename(filename) { }

@@ -234,7 +239,7 @@ FbTk::ThemeManager::instance().load(m_filename,

Fluxbox::instance()->getStyleOverlayFilename()); } -KeyModeCmd::KeyModeCmd(const std::string &arguments):m_keymode(arguments),m_end_args("None Escape") { +KeyModeCmd::KeyModeCmd(const string &arguments):m_keymode(arguments),m_end_args("None Escape") { string::size_type second_pos = m_keymode.find_first_of(" \t", 0); if (second_pos != string::npos) { // ok we have arguments, parsing them here

@@ -267,7 +272,7 @@ }

-SetWorkspaceNameCmd::SetWorkspaceNameCmd(const std::string &name, int spaceid): +SetWorkspaceNameCmd::SetWorkspaceNameCmd(const string &name, int spaceid): m_name(name), m_workspace(spaceid) { } void SetWorkspaceNameCmd::execute() {

@@ -312,8 +317,8 @@ win->show();

} -SetResourceValueCmd::SetResourceValueCmd(const std::string &resname, - const std::string &value): +SetResourceValueCmd::SetResourceValueCmd(const string &resname, + const string &value): m_resname(resname), m_value(value) {

@@ -336,7 +341,7 @@ FbTk::FbWindow *win = new CommandDialog(*screen, "Type resource name and the value", "SetResourceValue ");

win->show(); }; -BindKeyCmd::BindKeyCmd(const std::string &keybind):m_keybind(keybind) { } +BindKeyCmd::BindKeyCmd(const string &keybind):m_keybind(keybind) { } void BindKeyCmd::execute() { if (Fluxbox::instance()->keys() != 0) {
M src/FbTk/EventManager.ccsrc/FbTk/EventManager.cc

@@ -25,8 +25,11 @@ #include "EventManager.hh"

#include "FbWindow.hh" #include "App.hh" +#ifdef DEBUG #include <iostream> -using namespace std; +using std::cerr; +using std::endl; +#endif // DEBUG namespace FbTk {

@@ -180,13 +183,13 @@ evhand->handleEvent(ev);

break; }; - // find out which window is the parent and + // find out which window is the parent and // dispatch event Window root, parent_win, *children = 0; unsigned int num_children; - if (XQueryTree(FbTk::App::instance()->display(), win, + if (XQueryTree(FbTk::App::instance()->display(), win, &root, &parent_win, &children, &num_children) != 0) { - if (children != 0) + if (children != 0) XFree(children); if (parent_win != 0 &&
M src/FbTk/FbPixmap.ccsrc/FbTk/FbPixmap.cc

@@ -30,9 +30,8 @@

#include <X11/Xutil.h> #include <X11/Xatom.h> #include <iostream> -#include <string> -using namespace std; +using std::cerr; namespace FbTk {

@@ -245,7 +244,7 @@ break;

default: // kill warning break; } - + // copy new area unsigned int srcx, srcy, destx, desty;

@@ -349,7 +348,7 @@ return ret;

} void FbPixmap::rootwinPropertyNotify(int screen_num, Atom atom) { - if (!FbTk::Transparent::haveRender()) + if (!FbTk::Transparent::haveRender()) return; checkAtoms();

@@ -396,7 +395,7 @@ }

Pixmap FbPixmap::getRootPixmap(int screen_num, bool force_update) { /* - if (!FbTk::Transparent::haveRender()) + if (!FbTk::Transparent::haveRender()) return None; */

@@ -404,7 +403,7 @@ // check and see if if we have the pixmaps in cache

if (m_root_pixmaps && !force_update) return m_root_pixmaps[screen_num]; - // else setup pixmap cache + // else setup pixmap cache int numscreens = ScreenCount(display()); for (int i=0; i < numscreens; ++i) { Atom real_type;
M src/FbTk/Font.ccsrc/FbTk/Font.cc

@@ -1,6 +1,6 @@

// Font.cc // Copyright (c) 2002 - 2006 Henrik Kinnunen (fluxgen at fluxbox dot org) -// +// // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the "Software"), // to deal in the Software without restriction, including without limitation

@@ -32,7 +32,7 @@ #ifdef HAVE_CONFIG_H

#include "config.h" #endif // HAVE_CONFIG_H -// for antialias +// for antialias #ifdef USE_XFT #include "XftFontImp.hh" #endif // USE_XFT

@@ -55,7 +55,6 @@ #ifndef __USE_GNU

#define __USE_GNU #endif //__USE_GNU -#include <iostream> #ifdef HAVE_CSTRING #include <cstring> #else

@@ -79,8 +78,9 @@ #else

#include <stdlib.h> #endif -using namespace std; - +using std::string; +using std::map; +using std::list; namespace {

@@ -89,12 +89,12 @@ #include <locale.h>

#endif //HAVE_SETLOCALE // use to map <font1>|<font2>|<font3> => <fontthatworks> -typedef std::map<std::string, std::string> StringMap; +typedef map<string, string> StringMap; typedef StringMap::iterator StringMapIt; StringMap lookup_map; // stores <fontthatworks and the fontimp -typedef std::map<std::string, FbTk::FontImp* > FontCache; +typedef map<string, FbTk::FontImp* > FontCache; typedef FontCache::iterator FontCacheIt; FontCache font_cache;

@@ -114,7 +114,7 @@

namespace FbTk { -bool Font::s_multibyte = false; +bool Font::s_multibyte = false; bool Font::s_utf8mode = false;

@@ -135,7 +135,7 @@ }

Font::Font(const char *name): m_fontimp(0), - m_shadow(false), m_shadow_color("black", DefaultScreen(App::instance()->display())), + m_shadow(false), m_shadow_color("black", DefaultScreen(App::instance()->display())), m_shadow_offx(2), m_shadow_offy(2), m_halo(false), m_halo_color("white", DefaultScreen(App::instance()->display())) {

@@ -165,11 +165,11 @@

Font::~Font() { } -bool Font::load(const std::string &name) { +bool Font::load(const string &name) { if (name.size() == 0) return false; - + StringMapIt lookup_entry; FontCacheIt cache_entry;

@@ -181,13 +181,13 @@ m_fontimp = cache_entry->second;

resetEffects(*this); return true; } - + // split up the namelist - typedef std::list<std::string> StringList; + typedef list<string> StringList; typedef StringList::iterator StringListIt; StringList names; FbTk::StringUtil::stringtok<StringList>(names, name, "|"); - + StringListIt name_it; for (name_it = names.begin(); name_it != names.end(); name_it++) { FbTk::StringUtil::removeTrailingWhitespace(*name_it);

@@ -202,12 +202,12 @@ return true;

} FontImp* tmp_font(0); - + #ifdef USE_XFT if ((*name_it)[0] != '-') tmp_font = new XftFontImp(0, s_utf8mode); #endif // USE_XFT - + if (!tmp_font) { #ifdef USE_XMB if (s_multibyte || s_utf8mode)

@@ -225,7 +225,7 @@ m_fontstr = name;

resetEffects(*this); return true; } - + delete tmp_font; }

@@ -244,7 +244,7 @@ int Font::ascent() const {

return m_fontimp->ascent(); } -int Font::descent() const { +int Font::descent() const { return m_fontimp->descent(); }

@@ -253,14 +253,14 @@ return m_fontimp->validOrientation(orient);

} void Font::drawText(const FbDrawable &w, int screen, GC gc, - const FbString &text, size_t len, int x, int y, + const FbString &text, size_t len, int x, int y, Orientation orient) const { if (text.empty() || len == 0) return; // so we don't end up in a loop with m_shadow - static bool first_run = true; - + static bool first_run = true; + // draw "effects" first if (first_run) { if (m_shadow) {

@@ -284,7 +284,7 @@ }

m_fontimp->drawText(w, screen, gc, text, len, x, y, orient); -} +} };
M src/FbTk/ImageControl.ccsrc/FbTk/ImageControl.cc

@@ -67,7 +67,9 @@ #endif // HAVE_CTYPE_H

#include <iostream> -using namespace std; +using std::cerr; +using std::endl; +using std::list; namespace FbTk {

@@ -175,7 +177,7 @@ CacheList::iterator it_end = cache.end();

for (; it != it_end; ++it) { if ((*it)->texture_pixmap == text.pixmap().drawable() && (*it)->orient == orient && - (*it)->width == width && + (*it)->width == width && (*it)->height == height && (*it)->texture == text.type()) { (*it)->count++;

@@ -233,7 +235,7 @@ return pixmap; // return cache item

} // render new image - + TextureRender image(*this, width, height, orient, m_colors, m_num_colors); pixmap = image.render(texture);

@@ -398,7 +400,7 @@ }

void ImageControl::cleanCache() { Display *disp = FbTk::App::instance()->display(); - std::list<CacheList::iterator> deadlist; + list<CacheList::iterator> deadlist; CacheList::iterator it = cache.begin(); CacheList::iterator it_end = cache.end(); for (; it != it_end; ++it) {

@@ -411,8 +413,8 @@ tmp=0;

} } - std::list<CacheList::iterator>::iterator dead_it = deadlist.begin(); - std::list<CacheList::iterator>::iterator dead_it_end = deadlist.end(); + list<CacheList::iterator>::iterator dead_it = deadlist.begin(); + list<CacheList::iterator>::iterator dead_it_end = deadlist.end(); for (; dead_it != dead_it_end; ++dead_it) { cache.erase(*dead_it); }
M src/FbTk/Menu.ccsrc/FbTk/Menu.cc

@@ -1,4 +1,4 @@

-// Menu.cc for FbTk - Fluxbox Toolkit +// Menu.cc for FbTk - Fluxbox Toolkit // Copyright (c) 2001 - 2006 Henrik Kinnunen (fluxgen at fluxbox dot org) // // Basemenu.cc for blackbox - an X11 Window manager

@@ -63,10 +63,13 @@ #include <cstring>

#else #include <string.h> #endif -#include <iostream> #include <typeinfo> -using namespace std; +#ifdef DEBUG +#include <iostream> +using std::cout; +using std::endl; +#endif // DEBUG namespace FbTk {

@@ -126,7 +129,7 @@ menu.sublevels =

menu.persub = menu.minsub = 0; - long event_mask = ButtonPressMask | ButtonReleaseMask | + long event_mask = ButtonPressMask | ButtonReleaseMask | ButtonMotionMask | KeyPressMask | ExposureMask | FocusChangeMask; // create menu window menu.window = FbTk::FbWindow(tm.screenNum(),

@@ -140,7 +143,7 @@ event_mask ^= FocusChangeMask;

FbTk::EventManager &evm = *FbTk::EventManager::instance(); evm.add(*this, menu.window); - + event_mask |= EnterWindowMask | LeaveWindowMask; //create menu title

@@ -171,7 +174,7 @@

Menu::~Menu() { menu.window.hide(); - + if (shown && shown->window() == window()) shown = 0;

@@ -216,9 +219,9 @@

int Menu::remove(unsigned int index) { if (index >= menuitems.size()) { #ifdef DEBUG - std::cout << "Bad index (" << index << ") given to Menu::remove()" + cout << "Bad index (" << index << ") given to Menu::remove()" << " -- should be between 0 and " << menuitems.size() - << " inclusive." << std::endl; + << " inclusive." << endl; #endif // DEBUG return -1; }

@@ -240,8 +243,8 @@ // We can't internal_hide here, as the child may be deleted!

// } else // tmp->internal_hide(); } - - + + delete item; }

@@ -276,7 +279,7 @@ return;

int old_which_press = m_which_press; m_active_index = -1; - if (validIndex(old_which_press) && + if (validIndex(old_which_press) && menuitems[old_which_press] != 0) { if (menuitems[old_which_press]->submenu()) { // we need to do this explicitly on the menu.window

@@ -302,10 +305,10 @@ nextItem();

return; } - m_active_index = m_which_press; + m_active_index = m_which_press; clearItem(m_which_press); - + } void Menu::prevItem() {

@@ -318,7 +321,7 @@ if (validIndex(old_which_press)) {

if (menuitems[old_which_press]->submenu()) { // we need to do this explicitly on the menu.window // since it might hide the parent if we use Menu::hide - menuitems[old_which_press]->submenu()->internal_hide(); + menuitems[old_which_press]->submenu()->internal_hide(); } clearItem(old_which_press); }

@@ -371,7 +374,7 @@ submenu->internal_hide();

m_active_index = -1; //clearItem(m_which_press); - m_which_press = -1; // dont select any in this + m_which_press = -1; // dont select any in this // hide self m_visible = false; menu.window.hide();

@@ -411,7 +414,7 @@ theme().titleHeight() + theme().borderWidth() > m_screen_height) {

menu.sublevels++; } - if (menu.sublevels < menu.minsub) + if (menu.sublevels < menu.minsub) menu.sublevels = menu.minsub; menu.persub = menuitems.size() / menu.sublevels;

@@ -432,7 +435,7 @@ new_height += theme().titleHeight() + ((menu.frame_h > 0)?menu.title.borderWidth():0);

if (new_width == 0) { - if (menu.item_w > 0) + if (menu.item_w > 0) new_width = menu.item_w; else new_width = 1;

@@ -476,12 +479,12 @@ }

} if (m_title_vis) { - menu.title.moveResize(-menu.title.borderWidth(), -menu.title.borderWidth(), + menu.title.moveResize(-menu.title.borderWidth(), -menu.title.borderWidth(), width() + menu.title.borderWidth(), theme().titleHeight()); } - menu.frame.moveResize(0, ((m_title_vis) ? menu.title.y() + menu.title.height() + - menu.title.borderWidth()*2 : 0), + menu.frame.moveResize(0, ((m_title_vis) ? menu.title.y() + menu.title.height() + + menu.title.borderWidth()*2 : 0), width(), menu.frame_h); if (m_title_vis && m_need_update) {

@@ -497,7 +500,7 @@ // set pixmap that we have as real face to the user

menu.title.setBackgroundPixmap(menu.title_pixmap); } - if (tmp) + if (tmp) m_image_ctrl.removeImage(tmp); }

@@ -509,7 +512,7 @@ menu.frame_pixmap = None;

menu.frame.setBackgroundColor(frame_tex.color()); } else { menu.frame_pixmap = - m_image_ctrl.renderImage(width(), menu.frame_h, frame_tex); + m_image_ctrl.renderImage(width(), menu.frame_h, frame_tex); menu.frame.setBackgroundPixmap(menu.frame_pixmap); }

@@ -543,7 +546,7 @@ shown->hide();

shown = this; } - + }

@@ -559,7 +562,7 @@ Menu *p = m_parent;

while ((! p->m_torn) && p->m_parent && p->m_parent->isVisible()) p = p->m_parent; - + p->internal_hide(); } else if (!m_torn) // if we dont have a parent then do hide here internal_hide();

@@ -577,7 +580,7 @@

void Menu::clearWindow() { menu.title.clear(); menu.frame.clear(); - + // clear foreground bits of frame items for (size_t i = 0; i < menuitems.size(); i++) { clearItem(i, false); // no clear

@@ -598,7 +601,7 @@ MenuItem *tmp = menuitems[m_which_sub];

tmp->submenu()->internal_hide(); } - // if we have an active index we need to redraw it + // if we have an active index we need to redraw it // as non active int old = m_active_index; m_active_index = -1;

@@ -683,11 +686,11 @@ if (item->submenu()->m_parent != this)

item->submenu()->m_parent = this; item->submenu()->setScreen(m_screen_x, m_screen_y, m_screen_width, m_screen_height); - + int sbl = index / menu.persub, i = index - (sbl * menu.persub); int new_x = x() + ((menu.item_w * (sbl + 1)) + menu.window.borderWidth()); int new_y; - + if (m_alignment == ALIGNTOP) { new_y = (y() + ((m_title_vis) ? theme().titleHeight() + menu.title.borderWidth() : 0) - ((item->submenu()->m_title_vis) ?

@@ -698,7 +701,7 @@ ((m_title_vis) ? theme().titleHeight() + menu.window.borderWidth() : 0) -

((item->submenu()->m_title_vis) ? item->submenu()->theme().titleHeight() + menu.window.borderWidth() : 0)); } - + if (m_alignment == ALIGNBOTTOM && (new_y + item->submenu()->height()) > (y() + height())) { new_y = (y() + height() - item->submenu()->height());

@@ -709,7 +712,7 @@

if ((new_x + item->submenu()->width()) + 2*borderw > m_screen_x + m_screen_width) { new_x = x() - item->submenu()->width() - menu.window.borderWidth(); } - + if (new_x < m_screen_x) new_x = m_screen_x;

@@ -717,7 +720,7 @@ if ((new_y + item->submenu()->height()) > m_screen_y + m_screen_height) {

new_y = m_screen_y + m_screen_height - item->submenu()->height() - menu.window.borderWidth() * 2; } - + item->submenu()->m_moving = m_moving; m_which_sub = index;

@@ -732,7 +735,7 @@ if (! item->submenu()->isVisible()) {

item->showSubmenu(); item->submenu()->raise(); } - + } else m_which_sub = -1;

@@ -743,11 +746,11 @@ #ifdef NOT_USED

bool Menu::hasSubmenu(unsigned int index) const { if (index >= menuitems.size()) //boundary check return false; - + if (!menuitems[index]->submenu()) //has submenu? return false; - - return true; + + return true; } #endif // NOT_USED

@@ -767,9 +770,9 @@

if (exclusive_drawable) item_x = item_y = 0; - item->draw(drawable, theme(), highlight, + item->draw(drawable, theme(), highlight, exclusive_drawable, true, // draw fg, draw bg - item_x, item_y, + item_x, item_y, menu.item_w, theme().itemHeight()); return item_y;

@@ -830,8 +833,8 @@

if (index >= menuitems.size()) return false; const MenuItem *item = find(index); - return (!item || - (typeid(*item) == typeid(FbTk::MenuSeparator)) || + return (!item || + (typeid(*item) == typeid(FbTk::MenuSeparator)) || !item->isEnabled()) ? false : true; }

@@ -842,7 +845,7 @@ if (s_focused == this)

s_focused = 0; } else if (event.type == FocusIn) { if (s_focused != this) - s_focused = this; + s_focused = this; } }

@@ -891,9 +894,9 @@ }

if (re.button == 3) internal_hide(); - + } else if (re.window == menu.frame) { - + int sbl = (re.x / menu.item_w), i = (re.y / theme().itemHeight()), ix = sbl * menu.item_w, iy = i * theme().itemHeight(), w = (sbl * menu.persub) + i,

@@ -940,14 +943,13 @@ }

} else if (!(me.state & Button1Mask) && me.window == menu.frame) { stopHide(); - int sbl = (me.x / menu.item_w), + int sbl = (me.x / menu.item_w), i = (me.y / theme().itemHeight()), w = (sbl * menu.persub) + i; if (w == m_active_index) return; - if (validIndex(m_active_index) && w != m_active_index) { int old_active_index = m_active_index;

@@ -965,7 +967,7 @@ // setup hide timer for submenu

item->submenu()->startHide(); m_which_sub = -1; } - } + } }

@@ -1012,7 +1014,7 @@ if (itmp->isEnabled()) {

clearItem(w); } } - + } }

@@ -1057,7 +1059,7 @@ KeySym ks;

char keychar[1]; XLookupString(&event, keychar, 1, &ks, 0); // a modifier key by itself doesn't do anything - if (IsModifierKey(ks)) + if (IsModifierKey(ks)) return; switch (ks) {

@@ -1068,7 +1070,7 @@ case XK_Down:

nextItem(); break; case XK_Left: // enter parent if we have one - enterParent(); + enterParent(); break; case XK_Right: // enter submenu if we have one enterSubmenu();

@@ -1078,7 +1080,7 @@ hide();

break; case XK_Return: // send fake button 1 click - if (validIndex(m_which_press) && + if (validIndex(m_which_press) && isItemEnabled(m_which_press)) { if (event.state & ShiftMask) menuitems[m_which_press]->click(3, event.time);

@@ -1114,7 +1116,7 @@ menu.title.setBorderWidth(theme().borderWidth());

updateMenu(); } - + void Menu::openSubmenu() {

@@ -1127,10 +1129,10 @@ if (!validIndex(item) || !menuitems[item]->isEnabled())

return; clearItem(item); - + if (menuitems[item]->submenu() != 0) { // stop hide timer, so it doesnt hides the menu if we - // have the same submenu as the last shown submenu + // have the same submenu as the last shown submenu // (window menu for clients inside workspacemenu for example) menuitems[item]->submenu()->m_hide_timer.stop(); drawSubmenu(item);

@@ -1148,7 +1150,7 @@ timeval timeout;

timeout.tv_sec = 0; timeout.tv_usec = theme().delayClose() * 1000; // transformed to usec m_hide_timer.setTimeout(timeout); - m_hide_timer.start(); + m_hide_timer.start(); } void Menu::stopHide() {

@@ -1158,7 +1160,7 @@

void Menu::update(FbTk::Subject *subj) { m_need_update = true; - + Menuitems::iterator it = menuitems.begin(); Menuitems::iterator it_end = menuitems.end(); for (; it != it_end; ++it) {

@@ -1167,7 +1169,7 @@ }

reconfigure(); } - + void Menu::setScreen(int x, int y, int w, int h) { m_screen_x = x; m_screen_y = y;

@@ -1208,7 +1210,7 @@ MenuItem *item = menuitems[index];

if (! item) return; item->draw(menu.frame, theme(), highlight, - true, false, item_x, item_y, + true, false, item_x, item_y, item_w, item_h); }
M src/FbTk/TextureRender.ccsrc/FbTk/TextureRender.cc

@@ -39,7 +39,6 @@ #include <cstdio>

#else #include <stdio.h> #endif -using namespace std; // mipspro has no new(nothrow) #if defined sgi && ! defined GCC

@@ -47,11 +46,17 @@ #define FB_new_nothrow new

#else #define FB_new_nothrow new(std::nothrow) #endif + +using std::cerr; +using std::endl; +using std::string; +using std::max; +using std::min; namespace FbTk { -TextureRender::TextureRender(ImageControl &imgctrl, - unsigned int w, unsigned int h, +TextureRender::TextureRender(ImageControl &imgctrl, + unsigned int w, unsigned int h, FbTk::Orientation orient, XColor *_colors, size_t num_colors): control(imgctrl),

@@ -66,7 +71,7 @@ xtable(0), ytable(0) {

unsigned int texture_max_width = WidthOfScreen(ScreenOfDisplay(FbTk::App::instance()->display(), imgctrl.screenNumber())) * 2; unsigned int texture_max_height = HeightOfScreen(ScreenOfDisplay(FbTk::App::instance()->display(), imgctrl.screenNumber())) * 2; - + _FB_USES_NLS; // clamp to "normal" size if (width > texture_max_width) {

@@ -83,14 +88,14 @@

imgctrl.colorTables(&red_table, &green_table, &blue_table, &red_offset, &green_offset, &blue_offset, &red_bits, &green_bits, &blue_bits); - + } TextureRender::~TextureRender() { if (red != 0) delete [] red; if (green != 0) delete [] green; - if (blue != 0) delete [] blue; + if (blue != 0) delete [] blue; }

@@ -119,8 +124,8 @@

if (red == 0) { char sbuf[128]; sprintf(sbuf, "%ld", (long int) size); - throw std::string("TextureRender::TextureRender(): " + - std::string(_FBTK_CONSOLETEXT(Error, OutOfMemoryRed, "Out of memory while allocating red buffer.", "")) + string(sbuf)); + throw string("TextureRender::TextureRender(): " + + string(_FBTK_CONSOLETEXT(Error, OutOfMemoryRed, "Out of memory while allocating red buffer.", "")) + string(sbuf)); }

@@ -128,16 +133,16 @@ green = FB_new_nothrow unsigned char[size];

if (green == 0) { char sbuf[128]; sprintf(sbuf, "%ld", (long int) size); - throw std::string("TextureRender::TextureRender(): " + - std::string(_FBTK_CONSOLETEXT(Error, OutOfMemoryGreen, "Out of memory while allocating green buffer.", ""))+ string(sbuf)); + throw string("TextureRender::TextureRender(): " + + string(_FBTK_CONSOLETEXT(Error, OutOfMemoryGreen, "Out of memory while allocating green buffer.", ""))+ string(sbuf)); } blue = FB_new_nothrow unsigned char[size]; if (blue == 0) { char sbuf[128]; sprintf(sbuf, "%ld", (long int) size); - throw std::string("TextureRender::TextureRender(): " + - std::string(_FBTK_CONSOLETEXT(Error, OutOfMemoryBlue, "Out of memory while allocating blue buffer.", ""))+ string(sbuf)); + throw string("TextureRender::TextureRender(): " + + string(_FBTK_CONSOLETEXT(Error, OutOfMemoryBlue, "Out of memory while allocating blue buffer.", ""))+ string(sbuf)); }

@@ -146,7 +151,7 @@

Pixmap TextureRender::renderSolid(const FbTk::Texture &texture) { FbPixmap pixmap(RootWindow(FbTk::App::instance()->display(), - control.screenNumber()), + control.screenNumber()), width, height, control.depth());

@@ -157,7 +162,7 @@ return None;

} - FbTk::GContext gc(pixmap), + FbTk::GContext gc(pixmap), hgc(pixmap), lgc(pixmap); gc.setForeground(texture.color());

@@ -166,9 +171,9 @@

hgc.setForeground(texture.hiColor()); pixmap.fillRectangle(gc.gc(), 0, 0, width, height); - + using namespace FbTk; - + if (texture.type() & Texture::INTERLACED) { lgc.setForeground(texture.colorTo()); register unsigned int i = 0;

@@ -181,7 +186,7 @@ lgc.setForeground(texture.loColor());

if (texture.type() & Texture::BEVEL1) { if (texture.type() & Texture::RAISED) { - pixmap.drawLine(lgc.gc(), + pixmap.drawLine(lgc.gc(), 0, height - 1, width - 1, height - 1); pixmap.drawLine(lgc.gc(), width - 1, height - 1, width - 1, 0);

@@ -244,33 +249,33 @@ if (texture.type() & Texture::SUNKEN) {

from = &(texture.colorTo()); to = &(texture.color()); - if (! (texture.type() & Texture::INVERT)) + if (! (texture.type() & Texture::INVERT)) inverted = true; } else { from = &(texture.color()); to = &(texture.colorTo()); - if (texture.type() & Texture::INVERT) + if (texture.type() & Texture::INVERT) inverted = true; } control.getGradientBuffers(width, height, &xtable, &ytable); - if (texture.type() & Texture::DIAGONAL) + if (texture.type() & Texture::DIAGONAL) dgradient(); - else if (texture.type() & Texture::ELLIPTIC) + else if (texture.type() & Texture::ELLIPTIC) egradient(); - else if (texture.type() & Texture::HORIZONTAL) + else if (texture.type() & Texture::HORIZONTAL) hgradient(); - else if (texture.type() & Texture::PYRAMID) + else if (texture.type() & Texture::PYRAMID) pgradient(); - else if (texture.type() & Texture::RECTANGLE) + else if (texture.type() & Texture::RECTANGLE) rgradient(); - else if (texture.type() & Texture::VERTICAL) + else if (texture.type() & Texture::VERTICAL) vgradient(); - else if (texture.type() & Texture::CROSSDIAGONAL) + else if (texture.type() & Texture::CROSSDIAGONAL) cdgradient(); - else if (texture.type() & Texture::PIPECROSS) + else if (texture.type() & Texture::PIPECROSS) pcgradient(); if (texture.type() & Texture::BEVEL1)

@@ -293,10 +298,10 @@ translateSize(orientation, tmpw, tmph);

if (tmpw != src_texture.pixmap().width() || tmph != src_texture.pixmap().height()) { - // copy src_texture's pixmap and + // copy src_texture's pixmap and // scale/tile to fit our size FbPixmap new_pm(src_texture.pixmap()); - + if ((src_texture.type() & Texture::TILED)) { new_pm.tile(tmpw,tmph); } else {

@@ -336,14 +341,14 @@

o = image->bits_per_pixel + ((image->byte_order == MSBFirst) ? 1 : 0); if (control.doDither()) { - unsigned char dither4[4][4] = { + unsigned char dither4[4][4] = { {0, 4, 1, 5}, {6, 2, 7, 3}, {1, 5, 0, 4}, {7, 3, 6, 2} }; #ifdef ORDEREDPSEUDO - unsigned char dither8[8][8] = { + unsigned char dither8[8][8] = { { 0, 32, 8, 40, 2, 34, 10, 42 }, { 48, 16, 56, 24, 50, 18, 58, 26 }, { 12, 44, 4, 36, 14, 46, 6, 38 },

@@ -711,7 +716,7 @@

Pixmap TextureRender::renderPixmap() { Display *disp = FbTk::App::instance()->display(); - FbPixmap pixmap(RootWindow(disp, control.screenNumber()), + FbPixmap pixmap(RootWindow(disp, control.screenNumber()), width, height, control.depth()); if (pixmap.drawable() == None) {

@@ -1441,9 +1446,9 @@

// normal rgradient for (yt = ytable, y = 0; y < height; y++, yt += 3) { for (xt = xtable, x = 0; x < width; x++) { - *(pr++) = (unsigned char) (tr - (rsign * std::max(*(xt++), *(yt)))); - *(pg++) = (unsigned char) (tg - (gsign * std::max(*(xt++), *(yt + 1)))); - *(pb++) = (unsigned char) (tb - (bsign * std::max(*(xt++), *(yt + 2)))); + *(pr++) = (unsigned char) (tr - (rsign * max(*(xt++), *(yt)))); + *(pg++) = (unsigned char) (tg - (gsign * max(*(xt++), *(yt + 1)))); + *(pb++) = (unsigned char) (tb - (bsign * max(*(xt++), *(yt + 2)))); } }

@@ -1454,32 +1459,32 @@

for (yt = ytable, y = 0; y < height; y++, yt += 3) { for (xt = xtable, x = 0; x < width; x++) { if (y & 1) { - channel = (unsigned char) (tr - (rsign * std::max(*(xt++), *(yt)))); + channel = (unsigned char) (tr - (rsign * max(*(xt++), *(yt)))); channel2 = (channel >> 1) + (channel >> 2); if (channel2 > channel) channel2 = 0; *(pr++) = channel2; - channel = (unsigned char) (tg - (gsign * std::max(*(xt++), *(yt + 1)))); + channel = (unsigned char) (tg - (gsign * max(*(xt++), *(yt + 1)))); channel2 = (channel >> 1) + (channel >> 2); if (channel2 > channel) channel2 = 0; *(pg++) = channel2; - channel = (unsigned char) (tb - (bsign * std::max(*(xt++), *(yt + 2)))); + channel = (unsigned char) (tb - (bsign * max(*(xt++), *(yt + 2)))); channel2 = (channel >> 1) + (channel >> 2); if (channel2 > channel) channel2 = 0; *(pb++) = channel2; } else { - channel = (unsigned char) (tr - (rsign * std::max(*(xt++), *(yt)))); + channel = (unsigned char) (tr - (rsign * max(*(xt++), *(yt)))); channel2 = channel + (channel >> 3); if (channel2 < channel) channel2 = ~0; *(pr++) = channel2; - channel = (unsigned char) (tg - (gsign * std::max(*(xt++), *(yt + 1)))); + channel = (unsigned char) (tg - (gsign * max(*(xt++), *(yt + 1)))); channel2 = channel + (channel >> 3); if (channel2 < channel) channel2 = ~0; *(pg++) = channel2; - channel = (unsigned char) (tb - (bsign * std::max(*(xt++), *(yt + 2)))); + channel = (unsigned char) (tb - (bsign * max(*(xt++), *(yt + 2)))); channel2 = channel + (channel >> 3); if (channel2 < channel) channel2 = ~0; *(pb++) = channel2;

@@ -1675,9 +1680,9 @@

// normal pcgradient for (yt = ytable, y = 0; y < height; y++, yt += 3) { for (xt = xtable, x = 0; x < width; x++) { - *(pr++) = (unsigned char) (tr - (rsign * std::min(*(xt++), *(yt)))); - *(pg++) = (unsigned char) (tg - (gsign * std::min(*(xt++), *(yt + 1)))); - *(pb++) = (unsigned char) (tb - (bsign * std::min(*(xt++), *(yt + 2)))); + *(pr++) = (unsigned char) (tr - (rsign * min(*(xt++), *(yt)))); + *(pg++) = (unsigned char) (tg - (gsign * min(*(xt++), *(yt + 1)))); + *(pb++) = (unsigned char) (tb - (bsign * min(*(xt++), *(yt + 2)))); } }

@@ -1688,32 +1693,32 @@

for (yt = ytable, y = 0; y < height; y++, yt += 3) { for (xt = xtable, x = 0; x < width; x++) { if (y & 1) { - channel = (unsigned char) (tr - (rsign * std::min(*(xt++), *(yt)))); + channel = (unsigned char) (tr - (rsign * min(*(xt++), *(yt)))); channel2 = (channel >> 1) + (channel >> 2); if (channel2 > channel) channel2 = 0; *(pr++) = channel2; - channel = (unsigned char) (tg - (bsign * std::min(*(xt++), *(yt + 1)))); + channel = (unsigned char) (tg - (bsign * min(*(xt++), *(yt + 1)))); channel2 = (channel >> 1) + (channel >> 2); if (channel2 > channel) channel2 = 0; *(pg++) = channel2; - channel = (unsigned char) (tb - (gsign * std::min(*(xt++), *(yt + 2)))); + channel = (unsigned char) (tb - (gsign * min(*(xt++), *(yt + 2)))); channel2 = (channel >> 1) + (channel >> 2); if (channel2 > channel) channel2 = 0; *(pb++) = channel2; } else { - channel = (unsigned char) (tr - (rsign * std::min(*(xt++), *(yt)))); + channel = (unsigned char) (tr - (rsign * min(*(xt++), *(yt)))); channel2 = channel + (channel >> 3); if (channel2 < channel) channel2 = ~0; *(pr++) = channel2; - channel = (unsigned char) (tg - (gsign * std::min(*(xt++), *(yt + 1)))); + channel = (unsigned char) (tg - (gsign * min(*(xt++), *(yt + 1)))); channel2 = channel + (channel >> 3); if (channel2 < channel) channel2 = ~0; *(pg++) = channel2; - channel = (unsigned char) (tb - (bsign * std::min(*(xt++), *(yt + 2)))); + channel = (unsigned char) (tb - (bsign * min(*(xt++), *(yt + 2)))); channel2 = channel + (channel >> 3); if (channel2 < channel) channel2 = ~0; *(pb++) = channel2;
M src/FbTk/XFontImp.ccsrc/FbTk/XFontImp.cc

@@ -1,6 +1,6 @@

// XFontImp.cc for FbTk fluxbox toolkit // Copyright (c) 2002 - 2006 Henrik Kinnunen (fluxgen at fluxbox dot org) -// +// // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the "Software"), // to deal in the Software without restriction, including without limitation

@@ -36,7 +36,11 @@ #include <cstdio>

#else #include <stdio.h> #endif -using namespace std; + +using std::cerr; +using std::endl; +using std::string; +using std::nothrow; namespace FbTk {

@@ -45,13 +49,13 @@ for (int i = ROT0; i <= ROT270; ++i)

m_rotfonts[i] = 0; if (fontname != 0) - load(fontname); + load(fontname); } XFontImp::~XFontImp() { if (m_fontstruct != 0) XFreeFont(App::instance()->display(), m_fontstruct); - + for (int i = ROT0; i <= ROT270; ++i) if (m_rotfonts[i] != 0) freeRotFont(m_rotfonts[i]);

@@ -60,11 +64,11 @@

int XFontImp::ascent() const { if (m_fontstruct == 0) return 0; - + return m_fontstruct->ascent; } -bool XFontImp::load(const std::string &fontname) { +bool XFontImp::load(const string &fontname) { XFontStruct *font = XLoadQueryFont(App::instance()->display(), fontname.c_str()); if (font == 0)

@@ -91,8 +95,8 @@ drawRotText(w.drawable(), screen, gc, text, len, x, y, orient);

return; } - std::string localestr = text; - localestr.erase(len, std::string::npos); + string localestr = text; + localestr.erase(len, string::npos); localestr = FbStringUtil::FbStrToLocale(localestr); XSetFont(w.display(), gc, m_fontstruct->fid);

@@ -103,8 +107,8 @@ unsigned int XFontImp::textWidth(const FbString &text, unsigned int size) const {

if (text.empty() || m_fontstruct == 0) return 0; - std::string localestr = text; - localestr.erase(size, std::string::npos); + string localestr = text; + localestr.erase(size, string::npos); localestr = FbStringUtil::FbStrToLocale(localestr); return XTextWidth(m_fontstruct, localestr.data(), localestr.size());

@@ -138,7 +142,7 @@ int ascent, descent, lbearing, rbearing;

// create the depth 1 canvas bitmap FbTk::FbPixmap canvas(rootwin, boxlen, boxlen, 1); - + // create graphic context for our canvas FbTk::GContext font_gc(canvas); font_gc.setBackground(None);

@@ -152,22 +156,22 @@ if (rotfont == 0) {

cerr<<"RotFont: "<<_FBTK_CONSOLETEXT(Error, OutOfMemory, "Out of memory", "Something couldn't allocate memory")<<endl; return; } - + // determine which characters are defined in font - min_char = m_fontstruct->min_char_or_byte2; + min_char = m_fontstruct->min_char_or_byte2; max_char = m_fontstruct->max_char_or_byte2; - + // we only want printable chars if (min_char<32) min_char = 32; if (max_char>126) max_char = 126; - + /* some overall font data ... */ rotfont->min_char = min_char; rotfont->max_char = max_char; rotfont->max_ascent = m_fontstruct->max_bounds.ascent; - rotfont->max_descent = m_fontstruct->max_bounds.descent; + rotfont->max_descent = m_fontstruct->max_bounds.descent; rotfont->height = rotfont->max_ascent + rotfont->max_descent; // font needs rotation

@@ -183,9 +187,9 @@ rbearing = rotfont->per_char[ichar-32].rbearing = m_fontstruct->per_char[index].rbearing;

rotfont->per_char[ichar-32].width = m_fontstruct->per_char[index].width; // some space chars have zero body, but a bitmap can't have - if (!ascent && !descent) + if (!ascent && !descent) ascent = rotfont->per_char[ichar-32].ascent = 1; - if (!lbearing && !rbearing) + if (!lbearing && !rbearing) rbearing = rotfont->per_char[ichar-32].rbearing = 1; // glyph width and height when vertical

@@ -193,9 +197,9 @@ vert_w = rbearing - lbearing;

vert_h = ascent + descent; // width in bytes - vert_len = (vert_w-1)/8+1; + vert_len = (vert_w-1)/8+1; - font_gc.setForeground(None); + font_gc.setForeground(None); canvas.fillRectangle(font_gc.gc(), 0, 0, boxlen, boxlen);

@@ -209,14 +213,14 @@

// reserve memory for first XImage vertdata = (unsigned char *)calloc((unsigned)(vert_len * vert_h), 1); - XImage *I1 = XCreateImage(dpy, DefaultVisual(dpy, screen), + XImage *I1 = XCreateImage(dpy, DefaultVisual(dpy, screen), 1, XYBitmap, - 0, (char *)vertdata, + 0, (char *)vertdata, vert_w, vert_h, 8, 0); - if (I1 == None) { - cerr << "RotFont: " << _FBTK_CONSOLETEXT(Error, CreateXImage, - "Can't create XImage", + if (I1 == None) { + cerr << "RotFont: " << _FBTK_CONSOLETEXT(Error, CreateXImage, + "Can't create XImage", "XCreateImage failed for some reason") << "." << endl; free(vertdata);

@@ -228,19 +232,19 @@

I1->byte_order = I1->bitmap_bit_order = MSBFirst; // extract character from canvas - XGetSubImage(dpy, canvas.drawable(), + XGetSubImage(dpy, canvas.drawable(), boxlen/2, boxlen/2 - vert_h, vert_w, vert_h, 1, XYPixmap, I1, 0, 0); - I1->format = XYBitmap; + I1->format = XYBitmap; // width, height of rotated character - if (orient == ROT180) { + if (orient == ROT180) { bit_w = vert_w; - bit_h = vert_h; + bit_h = vert_h; } else { bit_w = vert_h; - bit_h = vert_w; + bit_h = vert_w; } // width in bytes

@@ -254,12 +258,12 @@ bitdata = (unsigned char *)calloc((unsigned)(bit_h * bit_len), 1);

// create the image XImage *I2 = XCreateImage(dpy, DefaultVisual(dpy, screen), 1, XYBitmap, 0, - (char *)bitdata, bit_w, bit_h, 8, 0); + (char *)bitdata, bit_w, bit_h, 8, 0); if (I2 == None) { cerr << "XFontImp: " <<_FBTK_CONSOLETEXT(Error, CreateXImage, "Can't create XImage", - "XCreateImage failed for some reason") + "XCreateImage failed for some reason") << "." << endl; free(bitdata); delete rotfont;

@@ -280,9 +284,9 @@ } else if (orient == ROT180) {

val = vertdata[(vert_h-j-1)*vert_len + (vert_w-i-1)/8] & (128>>((vert_w-i-1)%8)); } else { - val = vertdata[(vert_h-i-1)*vert_len + j/8] & + val = vertdata[(vert_h-i-1)*vert_len + j/8] & (128>>(j%8)); - } + } if (val) { bitdata[j*bit_len + i/8] = bitdata[j*bit_len + i/8] | (128>>(i%8));

@@ -290,12 +294,12 @@ }

} } - // create this character's bitmap - rotfont->per_char[ichar-32].glyph.bm = + // create this character's bitmap + rotfont->per_char[ichar-32].glyph.bm = XCreatePixmap(dpy, rootwin, bit_w, bit_h, 1); - - // put the image into the bitmap - XPutImage(dpy, rotfont->per_char[ichar-32].glyph.bm, + + // put the image into the bitmap + XPutImage(dpy, rotfont->per_char[ichar-32].glyph.bm, font_gc.gc(), I2, 0, 0, 0, 0, bit_w, bit_h); // free the image and data

@@ -307,7 +311,7 @@ }

void XFontImp::freeRotFont(XRotFontStruct *rotfont) { // loop through each character and free its pixmap - for (int ichar = rotfont->min_char - 32; + for (int ichar = rotfont->min_char - 32; ichar <= rotfont->max_char - 32; ++ichar) { XFreePixmap(App::instance()->display(), rotfont->per_char[ichar].glyph.bm); }

@@ -316,7 +320,7 @@ delete rotfont;

rotfont = 0; } -void XFontImp::drawRotText(Drawable w, int screen, GC gc, const FbString &text, size_t len, int x, int y, FbTk::Orientation orient) const { +void XFontImp::drawRotText(Drawable w, int screen, GC gc, const FbString &text, size_t len, int x, int y, FbTk::Orientation orient) const { Display *dpy = App::instance()->display(); static GC my_gc = 0;

@@ -335,8 +339,8 @@

// vertical or upside down XSetFillStyle(dpy, my_gc, FillStippled); - std::string localestr = text; - localestr.erase(len, std::string::npos); + string localestr = text; + localestr.erase(len, string::npos); localestr = FbStringUtil::FbStrToLocale(localestr); const char *ctext = localestr.data(); len = localestr.size();

@@ -351,30 +355,30 @@ if (ichar >= 0 && ichar<95) {

// suitable offset if (orient == ROT270) { xp = x-rotfont->per_char[ichar].ascent; - yp = y-rotfont->per_char[ichar].rbearing; + yp = y-rotfont->per_char[ichar].rbearing; } else if (orient == ROT180) { xp = x-rotfont->per_char[ichar].rbearing; - yp = y-rotfont->per_char[ichar].descent+1; + yp = y-rotfont->per_char[ichar].descent+1; } else { // ROT90 xp = x-rotfont->per_char[ichar].descent; - yp = y+rotfont->per_char[ichar].lbearing; + yp = y+rotfont->per_char[ichar].lbearing; } - + // draw the glyph XSetStipple(dpy, my_gc, rotfont->per_char[ichar].glyph.bm); - + XSetTSOrigin(dpy, my_gc, xp, yp); - + XFillRectangle(dpy, w, my_gc, xp, yp, rotfont->per_char[ichar].glyph.bit_w, rotfont->per_char[ichar].glyph.bit_h); - + // advance position if (orient == ROT270) y -= rotfont->per_char[ichar].width; else if (orient == ROT180) x -= rotfont->per_char[ichar].width; - else + else y += rotfont->per_char[ichar].width; } }
M src/FbTk/XmbFontImp.ccsrc/FbTk/XmbFontImp.cc

@@ -50,7 +50,6 @@ #include <cstdarg>

#else #include <stdarg.h> #endif -#include <iostream> #ifdef HAVE_CSTRING #include <cstring> #else

@@ -59,7 +58,7 @@ #endif

#include <X11/Xlib.h> -using namespace std; +using std::string; namespace {

@@ -118,7 +117,7 @@ Display *display = FbTk::App::instance()->display();

XFontSet fs; char **missing, *def = "-"; int nmissing; - std::string orig_locale = ""; + string orig_locale = ""; #ifdef HAVE_SETLOCALE if (utf8mode) {

@@ -156,7 +155,7 @@ #endif // HAVE_SETLOCALE

// set to false because our strings won't be utf8-happy utf8mode = false; - + return fs; }

@@ -173,7 +172,7 @@ if (m_fontset != 0)

XFreeFontSet(App::instance()->display(), m_fontset); } -bool XmbFontImp::load(const std::string &fontname) { +bool XmbFontImp::load(const string &fontname) { if (fontname.empty()) return false;

@@ -205,8 +204,8 @@ text.data(), len);

} else #endif //X_HAVE_UTF8_STRING { - std::string localestr = text; - localestr.erase(len, std::string::npos); + string localestr = text; + localestr.erase(len, string::npos); localestr = FbStringUtil::FbStrToLocale(localestr); XmbDrawString(d.display(), d.drawable(), m_fontset, main_gc, x, y,

@@ -226,7 +225,7 @@ untranslateCoords(orient, xpos, ypos, w, h);

// not straight forward, we actually draw it elsewhere, then rotate it FbTk::FbPixmap canvas(d.drawable(), w, h, 1); - + // create graphic context for our canvas FbTk::GContext font_gc(canvas); font_gc.setBackground(None);

@@ -244,8 +243,8 @@ text.data(), len);

} else #endif //X_HAVE_UTF8_STRING { - std::string localestr = text; - localestr.erase(len, std::string::npos); + string localestr = text; + localestr.erase(len, string::npos); localestr = FbStringUtil::FbStrToLocale(localestr); XmbDrawString(dpy, canvas.drawable(), m_fontset, font_gc.gc(), xpos, ypos,

@@ -260,7 +259,7 @@ XCopyGC(dpy, main_gc, GCForeground|GCBackground, my_gc);

// vertical or upside down - XSetFillStyle(dpy, my_gc, FillStippled); + XSetFillStyle(dpy, my_gc, FillStippled); // vertical or upside down

@@ -275,7 +274,7 @@ canvas.width(),

canvas.height()); XFreeGC(dpy, my_gc); - + } unsigned int XmbFontImp::textWidth(const FbString &text, unsigned int len) const {

@@ -292,8 +291,8 @@ return logical.width;

} #endif // X_HAVE_UTF8_STRING - std::string localestr = text; - localestr.erase(len, std::string::npos); + string localestr = text; + localestr.erase(len, string::npos); localestr = FbStringUtil::FbStrToLocale(localestr); XmbTextExtents(m_fontset, localestr.data(), localestr.size(), &ink, &logical);
M src/FbWinFrameTheme.ccsrc/FbWinFrameTheme.cc

@@ -26,10 +26,7 @@ #include "App.hh"

#include <X11/cursorfont.h> -#include <iostream> -using namespace std; - -FbWinFrameTheme::FbWinFrameTheme(int screen_num): +FbWinFrameTheme::FbWinFrameTheme(int screen_num): FbTk::Theme(screen_num), m_label_focus(*this, "window.label.focus", "Window.Label.Focus"), m_label_unfocus(*this, "window.label.unfocus", "Window.Label.Unfocus"),

@@ -44,14 +41,14 @@

m_button_focus(*this, "window.button.focus", "Window.Button.Focus"), m_button_unfocus(*this, "window.button.unfocus", "Window.Button.Unfocus"), m_button_pressed(*this, "window.button.pressed", "Window.Button.Pressed"), - + m_grip_focus(*this, "window.grip.focus", "Window.Grip.Focus"), m_grip_unfocus(*this, "window.grip.unfocus", "Window.Grip.Unfocus"), - + m_label_focus_color(*this, "window.label.focus.textColor", "Window.Label.Focus.TextColor"), m_label_unfocus_color(*this, "window.label.unfocus.textColor", "Window.Label.Unfocus.TextColor"), m_label_active_color(*this, "window.label.active.textColor", "Window.Label.Active.TextColor"), - + m_button_focus_color(*this, "window.button.focus.picColor", "Window.Button.Focus.PicColor"), m_button_unfocus_color(*this, "window.button.unfocus.picColor", "Window.Button.Unfocus.PicColor"),

@@ -103,7 +100,7 @@ // copy texture

*m_label_active = *m_label_unfocus; return true; } else if (item.name() == "window.label.active.textColor") { - return FbTk::ThemeManager::instance().loadItem(item, "window.label.unfocus.textColor", + return FbTk::ThemeManager::instance().loadItem(item, "window.label.unfocus.textColor", "Window.Label.Unfocus.TextColor"); }
M src/Gnome.ccsrc/Gnome.cc

@@ -31,10 +31,17 @@ #include "Workspace.hh"

#include "Layer.hh" #include "FbTk/I18n.hh" - #include <iostream> #include <new> -using namespace std; + +using std::cerr; +using std::endl; +using std::list; + +#ifdef DEBUG +using std::hex; +using std::dec; +#endif // DEBUG Gnome::Gnome() { createAtoms();

@@ -45,7 +52,7 @@ Gnome::~Gnome() {

// destroy gnome windows while (!m_gnomewindows.empty()) { XDestroyWindow(FbTk::App::instance()->display(), m_gnomewindows.back()); - m_gnomewindows.pop_back(); + m_gnomewindows.pop_back(); } }

@@ -56,12 +63,12 @@ // create the GNOME window

Window gnome_win = XCreateSimpleWindow(disp, screen.rootWindow().window(), 0, 0, 5, 5, 0, 0, 0); // supported WM check - screen.rootWindow().changeProperty(m_gnome_wm_supporting_wm_check, - XA_WINDOW, 32, + screen.rootWindow().changeProperty(m_gnome_wm_supporting_wm_check, + XA_WINDOW, 32, PropModeReplace, (unsigned char *) &gnome_win, 1); - XChangeProperty(disp, gnome_win, - m_gnome_wm_supporting_wm_check, + XChangeProperty(disp, gnome_win, + m_gnome_wm_supporting_wm_check, XA_WINDOW, 32, PropModeReplace, (unsigned char *) &gnome_win, 1); // supported gnome atoms

@@ -74,9 +81,9 @@ m_gnome_wm_win_hints,

m_gnome_wm_win_layer }; //list atoms that we support - screen.rootWindow().changeProperty(m_gnome_wm_prot, + screen.rootWindow().changeProperty(m_gnome_wm_prot, XA_ATOM, 32, PropModeReplace, - (unsigned char *)gnomeatomlist, + (unsigned char *)gnomeatomlist, (sizeof gnomeatomlist)/sizeof gnomeatomlist[0]); m_gnomewindows.push_back(gnome_win);

@@ -85,7 +92,7 @@ updateClientList(screen);

updateWorkspaceNames(screen); updateWorkspaceCount(screen); updateCurrentWorkspace(screen); - + } void Gnome::setupFrame(FluxboxWindow &win) {

@@ -95,8 +102,8 @@ int fmt;

unsigned long nitems, bytes_after; long flags, *data = 0; - if (win.winClient().property(m_gnome_wm_win_state, 0, 1, False, XA_CARDINAL, - &ret_type, &fmt, &nitems, &bytes_after, + if (win.winClient().property(m_gnome_wm_win_state, 0, 1, False, XA_CARDINAL, + &ret_type, &fmt, &nitems, &bytes_after, (unsigned char **) &data) && data) { flags = *data; setState(&win, flags);

@@ -106,8 +113,8 @@ updateState(win);

} // load gnome layer atom - if (win.winClient().property(m_gnome_wm_win_layer, 0, 1, False, XA_CARDINAL, - &ret_type, &fmt, &nitems, &bytes_after, + if (win.winClient().property(m_gnome_wm_win_layer, 0, 1, False, XA_CARDINAL, + &ret_type, &fmt, &nitems, &bytes_after, (unsigned char **) &data) && data) { flags = *data; setLayer(&win, flags);

@@ -117,11 +124,11 @@ updateLayer(win);

} // load gnome workspace atom - if (win.winClient().property(m_gnome_wm_win_workspace, 0, 1, False, XA_CARDINAL, - &ret_type, &fmt, &nitems, &bytes_after, + if (win.winClient().property(m_gnome_wm_win_workspace, 0, 1, False, XA_CARDINAL, + &ret_type, &fmt, &nitems, &bytes_after, (unsigned char **) &data) && data) { unsigned int workspace_num = *data; - if (win.workspaceNumber() != workspace_num) + if (win.workspaceNumber() != workspace_num) win.setWorkspace(workspace_num); XFree (data); } else {

@@ -131,7 +138,7 @@

} -bool Gnome::propertyNotify(WinClient &winclient, Atom the_property) { +bool Gnome::propertyNotify(WinClient &winclient, Atom the_property) { if (the_property == m_gnome_wm_win_state) { #ifdef DEBUG cerr<<__FILE__<<"("<<__FUNCTION__<<"): _WIN_STATE"<<endl;

@@ -151,19 +158,19 @@ void Gnome::updateClientList(BScreen &screen) {

size_t num=0; // count window clients in each workspace - BScreen::Workspaces::const_iterator workspace_it = + BScreen::Workspaces::const_iterator workspace_it = screen.getWorkspacesList().begin(); - BScreen::Workspaces::const_iterator workspace_it_end = + BScreen::Workspaces::const_iterator workspace_it_end = screen.getWorkspacesList().end(); for (; workspace_it != workspace_it_end; ++workspace_it) { - Workspace::Windows::iterator win_it = + Workspace::Windows::iterator win_it = (*workspace_it)->windowList().begin(); - Workspace::Windows::iterator win_it_end = + Workspace::Windows::iterator win_it_end = (*workspace_it)->windowList().end(); for (; win_it != win_it_end; ++win_it) num += (*win_it)->numClients(); } - + Window *wl = new Window[num]; if (wl == 0) { _FB_USES_NLS;

@@ -175,19 +182,19 @@ //add client windows to buffer

workspace_it = screen.getWorkspacesList().begin(); int win=0; for (; workspace_it != workspace_it_end; ++workspace_it) { - + // Fill in array of window ID's - Workspace::Windows::const_iterator it = + Workspace::Windows::const_iterator it = (*workspace_it)->windowList().begin(); - Workspace::Windows::const_iterator it_end = - (*workspace_it)->windowList().end(); + Workspace::Windows::const_iterator it_end = + (*workspace_it)->windowList().end(); for (; it != it_end; ++it) { // TODO! //check if the window don't want to be visible in the list //if (! ( (*it)->getGnomeHints() & WIN_STATE_HIDDEN) ) { - std::list<WinClient *>::iterator client_it = + list<WinClient *>::iterator client_it = (*it)->clientList().begin(); - std::list<WinClient *>::iterator client_it_end = + list<WinClient *>::iterator client_it_end = (*it)->clientList().end(); for (; client_it != client_it_end; ++client_it) wl[win++] = (*client_it)->window();

@@ -196,10 +203,10 @@ }

} //number of windows to show in client list num = win; - screen.rootWindow().changeProperty(m_gnome_wm_win_client_list, + screen.rootWindow().changeProperty(m_gnome_wm_win_client_list, XA_WINDOW, 32, PropModeReplace, (unsigned char *)wl, num); - + delete[] wl; }

@@ -208,14 +215,14 @@

size_t number_of_desks = screen.getWorkspaceNames().size(); const BScreen::WorkspaceNames &workspace_names = screen.getWorkspaceNames(); // convert our desktop names to a char * so we can send it - char *names[number_of_desks]; - - for (size_t i = 0; i < number_of_desks; i++) { + char *names[number_of_desks]; + + for (size_t i = 0; i < number_of_desks; i++) { names[i] = new char[workspace_names[i].size() + 1]; strcpy(names[i], workspace_names[i].c_str()); } - XTextProperty text; + XTextProperty text; if (XStringListToTextProperty(names, number_of_desks, &text)) { XSetTextProperty(FbTk::App::instance()->display(), screen.rootWindow().window(), &text, m_gnome_wm_win_workspace_names);

@@ -254,7 +261,7 @@

FluxboxWindow::ClientList::iterator client_it = win.clientList().begin(); FluxboxWindow::ClientList::iterator client_it_end = win.clientList().end(); for (; client_it != client_it_end; ++client_it) - (*client_it)->changeProperty(m_gnome_wm_win_workspace, + (*client_it)->changeProperty(m_gnome_wm_win_workspace, XA_CARDINAL, 32, PropModeReplace, (unsigned char *)&val, 1); }

@@ -268,12 +275,12 @@ if (win.isIconic())

state |= WIN_STATE_MINIMIZED; if (win.isShaded()) state |= WIN_STATE_SHADED; - + FluxboxWindow::ClientList::iterator client_it = win.clientList().begin(); FluxboxWindow::ClientList::iterator client_it_end = win.clientList().end(); for (; client_it != client_it_end; ++client_it) { (*client_it)->changeProperty(m_gnome_wm_win_state, - XA_CARDINAL, 32, + XA_CARDINAL, 32, PropModeReplace, (unsigned char *)&state, 1); } }

@@ -287,14 +294,14 @@ FluxboxWindow::ClientList::iterator client_it = win.clientList().begin();

FluxboxWindow::ClientList::iterator client_it_end = win.clientList().end(); for (; client_it != client_it_end; ++client_it) (*client_it)->changeProperty(m_gnome_wm_win_layer, - XA_CARDINAL, 32, PropModeReplace, + XA_CARDINAL, 32, PropModeReplace, (unsigned char *)&layernum, 1); - + } void Gnome::updateHints(FluxboxWindow &win) { //TODO - + } bool Gnome::checkClientMessage(const XClientMessageEvent &ce, BScreen * screen, WinClient * const winclient) {

@@ -306,29 +313,26 @@ if ( winclient !=0 && // the message sent to client window?

ce.data.l[0] >= 0 && ce.data.l[0] < (signed)winclient->screen().numberOfWorkspaces()) { winclient->screen().changeWorkspaceID(ce.data.l[0]); - + } else if (screen!=0 && //the message sent to root window? ce.data.l[0] >= 0 && ce.data.l[0] < (signed)screen->numberOfWorkspaces()) screen->changeWorkspaceID(ce.data.l[0]); return true; } else if (winclient == 0) - return false; - + return false; + if (ce.message_type == m_gnome_wm_win_state) { #ifdef DEBUG cerr<<__FILE__<<"("<<__LINE__<<"): _WIN_STATE"<<endl; -#endif // DEBUG - -#ifdef DEBUG cerr<<__FILE__<<"("<<__LINE__<<"): Mask of members to change:"<< hex<<ce.data.l[0]<<dec<<endl; // mask_of_members_to_change cerr<<"New members:"<<ce.data.l[1]<<endl; #endif // DEBUG - + if (winclient && winclient->fbwindow()) { - //get new states + //get new states int flag = ce.data.l[0] & ce.data.l[1]; //don't update this when when we set new state disableUpdate();

@@ -368,7 +372,7 @@ if (!win->isStuck())

win->stick(); } else if (win->isStuck()) win->stick(); - + if (state & WIN_STATE_MINIMIZED) { #ifdef DEBUG cerr<<"Gnome state: Minimized"<<endl;

@@ -394,12 +398,12 @@ win->setIconHidden(! win->isIconHidden());

} - /* + /* if (state & WIN_STATE_MAXIMIZED_VERT) cerr<<"Maximize Vert"<<endl; if (state & WIN_STATE_MAXIMIZED_HORIZ) cerr<<"Maximize Horiz"<<endl; - + if (state & WIN_STATE_HID_WORKSPACE) cerr<<"HID Workspace"<<endl; if (state & WIN_STATE_HID_TRANSIENT)

@@ -407,14 +411,14 @@ cerr<<"HID Transient"<<endl;

if (state & WIN_STATE_FIXED_POSITION) cerr<<"Fixed Position"<<endl; if (state & WIN_STATE_ARRANGE_IGNORE) - cerr<<"Arrange Ignore"<<endl; + cerr<<"Arrange Ignore"<<endl; */ } void Gnome::setLayer(FluxboxWindow *win, int layer) { if (!win) return; - - + + switch (layer) { case WIN_LAYER_DESKTOP: #ifdef DEBUG

@@ -433,7 +437,7 @@ #ifdef DEBUG

cerr<<"Gnome::setLayer("<<win->title()<<", WIN_LAYER_NORMAL)"<<endl; #endif // DEBUG layer = Layer::NORMAL; - break; + break; case WIN_LAYER_ONTOP: #ifdef DEBUG cerr<<"Gnome::setLayer("<<win->title()<<", WIN_LAYER_ONTOP)"<<endl;
M src/IconbarTool.ccsrc/IconbarTool.cc

@@ -49,25 +49,32 @@

#include <typeinfo> #include <string> #include <iterator> -using namespace std; + +using std::string; +using std::list; + +#ifdef DEBUG +using std::cerr; +using std::endl; +#endif // DEBUG namespace FbTk { template<> void FbTk::Resource<IconbarTool::Mode>::setFromString(const char *strval) { - if (strcasecmp(strval, "None") == 0) + if (strcasecmp(strval, "None") == 0) m_value = IconbarTool::NONE; - else if (strcasecmp(strval, "Icons") == 0) + else if (strcasecmp(strval, "Icons") == 0) m_value = IconbarTool::ICONS; else if (strcasecmp(strval, "NoIcons") == 0) m_value = IconbarTool::NOICONS; - else if (strcasecmp(strval, "WorkspaceIcons") == 0) + else if (strcasecmp(strval, "WorkspaceIcons") == 0) m_value = IconbarTool::WORKSPACEICONS; else if (strcasecmp(strval, "WorkspaceNoIcons") == 0) m_value = IconbarTool::WORKSPACENOICONS; - else if (strcasecmp(strval, "Workspace") == 0) + else if (strcasecmp(strval, "Workspace") == 0) m_value = IconbarTool::WORKSPACE; - else if (strcasecmp(strval, "AllWindows") == 0) + else if (strcasecmp(strval, "AllWindows") == 0) m_value = IconbarTool::ALLWINDOWS; else setDefaultValue();

@@ -93,17 +100,17 @@ }

template<> -std::string FbTk::Resource<IconbarTool::WheelMode>::getString() const { +string FbTk::Resource<IconbarTool::WheelMode>::getString() const { switch(m_value) { case IconbarTool::ON: - return std::string("On"); + return string("On"); break; case IconbarTool::SCREEN: - return std::string("Screen"); + return string("Screen"); break; case IconbarTool::OFF: default: - return std::string("Off"); + return string("Off"); }; }

@@ -172,8 +179,8 @@ namespace {

class ToolbarModeMenuItem : public FbTk::MenuItem { public: - ToolbarModeMenuItem(const FbTk::FbString &label, IconbarTool &handler, - IconbarTool::Mode mode, + ToolbarModeMenuItem(const FbTk::FbString &label, IconbarTool &handler, + IconbarTool::Mode mode, FbTk::RefCount<FbTk::Command> &cmd): FbTk::MenuItem(label, cmd), m_handler(handler), m_mode(mode) { }

@@ -190,8 +197,8 @@ };

class ToolbarAlignMenuItem: public FbTk::MenuItem { public: - ToolbarAlignMenuItem(const FbTk::FbString &label, IconbarTool &handler, - Container::Alignment mode, + ToolbarAlignMenuItem(const FbTk::FbString &label, IconbarTool &handler, + Container::Alignment mode, FbTk::RefCount<FbTk::Command> &cmd): FbTk::MenuItem(label, cmd), m_handler(handler), m_mode(mode) { }

@@ -213,17 +220,17 @@

menu.setLabel(_FB_XTEXT(Toolbar, IconbarMode, "Iconbar Mode", "Menu title - chooses which set of icons are shown in the iconbar")); RefCount<Command> saverc_cmd(new FbCommands::SaveResources()); - - menu.insert(new ToolbarModeMenuItem(_FB_XTEXT(Toolbar, IconbarModeNone, + + menu.insert(new ToolbarModeMenuItem(_FB_XTEXT(Toolbar, IconbarModeNone, "None", "No icons are shown in the iconbar"), - handler, + handler, IconbarTool::NONE, saverc_cmd)); menu.insert(new ToolbarModeMenuItem( - _FB_XTEXT(Toolbar, IconbarModeIcons, + _FB_XTEXT(Toolbar, IconbarModeIcons, "Icons", "Iconified windows from all workspaces are shown"), - handler, + handler, IconbarTool::ICONS, saverc_cmd)); menu.insert(new ToolbarModeMenuItem(

@@ -233,26 +240,26 @@ handler,

IconbarTool::NOICONS, saverc_cmd)); menu.insert(new ToolbarModeMenuItem( - _FB_XTEXT(Toolbar, IconbarModeWorkspaceIcons, + _FB_XTEXT(Toolbar, IconbarModeWorkspaceIcons, "WorkspaceIcons", "Iconified windows from this workspace are shown"), handler, IconbarTool::WORKSPACEICONS, saverc_cmd)); menu.insert(new ToolbarModeMenuItem( - _FB_XTEXT(Toolbar, IconbarModeWorkspaceNoIcons, + _FB_XTEXT(Toolbar, IconbarModeWorkspaceNoIcons, "WorkspaceNoIcons", "No iconified windows from this workspace are shown"), handler, IconbarTool::WORKSPACENOICONS, saverc_cmd)); - + menu.insert(new ToolbarModeMenuItem( - _FB_XTEXT(Toolbar, IconbarModeWorkspace, + _FB_XTEXT(Toolbar, IconbarModeWorkspace, "Workspace", "Normal and iconified windows from this workspace are shown"), - handler, + handler, IconbarTool::WORKSPACE, saverc_cmd)); menu.insert(new ToolbarModeMenuItem( _FB_XTEXT(Toolbar, IconbarModeAllWindows, "All Windows", "All windows are shown"), - handler, + handler, IconbarTool::ALLWINDOWS, saverc_cmd)); menu.insert(new FbTk::MenuSeparator());

@@ -276,7 +283,7 @@ menu.insert(new FbTk::MenuSeparator());

menu.updateMenu(); } - + inline bool checkAddWindow(IconbarTool::Mode mode, const FluxboxWindow &win) { bool ret_val = false; // just add the icons that are on the this workspace

@@ -314,10 +321,10 @@

return ret_val; } -void removeDuplicate(const IconbarTool::IconList &iconlist, std::list<FluxboxWindow *> &windowlist) { +void removeDuplicate(const IconbarTool::IconList &iconlist, list<FluxboxWindow *> &windowlist) { IconbarTool::IconList::const_iterator icon_it = iconlist.begin(); IconbarTool::IconList::const_iterator icon_it_end = iconlist.end(); - std::list<FluxboxWindow *>::iterator remove_it = windowlist.end(); + list<FluxboxWindow *>::iterator remove_it = windowlist.end(); for (; icon_it != icon_it_end; ++icon_it) remove_it = remove(windowlist.begin(), remove_it, &(*icon_it)->win());

@@ -359,13 +366,14 @@ setupModeMenu(m_menu, *this);

_FB_USES_NLS; using namespace FbTk; // setup use pixmap item to reconfig iconbar and save resource on click - MacroCommand *save_and_reconfig = new MacroCommand(); + MacroCommand *save_and_reconfig = new MacroCommand(); RefCount<Command> reconfig(new SimpleCommand<IconbarTool>(*this, &IconbarTool::renderTheme)); RefCount<Command> save(CommandParser::instance().parseLine("saverc")); save_and_reconfig->add(reconfig); save_and_reconfig->add(save); RefCount<Command> s_and_reconfig(save_and_reconfig); - m_menu.insert(new BoolMenuItem(_FB_XTEXT(Toolbar, ShowIcons, "Show Pictures", "chooses if little icons are shown next to title in the iconbar") , + m_menu.insert(new BoolMenuItem(_FB_XTEXT(Toolbar, ShowIcons, + "Show Pictures", "chooses if little icons are shown next to title in the iconbar"), *m_rc_use_pixmap, s_and_reconfig)); m_menu.updateMenu(); // must be internal menu, otherwise toolbar main menu tries to delete it.

@@ -459,12 +467,12 @@ unsigned int IconbarTool::borderWidth() const {

return m_icon_container.borderWidth(); } -void IconbarTool::update(FbTk::Subject *subj) { +void IconbarTool::update(FbTk::Subject *subj) { // ignore updates if we're shutting down if (m_screen.isShuttingdown()) { m_screen.clientListSig().detach(this); m_screen.iconListSig().detach(this); - m_screen.currentWorkspaceSig().detach(this); + m_screen.currentWorkspaceSig().detach(this); if (!m_icon_list.empty()) deleteIcons(); return;

@@ -512,7 +520,7 @@ renderTheme();

return; // we don't need to update the entire list } else if (subj == &(winsubj->win().stateSig())) { if (!checkAddWindow(mode(), winsubj->win())) { - removeWindow(winsubj->win()); + removeWindow(winsubj->win()); renderTheme(); }

@@ -522,7 +530,7 @@ } else if (subj == &(winsubj->win().attentionSig())) {

// render with titlebar focus, on attention IconButton *button = findButton(winsubj->win()); if (button) { - renderButton(*button, true, + renderButton(*button, true, winsubj->win().getAttentionState()); } return;

@@ -532,7 +540,7 @@ return;

} } - bool remove_all = false; // if we should readd all windows + bool remove_all = false; // if we should readd all windows if (subj != 0 && typeid(*subj) == typeid(BScreen::ScreenSubject) && mode() != ALLWINDOWS && mode() != ICONS ) {

@@ -541,7 +549,7 @@ // current workspace sig

if (&m_screen.currentWorkspaceSig() == screen_subj ) { remove_all = true; // remove and readd all windows } - + } // lock graphic update

@@ -559,7 +567,7 @@ // unlock container and update graphics

m_icon_container.setUpdateLock(false); m_icon_container.update(); m_icon_container.showSubwindows(); - + // another renderTheme we hopefully shouldn't need? These renders // should be done individually above // renderTheme();

@@ -588,13 +596,13 @@ void IconbarTool::updateSizing() {

m_icon_container.setBorderWidth(m_theme.border().width()); IconList::iterator icon_it = m_icon_list.begin(); - const IconList::iterator icon_it_end = m_icon_list.end(); + const IconList::iterator icon_it_end = m_icon_list.end(); for (; icon_it != icon_it_end; ++icon_it) { if ((*icon_it)->win().isFocused()) (*icon_it)->setBorderWidth(m_theme.focusedBorder().width()); else // unfocused (*icon_it)->setBorderWidth(m_theme.unfocusedBorder().width()); - } + } }

@@ -608,10 +616,10 @@ void IconbarTool::renderTheme() {

// update button sizes before we get max width per client! updateSizing(); - + unsigned int icon_width = 0, icon_height = 0; unsigned int icon_width_off=0, icon_height_off=0; - + if (orientation() == FbTk::ROT0 || orientation() == FbTk::ROT180) { icon_width = m_icon_container.maxWidthPerClient(); icon_height = m_icon_container.height();

@@ -634,7 +642,7 @@ renderImage(icon_width + icon_width_off,

icon_height + icon_height_off, m_theme.focusedTexture(), orientation()) ); } - + if (!m_theme.unfocusedTexture().usePixmap()) { m_unfocused_pm.reset( 0 ); m_unfocused_err_pm.reset( 0 );

@@ -666,7 +674,7 @@ m_icon_container.setAlpha(m_alpha);

// update buttons IconList::iterator icon_it = m_icon_list.begin(); - const IconList::iterator icon_it_end = m_icon_list.end(); + const IconList::iterator icon_it_end = m_icon_list.end(); for (; icon_it != icon_it_end; ++icon_it) { renderButton(*(*icon_it)); }

@@ -690,15 +698,15 @@

// button.height() != m_icon_container.back()->height()); } - if (focusOption == 1 || + if (focusOption == 1 || (focusOption == -1 && - button.win().isFocused())) { - + button.win().isFocused())) { + // focused texture if (button.win().isFocused()) m_icon_container.setSelected(m_icon_container.find(&button)); - button.setGC(m_theme.focusedText().textGC()); + button.setGC(m_theme.focusedText().textGC()); button.setFont(m_theme.focusedText().font()); button.setJustify(m_theme.focusedText().justify()); button.setBorderWidth(m_theme.focusedBorder().width());

@@ -709,7 +717,7 @@ button.setBackgroundPixmap(m_focused_pm);

else if (wider_button && m_focused_err_pm != 0) button.setBackgroundPixmap(m_focused_err_pm); else - button.setBackgroundColor(m_theme.focusedTexture().color()); + button.setBackgroundColor(m_theme.focusedTexture().color()); } else { // unfocused if (m_icon_container.selected() == &button)

@@ -755,7 +763,7 @@ return;

} #ifdef DEBUG cerr<<"IconbarTool::"<<__FUNCTION__<<"( 0x"<<&win<<" title = "<<win.title()<<") found!"<<endl; -#endif // DEBUG +#endif // DEBUG // detach from all signals win.focusSig().detach(this); win.dieSig().detach(this);

@@ -781,16 +789,16 @@ return;

#ifdef DEBUG cerr<<"IconbarTool::addWindow(0x"<<&win<<" title = "<<win.title()<<")"<<endl; #endif // DEBUG - IconButton *button = new IconButton(*this, - m_icon_container, - m_theme.focusedText().font(), + IconButton *button = new IconButton(*this, + m_icon_container, + m_theme.focusedText().font(), win); - + button->setTextPadding(*m_rc_client_padding); renderButton(*button, false); // update the attributes, but don't clear it - m_icon_container.insertItem(button); + m_icon_container.insertItem(button); m_icon_list.push_back(button); // dont forget to detach signal in removeWindow

@@ -802,10 +810,10 @@ win.attentionSig().attach(this);

} void IconbarTool::updateList() { - std::list<WinClient *> ordered_list = + list<WinClient *> ordered_list = m_screen.focusControl().creationOrderList(); - std::list<WinClient *>::iterator it = ordered_list.begin(); - std::list<WinClient *>::iterator it_end = ordered_list.end(); + list<WinClient *>::iterator it = ordered_list.begin(); + list<WinClient *>::iterator it_end = ordered_list.end(); for (; it != it_end; ++it) { if ((*it)->fbwindow() && checkAddWindow(mode(), *(*it)->fbwindow()) && !checkDuplicate(*(*it)->fbwindow()))
M src/MenuCreator.ccsrc/MenuCreator.cc

@@ -53,15 +53,21 @@ #include "FbTk/MenuSeparator.hh"

#include "FbTk/MenuIcon.hh" #include <iostream> -using namespace std; -std::list<std::string> MenuCreator::encoding_stack; -std::list<size_t> MenuCreator::stacksize_stack; +using std::cerr; +using std::endl; +using std::string; +using std::vector; +using std::list; +using std::less; + +list<string> MenuCreator::encoding_stack; +list<size_t> MenuCreator::stacksize_stack; FbTk::StringConvertor MenuCreator::m_stringconvertor(FbTk::StringConvertor::ToFbString); -static void createStyleMenu(FbTk::Menu &parent, const std::string &label, - const std::string &directory) { +static void createStyleMenu(FbTk::Menu &parent, const string &label, + const string &directory) { // perform shell style ~ home directory expansion string stylesdir(FbTk::StringUtil::expandFilename(directory));

@@ -72,15 +78,15 @@ FbTk::Directory dir(stylesdir.c_str());

// create a vector of all the filenames in the directory // add sort it - std::vector<std::string> filelist(dir.entries()); + vector<string> filelist(dir.entries()); for (size_t file_index = 0; file_index < dir.entries(); ++file_index) filelist[file_index] = dir.readFilename(); - std::sort(filelist.begin(), filelist.end(), less<string>()); + sort(filelist.begin(), filelist.end(), less<string>()); // for each file in directory add filename and path to menu for (size_t file_index = 0; file_index < dir.entries(); file_index++) { - std::string style(stylesdir + '/' + filelist[file_index]); + string style(stylesdir + '/' + filelist[file_index]); // add to menu only if the file is a regular file, and not a // .file or a backup~ file if ((FbTk::FileUtil::isRegularFile(style.c_str()) &&

@@ -140,10 +146,10 @@ inline void load(Parser &p, FbTk::StringConvertor &m_labelconvertor) {

p>>m_key>>m_label>>m_cmd>>m_icon; m_label.second = m_labelconvertor.recode(m_label.second); } - inline const std::string &icon() const { return m_icon.second; } - inline const std::string &command() const { return m_cmd.second; } - inline const std::string &label() const { return m_label.second; } - inline const std::string &key() const { return m_key.second; } + inline const string &icon() const { return m_icon.second; } + inline const string &command() const { return m_cmd.second; } + inline const string &label() const { return m_label.second; } + inline const string &key() const { return m_key.second; } inline FbTk::Menu *menu() { return m_menu; } private: Parser::Item m_key, m_label, m_cmd, m_icon;

@@ -182,9 +188,9 @@ if (pitem.menu() == 0)

throw string("translateMenuItem: We must have a menu in ParseItem!"); FbTk::Menu &menu = *pitem.menu(); - const std::string &str_key = pitem.key(); - const std::string &str_cmd = pitem.command(); - const std::string &str_label = pitem.label(); + const string &str_key = pitem.key(); + const string &str_cmd = pitem.command(); + const string &str_label = pitem.label(); const int screen_number = menu.screenNumber(); _FB_USES_NLS;

@@ -250,13 +256,13 @@ if (FbTk::FileUtil::isDirectory(newfile.c_str())) {

// inject every file in this directory into the current menu FbTk::Directory dir(newfile.c_str()); - std::vector<std::string> filelist(dir.entries()); + vector<string> filelist(dir.entries()); for (size_t file_index = 0; file_index < dir.entries(); ++file_index) filelist[file_index] = dir.readFilename(); - std::sort(filelist.begin(), filelist.end(), less<string>()); + sort(filelist.begin(), filelist.end(), less<string>()); for (size_t file_index = 0; file_index < dir.entries(); file_index++) { - std::string thisfile(newfile + '/' + filelist[file_index]); + string thisfile(newfile + '/' + filelist[file_index]); if (FbTk::FileUtil::isRegularFile(thisfile.c_str()) && (filelist[file_index][0] != '.') &&

@@ -367,7 +373,7 @@ }

} } -FbTk::Menu *MenuCreator::createMenu(const std::string &label, int screen_number) { +FbTk::Menu *MenuCreator::createMenu(const string &label, int screen_number) { BScreen *screen = Fluxbox::instance()->findScreen(screen_number); if (screen == 0) return 0;

@@ -381,7 +387,7 @@

return menu; } -bool getStart(FbMenuParser &parser, std::string &label, FbTk::StringConvertor &labelconvertor) { +bool getStart(FbMenuParser &parser, string &label, FbTk::StringConvertor &labelconvertor) { ParseItem pitem(0); while (!parser.eof()) { // get first begin line

@@ -397,15 +403,15 @@ label = pitem.label();

return true; } -FbTk::Menu *MenuCreator::createFromFile(const std::string &filename, int screen_number, bool require_begin) { - std::string real_filename = FbTk::StringUtil::expandFilename(filename); +FbTk::Menu *MenuCreator::createFromFile(const string &filename, int screen_number, bool require_begin) { + string real_filename = FbTk::StringUtil::expandFilename(filename); Fluxbox::instance()->saveMenuFilename(real_filename.c_str()); FbMenuParser parser(real_filename); if (!parser.isLoaded()) return 0; - std::string label; + string label; if (require_begin && !getStart(parser, label, m_stringconvertor)) return 0;

@@ -420,15 +426,15 @@ return menu;

} -bool MenuCreator::createFromFile(const std::string &filename, +bool MenuCreator::createFromFile(const string &filename, FbTk::Menu &inject_into, bool require_begin) { - std::string real_filename = FbTk::StringUtil::expandFilename(filename); + string real_filename = FbTk::StringUtil::expandFilename(filename); FbMenuParser parser(real_filename); if (!parser.isLoaded()) return false; - std::string label; + string label; if (require_begin && !getStart(parser, label, m_stringconvertor)) return false;

@@ -440,15 +446,15 @@ return true;

} -bool MenuCreator::createWindowMenuFromFile(const std::string &filename, +bool MenuCreator::createWindowMenuFromFile(const string &filename, FbTk::Menu &inject_into, bool require_begin) { - std::string real_filename = FbTk::StringUtil::expandFilename(filename); + string real_filename = FbTk::StringUtil::expandFilename(filename); FbMenuParser parser(real_filename); if (!parser.isLoaded()) return false; - std::string label; + string label; if (require_begin && !getStart(parser, label, m_stringconvertor)) return false;

@@ -461,7 +467,7 @@ return true;

} -FbTk::Menu *MenuCreator::createMenuType(const std::string &type, int screen_num) { +FbTk::Menu *MenuCreator::createMenuType(const string &type, int screen_num) { BScreen *screen = Fluxbox::instance()->findScreen(screen_num); if (screen == 0) return 0;

@@ -476,7 +482,7 @@ menu->disableTitle(); // not titlebar

if (screen->windowMenuFilename().empty() || ! createWindowMenuFromFile(screen->windowMenuFilename(), *menu, true)) { char *default_menu[] = { - "shade", + "shade", "stick", "maximize", "iconify",

@@ -499,8 +505,8 @@

return 0; } -bool MenuCreator::createWindowMenuItem(const std::string &type, - const std::string &label, +bool MenuCreator::createWindowMenuItem(const string &type, + const string &label, FbTk::Menu &menu) { typedef FbTk::RefCount<FbTk::Command> RefCmd; _FB_USES_NLS;

@@ -512,10 +518,10 @@ } else if (type == "maximize") {

RefCmd maximize_cmd(new WindowCmd<void>(&FluxboxWindow::maximizeFull)); RefCmd maximize_vert_cmd(new WindowCmd<void>(&FluxboxWindow::maximizeVertical)); RefCmd maximize_horiz_cmd(new WindowCmd<void>(&FluxboxWindow::maximizeHorizontal)); - FbTk::MultiButtonMenuItem *maximize_item = - new FbTk::MultiButtonMenuItem(3, + FbTk::MultiButtonMenuItem *maximize_item = + new FbTk::MultiButtonMenuItem(3, label.empty()? - _FB_XTEXT(Windowmenu, Maximize, + _FB_XTEXT(Windowmenu, Maximize, "Maximize", "Maximize the window"): label); // create maximize item with:

@@ -529,37 +535,37 @@ menu.insert(maximize_item);

} else if (type == "iconify") { RefCmd iconify_cmd(new WindowCmd<void>(&FluxboxWindow::iconify)); menu.insert(label.empty() ? - _FB_XTEXT(Windowmenu, Iconify, + _FB_XTEXT(Windowmenu, Iconify, "Iconify", "Iconify the window") : label, iconify_cmd); } else if (type == "close") { RefCmd close_cmd(new WindowCmd<void>(&FluxboxWindow::close)); - menu.insert(label.empty() ? - _FB_XTEXT(Windowmenu, Close, - "Close", "Close the window") : + menu.insert(label.empty() ? + _FB_XTEXT(Windowmenu, Close, + "Close", "Close the window") : label, close_cmd); } else if (type == "kill" || type == "killwindow") { RefCmd kill_cmd(new WindowCmd<void>(&FluxboxWindow::kill)); menu.insert(label.empty() ? - _FB_XTEXT(Windowmenu, Kill, + _FB_XTEXT(Windowmenu, Kill, "Kill", "Kill the window"): label, kill_cmd); } else if (type == "lower") { RefCmd lower_cmd(new WindowCmd<void>(&FluxboxWindow::lower)); - menu.insert( label.empty() ? - _FB_XTEXT(Windowmenu, Lower, + menu.insert( label.empty() ? + _FB_XTEXT(Windowmenu, Lower, "Lower", "Lower the window"): label, lower_cmd); } else if (type == "raise") { RefCmd raise_cmd(new WindowCmd<void>(&FluxboxWindow::raise)); - menu.insert(label.empty() ? - _FB_XTEXT(Windowmenu, Raise, + menu.insert(label.empty() ? + _FB_XTEXT(Windowmenu, Raise, "Raise", "Raise the window"): label, raise_cmd); } else if (type == "stick") { RefCmd stick_cmd(new WindowCmd<void>(&FluxboxWindow::stick)); - menu.insert(label.empty() ? - _FB_XTEXT(Windowmenu, Stick, + menu.insert(label.empty() ? + _FB_XTEXT(Windowmenu, Stick, "Stick", "Stick the window"): label, stick_cmd); } else if (type == "extramenus") {

@@ -570,7 +576,7 @@ for (; it != it_end; ++it) {

it->second->disableTitle(); menu.insert(it->first, it->second); } - + } else if (type == "sendto") { menu.insert(label.empty() ? _FB_XTEXT(Windowmenu, SendTo, "Send To...", "Send to menu item name"): label, new SendToMenu(*Fluxbox::instance()->findScreen(menu.screenNumber())));

@@ -621,7 +627,7 @@

for (; curr_size > (target_size+1); --curr_size) encoding_stack.pop_back(); - if (curr_size == (target_size+1)) + if (curr_size == (target_size+1)) endEncoding(); stacksize_stack.pop_back();

@@ -630,7 +636,7 @@

/** * Push the encoding onto the stack, and make it active. */ -void MenuCreator::startEncoding(const std::string &encoding) { +void MenuCreator::startEncoding(const string &encoding) { // we push it regardless of whether it's valid, since we // need to stay balanced with the endEncodings. encoding_stack.push_back(encoding);

@@ -646,7 +652,6 @@ */

void MenuCreator::endEncoding() { size_t min_size = stacksize_stack.back(); if (encoding_stack.size() <= min_size) { - // TODO: nls _FB_USES_NLS; cerr<<_FB_CONSOLETEXT(Menu, ErrorEndEncoding, "Warning: unbalanced [encoding] tags", "User menu file had unbalanced [encoding] tags")<<endl; return;

@@ -655,8 +660,8 @@

encoding_stack.pop_back(); m_stringconvertor.reset(); - std::list<std::string>::reverse_iterator it = encoding_stack.rbegin(); - std::list<std::string>::reverse_iterator it_end = encoding_stack.rend(); + list<string>::reverse_iterator it = encoding_stack.rbegin(); + list<string>::reverse_iterator it_end = encoding_stack.rend(); while (it != it_end && !m_stringconvertor.setSource(*it)) ++it;
M src/MenuTheme.ccsrc/MenuTheme.cc

@@ -1,6 +1,6 @@

// MenuTheme.cc // Copyright (c) 2003 Henrik Kinnunen (fluxgen at fluxbox dot org) -// +// // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the "Software"), // to deal in the Software without restriction, including without limitation

@@ -23,13 +23,13 @@ // $Id$

#include "MenuTheme.hh" #include "StringUtil.hh" -#include <iostream> -using namespace std; + +using std::string; namespace FbTk { template <> -void FbTk::ThemeItem<Shape::ShapePlace>::load(const std::string *name, const std::string *altname) { } +void FbTk::ThemeItem<Shape::ShapePlace>::load(const string *name, const string *altname) { } template <> void FbTk::ThemeItem<Shape::ShapePlace>::setDefaultValue() {
M src/Resources.ccsrc/Resources.cc

@@ -35,7 +35,10 @@

#include <stdio.h> #include <string> #include <vector> -using namespace std; + +using std::string; +using std::vector; + using namespace FbTk; //-----------------------------------------------------------------

@@ -52,7 +55,7 @@ *this = val;

} template<> -void FbTk::Resource<std::string>:: +void FbTk::Resource<string>:: setFromString(const char *strval) { *this = strval; }

@@ -64,13 +67,13 @@ *this = (bool)!strcasecmp(strval, "true");

} template<> -void FbTk::Resource<std::vector<WinButton::Type> >:: +void FbTk::Resource<vector<WinButton::Type> >:: setFromString(char const *strval) { - vector<std::string> val; + vector<string> val; StringUtil::stringtok(val, strval); //clear old values m_value.clear(); - + for (size_t i = 0; i < val.size(); i++) { if (strcasecmp(val[i].c_str(), "Maximize")==0) m_value.push_back(WinButton::MAXIMIZE);

@@ -98,14 +101,14 @@ }

template<> void FbTk::Resource<unsigned int>:: -setFromString(const char *strval) { +setFromString(const char *strval) { if (sscanf(strval, "%ul", &m_value) != 1) setDefaultValue(); } template<> void FbTk::Resource<long long>:: -setFromString(const char *strval) { +setFromString(const char *strval) { if (sscanf(strval, "%llu", &m_value) != 1) setDefaultValue(); }

@@ -115,26 +118,26 @@ //-----------------------------------------------------------------

//---- manipulators for int, bool, and some enums with Resource --- //----------------------------------------------------------------- template<> -std::string FbTk::Resource<bool>:: +string FbTk::Resource<bool>:: getString() const { - return std::string(**this == true ? "true" : "false"); + return string(**this == true ? "true" : "false"); } template<> -std::string FbTk::Resource<int>:: +string FbTk::Resource<int>:: getString() const { char strval[256]; sprintf(strval, "%d", **this); - return std::string(strval); + return string(strval); } template<> -std::string FbTk::Resource<std::string>:: +string FbTk::Resource<string>:: getString() const { return **this; } template<> -std::string FbTk::Resource<std::vector<WinButton::Type> >:: +string FbTk::Resource<vector<WinButton::Type> >:: getString() const { string retval; for (size_t i = 0; i < m_value.size(); i++) {

@@ -167,7 +170,7 @@ return retval;

} template<> -std::string FbTk::Resource<Fluxbox::TabsAttachArea>:: +string FbTk::Resource<Fluxbox::TabsAttachArea>:: getString() const { if (m_value == Fluxbox::ATTACH_AREA_TITLEBAR) return "Titlebar";

@@ -211,43 +214,43 @@ else if (strcasecmp(strval, "Bottom") == 0)

m_value = ::Layer::BOTTOM; else if (strcasecmp(strval, "Desktop") == 0) m_value = ::Layer::DESKTOP; - else + else setDefaultValue(); } template<> -std::string FbTk::Resource<Layer>:: +string FbTk::Resource<Layer>:: getString() const { switch (m_value.getNum()) { case Layer::MENU: - return std::string("Menu"); + return string("Menu"); case Layer::ABOVE_DOCK: - return std::string("AboveDock"); + return string("AboveDock"); case Layer::DOCK: - return std::string("Dock"); + return string("Dock"); case Layer::TOP: - return std::string("Top"); + return string("Top"); case Layer::NORMAL: - return std::string("Normal"); + return string("Normal"); case Layer::BOTTOM: - return std::string("Bottom"); + return string("Bottom"); case Layer::DESKTOP: - return std::string("Desktop"); + return string("Desktop"); default: char tmpstr[128]; sprintf(tmpstr, "%d", m_value.getNum()); - return std::string(tmpstr); + return string(tmpstr); } } template<> void FbTk::Resource<long>:: -setFromString(const char *strval) { +setFromString(const char *strval) { if (sscanf(strval, "%ld", &m_value) != 1) setDefaultValue(); } - + template<> string FbTk::Resource<long>:: getString() const {
M src/ScreenResources.ccsrc/ScreenResources.cc

@@ -27,7 +27,8 @@ // holds screen resource handling

#include "Screen.hh" #include <string> -using namespace std; + +using std::string; namespace FbTk {

@@ -53,17 +54,17 @@ setDefaultValue();

} template <> -std::string FbTk::Resource<BScreen::ResizeModel>::getString() const { +string FbTk::Resource<BScreen::ResizeModel>::getString() const { switch (m_value) { case BScreen::QUADRANTRESIZE: - return std::string("Quadrant"); + return string("Quadrant"); case BScreen::BOTTOMRESIZE: - return std::string("Bottom"); + return string("Bottom"); case BScreen::CENTERRESIZE: - return std::string("Center"); + return string("Center"); } - return std::string("Default"); + return string("Default"); } template<>

@@ -75,25 +76,25 @@ } else if (strcasecmp(strval, "Quadrant") == 0) {

m_value = BScreen::QUADRANTRESIZE; } else if (strcasecmp(strval, "Center") == 0) { m_value = BScreen::CENTERRESIZE; - } else + } else m_value = BScreen::DEFAULTRESIZE; } template<> -std::string FbTk::Resource<BScreen::FollowModel>::getString() const { +string FbTk::Resource<BScreen::FollowModel>::getString() const { switch (m_value) { case BScreen::FOLLOW_ACTIVE_WINDOW: - return std::string("Follow"); + return string("Follow"); break; case BScreen::FETCH_ACTIVE_WINDOW: - return std::string("Current"); + return string("Current"); break; case BScreen::SEMIFOLLOW_ACTIVE_WINDOW: - return std::string("SemiFollow"); + return string("SemiFollow"); break; case BScreen::IGNORE_OTHER_WORKSPACES: - default: - return std::string("Ignore"); + default: + return string("Ignore"); break; }

@@ -104,7 +105,7 @@ void FbTk::Resource<BScreen::FollowModel>::

setFromString(char const *strval) { if (strcasecmp(strval, "Follow") == 0) m_value = BScreen::FOLLOW_ACTIVE_WINDOW; - else if (strcasecmp(strval, "Current") == 0 || + else if (strcasecmp(strval, "Current") == 0 || strcasecmp(strval, "CurrentWorkspace") == 0 || strcasecmp(strval, "Fetch") == 0) m_value = BScreen::FETCH_ACTIVE_WINDOW;

@@ -115,7 +116,7 @@ setDefaultValue();

} template<> -std::string FbTk::Resource<FbTk::GContext::LineStyle>::getString() const { +string FbTk::Resource<FbTk::GContext::LineStyle>::getString() const { switch(m_value) { case FbTk::GContext::LINESOLID: return "LineSolid";

@@ -132,20 +133,20 @@ }

template<> void FbTk::Resource<FbTk::GContext::LineStyle> -::setFromString(char const *strval) { +::setFromString(char const *strval) { if (strcasecmp(strval, "LineSolid") == 0 ) m_value = FbTk::GContext::LINESOLID; else if (strcasecmp(strval, "LineOnOffDash") == 0 ) m_value = FbTk::GContext::LINEONOFFDASH; - else if (strcasecmp(strval, "LineDoubleDash") == 0) + else if (strcasecmp(strval, "LineDoubleDash") == 0) m_value = FbTk::GContext::LINEDOUBLEDASH; else setDefaultValue(); } template<> -std::string FbTk::Resource<FbTk::GContext::JoinStyle>::getString() const { +string FbTk::Resource<FbTk::GContext::JoinStyle>::getString() const { switch(m_value) { case FbTk::GContext::JOINMITER: return "JoinMiter";

@@ -162,20 +163,20 @@ }

template<> void FbTk::Resource<FbTk::GContext::JoinStyle> -::setFromString(char const *strval) { +::setFromString(char const *strval) { if (strcasecmp(strval, "JoinRound") == 0 ) m_value = FbTk::GContext::JOINROUND; else if (strcasecmp(strval, "JoinMiter") == 0 ) m_value = FbTk::GContext::JOINMITER; - else if (strcasecmp(strval, "JoinBevel") == 0) + else if (strcasecmp(strval, "JoinBevel") == 0) m_value = FbTk::GContext::JOINBEVEL; else setDefaultValue(); } template<> -std::string FbTk::Resource<FbTk::GContext::CapStyle>::getString() const { +string FbTk::Resource<FbTk::GContext::CapStyle>::getString() const { switch(m_value) { case FbTk::GContext::CAPNOTLAST: return "CapNotLast";

@@ -195,13 +196,13 @@ }

template<> void FbTk::Resource<FbTk::GContext::CapStyle> -::setFromString(char const *strval) { +::setFromString(char const *strval) { if (strcasecmp(strval, "CapNotLast") == 0 ) m_value = FbTk::GContext::CAPNOTLAST; else if (strcasecmp(strval, "CapProjecting") == 0 ) m_value = FbTk::GContext::CAPPROJECTING; - else if (strcasecmp(strval, "CapRound") == 0) + else if (strcasecmp(strval, "CapRound") == 0) m_value = FbTk::GContext::CAPROUND; else if (strcasecmp(strval, "CapButt" ) == 0) m_value = FbTk::GContext::CAPBUTT;
M src/SystemTray.ccsrc/SystemTray.cc

@@ -36,7 +36,15 @@ #include <X11/Xatom.h>

#include <string> -using namespace std; +using std::string; + +#ifdef DEBUG +#include <iostream> +using std::cerr; +using std::endl; +using std::hex; +using std::dec; +#endif // DEBUG /// helper class for tray windows, so we dont call XDestroyWindow class TrayWindow: public FbTk::FbWindow {

@@ -118,7 +126,7 @@

// setup atom name to _NET_SYSTEM_TRAY_S<screen number> char intbuff[16]; sprintf(intbuff, "%d", m_window.screenNumber()); - std::string atom_name("_NET_SYSTEM_TRAY_S"); + string atom_name("_NET_SYSTEM_TRAY_S"); atom_name += intbuff; // append number // get selection owner and see if it's free

@@ -240,7 +248,7 @@ XInternAtom(FbTk::App::instance()->display(), "_NET_SYSTEM_TRAY_OPCODE", False)) {

int type = event.data.l[1]; if (type == SYSTEM_TRAY_REQUEST_DOCK) { -#ifndef DEBUG +#ifdef DEBUG cerr<<"SystemTray::clientMessage(const XClientMessageEvent): SYSTEM_TRAY_REQUEST_DOCK"<<endl; cerr<<"window = event.data.l[2] = "<<event.data.l[2]<<endl; #endif // DEBUG

@@ -353,7 +361,7 @@ if (static_cast<unsigned int>(event.xconfigure.width) != (*it)->width() ||

static_cast<unsigned int>(event.xconfigure.height) != (*it)->height()) { // the position might differ so we update from our local // copy of position - XMoveResizeWindow(FbTk::App::instance()->display(), (*it)->window(), + XMoveResizeWindow(FbTk::App::instance()->display(), (*it)->window(), (*it)->x(), (*it)->y(), (*it)->width(), (*it)->height());
M src/Toolbar.ccsrc/Toolbar.cc

@@ -76,7 +76,9 @@ #endif

#include <iterator> #include <typeinfo> -using namespace std; +using std::string; +using std::pair; +using std::list; namespace FbTk {

@@ -376,7 +378,7 @@ // parse resource tools and determine if we need to rebuild toolbar

bool need_update = false; // parse and transform to lower case - std::list<std::string> tools; + list<string> tools; FbTk::StringUtil::stringtok(tools, *m_rc_tools, ", "); transform(tools.begin(), tools.end(),

@@ -427,7 +429,7 @@ }

// show all items frame.window.showSubwindows(); } - + } else { // just update the menu menu().reconfigure(); }

@@ -542,7 +544,7 @@ } else {

screen().nextWorkspace(1); } } else if (re.button == 5) { //mousewheel scroll down - if(screen().isReverseWheeling()) { + if(screen().isReverseWheeling()) { screen().nextWorkspace(1); } else { screen().prevWorkspace(1);

@@ -828,7 +830,7 @@ visible_macro->add(toggle_visible);

visible_macro->add(reconfig_toolbar); visible_macro->add(save_resources); RefCommand toggle_visible_cmd(visible_macro); - menu().insert(new BoolMenuItem(_FB_XTEXT(Common, Visible, + menu().insert(new BoolMenuItem(_FB_XTEXT(Common, Visible, "Visible", "Whether this item is visible"), *m_rc_visible, toggle_visible_cmd));

@@ -837,9 +839,9 @@ "Auto hide", "Toggle auto hide of toolbar"),

*m_rc_auto_hide, reconfig_toolbar_and_save_resource)); - MenuItem *toolbar_menuitem = - new IntResMenuItem(_FB_XTEXT(Toolbar, WidthPercent, - "Toolbar width percent", + MenuItem *toolbar_menuitem = + new IntResMenuItem(_FB_XTEXT(Toolbar, WidthPercent, + "Toolbar width percent", "Percentage of screen width taken by toolbar"), m_rc_width_percent, 0, 100, menu()); // min/max value

@@ -849,7 +851,7 @@ toolbar_menuitem->setCommand(reconfig_toolbar_and_save_resource);

menu().insert(toolbar_menuitem); menu().insert(new BoolMenuItem(_FB_XTEXT(Common, MaximizeOver, - "Maximize Over", + "Maximize Over", "Maximize over this thing when maximizing"), *m_rc_maximize_over, reconfig_toolbar_and_save_resource));

@@ -862,7 +864,7 @@ screen(),

screen().imageControl(), *screen().layerManager().getLayer(::Layer::MENU), *this, - _FB_XTEXT(Toolbar, OnHead, "Toolbar on Head", + _FB_XTEXT(Toolbar, OnHead, "Toolbar on Head", "Title of toolbar on head menu"))); } #endif // XINERAMA

@@ -911,7 +913,7 @@ }

menu().insert(_FB_XTEXT(Menu, Placement, "Placement", "Title of Placement menu"), &placementMenu()); placementMenu().updateMenu(); - + // this saves resources and clears the slit window to update alpha value FbTk::MenuItem *alpha_menuitem =
M src/Window.ccsrc/Window.cc

@@ -58,8 +58,8 @@ #include <X11/extensions/shape.h>

#endif // SHAPE //use GNU extensions -#ifndef _GNU_SOURCE -#define _GNU_SOURCE +#ifndef _GNU_SOURCE +#define _GNU_SOURCE #endif // _GNU_SOURCE #include <X11/Xatom.h>

@@ -84,8 +84,22 @@ #endif

#include <functional> #include <algorithm> -using namespace std; +using std::cerr; +using std::endl; +using std::string; +using std::vector; +using std::bind2nd; +using std::mem_fun; +using std::equal_to; +using std::max; +using std::swap; + using namespace FbTk; + +#ifdef DEBUG +using std::dec; +using std::hex; +#endif // DEBUG namespace {

@@ -439,7 +453,7 @@ // enable decorations

decorations.enabled = true; // set default values for decoration - decorations.menu = true; //override menu option + decorations.menu = true; //override menu option // all decorations on by default decorations.titlebar = decorations.border = decorations.handle = true; decorations.maximize = decorations.close =

@@ -518,7 +532,7 @@ bool place_window = (m_old_pos_x == static_cast<signed>(m_screen.width()));

if (fluxbox.isStartup()) place_window = false; - else if (m_client->isTransient() || + else if (m_client->isTransient() || m_client->normal_hint_flags & (PPosition|USPosition)) { int real_x = frame().x();

@@ -640,15 +654,15 @@

if (client.fbwindow() != 0) { FluxboxWindow *old_win = client.fbwindow(); // store old window - ClientList::iterator client_insert_pos = getClientInsertPosition(x, y); - FbTk::TextButton *button_insert_pos = NULL; - if (client_insert_pos != m_clientlist.end()) + ClientList::iterator client_insert_pos = getClientInsertPosition(x, y); + FbTk::TextButton *button_insert_pos = NULL; + if (client_insert_pos != m_clientlist.end()) button_insert_pos = m_labelbuttons[*client_insert_pos]; // make sure we set new window search for each client ClientList::iterator client_it = old_win->clientList().begin(); ClientList::iterator client_it_end = old_win->clientList().end(); - for (; client_it != client_it_end; ++client_it) { + for (; client_it != client_it_end; ++client_it) { // reparent window to this frame().setClientWindow(**client_it); if ((*client_it) == focused_win)

@@ -665,7 +679,7 @@ // associate it with the pointer

associateClient(*(*client_it)); //null if we want the new button at the end of the list - if (x >= 0 && button_insert_pos) + if (x >= 0 && button_insert_pos) frame().moveLabelButtonLeftOf(*m_labelbuttons[*client_it], *button_insert_pos); (*client_it)->saveBlackboxAttribs(m_blackbox_attrib);

@@ -673,8 +687,8 @@ }

// add client and move over all attached clients // from the old window to this list - m_clientlist.splice(client_insert_pos, old_win->m_clientlist); - updateClientLeftWindow(); + m_clientlist.splice(client_insert_pos, old_win->m_clientlist); + updateClientLeftWindow(); old_win->m_client = 0; delete old_win;

@@ -879,7 +893,7 @@

// move client in clientlist to the left ClientList::iterator oldpos = find(m_clientlist.begin(), m_clientlist.end(), &winClient()); ClientList::iterator newpos = oldpos; newpos--; - std::swap(*newpos, *oldpos); + swap(*newpos, *oldpos); frame().moveLabelButtonLeft(*m_labelbuttons[&winClient()]); updateClientLeftWindow();

@@ -893,13 +907,13 @@ return;

ClientList::iterator oldpos = find(m_clientlist.begin(), m_clientlist.end(), &winClient()); ClientList::iterator newpos = oldpos; newpos++; - std::swap(*newpos, *oldpos); + swap(*newpos, *oldpos); frame().moveLabelButtonRight(*m_labelbuttons[&winClient()]); updateClientLeftWindow(); } -//std::list<*WinClient>::iterator FluxboxWindow::getClientInsertPosition(int x, int y) { +//list<*WinClient>::iterator FluxboxWindow::getClientInsertPosition(int x, int y) { FluxboxWindow::ClientList::iterator FluxboxWindow::getClientInsertPosition(int x, int y) { int dest_x = 0, dest_y = 0;

@@ -2448,7 +2462,7 @@ Workspace *wsp = screen().getWorkspace(m_workspace_number);

if (wsp != 0 && isGroupable()) destroyed = wsp->checkGrouping(*this); - // if we weren't grouped with another window we deiconify ourself + // if we weren't grouped with another window we deiconify ourself if (!destroyed && !iconic) deiconify(false);

@@ -2612,7 +2626,7 @@ }

if (changed) setupWindow(); - } + } moveResize(frame().x(), frame().y(), frame().width(), frame().height());

@@ -3116,10 +3130,10 @@ decorations.titlebar = decorations.border = decorations.handle =

decorations.iconify = decorations.maximize = decorations.tab = false; //tab is also a decor decorations.menu = true; // menu is present - // functions.iconify = functions.maximize = true; - // functions.move = true; // We need to move even without decor - // functions.resize = true; // We need to resize even without decor - break; + // functions.iconify = functions.maximize = true; + // functions.move = true; // We need to move even without decor + // functions.resize = true; // We need to resize even without decor + break; default: case DECOR_NORMAL:

@@ -3128,7 +3142,7 @@ decorations.iconify = decorations.maximize =

decorations.menu = decorations.tab = true; functions.resize = functions.move = functions.iconify = functions.maximize = true; - break; + break; case DECOR_TAB: decorations.border = decorations.iconify = decorations.maximize =

@@ -3136,21 +3150,21 @@ decorations.menu = decorations.tab = true;

decorations.titlebar = decorations.handle = false; functions.resize = functions.move = functions.iconify = functions.maximize = true; - break; + break; case DECOR_TINY: decorations.titlebar = decorations.iconify = decorations.menu = functions.move = functions.iconify = decorations.tab = true; decorations.border = decorations.handle = decorations.maximize = functions.resize = functions.maximize = false; - break; + break; case DECOR_TOOL: decorations.titlebar = decorations.tab = decorations.menu = functions.move = true; decorations.iconify = decorations.border = decorations.handle = decorations.maximize = functions.resize = functions.maximize = functions.iconify = false; - break; + break; } // we might want to wait with apply decorations

@@ -3778,14 +3792,14 @@ return 0;

return m_client->window(); } -const std::string &FluxboxWindow::title() const { +const string &FluxboxWindow::title() const { static string empty_string(""); if (m_client == 0) return empty_string; return m_client->title(); } -const std::string &FluxboxWindow::iconTitle() const { +const string &FluxboxWindow::iconTitle() const { static string empty_string(""); if (m_client == 0) return empty_string;

@@ -3992,10 +4006,10 @@

// clear old buttons from frame frame().removeAllButtons(); - typedef FbTk::Resource<std::vector<WinButton::Type> > WinButtonsResource; + typedef FbTk::Resource<vector<WinButton::Type> > WinButtonsResource; - std::string titlebar_name[2]; - std::string titlebar_alt_name[2]; + string titlebar_name[2]; + string titlebar_alt_name[2]; titlebar_name[0] = screen().name() + ".titlebar.left"; titlebar_alt_name[0] = screen().altName() + ".Titlebar.Left"; titlebar_name[1] = screen().name() + ".titlebar.right";

@@ -4050,7 +4064,7 @@

for (size_t c = 0; c < 2 ; c++) { // get titlebar configuration for current side - const std::vector<WinButton::Type> &dir = *(*titlebar_side[c]); + const vector<WinButton::Type> &dir = *(*titlebar_side[c]); for (size_t i=0; i < dir.size(); ++i) { //create new buttons

@@ -4142,10 +4156,10 @@ int reverse = 0;

if (screen().getScrollReverse()) reverse = 1; - if (StringUtil::toLower(screen().getScrollAction()) == std::string("shade")) { + if (StringUtil::toLower(screen().getScrollAction()) == string("shade")) { frame().setOnClickTitlebar(shade_on_cmd, 5 - reverse); // shade on mouse roll frame().setOnClickTitlebar(shade_off_cmd, 4 + reverse); // unshade if rolled oposite direction - } else if (StringUtil::toLower(screen().getScrollAction()) == std::string("nexttab")) { + } else if (StringUtil::toLower(screen().getScrollAction()) == string("nexttab")) { frame().setOnClickTitlebar(next_tab_cmd, 5 - reverse); // next tab frame().setOnClickTitlebar(prev_tab_cmd, 4 + reverse); // previous tab }
M src/Workspace.ccsrc/Workspace.cc

@@ -67,7 +67,14 @@ #include <algorithm>

#include <iostream> #include <iterator> -using namespace std; +using std::string; +using std::vector; +using std::ifstream; + +#ifdef DEBUG +using std::cerr; +using std::endl; +#endif // DEBUG namespace { // anonymous

@@ -75,7 +82,7 @@ int countTransients(const WinClient &client) {

if (client.transientList().empty()) return 0; // now go throu the entire tree and count transients - size_t ret = client.transientList().size(); + size_t ret = client.transientList().size(); WinClient::TransientList::const_iterator it = client.transientList().begin(); WinClient::TransientList::const_iterator it_end = client.transientList().end(); for (; it != it_end; ++it)

@@ -89,7 +96,7 @@ public:

ClientMenuItem(WinClient &client): FbTk::MenuItem(client.title().c_str(), &client.screen().windowMenu()), m_client(client) { - + } FbTk::Menu *submenu() { return &m_client.screen().windowMenu(); } const FbTk::Menu *submenu() const { return &m_client.screen().windowMenu(); }

@@ -123,14 +130,14 @@ win.setCurrentClient(m_client);

win.raiseAndFocus(); } - const std::string &label() const { return m_client.title(); } - bool isSelected() const { + const string &label() const { return m_client.title(); } + bool isSelected() const { if (m_client.fbwindow() == 0) return false; if (m_client.fbwindow()->isFocused() == false) return false; return (&(m_client.fbwindow()->winClient()) == &m_client); - + } private: WinClient &m_client;

@@ -140,8 +147,8 @@ };

Workspace::GroupList Workspace::m_groups; -Workspace::Workspace(BScreen &scrn, FbTk::MultLayers &layermanager, - const std::string &name, unsigned int id): +Workspace::Workspace(BScreen &scrn, FbTk::MultLayers &layermanager, + const string &name, unsigned int id): m_screen(scrn), m_clientmenu(scrn.menuTheme(), scrn.imageControl(), *scrn.layerManager().getLayer(Layer::MENU)),

@@ -174,9 +181,9 @@ m_windowlist.push_back(&w);

updateClientmenu(); if (!w.isStuck()) { - FluxboxWindow::ClientList::iterator client_it = + FluxboxWindow::ClientList::iterator client_it = w.clientList().begin(); - FluxboxWindow::ClientList::iterator client_it_end = + FluxboxWindow::ClientList::iterator client_it_end = w.clientList().end(); for (; client_it != client_it_end; ++client_it) screen().updateNetizenWindowAdd((*client_it)->window(), m_id);

@@ -185,7 +192,7 @@

} // still_alive is true if the window will continue to exist after -// this event. Particularly, this isn't the removeWindow for +// this event. Particularly, this isn't the removeWindow for // the destruction of the window. Because if so, the focus revert // is done in another place int Workspace::removeWindow(FluxboxWindow *w, bool still_alive) {

@@ -198,9 +205,9 @@ w->titleSig().detach(this);

if (w->isFocused() && still_alive) FocusControl::unfocusWindow(w->winClient(), true, true); - + // we don't remove it from the layermanager, as it may be being moved - Windows::iterator erase_it = remove(m_windowlist.begin(), + Windows::iterator erase_it = remove(m_windowlist.begin(), m_windowlist.end(), w); if (erase_it != m_windowlist.end()) m_windowlist.erase(erase_it);

@@ -208,9 +215,9 @@

updateClientmenu(); if (!w->isStuck()) { - FluxboxWindow::ClientList::iterator client_it = + FluxboxWindow::ClientList::iterator client_it = w->clientList().begin(); - FluxboxWindow::ClientList::iterator client_it_end = + FluxboxWindow::ClientList::iterator client_it_end = w->clientList().end(); for (; client_it != client_it_end; ++client_it) screen().updateNetizenWindowDel((*client_it)->window());

@@ -308,8 +315,8 @@ for (; wit != wit_end; ++wit) {

#ifdef DEBUG cerr<<__FILE__<<" check group with : "<<(*wit)->winClient().getWMClassName()<<endl; #endif // DEBUG - if (find_if((*g).begin(), - (*g).end(), + if (find_if((*g).begin(), + (*g).end(), FindInGroup(*(*wit))) != (*g).end()) { // make sure the window is groupable // and don't group with ourself

@@ -321,9 +328,9 @@ #endif // DEBUG

(*wit)->attachClient(win.winClient()); (*wit)->raise(); return true; // grouping done - + } - + } }

@@ -333,7 +340,7 @@

return false; } -bool Workspace::loadGroups(const std::string &filename) { +bool Workspace::loadGroups(const string &filename) { string real_filename = FbTk::StringUtil::expandFilename(filename); FbTk::StringUtil::removeTrailingWhitespace(real_filename); ifstream infile(real_filename.c_str());

@@ -350,7 +357,7 @@ getline(infile, line);

FbTk::StringUtil::stringtok(names, line); m_groups.push_back(names); } - + return true; }

@@ -359,18 +366,18 @@ menu().updateMenu();

} -void Workspace::setName(const std::string &name) { +void Workspace::setName(const string &name) { if (!name.empty() && name != "") { m_name = name; } else { //if name == 0 then set default name from nls _FB_USES_NLS; char tname[128]; - sprintf(tname, - _FB_XTEXT(Workspace, DefaultNameFormat, + sprintf(tname, + _FB_XTEXT(Workspace, DefaultNameFormat, "Workspace %d", "Default workspace names, with a %d for the workspace number").c_str(), m_id + 1); //m_id starts at 0 } - + screen().updateWorkspaceNamesAtom(); menu().setLabel(m_name);

@@ -386,21 +393,21 @@ void Workspace::shutdown() {

// note: when the window dies it'll remove it self from the list while (!m_windowlist.empty()) { //delete window (the window removes it self from m_windowlist) - delete m_windowlist.back(); + delete m_windowlist.back(); } } void Workspace::updateClientmenu() { // remove all items and then add them again menu().removeAll(); - // for each fluxboxwindow add every client in them to our clientlist + // for each fluxboxwindow add every client in them to our clientlist Windows::iterator win_it = m_windowlist.begin(); Windows::iterator win_it_end = m_windowlist.end(); for (; win_it != win_it_end; ++win_it) { // add every client in this fluxboxwindow to menu - FluxboxWindow::ClientList::iterator client_it = + FluxboxWindow::ClientList::iterator client_it = (*win_it)->clientList().begin(); - FluxboxWindow::ClientList::iterator client_it_end = + FluxboxWindow::ClientList::iterator client_it_end = (*win_it)->clientList().end(); for (; client_it != client_it_end; ++client_it) menu().insert(new ClientMenuItem(*(*client_it)));

@@ -411,7 +418,7 @@ }

void Workspace::placeWindow(FluxboxWindow &win) { int place_x, place_y; - // we ignore the return value, + // we ignore the return value, // the screen placement strategy is guaranteed to succeed. screen().placementStrategy().placeWindow(m_windowlist, win,
M src/Xutil.ccsrc/Xutil.cc

@@ -32,7 +32,13 @@ #include <X11/Xutil.h>

#include <X11/Xatom.h> #include <X11/Xlib.h> #include <iostream> -using namespace std; + +using std::string; + +#ifdef DEBUG +using std::cerr; +using std::endl; +#endif // DEBUG namespace Xutil {

@@ -48,14 +54,14 @@ text_prop.value = 0;

char **list; int num; _FB_USES_NLS; - std::string name; + string name; if (XGetWMName(display, window, &text_prop)) { if (text_prop.value && text_prop.nitems > 0) { if (text_prop.encoding != XA_STRING) { - + text_prop.nitems = strlen((char *) text_prop.value); - + if ((XmbTextPropertyToTextList(display, &text_prop, &list, &num) == Success) && (num > 0) && *list) {

@@ -63,7 +69,7 @@ name = FbTk::FbStringUtil::LocaleStrToFb(static_cast<char *>(*list));

XFreeStringList(list); } else name = text_prop.value ? FbTk::FbStringUtil::XStrToFb((char *)text_prop.value) : ""; - + } else name = text_prop.value ? FbTk::FbStringUtil::XStrToFb((char *)text_prop.value) : "";

@@ -82,19 +88,19 @@ }

// The name of this particular instance -std::string getWMClassName(Window win) { +string getWMClassName(Window win) { XClassHint ch; - std::string instance_name; + string instance_name; if (XGetClassHint(FbTk::App::instance()->display(), win, &ch) == 0) { #ifdef DEBUG cerr<<"Xutil: Failed to read class hint!"<<endl; #endif //DEBUG instance_name = ""; - } else { + } else { XFree(ch.res_class); - + if (ch.res_class != 0) { instance_name = const_cast<char *>(ch.res_name); XFree(ch.res_name);

@@ -108,19 +114,19 @@

} // the name of the general class of the app -std::string getWMClassClass(Window win) { +string getWMClassClass(Window win) { XClassHint ch; - std::string class_name; + string class_name; if (XGetClassHint(FbTk::App::instance()->display(), win, &ch) == 0) { #ifdef DEBUG cerr<<"Xutil: Failed to read class hint!"<<endl; #endif //DEBUG class_name = ""; - } else { + } else { XFree(ch.res_name); - + if (ch.res_class != 0) { class_name = const_cast<char *>(ch.res_class); XFree(ch.res_class);
M src/fluxbox.ccsrc/fluxbox.cc

@@ -154,7 +154,21 @@ #include <memory>

#include <algorithm> #include <typeinfo> -using namespace std; +using std::cerr; +using std::endl; +using std::string; +using std::vector; +using std::list; +using std::pair; +using std::bind2nd; +using std::mem_fun; +using std::equal_to; + +#ifdef DEBUG +using std::hex; +using std::dec; +#endif // DEBUG + using namespace FbTk; namespace {

@@ -1348,7 +1362,7 @@ return 0;

} -AtomHandler* Fluxbox::getAtomHandler(const std::string &name) { +AtomHandler* Fluxbox::getAtomHandler(const string &name) { if ( name != "" ) { using namespace FbTk; AtomHandlerContainerIt it = find_if(m_atomhandler.begin(),

@@ -1360,7 +1374,7 @@ return (*it).first;

} return 0; } -void Fluxbox::addAtomHandler(AtomHandler *atomh, const std::string &name) { +void Fluxbox::addAtomHandler(AtomHandler *atomh, const string &name) { m_atomhandler[atomh]= name;; }

@@ -1514,7 +1528,7 @@ return m_rc_file;

} /// Provides default filename of data file -void Fluxbox::getDefaultDataFilename(char *name, std::string &filename) { +void Fluxbox::getDefaultDataFilename(char *name, string &filename) { filename = string(getenv("HOME") + string("/.") + m_RC_PATH + string("/") + name); }

@@ -1607,7 +1621,7 @@ sprintf(name_lookup, "session.screen%d.imageSearchPath", screen_number);

sprintf(class_lookup, "Session.Screen%d.imageSearchPath", screen_number); if (XrmGetResource(*database, name_lookup, class_lookup, &value_type, &value) && value.addr) { - std::vector<std::string> paths; + vector<string> paths; StringUtil::stringtok(paths, value.addr, ", "); for (size_t i = 0; i < paths.size(); ++i) FbTk::Image::addSearchPath(paths[i]);

@@ -1685,8 +1699,8 @@ return *it;

} bool Fluxbox::menuTimestampsChanged() const { - std::list<MenuTimestamp *>::const_iterator it = m_menu_timestamps.begin(); - std::list<MenuTimestamp *>::const_iterator it_end = m_menu_timestamps.end(); + list<MenuTimestamp *>::const_iterator it = m_menu_timestamps.begin(); + list<MenuTimestamp *>::const_iterator it_end = m_menu_timestamps.end(); for (; it != it_end; ++it) { time_t timestamp = FbTk::FileUtil::getLastStatusChangeTimestamp((*it)->filename.c_str());

@@ -1745,8 +1759,8 @@ return;

bool found = false; - std::list<MenuTimestamp *>::iterator it = m_menu_timestamps.begin(); - std::list<MenuTimestamp *>::iterator it_end = m_menu_timestamps.end(); + list<MenuTimestamp *>::iterator it = m_menu_timestamps.begin(); + list<MenuTimestamp *>::iterator it_end = m_menu_timestamps.end(); for (; it != it_end; ++it) { if ((*it)->filename == filename) { found = true;
M src/tests/testFont.ccsrc/tests/testFont.cc

@@ -85,7 +85,6 @@ int bx1 = 0;

int by1 = 0; int bx2 = text_w; int by2 = 0; - int tmp; switch (m_orient) { case FbTk::ROT90:

@@ -98,6 +97,8 @@ break;

case FbTk::ROT270: by2 = -bx2; bx2 = 0; + break; + default: break; }
M util/fbrun/FbRun.ccutil/fbrun/FbRun.cc

@@ -49,7 +49,13 @@ #include <iterator>

#include <fstream> #include <algorithm> -using namespace std; +using std::cerr; +using std::endl; +using std::string; +using std::fstream; +using std::ifstream; +using std::ofstream; +using std::ios; FbRun::FbRun(int x, int y, size_t width): FbTk::TextBox(DefaultScreen(FbTk::App::instance()->display()),
M util/fbrun/main.ccutil/fbrun/main.cc

@@ -35,7 +35,9 @@

#include <string> #include <iostream> -using namespace std; +using std::cerr; +using std::endl; +using std::string; void showUsage(const char *progname) { cerr<<"fbrun 1.5 : (c) 2002-2004 Henrik Kinnunen"<<endl;

@@ -81,7 +83,7 @@ title = argv[++i];

} else if (strcmp(argv[i], "-text") == 0 && i+1 < argc) { text = argv[++i]; } else if (strcmp(argv[i], "-w") == 0 && i+1 < argc) { - width = atoi(argv[++i]); + width = atoi(argv[++i]); set_width = true; } else if (strcmp(argv[i], "-h") == 0 && i+1 < argc) { height = atoi(argv[++i]);

@@ -115,7 +117,7 @@

} try { - + FbTk::App application(display_name.c_str()); FbRun fbrun;

@@ -131,7 +133,7 @@

// get color FbTk::Color fg_color(foreground.c_str(), 0); FbTk::Color bg_color(background.c_str(), 0); - + fbrun.setForegroundColor(fg_color); fbrun.setBackgroundColor(bg_color);

@@ -148,17 +150,17 @@ cerr<<"FbRun Warning: Failed to load history file: "<<expanded_filename<<endl;

fbrun.setTitle(title); fbrun.setText(text); - + if (near_mouse) { - + int wx, wy; unsigned int mask; Window ret_win; Window child_win; - + Display* dpy = FbTk::App::instance()->display(); - - if (XQueryPointer(dpy, DefaultRootWindow(dpy), + + if (XQueryPointer(dpy, DefaultRootWindow(dpy), &ret_win, &child_win, &x, &y, &wx, &wy, &mask)) {

@@ -202,12 +204,12 @@ if (y + fbrun.height() > root_y + root_h)

y = root_y + root_h - fbrun.height(); } } - + if (set_pos) fbrun.move(x, y); fbrun.lockPosition(set_pos); - + fbrun.show(); application.eventLoop();
M util/fbsetroot.ccutil/fbsetroot.cc

@@ -50,7 +50,10 @@ #include <stdio.h>

#endif #include <iostream> -using namespace std; +using std::cout; +using std::cerr; +using std::endl; +using std::string; fbsetroot::fbsetroot(int argc, char **argv, char *dpy_name) : FbTk::App(dpy_name), m_app_name(argv[0]) {

@@ -118,7 +121,7 @@ }

if ((mod + sol + grd) != true) { _FB_USES_NLS; - cerr << _FB_CONSOLETEXT(fbsetroot, MustSpecify, + cerr << _FB_CONSOLETEXT(fbsetroot, MustSpecify, "Error: must specify one of: -solid, -mod, -gradient\n", "user didn't give one of the required options") << endl;

@@ -172,10 +175,10 @@

if (type == XA_PIXMAP) { root.property(atom_eroot, 0L, 1L, False, AnyPropertyType, &type, &format, &length, &after, &data_eroot); - + if (data_root && data_eroot && type == XA_PIXMAP && *((Pixmap *) data_root) == *((Pixmap *) data_eroot)) { - + XKillClient(display(), *((Pixmap *) data_root)); } }

@@ -197,7 +200,7 @@

} /** - Draws pixmaps with a single color + Draws pixmaps with a single color */ void fbsetroot::solid() { FbTk::Color c(fore, screen);

@@ -209,7 +212,7 @@

FbTk::GContext gc(root); gc.setForeground(c); - pixmap = new Pixmap(XCreatePixmap(display(), + pixmap = new Pixmap(XCreatePixmap(display(), root.window(), root.width(), root.height(), root.depth()));

@@ -282,7 +285,7 @@

gc.setTile(r_bitmap); gc.setFillStyle(FillTiled); - pixmap = new Pixmap(XCreatePixmap(display(), + pixmap = new Pixmap(XCreatePixmap(display(), root.window(), root.width(), root.height(), root.depth()));

@@ -328,7 +331,7 @@ texture.colorTo().setPixel(BlackPixel(display(), screen));

tmp = img_ctrl->renderImage(root.width(), root.height(), texture); - pixmap = new Pixmap(XCreatePixmap(display(), + pixmap = new Pixmap(XCreatePixmap(display(), root.window(), root.width(), root.height(), root.depth()));

@@ -376,9 +379,9 @@

int main(int argc, char **argv) { char *display_name = (char *) 0; int i = 1; - + FbTk::NLSInit("fluxbox.cat"); - + for (; i < argc; i++) { if (! strcmp(argv[i], "-display")) { // check for -display option

@@ -398,7 +401,7 @@ }

try { fbsetroot app(argc, argv, display_name); - } catch (std::string error_str) { + } catch (string error_str) { _FB_USES_NLS; cerr<<_FB_CONSOLETEXT(Common, Error, "Error", "Error message header")<<": "<<error_str<<endl; }