Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 ancestors of b66fd70acf90314d
2013-07-30
| ||
00:21 | Make full layout occupy entire area of its parent window. Until now, we were leaving a little space on each side for debugging; that doesn't seem necessary any more... check-in: b66fd70acf user: manuv tags: dev1.x | |
00:17 | Added a function and default key binding to quit Minx. check-in: 33a1e31904 user: manuv tags: dev1.x | |
2013-07-28
| ||
14:56 |
| |
13:06 |
| |
12:49 | Centralized Boost.Python converter registration in python.cc because, for example, both minxlib::display and minxlib::window return STL vectors of window objects and we would like to avoid registering duplicate converters for the same types, a situation more likely to arise when the converters are registered from the pythonize() functions of the different classes. check-in: 471330b4ef user: manuv tags: dev1.x | |
12:14 |
Fixed the sporadic recognitions of key bindings, especially the ones
with modifiers. The problem turned out to be a lack of additional grabs
with the various combinations of the lock modifiers; without these, the
Caps Lock, Num Lock, etc. totally screw up the key binding logic because
the X server doesn't even recognize them and, therefore, doesn't
generate the necessary keyboard events.
Got the idea for this from a cursory perusal of the code for xbindkeys. And now (at long last) key bindings work flawlessly! Getting close to the 0.2.0 release... check-in: 17ccc163e4 user: manuv tags: dev1.x | |
01:29 | Added support for making layouts invisible. check-in: d02dcfd679 user: manuv tags: dev1.x | |
2013-07-22
| ||
17:40 | Added Xinerama support to minxlib::window::screen() so that it returns the screen index based on a window's location, i.e., this function now always returns the physical screen a window is on. check-in: 083960bf79 user: manuv tags: dev1.x | |
2013-07-19
| ||
01:39 | Added compile-time check for Xinerama. check-in: 6bd2c2f038 user: manuv tags: dev1.x | |
2013-07-18
| ||
22:30 | Added support for multi-head configurations with Xinerama. check-in: 657794f774 user: manuv tags: dev1.x | |
2013-07-15
| ||
18:22 | Instead of checking to see if the layout's parent matches a prospective client window's parent to ascertain whether the layout can manage that window, we now check that both are on the same screen. Otherwise, for example, a layout nested within another will never return True when it is checked for receptivity. check-in: 231a2aedce user: manuv tags: dev1.x | |
2013-07-14
| ||
09:11 | Added support for multiple screens. Next: Xinerama. check-in: 923fc7a655 user: manuv tags: dev1.x | |
00:02 |
| |
2013-07-13
| ||
09:41 | Removed hard-coded adjustment for window borders in full layout. A deceptively small requirement that ended up touching quite a bit of code! check-in: ee58a49b66 user: manuv tags: dev1.x | |
2013-07-10
| ||
22:16 | Reworked map and unmap handlers to use layman.find() to ascertain whether or not the event's target window is a top-level window. check-in: b1689f3074 user: manuv tags: dev1.x | |
20:26 | Moved top-level window map request handling from xevents to layout classes. check-in: 53f2e7de4d user: manuv tags: dev1.x | |
19:13 | Moved top-level window configure request handler from xevents into the layout classes. check-in: f345bdb173 user: manuv tags: dev1.x | |
2013-07-09
| ||
20:33 | Moved reparent notification handling from xevents to the layout related classes. check-in: 890341f86e user: manuv tags: dev1.x | |
2013-07-08
| ||
20:51 | Added a base class for layouts. check-in: 5cf0e450c9 user: manuv tags: dev1.x | |
19:33 | Preliminary version of a layout manager (part of the ongoing effort to refactor the code for better layout-related encapsulation/abstraction). check-in: 2fa8845df1 user: manuv tags: dev1.x | |
2013-06-21
| ||
19:06 |
Semi-fix for compound key bindings (e.g., M4-D) being ignored when
non-Minx windows have focus. Had to add key press mask for these
application windows. So now, at least for the terminals, these key
bindings work.
However, target window still gets the key press event (e.g., a terminal window types 'd' when M4-D is pressed). Also, it doesn't work for all windows (e.g., xmessage doesn't respond). So there's still some work to be done here... check-in: bfb7417666 user: manuv tags: dev1.x | |
2013-06-12
| ||
02:21 |
Moved some of the layout code out from minx.core.wm into a
newly added minx.layout.full. Event processing, however, is
still concentrated in minx.core.xevents and should be
refactored out so that it's in the right place.
But at least now we have some basic infrastructure for a separate layouts directory/subpackage. check-in: 0a84c4d950 user: manuv tags: dev1.x | |
2013-06-09
| ||
06:05 | Cleaned up and documented the code a little bit. Also fixed the bug of focus not being handed off properly when a window dies (the problem was due to exceptions not being handled; logging the exceptions in the event loop quickly revealed the issue). check-in: 527f28cf40 user: manuv tags: dev1.x | |
2013-05-26
| ||
08:35 |
Preliminary support for the full layout. Code is in bad shape and there
are some obvious bugs that have to be fixed. Long way to go before we
can release version 0.2.0...
Next steps:
That's when we'll be ready to hit 0.2.0. check-in: ab72e115ad user: manuv tags: dev1.x | |
00:02 |
Don't manage the layout window. This way, it doesn't get added to the
focus list; consequently, it is never focused, which, in turn, means
that killing it isn't possible via key bindings and, so, the window
manager won't nuke itself like that.
Eventually, should implement layouts so that killing them doesn't take down the window manager. check-in: 0d21ae6035 user: manuv tags: dev1.x | |
2013-05-19
| ||
07:35 |
Got rid of minxlib::display::xlib() and just pass a
Display* to the minxlib::window and various
minxlib::event classes.
Also: various minor edits. check-in: fa47a47a48 user: manuv tags: dev1.x | |
05:09 |
Added support for setting window properties. This will allow us to mark
layouts so that we can then handle X events for them properly.
Also some minor fixes to:
| |
2013-05-17
| ||
07:27 |
The first stirrings of support for layouts (finally). After much thought
and some abortive attempts (never checked in), it looks like the way
forward is to implement and treat layouts as windows. While this
approach does not have the attractiveness of a more abstract design
(wherein layouts simply manage rectangles and know nothing of actual
windows), it does offer certain distinct, practical advantages:
Seriously, what's not to like? Now, having touted the numerous benefits and basic soundness (genius, anyone?) of the layouts-as-windows idea, a few words about this check-in: It begins the long and winding road leading to the grand vision described above. At this stage, of course, little of any real use is available. minxlib provides an API for creating new windows and the main window manager object uses it to create a black, top-level window the same size as the root window. That's pretty much it; no window management, tiling, multiple screen support, etc., just yet. In fact, the layout window is just another window that Minx manages. Killing it, hilariously enough, nukes the window manager. check-in: df1a814742 user: manuv tags: dev1.x | |
2013-04-17
| ||
22:42 | Added header comment to logo generation program. check-in: c6e6e8982d user: manuv tags: dev1.x | |
21:15 |
| |
2013-04-14
| ||
12:26 | Added support for nuking windows, i.e., killing them brutally instead of softly (in other words: bypass WM_DELETE_WINDOW). check-in: e9d8811169 user: mvnathan tags: dev1.x | |
11:25 | Updated FAQ and Key Bindings HOWTO with examples of binding keys to the window manager's spawn function. check-in: 984a1e82af user: mvnathan tags: dev1.x | |
10:46 | Added support for launching applications via key bindings. check-in: 6402597f91 user: mvnathan tags: dev1.x | |
07:17 | Documented default key binding for killing windows. check-in: 6a7820dfef user: mvnathan tags: dev1.x | |
06:26 | Added support for WM_DELETE_WINDOW protocol for killing windows. check-in: f6bbf20f61 user: mvnathan tags: dev1.x | |
2013-02-13
| ||
02:06 | Added Doxygen comments. check-in: f9266c9f37 user: mvnathan tags: dev1.x | |
2013-02-12
| ||
16:28 |
Preliminary version of window killing support.
TODO:
| |
2013-02-10
| ||
14:52 | Added a step to the release process to ensure against forgetting to update the embedded doc paths from ckout to rel1.x. check-in: ef108d4645 user: mvnathan tags: dev1.x | |
13:31 |
| |
12:52 | Updated design notes with brief description of minxlib::keymap. check-in: aebd97de46 user: mvnathan tags: dev1.x | |
12:24 | Updated Build and Test HOWTO: F1 is no longer the focus cycling key binding. check-in: 3e66dc5c33 user: mvnathan tags: dev1.x | |
12:03 | Added a Key Bindings HOWTO and updated other related docs as required. Pretty much ready to release 0.1.6 now... check-in: 7b20fa1faf user: mvnathan tags: dev1.x | |
08:46 |
| |
07:41 | Added support for removing as well as renaming existing hooks. check-in: 5774edf933 user: mvnathan tags: dev1.x | |
06:39 | Documented minx.core.wm.focus_next() and focus_prev(). check-in: 9a8c27eacb user: mvnathan tags: dev1.x | |
03:46 |
Ignore lock modifiers when translating key events to key bindings.
Otherwise, the modifier mask used to setup key bindings will differ from
the one received with key events, which messes up the key binding
look-up in minxlib/keymap.cc.
For example, if Num Lock is configured as Mod2, all key events will reported with Mod2 set in case Num Lock is on. Thus, simple F1 presses will be reported and interpreted as Mod2 + F1. If there's no such key binding, Minx will ignore it; if there is such a key binding, Minx will end up executing the wrong function! This commit solves the problem described above. check-in: 7a3edcd1c4 user: mvnathan tags: dev1.x | |
2013-02-09
| ||
07:17 |
TODO: Document minx.core.wm.focus_next() and focus_prev(). check-in: 4aac700f62 user: mvnathan tags: dev1.x | |
06:31 | Added support for ALT and META in key binding specification. check-in: cee77eb8a8 user: mvnathan tags: dev1.x | |
2013-02-08
| ||
08:12 | Updated API documentation to redress the deficiency pointed out in the [afb577d64d|previous commit's] log message. check-in: 5b6e50d49a user: mvnathan tags: dev1.x | |
2013-02-07
| ||
09:50 |
Added support for key bindings. With just a little more rearranging (as
recorded in wiki/todo.wiki), we should be pretty much ready to
release version 0.1.6.
NOTE: Code is in sore need of documentation; many functions have none and, even worse, some of it is downright wrong! check-in: afb577d64d user: mvnathan tags: dev1.x | |
2013-02-03
| ||
02:48 |
Caught a serious bug in pre-release testing for v0.1.5:
minxlib::window::properties() should always return a map
containing the "name", "icon_name", "class",
and "res_name" keys. If the window in question is missing any
of these properties, the value corresponding to that key should be an
empty string; however, the key should always be present.
Otherwise, end-user code will fail if it doesn't check for the existence of these keys in the dictionary returned by the properties() method or fails to handle the resulting KeyError. The problem became apparent when launching an XFCE Terminal, which creates hidden top-level windows without the above properties. The end-user manage_hook then bombs out when it examines the properties map for these hidden windows. check-in: bca46583e9 user: mvnathan tags: dev1.x | |