slit client mapping on restart, surplus menu redraw
rathnor rathnor
4 files changed,
10 insertions(+),
5 deletions(-)
M
ChangeLog
→
ChangeLog
@@ -1,6 +1,8 @@
(Format: Year/Month/Day) Changes for 0.9.6: *03/10/31: + * Fix slit client map on restart and surplus menu redraw (Simon) + SlitClient.hh Slit.cc Menu.cc * Fix textbutton text alignment (out by one) (Simon) TextButton.cc * Tweak some positioning for winbutton drawn icons (Simon)
M
src/FbTk/Menu.cc
→
src/FbTk/Menu.cc
@@ -22,7 +22,7 @@ // 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. -// $Id: Menu.cc,v 1.39 2003/10/06 09:55:36 rathnor Exp $ +// $Id: Menu.cc,v 1.40 2003/11/01 00:12:53 rathnor Exp $ //use GNU extensions #ifndef _GNU_SOURCE@@ -723,7 +723,6 @@
if (! item->submenu()->isVisible()) { item->submenu()->show(); item->submenu()->raise(); - item->submenu()->renderTransFrame(); } item->submenu()->moving = moving;
M
src/Slit.cc
→
src/Slit.cc
@@ -22,7 +22,7 @@ // 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. -// $Id: Slit.cc,v 1.80 2003/08/30 01:01:47 fluxgen Exp $ +// $Id: Slit.cc,v 1.81 2003/11/01 00:12:53 rathnor Exp $ #include "Slit.hh"@@ -968,7 +968,10 @@ if (event.type == ConfigureRequest) {
configureRequestEvent(event.xconfigurerequest); } else if (event.type == DestroyNotify) { removeClient(event.xdestroywindow.window, false); - } else if (event.type == UnmapNotify) { + } else if (event.type == UnmapNotify && event.xany.send_event) { + // we ignore server-generated events, which can occur + // on restart. The ICCCM says that a client must send + // a synthetic event for the withdrawn state removeClient(event.xunmap.window); } }
M
src/SlitClient.hh
→
src/SlitClient.hh
@@ -19,7 +19,7 @@ // 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. -// $Id: SlitClient.hh,v 1.1 2003/06/20 01:25:26 fluxgen Exp $ +// $Id: SlitClient.hh,v 1.2 2003/11/01 00:12:53 rathnor Exp $ #ifndef SLITCLIENT_HH #define SLITCLIENT_HH@@ -55,6 +55,7 @@ void setIconWindow(Window win) { m_icon_window = win; }
void setWindow(Window win) { m_window = win; } void move(int x, int y) { m_x = x; m_y = y; } void resize(unsigned int width, unsigned int height) { m_width = width; m_height = height; } + void moveResize(int x, int y, unsigned int width, unsigned int height) { m_x = x; m_y = y; m_width = width; m_height = height; } void hide(); void show(); void setVisible(bool value) { m_visible = value; }