summaryrefslogtreecommitdiff
path: root/mcwm.c
AgeCommit message (Collapse)Author
2011-03-08In some cases focuswin isn't NULL but is on another workspace. A bug,Michael Cardell Widerkrantz
but needs to be handled.
2011-03-08Explicitly check for NULL client before trying to configure a window.Michael Cardell Widerkrantz
2011-03-08Add support for Alt-Tabbing to the last focused window.Michael Cardell Widerkrantz
2011-02-22Simplify focusnext(). We already have a pointer to our place in theMichael Cardell Widerkrantz
wslist in struct client. Use it! Don't go through the list looking for our data.
2011-02-19Check if geometry really changed before re-arranging windows. If itMichael Cardell Widerkrantz
didn't, do nothing.
2011-02-19Whitespace.Michael Cardell Widerkrantz
2011-02-19Reset per window max state when physical screens change. Now uses aMichael Cardell Widerkrantz
winlist instead of asking the X server for all windows. Leave x coord alone when toggling vertmax.
2011-02-19Spelling in comment.Michael Cardell Widerkrantz
2011-02-19Also grab all keys + SHIFTMOD.Michael Cardell Widerkrantz
2011-02-19Specifically grab the keycodes we bind.Michael Cardell Widerkrantz
2010-11-18Initialize mode_x and mode_y. Not really necessary, but the compilerMichael Cardell Widerkrantz
complained. Added explicit check for mode equals 0 on button release and break immedietely. Easier to read. Added some comments.
2010-11-01Forgot some ifdeffed out code. Removed it.Michael Cardell Widerkrantz
2010-11-01Every client now remembers its place in each workspace window list.Michael Cardell Widerkrantz
See struct client's wsitem[] array. We use this to be able to free a window from a workspace window list without having to traverse all items in all workspace lists. This is stored as an array in the client because a window should be able to occupy several workspaces simultaneously. This also made it possible to clean up changing workspaces. Also added early breaks in focusnext().
2010-09-13Added delete window functionality. This is a patch from ChristianMichael Cardell Widerkrantz
Neukirchen, chneukirchen at the domain gmail.com. I only changed the default key and moved a flush.
2010-08-23If US_POSITION flag is set in WM_NORMAL_HINT, we obey the coordinatesMichael Cardell Widerkrantz
in the window geometry.
2010-08-10Don't raise window on keyboard focus unless it's really occluded byMichael Cardell Widerkrantz
some other window. If we don't find any window to focus on, focus first in list, whatever it is.
2010-08-04Stop already known clients trying to map themselves onto the currentMichael Cardell Widerkrantz
workspace.
2010-08-03If we don't have a focused window at the end of a resize or move,Michael Cardell Widerkrantz
remember to ungrab the pointer and reset the mode! We *do* need EnterNotify events with mode Ungrab! Users might do strange things, like not letting go of a mouse button or a grabbed key until they have entered a window, and we still want to change focus if they do.
2010-07-28Added comments.Michael Cardell Widerkrantz
2010-07-28Added some comments.Michael Cardell Widerkrantz
2010-07-28Change order of comparison with errno EINTR from select(). SeemsMichael Cardell Widerkrantz
nicer. Break out of loop if we get EINTR instead of continue. Same effect since the for loop ends when sigcode != 0, but this makes it more explicit.
2010-07-28We don't care about EnterNotify pseudo events when ungrabbing.Michael Cardell Widerkrantz
2010-07-28Don't bother to try to set focus if we get an EnterNotify for a windowMichael Cardell Widerkrantz
we don't know anything about. This seems to fix the unclutter(1) problem.
2010-07-23Take size increments into consideration when vertically maximizing,Michael Cardell Widerkrantz
but not totally maximizing. Remember to forget about a window being vertically maxed when resizing it.
2010-07-23Oops. Check for min_width in mouseresize() as well.Michael Cardell Widerkrantz
Add check for minimum size when resizing by keyboard.
2010-07-23We initially set size increments to 1, so check for that instead.Michael Cardell Widerkrantz
2010-07-23Get size hints when initializing window.Michael Cardell Widerkrantz
Better use of size increments when mouse resizing.
2010-07-22When doing keyboard resize: Only warp pointer if it was inside theMichael Cardell Widerkrantz
window to begin with.
2010-07-22Use MOVE_STEP.Michael Cardell Widerkrantz
2010-07-22Typo.Michael Cardell Widerkrantz
2010-07-21Special treatmeant for fully maximized windows: Don't allow move orMichael Cardell Widerkrantz
resize.
2010-07-21Renamed die() to cleanup() and make sure we quit with an explicitMichael Cardell Widerkrantz
exit() instead.
2010-07-21Take into account the window border as well.Michael Cardell Widerkrantz
2010-07-21Only warp pointer when moving by keyboard if the pointer is inside theMichael Cardell Widerkrantz
window to begin with.
2010-07-21Warp pointer inside window if outside when moving with keyboard. AlsoMichael Cardell Widerkrantz
use helper functions.
2010-07-21More explicit checks for client == NULL. Added debug output as well.Michael Cardell Widerkrantz
2010-07-21Use xcb_poll_for_event() and block on select() instead ofMichael Cardell Widerkrantz
xcb_wait_for_event() so we can react on signals right away instead of waiting for the next event.
2010-07-21Raise window before moving to corner, otherwise we might end up underMichael Cardell Widerkrantz
another window.
2010-07-21Check if we have a focused window before doing anything!Michael Cardell Widerkrantz
2010-07-20Moved xcb_disconnect() to die().Michael Cardell Widerkrantz
Added comments about pathological case of findclient() returning NULL to setfocus().
2010-07-20Send KeyPress event to focused window if we don't know what to do withMichael Cardell Widerkrantz
it.
2010-07-20Use signal() instead of sigaction() so we can compile cleanly with C99Michael Cardell Widerkrantz
on modern GCCs and Linux. Cast to void * when using %p.
2010-07-20Typo.Michael Cardell Widerkrantz
2010-07-20Oops. Forgot ; at end of PDEBUG(). Didn't notice since I compiledMichael Cardell Widerkrantz
without DEBUG for the release. Sorry. Changed comment about ConfigureNotify. Added FIXME.
2010-07-20Use SHIFTMOD as defined in config.h. Thanks to Christian NeukirchenMichael Cardell Widerkrantz
for spotting that I didn't use it.
2010-07-19win may have been used uninitialized!Michael Cardell Widerkrantz
Removed the decleration and use e->child and corresponding variables instead. Used focuswin in several places instead with explicit checks for the disastrous case focuswin == NULL.
2010-07-19Used the wrong types for width and height in several places!Michael Cardell Widerkrantz
Changed resizestep() to use getpointer() and getgeom().
2010-07-19Use new helper functions to get geometry to avoid memory leaks.Michael Cardell Widerkrantz
Change types to correct types.
2010-07-19Added Y, U, B and N keys to move focused window to corners.Michael Cardell Widerkrantz
Also added helper functions to get geometry and pointer information. Used the getgeom() function in arrangewindows() and discovered memory leaks.
2010-07-18Don't warp pointer to the same place it already was at when doingMichael Cardell Widerkrantz
keyboard resize. Instead, only warp when we risk losing the pointer to another window.