Age | Commit message (Collapse) | Author | |
---|---|---|---|
2011-06-07 | * New function configurerequest(). Moved ConfigureRequest code to its | Michael Cardell Widerkrantz | |
own function. In configurerequest(), consider monitor size when changing window coordinates and size. Forgot events() declaration! | |||
2011-06-07 | No need to get geometry in newwin(). We do that in setupwin(). | Michael Cardell Widerkrantz | |
When we get a ConfigureRequest() we mustn't stop if the window is unknown to us. This might be a client that hasn't even tried to map itself yet! Work around it. | |||
2011-06-05 | Comments. | Michael Cardell Widerkrantz | |
2011-06-04 | Take output coordinates into consideration when resizing with limits. | Michael Cardell Widerkrantz | |
2011-06-04 | When we get a ConfigureRequest for coords or size we need to update | Michael Cardell Widerkrantz | |
the client. | |||
2011-06-01 | Removed unused active variable. | Michael Cardell Widerkrantz | |
Removed done FIXMEs. | |||
2011-06-01 | Always set borders again after unmaxing when we move to new screen. | Michael Cardell Widerkrantz | |
Count borders in width and height when fitting on screen. Remove unneccessary getgeom() from topright(). We know the geometry. | |||
2011-06-01 | Moving to corners must change client's coords. | Michael Cardell Widerkrantz | |
2011-05-31 | Added at least some RANDR support. | Michael Cardell Widerkrantz | |
Now keeps track of physical monitors in list monlist of struct monitor. Subscribes to a RANDR notification and updates our view of the physical outputs. Two new keys: Mod + , and . to move windows back or forwards on physical screens. Uses new functions prevscreen() and nextscreen(). New functions: - setuprandr(). Initialize RANDR extension. - getrandr(). Get resources from RANDR extenstion. - getoutputs(). Goes through all video outputs and stores them in list. - fitonscreen(). Before mapping a window, make sure it fits on the screen. Rewrote a lot of functions to use this instead of their own code. - movelim(). Move a window with physical screen limits. Rewrote functions to use this. - resizelim(). Resize a window with physical screen limits. Rewrote functions to call this. - findmonitor(). Looks for an output in list by ID. - findmonbycoord(). Ditto but with x,y coordinates. If coords are within an output, we return it. - delmonitor(). Removes output from list. - addmonitor(). Add it. Simplified many functions. | |||
2011-03-29 | Always work on the currently focused window when moving and resizing | Michael Cardell Widerkrantz | |
and not in the window the mouse cursor happen to be in when the mouse button is pressed. However, just do move and resize if the mouse cursor is inside the window we care about. There's a limit to sloppy focus. It gets confusing and we might lose focus to another window if we allow move and resize *and continue to put the mouse cursor back to where it was when starting, relative to the window*, as we do now. Removed code for special handling of the root window. We don't use it anyway. Extra checks for focuswin == NULL. | |||
2011-03-28 | Always raise window when fixing it on all workspaces. When moving | Michael Cardell Widerkrantz | |
windows between workspaces, this makes us sure we can find it on the workspace we're going to. Thanks to Simon Friis for noticing. | |||
2011-03-28 | Removed USERKEY_MOD and KEY_ALT special handling. Now asks X server | Michael Cardell Widerkrantz | |
for keycodes with MODKEY mask instead and checks for those. Also stops tabbing around not only when MODKEY keys are released, but also when another MODKEY command is pressed. | |||
2011-03-20 | Check explicitly for key and modifier mappings when remapping the | Michael Cardell Widerkrantz | |
keyboard. We don't want to do anything when mouse buttons have been remapped. | |||
2011-03-20 | Handle mapping notify and regrab of keys. When implementing this we | Michael Cardell Widerkrantz | |
leaked memory. Noticed that we need to use special free() function for keysyms. | |||
2011-03-08 | In some cases focuswin isn't NULL but is on another workspace. A bug, | Michael Cardell Widerkrantz | |
but needs to be handled. | |||
2011-03-08 | Explicitly check for NULL client before trying to configure a window. | Michael Cardell Widerkrantz | |
2011-03-08 | Add support for Alt-Tabbing to the last focused window. | Michael Cardell Widerkrantz | |
2011-02-22 | Simplify focusnext(). We already have a pointer to our place in the | Michael Cardell Widerkrantz | |
wslist in struct client. Use it! Don't go through the list looking for our data. | |||
2011-02-19 | Check if geometry really changed before re-arranging windows. If it | Michael Cardell Widerkrantz | |
didn't, do nothing. | |||
2011-02-19 | Whitespace. | Michael Cardell Widerkrantz | |
2011-02-19 | Reset per window max state when physical screens change. Now uses a | Michael Cardell Widerkrantz | |
winlist instead of asking the X server for all windows. Leave x coord alone when toggling vertmax. | |||
2011-02-19 | Spelling in comment. | Michael Cardell Widerkrantz | |
2011-02-19 | Also grab all keys + SHIFTMOD. | Michael Cardell Widerkrantz | |
2011-02-19 | Specifically grab the keycodes we bind. | Michael Cardell Widerkrantz | |
2010-11-18 | Initialize mode_x and mode_y. Not really necessary, but the compiler | Michael Cardell Widerkrantz | |
complained. Added explicit check for mode equals 0 on button release and break immedietely. Easier to read. Added some comments. | |||
2010-11-01 | Forgot some ifdeffed out code. Removed it. | Michael Cardell Widerkrantz | |
2010-11-01 | Every 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-13 | Added delete window functionality. This is a patch from Christian | Michael Cardell Widerkrantz | |
Neukirchen, chneukirchen at the domain gmail.com. I only changed the default key and moved a flush. | |||
2010-08-23 | If US_POSITION flag is set in WM_NORMAL_HINT, we obey the coordinates | Michael Cardell Widerkrantz | |
in the window geometry. | |||
2010-08-10 | Don't raise window on keyboard focus unless it's really occluded by | Michael Cardell Widerkrantz | |
some other window. If we don't find any window to focus on, focus first in list, whatever it is. | |||
2010-08-04 | Stop already known clients trying to map themselves onto the current | Michael Cardell Widerkrantz | |
workspace. | |||
2010-08-03 | If 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-28 | Added comments. | Michael Cardell Widerkrantz | |
2010-07-28 | Added some comments. | Michael Cardell Widerkrantz | |
2010-07-28 | Change order of comparison with errno EINTR from select(). Seems | Michael 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-28 | We don't care about EnterNotify pseudo events when ungrabbing. | Michael Cardell Widerkrantz | |
2010-07-28 | Don't bother to try to set focus if we get an EnterNotify for a window | Michael Cardell Widerkrantz | |
we don't know anything about. This seems to fix the unclutter(1) problem. | |||
2010-07-23 | Take 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-23 | Oops. Check for min_width in mouseresize() as well. | Michael Cardell Widerkrantz | |
Add check for minimum size when resizing by keyboard. | |||
2010-07-23 | We initially set size increments to 1, so check for that instead. | Michael Cardell Widerkrantz | |
2010-07-23 | Get size hints when initializing window. | Michael Cardell Widerkrantz | |
Better use of size increments when mouse resizing. | |||
2010-07-22 | When doing keyboard resize: Only warp pointer if it was inside the | Michael Cardell Widerkrantz | |
window to begin with. | |||
2010-07-22 | Use MOVE_STEP. | Michael Cardell Widerkrantz | |
2010-07-22 | Typo. | Michael Cardell Widerkrantz | |
2010-07-21 | Special treatmeant for fully maximized windows: Don't allow move or | Michael Cardell Widerkrantz | |
resize. | |||
2010-07-21 | Renamed die() to cleanup() and make sure we quit with an explicit | Michael Cardell Widerkrantz | |
exit() instead. | |||
2010-07-21 | Take into account the window border as well. | Michael Cardell Widerkrantz | |
2010-07-21 | Only warp pointer when moving by keyboard if the pointer is inside the | Michael Cardell Widerkrantz | |
window to begin with. | |||
2010-07-21 | Warp pointer inside window if outside when moving with keyboard. Also | Michael Cardell Widerkrantz | |
use helper functions. | |||
2010-07-21 | More explicit checks for client == NULL. Added debug output as well. | Michael Cardell Widerkrantz | |