aboutsummaryrefslogtreecommitdiff
path: root/src/Screen.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Screen.cc')
-rw-r--r--src/Screen.cc24
1 files changed, 8 insertions, 16 deletions
diff --git a/src/Screen.cc b/src/Screen.cc
index 7f44e42..915c055 100644
--- a/src/Screen.cc
+++ b/src/Screen.cc
@@ -283,6 +283,8 @@ BScreen::ScreenResource::ScreenResource(FbTk::ResourceManager &rm,
283 opaque_move(rm, false, scrname + ".opaqueMove", altscrname+".OpaqueMove"), 283 opaque_move(rm, false, scrname + ".opaqueMove", altscrname+".OpaqueMove"),
284 full_max(rm, false, scrname+".fullMaximization", altscrname+".FullMaximization"), 284 full_max(rm, false, scrname+".fullMaximization", altscrname+".FullMaximization"),
285 max_ignore_inc(rm, true, scrname+".maxIgnoreIncrement", altscrname+".MaxIgnoreIncrement"), 285 max_ignore_inc(rm, true, scrname+".maxIgnoreIncrement", altscrname+".MaxIgnoreIncrement"),
286 max_disable_move(rm, false, scrname+".maxDisableMove", altscrname+".MaxDisableMove"),
287 max_disable_resize(rm, false, scrname+".maxDisableResize", altscrname+".MaxDisableResize"),
286 workspace_warping(rm, true, scrname+".workspacewarping", altscrname+".WorkspaceWarping"), 288 workspace_warping(rm, true, scrname+".workspacewarping", altscrname+".WorkspaceWarping"),
287 show_window_pos(rm, true, scrname+".showwindowposition", altscrname+".ShowWindowPosition"), 289 show_window_pos(rm, true, scrname+".showwindowposition", altscrname+".ShowWindowPosition"),
288 auto_raise(rm, true, scrname+".autoRaise", altscrname+".AutoRaise"), 290 auto_raise(rm, true, scrname+".autoRaise", altscrname+".AutoRaise"),
@@ -1350,17 +1352,11 @@ void BScreen::updateNetizenWindowFocus() {
1350 1352
1351 1353
1352void BScreen::updateNetizenWindowAdd(Window w, unsigned long p) { 1354void BScreen::updateNetizenWindowAdd(Window w, unsigned long p) {
1353
1354 // update the list of clients
1355 m_clientlist_sig.notify();
1356
1357 // and then send the signal to listeners
1358 Netizens::iterator it = m_netizen_list.begin(); 1355 Netizens::iterator it = m_netizen_list.begin();
1359 Netizens::iterator it_end = m_netizen_list.end(); 1356 Netizens::iterator it_end = m_netizen_list.end();
1360 for (; it != it_end; ++it) { 1357 for (; it != it_end; ++it) {
1361 (*it)->sendWindowAdd(w, p); 1358 (*it)->sendWindowAdd(w, p);
1362 } 1359 }
1363
1364} 1360}
1365 1361
1366 1362
@@ -1368,8 +1364,6 @@ void BScreen::updateNetizenWindowDel(Window w) {
1368 for_each(m_netizen_list.begin(), 1364 for_each(m_netizen_list.begin(),
1369 m_netizen_list.end(), 1365 m_netizen_list.end(),
1370 bind2nd(mem_fun(&Netizen::sendWindowDel), w)); 1366 bind2nd(mem_fun(&Netizen::sendWindowDel), w));
1371
1372 m_clientlist_sig.notify();
1373} 1367}
1374 1368
1375 1369
@@ -1638,20 +1632,12 @@ void BScreen::reassociateWindow(FluxboxWindow *w, unsigned int wkspc_id,
1638 if (w->isIconic()) { 1632 if (w->isIconic()) {
1639 removeIcon(w); 1633 removeIcon(w);
1640 getWorkspace(wkspc_id)->addWindow(*w); 1634 getWorkspace(wkspc_id)->addWindow(*w);
1641 // client list need to notify now even though
1642 // we didn't remove/add any window,
1643 // so listeners that uses the client list to
1644 // show whats on current/other workspace
1645 // gets updated
1646 m_clientlist_sig.notify();
1647 } else if (ignore_sticky || ! w->isStuck()) { 1635 } else if (ignore_sticky || ! w->isStuck()) {
1648 // fresh windows have workspaceNumber == -1, which leads to 1636 // fresh windows have workspaceNumber == -1, which leads to
1649 // an invalid workspace (unsigned int) 1637 // an invalid workspace (unsigned int)
1650 if (getWorkspace(w->workspaceNumber())) 1638 if (getWorkspace(w->workspaceNumber()))
1651 getWorkspace(w->workspaceNumber())->removeWindow(w, true); 1639 getWorkspace(w->workspaceNumber())->removeWindow(w, true);
1652 getWorkspace(wkspc_id)->addWindow(*w); 1640 getWorkspace(wkspc_id)->addWindow(*w);
1653 // see comment above
1654 m_clientlist_sig.notify();
1655 } 1641 }
1656} 1642}
1657 1643
@@ -1808,6 +1794,12 @@ void BScreen::setupConfigmenu(FbTk::Menu &menu) {
1808 "Ignore Resize Increment", 1794 "Ignore Resize Increment",
1809 "Maximizing Ignores Resize Increment (e.g. xterm)", 1795 "Maximizing Ignores Resize Increment (e.g. xterm)",
1810 *resource.max_ignore_inc, saverc_cmd); 1796 *resource.max_ignore_inc, saverc_cmd);
1797 _BOOLITEM(*maxmenu, Configmenu, MaxDisableMove,
1798 "Disable Moving", "Don't Allow Moving While Maximized",
1799 *resource.max_disable_move, saverc_cmd);
1800 _BOOLITEM(*maxmenu, Configmenu, MaxDisableResize,
1801 "Disable Resizing", "Don't Allow Resizing While Maximized",
1802 *resource.max_disable_resize, saverc_cmd);
1811 1803
1812 maxmenu->updateMenu(); 1804 maxmenu->updateMenu();
1813 menu.insert(maxmenu_label, maxmenu); 1805 menu.insert(maxmenu_label, maxmenu);