*/
struct _frame {
- // u -> unfocused, f -> has focus
+ // u -> unfocused, f -> has focus, p -> pressed
unsigned long ulabel_pixel, flabel_pixel, utitle_pixel,
ftitle_pixel, uhandle_pixel, fhandle_pixel, ubutton_pixel,
- fbutton_pixel, pbutton_pixel, uborder_pixel, fborder_pixel,
- ugrip_pixel, fgrip_pixel;
+ fbutton_pixel, pfbutton_pixel, pubutton_pixel,
+ uborder_pixel, fborder_pixel, ugrip_pixel, fgrip_pixel;
Pixmap ulabel, flabel, utitle, ftitle, uhandle, fhandle,
- ubutton, fbutton, pbutton, ugrip, fgrip;
+ ubutton, fbutton, pfbutton, pubutton, ugrip, fgrip;
Window window, // the frame
plate, // holds the client
title,
label,
handle,
- close_button, iconify_button, maximize_button,
+ close_button, iconify_button, maximize_button, stick_button,
right_grip, left_grip;
/*
bool getState(void);
Window createToplevelWindow();
- Window createChildWindow(Window parent, Cursor = None);
+ Window createChildWindow(Window parent, unsigned long event_mask,
+ Cursor = None);
bool getWindowType(void);
void updateStrut(void);
void destroyIconifyButton(void);
void createMaximizeButton(void);
void destroyMaximizeButton(void);
+ void createStickyButton(void);
+ void destroyStickyButton(void);
void redrawWindowFrame(void) const;
void redrawLabel(void) const;
void redrawAllButtons(void) const;
+ void BlackboxWindow::redrawButton(bool pressed, Window win,
+ Pixmap fppix, unsigned long fppixel,
+ Pixmap uppix, unsigned long uppixel,
+ Pixmap fpix, unsigned long fpixel,
+ Pixmap upix, unsigned long upixel) const;
void redrawCloseButton(bool pressed) const;
void redrawIconifyButton(bool pressed) const;
void redrawMaximizeButton(bool pressed) const;
+ void redrawStickyButton(bool pressed) const;
void applyGravity(Rect &r);
void restoreGravity(Rect &r);
void setAllowedActions(void);
void setState(unsigned long new_state);
void upsize(void);
void doMove(int x_root, int y_root);
- void doWorkspaceWarping(int x_root, int y_root, int &dx, int dy);
+ void doWorkspaceWarping(int x_root, int y_root, int &dx);
void doWindowSnapping(int &dx, int &dy);
void endMove(void);
void doResize(int x_root, int y_root);
#ifdef SHAPE
void configureShape(void);
+ void clearShape(void);
void shapeEvent(XShapeEvent * /*unused*/);
#endif // SHAPE