diff options
author | Matt Keadle <mkeadle@gentoo.org> | 2003-04-22 06:07:17 +0000 |
---|---|---|
committer | Matt Keadle <mkeadle@gentoo.org> | 2003-04-22 06:07:17 +0000 |
commit | 4d8083072b24d58ae8115e676c230491d7321972 (patch) | |
tree | ade859e9fc6d0b42df0a4c9377f5dbad950dd4d6 /x11-wm/fluxbox | |
parent | adding freetype to DEPEND (diff) | |
download | gentoo-2-4d8083072b24d58ae8115e676c230491d7321972.tar.gz gentoo-2-4d8083072b24d58ae8115e676c230491d7321972.tar.bz2 gentoo-2-4d8083072b24d58ae8115e676c230491d7321972.zip |
updated remember patch for 0.1.14
Diffstat (limited to 'x11-wm/fluxbox')
-rw-r--r-- | x11-wm/fluxbox/files/fluxbox-0.1.14-remember.patch | 155 |
1 files changed, 127 insertions, 28 deletions
diff --git a/x11-wm/fluxbox/files/fluxbox-0.1.14-remember.patch b/x11-wm/fluxbox/files/fluxbox-0.1.14-remember.patch index 4bf018e51b4b..16ca0fcafe77 100644 --- a/x11-wm/fluxbox/files/fluxbox-0.1.14-remember.patch +++ b/x11-wm/fluxbox/files/fluxbox-0.1.14-remember.patch @@ -621,7 +621,19 @@ diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess configure(frame.x, frame.y, frame.width, frame.height); if (shaded) { -@@ -337,6 +334,61 @@ +@@ -325,18 +322,77 @@ + maximize(m); + } + +- if (stuck) { +- stuck = false; +- stick(); +- deiconify(); //omnipresent, so show it +- } +- + setFocusFlag(false); + + #ifdef DEBUG fprintf(stderr, "%s(%d): FluxboxWindow(this=%p)\n", __FILE__, __LINE__, this); #endif // DEBUG @@ -664,8 +676,12 @@ diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess + setDecoration(a->decostate); + } + if (a->stuckstate_remember) { -+ if (a->stuckstate) ++ if (a->stuckstate) { ++ screen->getCurrentWorkspace()->addWindow( ++ this, place_window); ++ workspace_set = true; + stick(); ++ } + // FIXME: unstick() has been defined in + // Window.hh but not implemented !!! + // else @@ -680,10 +696,35 @@ diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess + screen->getWorkspace(workspace_number)->addWindow(this, place_window); + } + ++ if (stuck) { ++ stuck = false; ++ stick(); ++ deiconify(); //omnipresent, so show it ++ } ++ fluxbox->ungrab(); } -@@ -1068,6 +1120,17 @@ +@@ -982,7 +1038,17 @@ + void FluxboxWindow::reconfigure() { + upsize(); + +- if (Fluxbox::instance()->useTabs()) { ++ bool tab_enabled = true; ++ char* app_name = getWMClass(); ++ if(app_name && (!checkTransient2())) ++ { ++ Application* a = Fluxbox::instance()->getApplications()->find(app_name); ++ if(a) ++ if(a->tabstate_remember && !a->tabstate) ++ tab_enabled = false; ++ } ++ ++ if (Fluxbox::instance()->useTabs() && tab_enabled) { + //no tab and we allowed to use tab? then create it + if (!tab && isGroupable()) { + tab = new Tab(this, 0, 0); +@@ -1068,6 +1134,17 @@ tab->setPosition(); } @@ -701,7 +742,7 @@ diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess void FluxboxWindow::getWMName() { -@@ -1641,8 +1704,35 @@ +@@ -1641,8 +1718,35 @@ } } @@ -737,7 +778,7 @@ diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess Fluxbox *fluxbox = Fluxbox::instance(); XEvent ce; ce.xclient.type = ClientMessage; -@@ -2357,7 +2447,8 @@ +@@ -2357,7 +2461,8 @@ m_windowmenu->show(); m_windowmenu->raise(); m_windowmenu->getSendToMenu().raise(); @@ -747,7 +788,7 @@ diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess } void FluxboxWindow::restoreGravity() { -@@ -3170,6 +3261,7 @@ +@@ -3170,6 +3275,7 @@ } void FluxboxWindow::toggleDecoration() { @@ -755,12 +796,10 @@ diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess //don't toggle decor if the window is shaded if (isShaded()) return; -@@ -3480,6 +3572,17 @@ - frame.handle = 0; - } +@@ -3482,6 +3588,17 @@ + + } -+} -+ +bool FluxboxWindow::checkTransient2() { + Window win; + if (XGetTransientForHint(display, client.window, &win)) @@ -770,13 +809,26 @@ diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess + return false; + else + return false; - } - ++} ++ void FluxboxWindow::checkTransient() { + // remove us from parent + if (client.transient_for != 0) { diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess -x config.sub -x ltmain.sh -x ltconfig -x Entries.Log -x config.h.in -x Translation.m -x configure fluxbox-0.1.14/src/Window.hh fluxbox-0.1.14-remember/src/Window.hh --- fluxbox-0.1.14/src/Window.hh Sat Dec 7 15:15:26 2002 +++ fluxbox-0.1.14-remember/src/Window.hh Mon Dec 9 15:46:12 2002 -@@ -55,6 +55,8 @@ +@@ -43,6 +43,10 @@ + #include <string> + #include <memory> + ++#ifdef DEBUG ++#include <iostream> ++#endif // DEBUG ++ + #define PropMwmHintsElements 3 + + class Tab; +@@ -55,6 +59,8 @@ class FluxboxWindow : public TimeoutHandler { public: @@ -785,7 +837,7 @@ diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess enum WinLayer { LAYER_BOTTOM = 0x01, LAYER_BELOW = 0x02, -@@ -204,6 +206,16 @@ +@@ -204,6 +210,16 @@ //@} void setDecoration(Decoration decoration); @@ -793,7 +845,7 @@ diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess + if (!decor) { + #ifdef DEBUG + if ((old_decoration!=DECOR_NONE) && (old_decoration!=DECOR_NORMAL) && (old_decoration!=DECOR_TINY) && (old_decoration!=DECOR_TOOL)) -+ cerr<<__FILE__<<"("<<__LINE__<< "DEBUG: old_decoration fucked up" << endl; ++ std::cerr<<__FILE__<<"("<<__LINE__<< "DEBUG: old_decoration fucked up" << std::endl; + #endif //DEBUG + return old_decoration; + } else @@ -802,7 +854,7 @@ diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess void toggleDecoration(); #ifdef SHAPE -@@ -276,6 +288,8 @@ +@@ -276,6 +292,8 @@ } client; @@ -811,7 +863,7 @@ diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess struct _decorations { bool titlebar, handle, border, iconify, maximize, close, menu, sticky, shade, tab, enabled; -@@ -333,12 +347,15 @@ +@@ -333,12 +351,15 @@ void stopResizing(Window win=0); void updateIcon(); @@ -860,8 +912,56 @@ diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess insert(i18n->getMessage( WindowmenuSet, WindowmenuShade, -@@ -199,7 +206,8 @@ - setItemEnabled(10, window.isResizable()); // tab option only enabled if resizable +@@ -103,11 +110,11 @@ + + update(); + +- setItemEnabled(2, window.hasTitlebar()); +- setItemEnabled(3, window.isIconifiable()); +- setItemEnabled(4, window.isMaximizable()); +- setItemEnabled(9, window.isClosable()); +- setItemEnabled(10, window.isGroupable()); // tab option ++ setItemEnabled(3, window.hasTitlebar()); ++ setItemEnabled(4, window.isIconifiable()); ++ setItemEnabled(5, window.isMaximizable()); ++ setItemEnabled(10, window.isClosable()); ++ setItemEnabled(11, window.isGroupable()); // tab option + + } + +@@ -118,12 +125,12 @@ + + + void Windowmenu::show() { +- if (isItemEnabled(2)) +- setItemSelected(2, window.isShaded()); +- if (isItemEnabled(4)) +- setItemSelected(4, window.isMaximized()); +- if (isItemEnabled(7)) +- setItemSelected(7, window.isStuck()); ++ if (isItemEnabled(3)) ++ setItemSelected(3, window.isShaded()); ++ if (isItemEnabled(5)) ++ setItemSelected(5, window.isMaximized()); ++ if (isItemEnabled(8)) ++ setItemSelected(8, window.isStuck()); + + Basemenu::show(); + } +@@ -192,14 +199,15 @@ + + + void Windowmenu::reconfigure() { +- setItemEnabled(1, window.hasTitlebar()); +- setItemEnabled(2, window.isIconifiable()); +- setItemEnabled(3, window.isMaximizable()); +- setItemEnabled(8, window.isClosable()); +- setItemEnabled(10, window.isResizable()); // tab option only enabled if resizable ++ setItemEnabled(3, window.hasTitlebar()); ++ setItemEnabled(4, window.isIconifiable()); ++ setItemEnabled(5, window.isMaximizable()); ++ setItemEnabled(10, window.isClosable()); ++ setItemEnabled(12, window.isResizable()); // tab option only enabled if resizable sendToMenu.reconfigure(); - sendGroupToMenu.reconfigure(); @@ -1060,11 +1160,10 @@ diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess // X event scanner for enter/leave notifies - adapted from twm typedef struct scanargs { Window w; -@@ -2586,4 +2582,38 @@ - if (old_screen && old_screen != screen) +@@ -2587,3 +2583,37 @@ old_screen->updateNetizenWindowFocus(); -+} + } + +void Fluxbox::launchStartupProgs(void) { + ScreenList::iterator it = screenList.begin(); @@ -1098,7 +1197,7 @@ diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess + } + } + } - } ++} diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess -x config.sub -x ltmain.sh -x ltconfig -x Entries.Log -x config.h.in -x Translation.m -x configure fluxbox-0.1.14/src/fluxbox.hh fluxbox-0.1.14-remember/src/fluxbox.hh --- fluxbox-0.1.14/src/fluxbox.hh Sat Dec 7 15:15:26 2002 +++ fluxbox-0.1.14-remember/src/fluxbox.hh Mon Dec 9 15:46:12 2002 @@ -1130,15 +1229,15 @@ diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess private: struct cursor { Cursor session, move, ll_angle, lr_angle; -@@ -204,6 +211,8 @@ - timeval auto_raise_delay; +@@ -205,6 +212,8 @@ } resource; -+ + + Applications applications; - ++ std::string getRcFilename(); void getDefaultDataFilename(char *, std::string &); + void load_rc(); diff -u -r -N -x depcomp -x Entries -x aclocal.m4 -x Makefile.in -x config.guess -x config.sub -x ltmain.sh -x ltconfig -x Entries.Log -x config.h.in -x Translation.m -x configure fluxbox-0.1.14/src/main.cc fluxbox-0.1.14-remember/src/main.cc --- fluxbox-0.1.14/src/main.cc Sun Dec 8 16:46:41 2002 +++ fluxbox-0.1.14-remember/src/main.cc Mon Dec 9 15:46:12 2002 |