From: Arnout E. <rab...@us...> - 2012-06-10 13:56:13
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "notion window manager core". The branch, master has been updated via e93d504e6d642197b02a8d50803c94be104dfdf7 (commit) via 97886368c2ac96e15b7e06477d513b2c0f7f6e8e (commit) via 7589765dae108f566a7628e14d16a70e3c8352af (commit) via 6e51035fae8b2a6358d1d093e544627987065fa1 (commit) via 7e429030fafca66703e5f1428458bbf38f595846 (commit) via 0628b18da54839975d84670479a97ad83be9bdb9 (commit) via 97bea619758ad05c1d1a2ce39f2529c28c6f88d7 (commit) via cc68fb9403ca81adcc2dad490fd0fb86b839ad6b (commit) via 1c2cc2410993477951c0343c486e84208199a767 (commit) via 77388de262db49738727fb0e1a7290595d93bfc9 (commit) via 04d0894ef6125c309d44b4560c01e90fb00acf70 (commit) via e9e4280f6b7fb4cee326306c28337ed2a1af9d21 (commit) via db66dd195c9a2741846b8f99f3f4115febed1729 (commit) via 8b51cf4af1d56b7811d5734aea81f0a00a0dd7ef (commit) via 16933ca6f31268a9cc26d41d805474318e101f92 (commit) via 7db995d47bcdf9238a6bfd809d3a13a1b68dd356 (commit) via 76fe22329899ad18167377de65115094058d8024 (commit) via 2c6ee375b4bbac9c83a5eb98ffb5b8c1dcd93bb2 (commit) via 7d5c5aaa445b21ce5db9b74b627ebc25a1798813 (commit) via f8f5c8117a3ef12779844bfd45088c476f77ad62 (commit) via 2e0e3a4036b3378bd2d08b64d380c1beb69201ff (commit) via 8370a156ae6440e3983486ca4c7a167caf72cf25 (commit) via dd7c0977062f24a65d4fe1b1ee5964450d5c67f2 (commit) via 8e1c79be963a9b6124352040625e4c6393d24276 (commit) via 953d8cd974ac7e9f8ff8ffe577d9bd72644a4483 (commit) via a708bfc6305b1373f83bd261e749fb32270ee8c7 (commit) via 74226dec6db2eb2ffb81ec2300b95391483f1fc1 (commit) via 061a3942374a8fae5d454f2e3c3ae4d8e8f51705 (commit) via c82af3dcd58d66a8cebab8605db7acaecbd065b8 (commit) via e47e1c3beeba095dd8165858ff9a1e1d133cf3b7 (commit) via dbfcb2220152955c8140148c90ddd0d616db1420 (commit) via a4e73886ed304824284d785a905d5ec00ab8076c (commit) via 6d95652fa1ee87f77296ca99fe8e0ad22d4bc419 (commit) via 88775e8d03c196c3c0dafc631d79b2320482b3fe (commit) via 0fc2159f68f2c0627ee00f5cca449c27cdaeaa3e (commit) via b94167edafeca3c14ee56097d1ff6be7eff17386 (commit) via 8982f7dbef11c515360b263398d1320db9ba037e (commit) via 516e4317a16d59260dcae896fbaf741d47fd92db (commit) via 2387dcd2d4074be79f5b99947e00b0a8b59a05a6 (commit) via 6678c1b32dff5971ea5f0369eaeb78a06bdedf31 (commit) via 1ae4788a5001efc11f8926cf1d0123e01249d775 (commit) via a5201b6722d704899d7251a381663f36eb3c076f (commit) via cc663ff4e136ee4511a625260724fe32ab41e71e (commit) via 81ef792fdafa11be2374e5e16b7daf7825a90737 (commit) via 18fe34d9945da635b474fe492929299c00e36b89 (commit) via 9212776943ecaf43128ae76c9ed72f081e2fa818 (commit) via ad71e6d53a6bf526194fe77802dca7d387bc275c (commit) from 516b7908b709550a4465d72cb5fda38fdeaa3dc4 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit e93d504e6d642197b02a8d50803c94be104dfdf7 Merge: 9788636 516b790 Author: Arnout Engelen <arn...@bz...> Date: Sun Jun 10 15:51:44 2012 +0200 Merge branch 'master' into maximization commit 97886368c2ac96e15b7e06477d513b2c0f7f6e8e Author: Philipp Hartwig <ph...@ph...> Date: Sun May 13 20:53:02 2012 +0200 Cleanup 1000 commit 7589765dae108f566a7628e14d16a70e3c8352af Author: Philipp Hartwig <ph...@ph...> Date: Sat May 12 20:29:49 2012 +0200 Cleanup commit 6e51035fae8b2a6358d1d093e544627987065fa1 Author: Philipp Hartwig <ph...@ph...> Date: Fri May 11 16:31:40 2012 +0200 Another few small improvements In particular don't take the stdisp into account in case it is fullsized. Also don't abuse binary operators as replacements for logical operators to prevent short-circuit evaluation. commit 7e429030fafca66703e5f1428458bbf38f595846 Author: Philipp Hartwig <ph...@ph...> Date: Fri May 11 09:37:39 2012 +0200 Small refactoring, correcting inaccuracy in last commit commit 0628b18da54839975d84670479a97ad83be9bdb9 Author: Philipp Hartwig <ph...@ph...> Date: Fri May 11 09:23:02 2012 +0200 Add some comments commit 97bea619758ad05c1d1a2ce39f2529c28c6f88d7 Author: Philipp Hartwig <ph...@ph...> Date: Thu May 10 16:57:32 2012 +0200 Cleanup commit cc68fb9403ca81adcc2dad490fd0fb86b839ad6b Author: Philipp Hartwig <ph...@ph...> Date: Thu May 10 15:02:02 2012 +0200 Check on restoring that the restored geometry fits over the stdisp This takes care of the first TODO mentioned in the commit message of 7d5c5aaa445b21ce5db9b74b627ebc25a1798813 The second one has already been addressed in commit 7db995d47bcdf9238a6bfd809d3a13a1b68dd356 commit 1c2cc2410993477951c0343c486e84208199a767 Author: Philipp Hartwig <ph...@ph...> Date: Thu May 10 13:18:17 2012 +0200 Cleanup commit 77388de262db49738727fb0e1a7290595d93bfc9 Author: Philipp Hartwig <ph...@ph...> Date: Thu May 10 01:31:37 2012 +0200 Change handling of geometry of stdisp Before we set the geometry of the stdisp to its correct target geometry. This however renders the whole tiling inconsistent. Also taking into account the geometry changes from mmoving away from the stdisp renders the tiling inconsistent. We tried to counter this by calling tiling_manage_stdisp, but it turns out that this is not good enough to repair the tiling. So now we resize the stdisp to the geometry that is necessary to keep the tiling consistent and then call split_sanitize_stdisp. Also we only use the geometry calculated for frames moving away from the stdisp for updating the window informations, while using a fake geometry information for the split without these changes. split_sanitize_stdisp will then update the tiling in a way that again accomodates the frames that are temporarily bigger than their surrounding splits. Still should combine the advantages of using the correct geometry (which massively avoids flickering in programs with resizing problems, notably ncurses based ones) and of having consistent tiling (desirable for obvious reasons). commit 04d0894ef6125c309d44b4560c01e90fb00acf70 Author: Philipp Hartwig <ph...@ph...> Date: Wed May 9 20:23:18 2012 +0200 Cleanup commit e9e4280f6b7fb4cee326306c28337ed2a1af9d21 Author: Philipp Hartwig <ph...@ph...> Date: Wed May 9 14:12:08 2012 +0200 Trivial typos, causing a lot of trouble The refactored code seems to work as expected now commit db66dd195c9a2741846b8f99f3f4115febed1729 Author: Philipp Hartwig <ph...@ph...> Date: Wed May 9 13:43:25 2012 +0200 Closer to goal commit 8b51cf4af1d56b7811d5734aea81f0a00a0dd7ef Author: Philipp Hartwig <ph...@ph...> Date: Wed May 9 13:02:37 2012 +0200 Attempt to unify vertical and horizontal stdisp Fails yet commit 16933ca6f31268a9cc26d41d805474318e101f92 Author: Philipp Hartwig <ph...@ph...> Date: Wed May 9 02:31:05 2012 +0200 Add support for vertical stdisp Also refactor most of the logic of the code into several functions commit 7db995d47bcdf9238a6bfd809d3a13a1b68dd356 Author: Philipp Hartwig <ph...@ph...> Date: Tue May 8 18:11:48 2012 +0200 Restore maximized flag if it was removed because of stdisp commit 76fe22329899ad18167377de65115094058d8024 Author: Philipp Hartwig <ph...@ph...> Date: Tue May 8 16:04:49 2012 +0200 Reorder functions commit 2c6ee375b4bbac9c83a5eb98ffb5b8c1dcd93bb2 Author: Philipp Hartwig <ph...@ph...> Date: Tue May 8 14:45:16 2012 +0200 Fix mistakes in calcluation commit 7d5c5aaa445b21ce5db9b74b627ebc25a1798813 Author: Philipp Hartwig <ph...@ph...> Date: Tue May 8 14:07:14 2012 +0200 Support all horizontal stdisp's Also rearrange most of the code. TODO: - If a vertically maximized frame is horizontally maximized and then restored, check that the saved geometry really fits over the stdisp. - If a vertically maximized frame is horizontally restored, we adapt its height in case the stdisp is removed, but currently the FRAME_MAXED_VERT flag is lost in the process. Preserve it or set it again. commit f8f5c8117a3ef12779844bfd45088c476f77ad62 Author: Philipp Hartwig <ph...@ph...> Date: Sun May 6 23:48:18 2012 +0200 Small cleanup commit 2e0e3a4036b3378bd2d08b64d380c1beb69201ff Author: Philipp Hartwig <ph...@ph...> Date: Sun May 6 23:30:34 2012 +0200 Handle case of non-fs, horiz. stdisp in bl corner This seems to take care of the two problems mentioned in the message to commit 8370a156ae6440e3983486ca4c7a167caf72cf25 in the special case that the potential non-fullsized stdisp is positioned in the lower left corner and has a horizontal orientation. This should be the most commmon case. Adding support for other cases is not difficult (maybe a horizontal stdisp in the upper left corner is not that uncommon?), but it will only happen on request. commit 8370a156ae6440e3983486ca4c7a167caf72cf25 Author: Philipp Hartwig <ph...@ph...> Date: Sun May 6 13:17:14 2012 +0200 Don't ignore the stdisp after all, use less precise verification Removing and readding the stdisp had ugly side effects, like the flickering I've been trying to address with several commits already. New bugs kept showing up and the approach was getting more and more complicated when I tried to fix them. So I've decided to not ignore the stdisp after all. This means that it doesn't make sense to save the geometry for all splits, because the statusbar moves around on horizontal maximization, introducing new splits and messing with the existing ones. I now use a very naive form of verification before restoring the layout, which only consists in checking that all frames have the FRAME_MAXED_* flag set, compare the last commit. This makes things a lot easier and it should be precise enough. TODO: The statusbar is not restored when undoing a horizontal maximization. Two things are causing problems: 1) Simply calling a tiling_manage_stdisp or similar at the end of the restore process causes inacceptable flickering. 2) Resizing the statusbar will cause other windows to be resized. This will possibly lose a FRAME_MAXED_VERT flag on a frame. Right now the statusbar will be automatically restored when for example switching away from and back to the current workspace. Under the right circumstances this causes problem 2) above. commit dd7c0977062f24a65d4fe1b1ee5964450d5c67f2 Merge: ca77656 8e1c79b Author: Philipp Hartwig <ph...@ph...> Date: Sun May 6 13:06:54 2012 +0200 Merge remote-tracking branch 'github/maximization' into maximization commit 8e1c79be963a9b6124352040625e4c6393d24276 Author: Philipp Hartwig <ph...@ph...> Date: Wed May 2 22:30:03 2012 +0200 Replace the word "statusbar" by more correct "stdisp" commit 953d8cd974ac7e9f8ff8ffe577d9bd72644a4483 Author: Philipp Hartwig <ph...@ph...> Date: Wed May 2 22:26:17 2012 +0200 Don't crash and burn if there is neither a statsubar nor a dock commit a708bfc6305b1373f83bd261e749fb32270ee8c7 Author: Philipp Hartwig <ph...@ph...> Date: Wed May 2 21:21:59 2012 +0200 Mark all frames involved in a maximization as maximized While this is of course not technically accurate, is has the effect that we undo a maximization whenever we toggle maximization on a frame that is already part of a maximized split. This is desirable for two reasons: First, it gives the expected result on frames that have optically been maximized in a maximization process but were not the one that we toggled maximization on: ----- ----- | | vert. max. 1 | | | |---| ------------> |1|2| |1|2| | | | ----- ----- Before, trying to untoggle maximization on frame 2 would instead try to maximize frame 2 which is undesirable. With the new behavior a user does not have to remember on which frame he toggled maximization to undo a maximization. This was explicitly requested in the discussion with the subject "Toggle horizontal/vertical maximize behaviour" on ion-general. Secondly, it even seems desirable in the following situation, where a frame has not been optically maximized. ----- ----- | 0 | vert. max. 3 | | | |---| ------------> |1| | |1| | |-|3| |-|3| |2| | |2| | | | | ----- ----- One might argue that restoring the layout when toggling vertical maximization on 2 is wrong because it is not maximized yet, but maximizing frame 2 in this setup would have the ugly side effect of forever losing the original layout and turning frame 0 into an unresponsive frame of height 0. To achieve the desired result a user will now have to toggle maximization on 2 twice, first to restore the actual layout and then to actually maximize it. I find this acceptable, given that the end result is much cleaner. On a side node, this commit also tries to avoid any flickering for the statusbar or the dock. commit 74226dec6db2eb2ffb81ec2300b95391483f1fc1 Merge: 76fa1a3 061a394 Author: Philipp Hartwig <ph...@ph...> Date: Wed May 2 09:33:50 2012 +0200 Merge branch 'maximization' of github.com:AopicieR/notion_aopicier into maximization Conflicts: modulelist.mk system.mk commit 061a3942374a8fae5d454f2e3c3ae4d8e8f51705 Author: Philipp Hartwig <ph...@ph...> Date: Tue May 1 10:36:20 2012 +0200 Only remove part of the maximized flag, v2 Don't remove a maximized flag if the window is only resized because we have not updated the geometry after removing the statusbar. commit c82af3dcd58d66a8cebab8605db7acaecbd065b8 Author: Philipp Hartwig <ph...@ph...> Date: Tue May 1 10:30:43 2012 +0200 Whitespace cleanup commit e47e1c3beeba095dd8165858ff9a1e1d133cf3b7 Author: Philipp Hartwig <ph...@ph...> Date: Tue May 1 10:23:39 2012 +0200 Revert "Only remove part of the maximized flag" I forgot to actually pass the new information to tiling_ignore_statusbar. But more importantly I should not mix whitespace cleanup with actual changes. So let's split this up into two commits and correct one of them. This reverts commit dbfcb2220152955c8140148c90ddd0d616db1420. commit dbfcb2220152955c8140148c90ddd0d616db1420 Author: Philipp Hartwig <ph...@ph...> Date: Tue May 1 01:09:49 2012 +0200 Only remove part of the maximized flag Don't remove a maximized flag if the window is only resized because we have not updated the geometry after removing the statusbar. commit a4e73886ed304824284d785a905d5ec00ab8076c Author: Philipp Hartwig <ph...@ph...> Date: Tue May 1 00:57:19 2012 +0200 Revert "Update geometry, even if we don't redraw the window" Unfortunately this caused some flickering to reappear. This reverts commit 6d95652fa1ee87f77296ca99fe8e0ad22d4bc419. commit 6d95652fa1ee87f77296ca99fe8e0ad22d4bc419 Author: Philipp Hartwig <ph...@ph...> Date: Tue May 1 00:28:56 2012 +0200 Update geometry, even if we don't redraw the window It is important that the geometry information of the window is updated, otherwise we will incorrectly assume that the window has to be resized on the next call to frame_fitrep. commit 88775e8d03c196c3c0dafc631d79b2320482b3fe Author: Philipp Hartwig <ph...@ph...> Date: Mon Apr 30 23:26:45 2012 +0200 Correctly remove maximized flag commit 0fc2159f68f2c0627ee00f5cca449c27cdaeaa3e Merge: b94167e 3c201e9 Author: Philipp Hartwig <ph...@ph...> Date: Mon Apr 30 17:27:18 2012 +0200 Merge remote-tracking branch 'upstream/master' into maximization commit b94167edafeca3c14ee56097d1ff6be7eff17386 Merge: 8982f7d 62b6a9a Author: Philipp Hartwig <ph...@ph...> Date: Thu Apr 26 18:21:44 2012 +0200 Merge branch 'master' into maximization Conflicts: modulelist.mk commit 8982f7dbef11c515360b263398d1320db9ba037e Merge: 516e431 91414f3 Author: Philipp Hartwig <ph...@ph...> Date: Mon Apr 23 16:27:10 2012 +0200 Merge remote-tracking branch 'upstream/master' into maximization commit 516e4317a16d59260dcae896fbaf741d47fd92db Author: Philipp Hartwig <ph...@ph...> Date: Sun Apr 22 11:39:05 2012 +0200 Remove old maximization functions. Rename frame_maximize_vert_2 / frame_maximize_horiz_2 to frame_maximize_vert / frame_maximize_horiz. 2387dcd2d4074be79f5b99947e00b0a8b59a05a6 has dealt with any regressions I was aware of and the new functions should now be a strict improvement over the old ones. commit 2387dcd2d4074be79f5b99947e00b0a8b59a05a6 Author: Philipp Hartwig <ph...@ph...> Date: Sat Apr 21 16:56:24 2012 +0200 Only reprint the windows at the end of the maximization cycle This should avoid flickering and redraw problems. commit 6678c1b32dff5971ea5f0369eaeb78a06bdedf31 Merge: 1ae4788 748db1f Author: Philipp Hartwig <ph...@ph...> Date: Sat Apr 21 09:48:02 2012 +0200 Merge branch 'master' into maximization commit 1ae4788a5001efc11f8926cf1d0123e01249d775 Merge: a5201b6 b476bb1 Author: Philipp Hartwig <ph...@ph...> Date: Thu Apr 19 08:46:56 2012 +0200 Merge branch 'master' into maximization commit a5201b6722d704899d7251a381663f36eb3c076f Author: Philipp Hartwig <ph...@ph...> Date: Sat Apr 14 15:09:17 2012 +0200 Introduce additional check in the verification of a split. commit cc663ff4e136ee4511a625260724fe32ab41e71e Author: Philipp Hartwig <ph...@ph...> Date: Mon Apr 2 22:44:50 2012 +0200 More whitespace. commit 81ef792fdafa11be2374e5e16b7daf7825a90737 Author: Philipp Hartwig <ph...@ph...> Date: Mon Apr 2 22:41:00 2012 +0200 Small refactoring of the verify functions and some whitespace changes. commit 18fe34d9945da635b474fe492929299c00e36b89 Author: Philipp Hartwig <ph...@ph...> Date: Mon Apr 2 16:07:57 2012 +0200 Some cleanup and watching out for NULL pointers. commit 9212776943ecaf43128ae76c9ed72f081e2fa818 Author: Philipp Hartwig <ph...@ph...> Date: Mon Apr 2 12:23:36 2012 +0200 Ignore the statusbar for vertical/horizontal maximization as it massively complicates things, at least when it is not fullsized. commit ad71e6d53a6bf526194fe77802dca7d387bc275c Author: Philipp Hartwig <ph...@ph...> Date: Tue Mar 27 16:22:37 2012 +0200 Introduce new functions frame_maximize_vert_2/frame_maximize_horiz_2 for vertical/horizontal maximization. They are based on the following logic: When maximizing a frame, save the geometry of all frames involved in the process. When demaximizing again, try to restore the original layout using this saved information. ----------------------------------------------------------------------- Summary of changes: ioncore/frame.c | 64 ++++---- ioncore/frame.h | 4 +- ioncore/resize.c | 58 +++++-- ioncore/resize.h | 11 ++ mod_tiling/split.c | 484 +++++++++++++++++++++++++++++++++++++++++++++++++++ mod_tiling/split.h | 6 +- mod_tiling/tiling.c | 17 ++ 7 files changed, 594 insertions(+), 50 deletions(-) hooks/post-receive -- notion window manager core |