TODO for golem ============== - right now it is neccesary to include themes before plugins so that forplugs get registered; it'd be nice to just wait to call init() till after the rcfile is completly parsed so that this restriction doesn't exist. - draw_zoomrects is still in the main golem code, along with winbox stuff; the winbox stuff must temporarily remain there until some later date when it will be hookable by plugins but there will probably need to be a default built into the main golem binary always. - snapping to edges while moving - allow a dgroup to inheirt from one or more other dgroups - do title text colors on a per-dgroup basis; perhaps even depending on if it's focus or unfocused. - do render extension for title text - optimize the reshaping when clients are resized. you don't need to be reshaping things on the TOP or LEFT that have type set to NEAR, etc, unless something is overlapping it like a FULL - partially done; being temporarily postponed because it's only noticable when you are running golem across a network; for instance to a xterminal, etc. However, it is a goal for golem to work well in those conditions and thus this must be done at some point. - shaped decor units with type of DA_FULL are unusable. this _must_ be fixed - info windows to give geometry during resize/move. + plugins o a mechanism for plugins to export apis to other plugins; so a "library" plugin can be loaded to provide functions for doing something that several other plugins would wish to use o plugin management plugin, to load/unload other plugins. - this could be semi-problematic because all the plugin parameters are freed after rcfile parsing. At first I'll probably just allow unloading and viewing which ones are loaded...this entire idea may just be rolled into the following plugin: o ipc controlability plugin - plugin to allow external programs to send X ICCCM messages to the windowmanager to make it do stuff. to the user this would mean the possibility of a shell-like program that has commands that tell the window manager to do stuff (a la eesh from Enlightenment). o gnome-compliance plugin partially implemented: @ _WIN_LAYER @ _WIN_STATE @ _WIN_HINTS o _WIN_APP_STATE o _WIN_EXPANDED_SIZE o _WIN_ICONS o _WIN_WORKSPACE_NAMES @ _WIN_WORKSPACE @ _WIN_WORKSPACE_COUNT @ _WIN_AREA_COUNT @ _WIN_AREA @ _WIN_CLIENT_LIST @ _WIN_DESKTOP_BUTTON_PROXY o improve simple_menus plugin with better themability, keyboard control, etc. o circular menus plugin @ a 'dock' plugin (the pier) - needs to use managed client for stacking layer @ animations for zooming/iconification, moved into plugin - need support for animations to have option things. like how fast it should go, or how many frames, and the like. o maybe an iconbox o manpages for plugins, with explainations of parameters o allow registration of new keybindings by plugins o plugin timer callouts for timed plugin callbacks Low Priority ============ - Eventually I need the whole colormap shit: I always use 24bit mode or 1bit mode so it's really not gonna happen until I'm good and bored. http://www.tigr.net/afterstep/X/xlib/color/ - shading windows. this is a really useless thing if you have workspaces...but it looks pretty cool, so I'll add it at some point.