From: Daniel Déchelotte <yo....@free.fr> Here are the drawers again, this time on next.
Let me explain a bit the "vision" driving patches 15 to 20. Once I had drawers to organize my appicons, I found I only used the clip to change workspace. Also, the dock's top tile (the "anchor") was still strictly useless. So I thought I would offer the option to add the workspace switching capability to the dock's anchor tile, and suppress the clip. Because I was so used to have the clip at the bottom, I first allowed appicons above the dock (patch 18), made it convenient to move the dock up and down without moving all appicons manually (patch 19) and finally added the option to change workspaces from the dock's anchor tile (patch 20). This way, it's like having the clip "docked in the dock", and no lost tile on top! Icing on the cake, when a external monitor is connected, the "clip" stays with the dock, instead of floating in the middle of one monitor (although I should say that all situations have not been thoroughly tested, far from it). I'm tempted to say that all patches up to 12 are suitable for inclusion (you tell me). Then, patches could be included --after due review-- as is, or reordered: patches 17-20 and only then patches 13-16 for the drawers. FWIW, even though the latter really makes sense, I would prefer the former (keeping the order shown here), because that's the way the code has been tested. But this is why I'm sharing the code: to get feedback. :) Daniel Déchelotte (20): Deleted useless test Avoid clip flickering when docking an appicon BF for "some obscured windows briefly appears when switching workspaces" Fix leading spaces in comment (trivial) WPrefs: consolidate the 2 createImages static functions into a global one Consolidated all code checking whether a tile is fully on screen in one static function Make the clip's auto-delays configurable WPrefs: new Docks pannel, to change auto-expand/collapse/etc delays Increase MAX_WINDOWLIST_WIDTH from 160 to 400 (in pixels) Bring back some "About" information when double-clicking the dock Move code that removes icons from a dock to new removeIcons function Merging appicon.c:appIconMouseDown and dock.c:handleIconMove into appicon.c:wHandleAppIconMove Added wDefaultPurgeInfo to remove what we stored about a given instance-class couple. Added a SlideWindows function to handle horizontally-aligned array of windows Add drawers to wmaker! WPrefs: adds possibility to disable drawers from Docks panel Real-time dock left-right swapping Allow appicons above the dock Wrap appicons when dock is moved up and down Add option to merge the workspace-switching functionality into the dock WPrefs.app/Configurations.c | 41 +- WPrefs.app/Docks.c | 310 +++++ WPrefs.app/Makefile.am | 1 + WPrefs.app/WPrefs.c | 58 + WPrefs.app/WPrefs.h | 7 + WPrefs.app/Workspace.c | 163 +-- WPrefs.app/tiff/Makefile.am | 1 + WPrefs.app/tiff/dockclipdrawersection.tiff | Bin 0 -> 4188 bytes WPrefs.app/tiff/drawer.tiff | Bin 0 -> 9556 bytes WPrefs.app/xpm/Makefile.am | 1 + WPrefs.app/xpm/dockclipdrawersection.xpm | 307 +++++ WPrefs.app/xpm/drawer.xpm | 1149 +++++++++++++++++ WindowMaker/Defaults/WindowMaker.in | 5 + WindowMaker/Icons/Drawer.png | Bin 0 -> 1420 bytes WindowMaker/Icons/Makefile.am | 1 + debian/debianfiles/conf/WMWindowAttributes | 1 + src/WindowMaker.h | 9 + src/appicon.c | 441 +++++-- src/appicon.h | 1 + src/defaults.c | 49 +- src/defaults.h | 3 + src/dock.c | 1930 ++++++++++++++++++++-------- src/dock.h | 21 +- src/dockedapp.c | 3 + src/funcs.h | 1 + src/icon.c | 14 +- src/icon.h | 1 + src/main.c | 3 + src/misc.c | 19 +- src/screen.c | 17 + src/screen.h | 18 +- src/session.c | 38 +- src/startup.c | 8 + src/superfluous.c | 74 -- src/superfluous.h | 1 - src/wconfig.h.in | 16 +- src/wdefaults.c | 31 + src/workspace.c | 38 +- 38 files changed, 3846 insertions(+), 935 deletions(-) create mode 100644 WPrefs.app/Docks.c create mode 100644 WPrefs.app/tiff/dockclipdrawersection.tiff create mode 100644 WPrefs.app/tiff/drawer.tiff create mode 100644 WPrefs.app/xpm/dockclipdrawersection.xpm create mode 100644 WPrefs.app/xpm/drawer.xpm create mode 100644 WindowMaker/Icons/Drawer.png -- 1.7.10.4 -- To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.