summaryrefslogtreecommitdiff
path: root/mcwm.c
AgeCommit message (Collapse)Author
2010-07-01Ooops! Deleted the wrong client(s)! Moved delfromworkspace() *into*20100701-3MC
the comparison block.
2010-07-01Call top functions with a struct client instead of window. Check forMC
NULL.
2010-07-01Only set border colour on fixed windows when the user specifically setMC
them fixed, not when starting.
2010-07-01When changing workspaces, remove fixed windows from the current andMC
add them to where we're going to. Take care to save the next pointer so we don't lose our ability to traverse the list.
2010-07-01Give some feedback about fixed windows by changing their focus colour.MC
2010-07-01Delete a window from the workspace list as well when it is destroyed.MC
Initialize all members of client when adding a new window. Add fixed windows to current workspace when starting. Try to move fixed windows with us (that is, add it to the next workspace list) when we change workspaces. #if 0ed right now.
2010-06-30Ahem. *Unsigned* 32 bit integer.MC
Cast a few debug printouts to stop compiler warnings. Removed unused function parameters.
2010-06-30We say in getting and setting properties that the workspace number isMC
a 32 bit integer, so we might as well actually use that type internally as well.
2010-06-30Move adding to workspace from setupwin() to setupscreen() and newwin()MC
to avoid mapping the mysterious GTK client leaders.
2010-06-30Always change to first workspace when starting.MC
2010-06-30Special treatment for focus on fixed windows.MC
2010-06-30Unfocus before unmapping and only if we have a focus.MC
2010-06-30Forget old focus before mapping new windows on new workspace.MC
2010-06-30Added really simple handling of _NET_WM_DESKTOP so windows will belongMC
to the right workspace even if we restart.
2010-06-30Don't check for sameness if focuswin is NULL already.MC
2010-06-30Added virtual workspaces.MC
2010-06-30We don't really need to remember coordinates and geometry for everyMC
client. At least not right now. Same goes for vscreen. Removed them and all code concerning them.
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