summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-11-23xcwm_input_mouse_button_event() doesn't need a windowHEADlibxcwm-20121220masterJon TURNEY3-10/+9
2012-11-22First pass at cursor image supportJon TURNEY5-0/+17
If we haven't seen cursor_serial before, we need to xcb_xfixes_get_cursor_image() and convert to native cursor. A mechanism for caching of converted cursor images would be useful, perhaps something like ??? - If cursor_serial not in cache -- If cache is full, call a registered function to dispose of LRU entry in cache -- Call a registered function do the conversion -- Put result in cache - Pass result from cache in callback here
2012-11-21Handle shaped windowsJon TURNEY7-3/+134
2012-11-21Take ownership of the WM_Sn and _NET_CM_Sn selectionsJon TURNEY1-2/+16
XXX: incomplete
2012-11-21Remove unnecessary dynamic allocation of return_evtJon TURNEY1-65/+49
callback fn should not free() it now
2012-11-21Make xcwm_rect_t bounds and dmg_bounds members, rather than an allocation in ↵Jon TURNEY6-63/+51
xcwm_window_t
2012-11-21Make xcwm_wm_atoms_t a member, rather than an allocation in xcwm_context_tJon TURNEY5-50/+47
2012-11-21Remove some stale codeJon TURNEY2-67/+0
2012-11-21Make xcwm_window_t type opaque in APIJon TURNEY3-47/+40
Retire xcwm_window_sizing_t in favour of xcb_size_hints_t, which contains the full data it was being derived from
2012-11-21Make xcwm_context_t type opaque in APIJon TURNEY4-18/+30
2012-11-21Don't select for and report a lot of events we are not actually interested inJon TURNEY2-73/+1
XXX: Is it ok to select for just one of SubstructureRedirectMask ResizeRedirectMask or ButtonPressMask, the events that only one client may select for? Or should we select for all of them, to ensure no other WM is running?
2012-11-21setup_window_type() fixesJon TURNEY2-3/+14
After testing with metacity-window-demo Use correct length of atom array from xcb_ewmh_get_wm_window_type_reply() Recognize _NET_WM_WINDOW_TYPE_DOCK and _NET_WM_WINDOW_TYPE_DESKTOP Recognize _NET_WM_WINDOW_TYPE_SPLASHSCREEN as a synonym for _NET_WM_WINDOW_TYPE_SPLASH
2012-11-212nd pass at generic window appearance interest frameworkJon TURNEY4-23/+78
2012-11-21Fix description of xcwm_window_constrain_sizing()Jon TURNEY1-2/+4
2012-11-21Fix typos, whitespace, commentsJon TURNEY10-37/+29
Fix typos, whitespace, coments Fix some comments which say "context" when they mean "window", which is confusing because we have a different data type which is called a "context" Remove unused set_wm_name_in_context() prototype Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-21Try to fix a race in configure_request handling which causes windows to be ↵Jon TURNEY1-8/+10
misplaced or misized Would this be fixed by doing xsync() after xcb_configure_window()? Server values for values not in value mask in configure_request can be out of date if xcb_configure_window() we have made to pass on a configure_request hasn't completed yet... Ignoring configure requests for windows we are managing is wrong, it means they can't request to move themselves?
2012-11-21Debug output for CONFIGURE_REQUEST & CONFIGURE_NOTIFYJon TURNEY1-0/+11
2012-11-21Make sure we handle a NULL return from xcwm_window_create() in MAP_REQUESTJon TURNEY3-17/+6
It's not nice to fail to call xcb_map_window() in XCB_MAP_REQUEST, it leaves a window which tries to map in the unmapped state...
2012-11-21TypoJon TURNEY1-3/+2
2012-11-21Handle some crashes shown up by quick_window testJon TURNEY2-3/+9
If the window is deleted very quickly after it is created, we might still be in xcwm_window_create(), trying to obtain window information. Make sure that we just return NULL if the window no longer exists...
2012-11-21Ignore InputOnly windowsJon TURNEY2-7/+21
Don't create a xcwm_window_t for an InputOnly window Handle _xcwm_window_create returning NULL in MAP_NOTIFY
2012-11-21Debug tweaksJon TURNEY1-10/+8
2012-11-21const fix for _xcwm_request_check(), _xcwm_init_extension()Jon TURNEY3-4/+4
2012-11-21Add a .dir-locals.el which sets the coding standardJon TURNEY1-0/+5
Add a .dir-locals.el which sets the something approximating the code standards specified in doc/internal_docs/coding_standard.txt
2012-11-21Add debug output for enter/leave events we listen forJon TURNEY1-0/+18
2012-11-21First pass at a general mechanism for signaling XCWM_ events when a property ↵Jon TURNEY4-35/+92
of interest changes
2012-11-21Initialize local_dataJon TURNEY1-0/+1
2012-11-21Debug tweaksJon TURNEY4-16/+13
2012-11-21Checking the damage area to see if it's got bigger seems pointless when we ↵Jon TURNEY1-45/+7
use the bounding box damage reoprting level It also seems to be buggy somehow...
2012-11-21"All rights reserved" is not goodJon TURNEY2-3/+1
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-21Don't be so keen to return WINDOW_TYPE_UNKNOWNJon TURNEY1-3/+4
2012-11-21Get image of window with alpha channel, if availableJon TURNEY4-13/+57
Use xcb_composite_name_pixmap() to name the off-screen pixmap for the window, replacing it with a new one when the window is mapped or resized. Also name the composite pixmap for adopted windows. (We need to be more careful than currently in MAP_NOTIFY. Always update the name of the off-fscreen pixmap in MAP_NOTIFY, but only generate a XCWM_EVENT_WINDOW_CREATE for override-redirect windows (since one was already generated in MAP_REQUEST for non-override-redirect windows) Ensure border width is zero, as border is included in composite pixmap image of the window.
2012-11-21Add xcwm_window_get_opacity()Jon TURNEY4-3/+47
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-21Add xcwm_window_constrain_sizing()Jon TURNEY4-10/+159
XtoQ appears to rely on the native windowing system to constrain the window size. For Windows, the application has to do this itself. Rather than marhsalling all WM_NORMAL_HINTS data through xcwm, just add a helper function to perform the size constraints for WM_NORMAL_HINTS This supports the aspect ratio constraint, which we seem to be ignoring before. Future work: libxcwm appears to assume that WM_NORMAL_HINTS doesn't change after the window is mapped, which doesn't seem to be guaranteed.
2012-11-21Report XID in hex in focus debuggingJon TURNEY1-1/+1
This helps when comparing with the output of xwininfo -tree -root
2012-11-21Improve XCB_(KEY|BUTTON)_(PRESS|RELEASE) event reportingJon TURNEY1-7/+17
Handle XCB_KEY_RELEASE as well as XCB_KEY_PRESS Reporting keycode as a character isn't that helpful, use a number instead Use correct datatype for each event Report XID in hex Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-21Ignore XCB_MAPPING_NOTIFY eventsJon TURNEY1-0/+3
They are sent to all clients. There is no mechanism to express disinterest in this event. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-21Fix some typosJon TURNEY8-13/+13
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-21Factor out _xcwm_atom_get() utility functionJon TURNEY1-44/+24
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-21Adopt existing windows at startupJon TURNEY1-0/+56
The helps when testing changes to a libxcwm-based WM, as you don't need to restart the clients to see the effect. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-21Fix parameter transposition in xcwm_window_configure()Jon TURNEY3-5/+5
xcwm_window_configure() has width and height parameters in the opposite order to the order used everywhere else. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-21Remove unused x,y parameters to xcwm_input_mouse_button_event()Jon TURNEY3-16/+5
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-21Remove unused button parameter to xcwm_input_mouse_motion()Jon TURNEY3-4/+3
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-21Report an error, rather than just segfaulting, if the X server can't be ↵Jon TURNEY1-0/+5
contacted Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-21Fix a use after free of return_evtJon TURNEY1-1/+1
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-21Update xcb_ewmh_set_supporting_wm_check() for and require xcb-util-wm 0.3.9Jon TURNEY2-2/+6
xcb-util-wm commit 23a4eb6059e0a694e342c3ff41ab076dad50b745, present in 0.3.9, changes the xcb_ewmh_set_supporting_wm_check() API. Update for that and require xcb-util-wm 0.3.9 Use the updated xcb_ewmh_set_supporting_wm_check() to more correctly implement EWMH, setting the _NET_SUPPORTING_WM_CHECK property on the root *and* child window. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-21Clean up a mention of xtoq in libxcwmJon TURNEY1-3/+3
Also, make debug output for injected input events a bit clearer Also, add button number to xcwm_input_mouse_button_event debug output Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-21Fix a lingering XTOQ in an include guard in libxcwmJon TURNEY1-3/+3
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-21Use standard X.Org .gitignoreJon TURNEY1-52/+75
Also keep a few Apple specific patterns Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2012-11-02Install a pkg-config .pc fileJon TURNEY4-2/+24
Install a pkg-config .pc file, along with the library and headers Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>