d03b2d1408
Changes from 0.62.1 to 0.65.0: - added Taiwan Chinese (zh_TW), Hungarian (hu_HU), Latvian (lv_LV), Korean (ko_KR), Norwegian (no_NO), Polish (pl_PL), Romanian (ro_RO) and Ukrainian (uk_UA) nls files and updated most of the others. - removed the Estonian (ee_ET) and Turkish (tr_TR) locales due to their being heavily out of date and unmaintained - remove slit and netwm as compile time options - strip much of BaseDisplay's original functionality and move it to the blackbox class. - huge amounts of internal cleanups - added emacs local variables to each file that prevent the addition of tabs - added a Util.cc file which contains useful functions with no obvious home. - move code over to the STL - removed several unused variables and otherwise reduced the memory usage of the objects in Blackbox. For the record the binary is roughly 100k larger than 0.62.0 and that is mostly due to the STL but there is also a fair bit of new code. However for the most part blackbox runs faster and is still one of the leanest window managers out there today. - bsetroot now sets _XROOTPMAP_ID, so pseudo transparent apps will be happy - beginnings of a strut implementation. toolbar and slit are removed from the available screen area if 'full maximize' is not set - XReparentWindow sends an UnmapNotify to the window manager however in certain cases the window is already unmapped so the window manager never gets the event and the unmapNotify event is where reparentNotify was handled. Added a reparentNotifyEvent handler in the BlackboxWindow class and a new case in the Blackbox class's process_event function. - no more blackbox->grab/ungrab calls everywhere - compression of motion and expose - Now we have one function which turns ~/ into /home/user/. This is now called everywhere this expansion should be done. Even added this to the resource.menu_file so now the menu file may be specified as ~/blackbox_menu. - added a TimerQueue which is a priority_queue with the ability to release items it contains before they reach the top of the queue. Also added a TimerQueueManager protocol class which BaseDisplay now inherits from. - BTimer now defaults to NOT recurring. Most of the timers in blackbox were one shots so I saw little benefit in defaulting to repeating timers. - update transient handling, should solve issues with apps like acroread. added a getTransientInfo() method of the BlackboxWindow class which handles checking the transient state in X and setting the appropriate variables on the window. To attack the infinite loops this function ensures that client.transient != this and we check for loops of the form A -> B -> C -> A. The new transient code also allows for one window to have multiple transients so applications like xmms and web browsers are better behaved. - even better ICCCM support and focus handling - wmswallow works - fix for clock clipping in the toolbar - better support for non decorated windows and toggling decor - the geometry window shown when moving or resizing a window now handles the parentrelative setting better. parentrelative support has been improved for all of the other widgets as well. - better window group handling - improved edge snap support (still no window to window snapping) - changing preferences no longer leads to windows being raised - the window's "send to" menu ignores the current workspace, which is a better UI approach - new placeWindow algorithm. Blows the old one out of the water. Not only is it faster but it is also cleaner code too (-: Went from number 5 in the profiling results to under 30. Image rendering is now the slowest part of managing of new windows. Because of the new code layout, support is now there for new and different layout options but this will wait for after 0.65.0. - smart window placement ignores shaded windows now - new option in the Config menu which allows Scroll Lock to disable Blackbox's keybindings. |
||
---|---|---|
.. | ||
CHANGES | ||
CHANGES-1997 | ||
CHANGES-1998 | ||
CHANGES-1999 | ||
CHANGES-2000 | ||
CHANGES-2001 | ||
HACKS | ||
TODO |