summaryrefslogtreecommitdiff
path: root/mcwm.c
AgeCommit message (Collapse)Author
2010-06-29Added focus change from keyboard, Mod2-TAB. For now, it's a simpleMC
window ring. This also means focuswin is now a pointer to a struct client and that we have a linked list of all mapped windows not in override redirect mode.
2010-06-24Added debug printouts for incoming events.MC
2010-06-24Added real colour handling and -f and -u options for setting them.MC
2010-06-23We need both normal and ungrab enter notify events.MC
2010-06-23Ignore windows with override redirect set when initializing at start.MC
Don't bother setting focus when entering a window if the event notify says we're not in a normal state, e.g. the pointer is grabbed by some client (including us).
2010-06-23Move terminal variable into struct conf.MC
2010-06-23Handle a request to set border width, but only set it to BORDERWIDTH.MC
Handle setting of sibling. Handle stacking order request.
2010-06-23A MapRequest always place the window on top in the stacking order.MC
Removed superflous raisewindow().
2010-06-22Added terminal option.MC
Added help text. Removed unused "m" option.
2010-06-22Fork twice(!) when starting new terminal. Also wait for the firstMC
child to exit so we don't leave any zombies.
2010-06-22Include stdint explictly.MC
Handle default case in keypress switch.
2010-06-21Add handling of Circulate Request of subwindows. Now xpdf searchMC
works! \o/
2010-06-21Don't need to set focusin twice.MC
2010-06-21Quote ICCCM.MC
2010-06-21Removed the size hints in newwindow().MC
ICCCM seems to indicate we should use geometry and allow configure requests from the client to change size instead.
2010-06-21Removed comment about xterm. It seems it sends a Configure Request toMC
reconfigure its own geometry! Added debug printouts in Configure Request.
2010-06-21Care about at least some of the stuff in an CONFIGURE REQUEST event,MC
namely size and position.
2010-06-21When we get a new window, check for size hints and compare them to theMC
initial geometry. If they disagree, use the size hints instead. Use 0,0 as origo! Duh. If we get a new very large window, resize it to fit our screen before mapping. Use the XCB_EVENT_MASK_STRUCTURE_NOTIFY mask on the root window, so we get CONFIGURE NOTIFY events from the root window itself! This means that if RANDR suddenly changes the geometry we get to know about it. Handle it gracefully.
2010-06-20Raise first when maximizing vertically.MC
2010-06-20Use pointer hints when moving or resizing with mouse instead of allMC
motion events.
2010-06-20Oops. Wrong types.MC
2010-06-20- Read some ICCCM hints and use at least some of them.MC
- R now toggles stack order. - Resize in window defined steps if we have hints. - Move window to cursor position when mapping. Try to fit it on screen. - Focus on window under pointer when starting. - Keypress should deal with focused window, not the window where the key was pressed, which might be root. Sloppy focus, remember? - Never mind trying to run if we can't be the window manager.
2010-06-19Raise window when doing resize by keyboard.MC
Don't raise window every time we do an incremental mouse move or resize. Just do it at the beginning.
2010-06-19Try subscribing to SUBSTRUCTURE REDIRECT events first and fallback toMC
SUBSTRUCTURE NOTIFY if that fails (ie, another window manager is running). This means we can still run simultaneously with another wm. newwin(): New function. Gets called when we're the only wm when new windows wants to be mapped. We map them at the position of the pointer. Don't map all existing windows when starting at all. Removed -m. Moved events loop to its own function, events().
2010-06-18Added global configuration struct and handle two options:MC
-b for draw no borders, ever. -m for not mapping windows when starting.
2010-06-18Version 20100618.20100618MC