all repos — fluxbox @ cf442c375ab9d69754ff1aea1f1bc6b37bdb5825

custom fork of the fluxbox windowmanager

Updated Attrib flags and struct
fluxgen fluxgen
commit

cf442c375ab9d69754ff1aea1f1bc6b37bdb5825

parent

479495b2fac9d8ecff374f865108cec7787a05e2

2 files changed, 81 insertions(+), 84 deletions(-)

jump to
M src/Window.ccsrc/Window.cc

@@ -143,7 +143,7 @@ client.title = 0;

client.title_len = 0; client.icon_title = 0; client.mwm_hint = (MwmHints *) 0; - client.blackbox_hint = (BlackboxHints *) 0; + client.blackbox_hint = 0; windowmenu = 0; lastButtonPressTime = 0;

@@ -1473,28 +1473,28 @@ &format, &num, &len,

(unsigned char **) &client.blackbox_hint) == Success && client.blackbox_hint) if (num == PropBlackboxHintsElements) { - if (client.blackbox_hint->flags & AttribShaded) - shaded = (client.blackbox_hint->attrib & AttribShaded); + if (client.blackbox_hint->flags & BaseDisplay::ATTRIB_SHADED) + shaded = (client.blackbox_hint->attrib & BaseDisplay::ATTRIB_SHADED); - if ((client.blackbox_hint->flags & AttribMaxHoriz) && - (client.blackbox_hint->flags & AttribMaxVert)) + if ((client.blackbox_hint->flags & BaseDisplay::ATTRIB_MAXHORIZ) && + (client.blackbox_hint->flags & BaseDisplay::ATTRIB_MAXVERT)) maximized = ((client.blackbox_hint->attrib & - (AttribMaxHoriz | AttribMaxVert)) ? 1 : 0); - else if (client.blackbox_hint->flags & AttribMaxVert) - maximized = ((client.blackbox_hint->attrib & AttribMaxVert) ? 2 : 0); - else if (client.blackbox_hint->flags & AttribMaxHoriz) - maximized = ((client.blackbox_hint->attrib & AttribMaxHoriz) ? 3 : 0); + (BaseDisplay::ATTRIB_MAXHORIZ | BaseDisplay::ATTRIB_MAXVERT)) ? 1 : 0); + else if (client.blackbox_hint->flags & BaseDisplay::ATTRIB_MAXVERT) + maximized = ((client.blackbox_hint->attrib & BaseDisplay::ATTRIB_MAXVERT) ? 2 : 0); + else if (client.blackbox_hint->flags & BaseDisplay::ATTRIB_MAXHORIZ) + maximized = ((client.blackbox_hint->attrib & BaseDisplay::ATTRIB_MAXHORIZ) ? 3 : 0); - if (client.blackbox_hint->flags & AttribOmnipresent) - stuck = (client.blackbox_hint->attrib & AttribOmnipresent); + if (client.blackbox_hint->flags & BaseDisplay::ATTRIB_OMNIPRESENT) + stuck = (client.blackbox_hint->attrib & BaseDisplay::ATTRIB_OMNIPRESENT); - if (client.blackbox_hint->flags & AttribWorkspace) + if (client.blackbox_hint->flags & BaseDisplay::ATTRIB_WORKSPACE) workspace_number = client.blackbox_hint->workspace; - if (client.blackbox_hint->flags & AttribDecoration) { + if (client.blackbox_hint->flags & BaseDisplay::ATTRIB_DECORATION) { switch (client.blackbox_hint->decoration) { - case DecorNone: + case BaseDisplay::DECOR_NONE: decorations.titlebar = decorations.border = decorations.handle = decorations.iconify = decorations.maximize = decorations.menu = false;

@@ -1504,7 +1504,7 @@

break; default: - case DecorNormal: + case BaseDisplay::DECOR_NORMAL: decorations.titlebar = decorations.border = decorations.handle = decorations.iconify = decorations.maximize = decorations.menu = true;

@@ -1513,7 +1513,7 @@ functions.maximize = true;

break; - case DecorTiny: + case BaseDisplay::DECOR_TINY: decorations.titlebar = decorations.iconify = decorations.menu = functions.move = functions.iconify = true; decorations.border = decorations.handle = decorations.maximize =

@@ -1521,7 +1521,7 @@ functions.resize = functions.maximize = false;

break; - case DecorTool: + case BaseDisplay::DECOR_TOOL: decorations.titlebar = decorations.menu = functions.move = true; decorations.iconify = decorations.border = decorations.handle = decorations.maximize = functions.resize = functions.maximize =

@@ -1916,27 +1916,27 @@ }

switch(button) { case 1: - blackbox_attrib.flags |= AttribMaxHoriz | AttribMaxVert; - blackbox_attrib.attrib |= AttribMaxHoriz | AttribMaxVert; + blackbox_attrib.flags |= BaseDisplay::ATTRIB_MAXHORIZ | BaseDisplay::ATTRIB_MAXVERT; + blackbox_attrib.attrib |= BaseDisplay::ATTRIB_MAXHORIZ | BaseDisplay::ATTRIB_MAXVERT; break; case 2: - blackbox_attrib.flags |= AttribMaxVert; - blackbox_attrib.attrib |= AttribMaxVert; + blackbox_attrib.flags |= BaseDisplay::ATTRIB_MAXVERT; + blackbox_attrib.attrib |= BaseDisplay::ATTRIB_MAXVERT; break; case 3: - blackbox_attrib.flags |= AttribMaxHoriz; - blackbox_attrib.attrib |= AttribMaxHoriz; + blackbox_attrib.flags |= BaseDisplay::ATTRIB_MAXHORIZ; + blackbox_attrib.attrib |= BaseDisplay::ATTRIB_MAXHORIZ; break; } if (shaded) { - blackbox_attrib.flags ^= AttribShaded; - blackbox_attrib.attrib ^= AttribShaded; + blackbox_attrib.flags ^= BaseDisplay::ATTRIB_SHADED; + blackbox_attrib.attrib ^= BaseDisplay::ATTRIB_SHADED; shaded = false; }

@@ -1950,8 +1950,8 @@ setState(current_state);

} else { maximized = false; - blackbox_attrib.flags &= ! (AttribMaxHoriz | AttribMaxVert); - blackbox_attrib.attrib &= ! (AttribMaxHoriz | AttribMaxVert); + blackbox_attrib.flags &= ! (BaseDisplay::ATTRIB_MAXHORIZ | BaseDisplay::ATTRIB_MAXVERT); + blackbox_attrib.attrib &= ! (BaseDisplay::ATTRIB_MAXHORIZ | BaseDisplay::ATTRIB_MAXVERT); configure(blackbox_attrib.premax_x, blackbox_attrib.premax_y, blackbox_attrib.premax_w, blackbox_attrib.premax_h);

@@ -1970,7 +1970,7 @@

void FluxboxWindow::setWorkspace(int n) { workspace_number = n; - blackbox_attrib.flags |= AttribWorkspace; + blackbox_attrib.flags |= BaseDisplay::ATTRIB_WORKSPACE; blackbox_attrib.workspace = workspace_number; }

@@ -1980,15 +1980,15 @@ if (decorations.titlebar)

if (shaded) { XResizeWindow(display, frame.window, frame.width, frame.height); shaded = false; - blackbox_attrib.flags ^= AttribShaded; - blackbox_attrib.attrib ^= AttribShaded; + blackbox_attrib.flags ^= BaseDisplay::ATTRIB_SHADED; + blackbox_attrib.attrib ^= BaseDisplay::ATTRIB_SHADED; setState(NormalState); } else { XResizeWindow(display, frame.window, frame.width, frame.title_h); shaded = true; - blackbox_attrib.flags |= AttribShaded; - blackbox_attrib.attrib |= AttribShaded; + blackbox_attrib.flags |= BaseDisplay::ATTRIB_SHADED; + blackbox_attrib.attrib |= BaseDisplay::ATTRIB_SHADED; setState(IconicState); }

@@ -2000,8 +2000,8 @@

if (tab) //if it got a tab then do tab's stick on all of the objects in the list tab->stick(); //this window will stick too. else if (stuck) { - blackbox_attrib.flags ^= AttribOmnipresent; - blackbox_attrib.attrib ^= AttribOmnipresent; + blackbox_attrib.flags ^= BaseDisplay::ATTRIB_OMNIPRESENT; + blackbox_attrib.attrib ^= BaseDisplay::ATTRIB_OMNIPRESENT; stuck = false;

@@ -2012,8 +2012,8 @@

} else { stuck = true; - blackbox_attrib.flags |= AttribOmnipresent; - blackbox_attrib.attrib |= AttribOmnipresent; + blackbox_attrib.flags |= BaseDisplay::ATTRIB_OMNIPRESENT; + blackbox_attrib.attrib |= BaseDisplay::ATTRIB_OMNIPRESENT; }

@@ -2232,7 +2232,7 @@ int foo;

unsigned long ulfoo, nitems; Fluxbox *fluxbox = Fluxbox::instance(); - BlackboxAttributes *net; + BaseDisplay::BlackboxAttributes *net; if (XGetWindowProperty(display, client.window, fluxbox->getFluxboxAttributesAtom(), 0l, PropBlackboxAttributesElements, false,

@@ -2252,8 +2252,8 @@ XFree(static_cast<void *>(net));

} else return; - if (blackbox_attrib.flags & AttribShaded && - blackbox_attrib.attrib & AttribShaded) { + if (blackbox_attrib.flags & BaseDisplay::ATTRIB_SHADED && + blackbox_attrib.attrib & BaseDisplay::ATTRIB_SHADED) { int save_state = ((current_state == IconicState) ? NormalState : current_state);

@@ -2273,29 +2273,29 @@ if (current_state == NormalState) current_state = WithdrawnState;

} else if (current_state == WithdrawnState) current_state = NormalState; - if (blackbox_attrib.flags & AttribOmnipresent && - blackbox_attrib.attrib & AttribOmnipresent) { + if (blackbox_attrib.flags & BaseDisplay::ATTRIB_OMNIPRESENT && + blackbox_attrib.attrib & BaseDisplay::ATTRIB_OMNIPRESENT) { stuck = false; stick(); current_state = NormalState; } - if ((blackbox_attrib.flags & AttribMaxHoriz) || - (blackbox_attrib.flags & AttribMaxVert)) { + if ((blackbox_attrib.flags & BaseDisplay::ATTRIB_MAXHORIZ) || + (blackbox_attrib.flags & BaseDisplay::ATTRIB_MAXVERT)) { int x = blackbox_attrib.premax_x, y = blackbox_attrib.premax_y; unsigned int w = blackbox_attrib.premax_w, h = blackbox_attrib.premax_h; maximized = false; int m; - if ((blackbox_attrib.flags & AttribMaxHoriz) && - (blackbox_attrib.flags & AttribMaxVert)) - m = ((blackbox_attrib.attrib & (AttribMaxHoriz | AttribMaxVert)) ? + if ((blackbox_attrib.flags & BaseDisplay::ATTRIB_MAXHORIZ) && + (blackbox_attrib.flags & BaseDisplay::ATTRIB_MAXVERT)) + m = ((blackbox_attrib.attrib & (BaseDisplay::ATTRIB_MAXHORIZ | BaseDisplay::ATTRIB_MAXVERT)) ? 1 : 0); - else if (blackbox_attrib.flags & AttribMaxVert) - m = ((blackbox_attrib.attrib & AttribMaxVert) ? 2 : 0); - else if (blackbox_attrib.flags & AttribMaxHoriz) - m = ((blackbox_attrib.attrib & AttribMaxHoriz) ? 3 : 0); + else if (blackbox_attrib.flags & BaseDisplay::ATTRIB_MAXVERT) + m = ((blackbox_attrib.attrib & BaseDisplay::ATTRIB_MAXVERT) ? 2 : 0); + else if (blackbox_attrib.flags & BaseDisplay::ATTRIB_MAXHORIZ) + m = ((blackbox_attrib.attrib & BaseDisplay::ATTRIB_MAXHORIZ) ? 3 : 0); else m = 0;

@@ -3128,37 +3128,37 @@ screen->getWorkspace(workspace_number)->raiseWindow(this);

} -void FluxboxWindow::changeBlackboxHints(BlackboxHints *net) { - if ((net->flags & AttribShaded) && - ((blackbox_attrib.attrib & AttribShaded) != - (net->attrib & AttribShaded))) +void FluxboxWindow::changeBlackboxHints(BaseDisplay::BlackboxHints *net) { + if ((net->flags & BaseDisplay::ATTRIB_SHADED) && + ((blackbox_attrib.attrib & BaseDisplay::ATTRIB_SHADED) != + (net->attrib & BaseDisplay::ATTRIB_SHADED))) shade(); - if ((net->flags & (AttribMaxVert | AttribMaxHoriz)) && - ((blackbox_attrib.attrib & (AttribMaxVert | AttribMaxHoriz)) != - (net->attrib & (AttribMaxVert | AttribMaxHoriz)))) { + if ((net->flags & (BaseDisplay::ATTRIB_MAXVERT | BaseDisplay::ATTRIB_MAXHORIZ)) && + ((blackbox_attrib.attrib & (BaseDisplay::ATTRIB_MAXVERT | BaseDisplay::ATTRIB_MAXHORIZ)) != + (net->attrib & (BaseDisplay::ATTRIB_MAXVERT | BaseDisplay::ATTRIB_MAXHORIZ)))) { if (maximized) { maximize(0); } else { int m = 0; - if ((net->flags & AttribMaxHoriz) && (net->flags & AttribMaxVert)) - m = ((net->attrib & (AttribMaxHoriz | AttribMaxVert)) ? 1 : 0); - else if (net->flags & AttribMaxVert) - m = ((net->attrib & AttribMaxVert) ? 2 : 0); - else if (net->flags & AttribMaxHoriz) - m = ((net->attrib & AttribMaxHoriz) ? 3 : 0); + if ((net->flags & BaseDisplay::ATTRIB_MAXHORIZ) && (net->flags & BaseDisplay::ATTRIB_MAXVERT)) + m = ((net->attrib & (BaseDisplay::ATTRIB_MAXHORIZ | BaseDisplay::ATTRIB_MAXVERT)) ? 1 : 0); + else if (net->flags & BaseDisplay::ATTRIB_MAXVERT) + m = ((net->attrib & BaseDisplay::ATTRIB_MAXVERT) ? 2 : 0); + else if (net->flags & BaseDisplay::ATTRIB_MAXHORIZ) + m = ((net->attrib & BaseDisplay::ATTRIB_MAXHORIZ) ? 3 : 0); maximize(m); } } - if ((net->flags & AttribOmnipresent) && - ((blackbox_attrib.attrib & AttribOmnipresent) != - (net->attrib & AttribOmnipresent))) + if ((net->flags & BaseDisplay::ATTRIB_OMNIPRESENT) && + ((blackbox_attrib.attrib & BaseDisplay::ATTRIB_OMNIPRESENT) != + (net->attrib & BaseDisplay::ATTRIB_OMNIPRESENT))) stick(); - if ((net->flags & AttribWorkspace) && + if ((net->flags & BaseDisplay::ATTRIB_WORKSPACE) && (workspace_number != (signed) net->workspace)) { screen->reassociateWindow(this, net->workspace, true);

@@ -3168,9 +3168,9 @@ else

deiconify(); } - if (net->flags & AttribDecoration) { + if (net->flags & BaseDisplay::ATTRIB_DECORATION) { switch (net->decoration) { - case DecorNone: + case BaseDisplay::DECOR_NONE: decorations.titlebar = decorations.border = decorations.handle = decorations.iconify = decorations.maximize = decorations.menu = false;

@@ -3180,7 +3180,7 @@

break; default: - case DecorNormal: + case BaseDisplay::DECOR_NORMAL: decorations.titlebar = decorations.border = decorations.handle = decorations.iconify = decorations.maximize = decorations.menu = true;

@@ -3189,7 +3189,7 @@ functions.maximize = true;

break; - case DecorTiny: + case BaseDisplay::DECOR_TINY: decorations.titlebar = decorations.iconify = decorations.menu = functions.move = functions.iconify = true; decorations.border = decorations.handle = decorations.maximize =

@@ -3197,7 +3197,7 @@ functions.resize = functions.maximize = false;

break; - case DecorTool: + case BaseDisplay::DECOR_TOOL: decorations.titlebar = decorations.menu = functions.move = true; decorations.iconify = decorations.border = decorations.handle = decorations.maximize = functions.resize = functions.maximize =
M src/Window.hhsrc/Window.hh

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

+// Window.hh for Fluxbox +// Copyright (c) 2001 Henrik Kinnunen (fluxgen@linuxmail.org) +// // Window.hh for Blackbox - an X11 Window manager // Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net) //

@@ -18,10 +21,6 @@ // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER

// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. - -// -//Changes for Fluxbox made by Henrik Kinnunen (fluxgen@linuxmail.org) -// See LICENSE for copyright and license #ifndef _WINDOW_HH_ #define _WINDOW_HH_

@@ -150,7 +149,7 @@ void installColormap(bool);

void restore(void); void configure(int dx, int dy, unsigned int dw, unsigned int dh); void setWorkspace(int n); - void changeBlackboxHints(BlackboxHints *); + void changeBlackboxHints(BaseDisplay::BlackboxHints *); void restoreAttributes(void); void buttonPressEvent(XButtonEvent *);

@@ -178,14 +177,13 @@ } MwmHints;

private: BImageControl *image_ctrl; - //Fluxbox *fluxbox; bool moving, resizing, shaded, maximized, visible, iconic, transient, focused, stuck, modal, send_focus_message, managed; BScreen *screen; BTimer *timer; Display *display; - BlackboxAttributes blackbox_attrib; + BaseDisplay::BlackboxAttributes blackbox_attrib; Time lastButtonPressTime; Windowmenu *windowmenu;

@@ -207,7 +205,7 @@ base_width, base_height, win_gravity;

unsigned long initial_state, normal_hint_flags, wm_hint_flags; MwmHints *mwm_hint; - BlackboxHints *blackbox_hint; + BaseDisplay::BlackboxHints *blackbox_hint; } client; struct _decorations {

@@ -221,9 +219,8 @@ } functions;

bool usetab; Tab *tab; - //Tab is also a friend - friend class Tab; - + friend class Tab; + typedef void (*ButtonDrawProc)(FluxboxWindow *, Window, bool); typedef void (*ButtonEventProc)(FluxboxWindow *, XButtonEvent *);