foo-wm

(Archived) Experimental Zooming IPC-based WM
git clone http://milesalan.com/git/foo-wm
Log | Files | Refs | Mirror | README | LICENSE

DateCommit messageAuthorFiles+-
2013-11-07 00:39Fixed a linking issue with GNU ld.adamnew1234561+4-3
2013-02-24 02:02Assert for building json that there is given nodemil1+1-0
2013-01-27 23:03Merge branch 'master' into dimensions-commandmil7+104-113
2012-11-25 15:32Added dimensions command to commands.cMiles Sandlar1+14-0
2012-11-21 20:07Windows sending configure before map configured xterm no longer has long delay to get mappedMiles Sandlar1+5-6
2012-11-21 19:40re-indentMiles Sandlar1+14-14
2012-11-21 19:03Some changesMiles Sandlar1+9-16
2012-11-21 18:47formattingMiles Sandlar1+5-3
2012-11-21 18:46Updates to readmeMiles Sandlar1+27-18
2012-11-21 04:04Id json in return just returns the X IdMiles Sandlar4+2-8
2012-11-21 03:14Un-necessary \0 in sprintfMiles Sandlar3+5-9
2012-11-19 20:48Added suport for ICCCM WM_DELETE_WINDOW Atom Windows should now properly quit No more zombied processesMiles Sandlar5+51-2
2012-11-16 22:36Fix some bugsMiles Sandlar5+90-97
2012-10-27 23:38Merge branch 'master' of github.com:mil/foo-wm=3+101-31
2012-10-24 16:59Added a bug=1+1-0
2012-10-24 01:50Forgetful things=3+11-5
2012-10-24 00:26Added some prototypes=3+3-2
2012-10-24 00:14Swap nodes updating parent & child appropriatly=1+8-5
2012-10-23 17:13Preliminary implementation of swap IPC command=1+16-0
2012-10-23 16:53uncontainerize no longer a command Can be scripted via focus and shift pc -1=1+0-6
2012-10-23 16:53Added a bug to todo=1+10-0
2012-10-23 04:07Added ruby socket client=1+20-0
2012-10-23 04:06Fix responses dumping tree=1+1-1
2012-10-19 01:23Added a working uncontainerize command=2+58-0
2012-10-12 09:27Added getNodeById and 'focus brother/pc/id number'=3+11-0
2012-10-12 09:19More concise focus command - use getBrother getBrother is faster than looping. -- Still neeed similar (getPc) Accomodate for focus by id=1+12-15
2012-10-12 08:56Added index/id to struct Node{}=3+9-2
2012-10-11 16:41Bugfix with containerize making node dissapear Proper check=1+2-2
2012-10-11 15:55Added responses.c/h=2+85-0
2012-10-11 15:46Moved JSON responses to seperate responses.c Removed dumpTree for dumping to STDERR=4+7-105
2012-10-11 15:21'get marks' returns JSON formmated list of marks Removal of direction to int conversion Minor bug/typo fix=3+25-10
2012-10-08 16:20Variable sized response size for the client Buffer is printed as it is recieved=1+7-6
2012-10-08 06:01crawlNode now produces json output=3+40-31
2012-10-08 04:14Cleaning up crawlNode with simplicity=1+25-27
2012-10-03 06:08areBrothers function and a bug fix=2+27-13
2012-10-02 22:36Added some thing=1+7-1
2012-09-25 21:29Added bug=1+1-0
2012-09-25 16:53Clarifications=1+5-1
2012-09-25 16:51Added a bug=1+1-0
2012-09-25 16:46Added TODO=1+24-0
2012-09-24 18:06Some checking=1+2-1
2012-09-18 21:14focus pc negative delta works correctly now=2+13-15
2012-09-18 01:59No free on container=1+1-1
2012-09-18 01:53Minor fixes for crashing=5+16-12
2012-09-17 19:41Removed malloc'ing in util for now=1+3-0
2012-09-11 15:39Add more info for get/set=1+18-3
2012-09-11 15:29Added info to README=1+9-3
2012-09-11 05:31Add proto, simplifications=3+7-8
2012-09-11 05:21Remove unessecary cruft=2+6-7
2012-09-11 05:17Working tree dump via socket=6+71-44
2012-09-04 17:02Include NULL byte in util, other socket bug fixes=3+7-6
2012-09-04 15:22Added prototypes to commands and util=2+2-0
2012-09-04 01:08Work on socket server/client=5+34-7
2012-08-31 01:45Fix bugfix cycle focus when zoomed on max layout=2+8-7
2012-08-29 23:56Work on the set command=1+2-3
2012-08-28 02:27Added recalculateRootDimensions to util protos=1+1-0
2012-08-28 02:24Set client and container padding with IPC=1+5-1
2012-08-27 15:11Set border width with set command=1+2-2
2012-08-27 14:48Added get and set commands to alter padding=7+65-28
2012-08-23 03:13Properly close socket return FD for accept Fixes bug here socket stops responding after 1000+ commands=2+5-4
2012-08-21 19:59Remove container on destroyNode if container empty=3+25-21
2012-08-21 19:04Shift working with delta values=3+27-12
2012-08-21 18:36More cleanup and getBorderColor broke into own fnc=5+40-39
2012-08-21 17:01Rename move to shift=3+10-10
2012-08-21 16:45More organization=2+124-114
2012-08-21 16:38Organization=6+245-241
2012-08-21 16:12Remove focusing by direction - should be scripted=3+30-161
2012-08-21 15:53Simple bug fix=1+1-0
2012-08-20 00:19Only re-place the old focus if its within the view=2+4-3
2012-08-19 22:44Fix highlight when focusing pc +=1+10-3
2012-08-19 22:29unMap the viewNode rather than just focusedNode=1+2-5
2012-08-19 21:47Added info on how to use mark and jump=1+12-0
2012-08-19 21:44Added mark and jump commands=5+46-1
2012-08-19 01:06Small changes=3+8-18
2012-08-17 21:46Work toward making shift functional again=3+51-32
2012-08-17 01:37Remove getNodeByDirection getClientByDirection is only applicable=2+0-20
2012-08-17 01:34Added nodeIsParentOf() fix drection shifting bug If direction shift outside of viewnode things screw up -- fixed=3+18-3
2012-08-17 00:57Containerize on wrong level bug if on root node=2+4-4
2012-08-16 02:29Bugfix for crash on containerizing the root node=1+1-1
2012-08-16 02:22Fix cast warning=1+1-1
2012-08-16 02:21Spaces instead of tabs and fixing up warnings=11+870-868
2012-08-16 02:14Tiny ignorant bugfix=1+4-2
2012-08-16 02:07Bugfixes for directional focusing=3+12-8
2012-08-12 04:56Added focusOrChildOf() to util and replaced rep=3+9-4
2012-08-12 04:48Handling saving the focus in getClientByDirection=1+5-2
2012-08-12 04:41Added getClientByDirection. focuse uses new fn getClientByDirection returns nears client in direciton Old getNodeByDirection returns nearest node (client OR container)=3+30-2
2012-08-07 13:24Broke getNodeByDirection in a sep fn in tree.c Used by shift and focus direction=3+19-15
2012-08-07 03:43Directional focusing in xbindkeys=1+15-5
2012-08-07 03:25Directional focusing with: focus direction=1+3-2
2012-08-07 03:20Added directionStringToInt refd from focus & shift=3+11-20
2012-08-07 03:13Generalizing focus in prep for directional focusing=2+37-19
2012-08-02 23:14Containers will absorb if tried to be shifted into=1+18-2
2012-08-02 22:34Vim style keybindings for shift commands=1+16-3
2012-08-02 22:15Bug fix for crashes dealing with horizontal/vert=1+2-2
2012-08-02 22:01Handling the prime case with grid. V/H in dir Additionof isPrime function to util.c=3+27-8
2012-08-02 21:34Improvements to getBrotherByDirection and shift. Working up and down=2+20-16
2012-08-02 21:16shift uses brotherNode instead of swapNode Update node -> previous -> next ptr bug in brotherNode Preparation for shift to work up / down=2+20-10
2012-08-02 05:35Cleaning up IPC commands=1+18-6
2012-08-02 05:31Typos=1+11-5
2012-08-02 05:26Clarifications to the README=1+28-17
2012-08-02 05:09Bugfixes regarding shift=2+14-18
2012-08-02 04:56getBrotherByDirection and shift command=2+87-10
2012-08-02 02:33focus pc -1 bug=3+6-2
2012-07-31 22:38Fixes to foo=4+24-12
2012-07-31 21:47Added client.c=1+28-0
2012-07-31 21:44Space=1+1-0
2012-07-31 21:35IPC info=1+11-5
2012-07-31 21:26Merge branch 'socket'=14+208-157
2012-07-31 21:25Fix=1+1-1
2012-07-31 21:23Changed fifo-wm name to foo-wm=1+9-5
2012-07-29 01:11Clarification=1+1-1
2012-07-29 00:47INactive and Active Focused and Uncofused colors=5+45-25
2012-07-28 22:12Bug fixes=7+43-37
2012-07-28 21:01Focusing in the focuspath for placeNode=2+6-3
2012-07-28 20:10Addition of isOnlyChild(Node *n) function=3+24-32
2012-07-28 19:38Containerize doesnt alllow single nested container ;p;p;p;p bug=1+16-21
2012-07-28 08:37Fixed zooming bug, zooming in on a container=1+1-2
2012-07-28 07:46Removal of un-necessary calls=1+0-2
2012-07-28 07:35Focus shifting when current focus is the viewNode=1+6-4
2012-07-28 02:41Refocusing when zooming in=1+12-10
2012-07-28 02:00Work on the unfocusNdoe=4+13-14
2012-07-28 01:26Removal of unecessary code=1+0-22
2012-07-28 01:16Bug fix on focusing the last focus if possible=1+4-1
2012-07-28 01:11Functioning focus parent=2+5-5
2012-07-28 00:28Simplifications of the focus command to reuse code=1+14-20
2012-07-28 00:16Work on focusing the parent/child with focus pc=1+5-26
2012-07-28 00:02Working 'focus brother delta' command=1+13-35
2012-07-27 23:44Initial rework focusing/ elimination of selectNode=10+210-244
2012-07-26 23:43Improvements to cycleFocus. Works for viewNode=2+9-5
2012-07-26 19:32Clarifications in README=2+13-7
2012-07-26 18:37cycleFocus() and focus cycle command take a delta=2+29-24
2012-07-26 18:22Minor bug fixes in selectNode=2+31-18
2012-07-22 05:56Proper setting of layout for layout commandMiles Sandlar1+2-1
2012-07-22 05:48Better logic for spawning & reparenting containersMiles Sandlar1+9-9
2012-07-22 05:00Removing faulted fullscreen implementationMiles Sandlar5+14-24
2012-07-19 18:20Addition of a fullscreen property for zooming Zooming in when focusedNode == viewNode sets fullscreen true No border is set and the screen padding is canceledMiles Sandlar4+20-5
2012-07-19 02:10Root node reparented if selected &new windowMiles Sandlar3+23-19
2012-07-18 22:59Proper logic for FIFO command: select childrenMiles Sandlar1+14-1
2012-07-18 22:26Implementation of child for select FIFO commandMiles Sandlar2+8-6
2012-07-18 20:50move command uses selectNode&focusNode correctlyMiles Sandlar2+3-2
2012-07-18 20:41Hotkey Mod4+Shift+[J/K] to move -1 & 1Miles Sandlar2+16-0
2012-07-18 20:23Functioning move command, works within containersMiles Sandlar3+35-9
2012-07-17 19:52Addition of move command, addition of getBrother() move command should share logic with focus shiftingMiles Sandlar5+53-26
2012-07-17 18:45Spit main() setup code into a setup() functionMiles Sandlar2+26-23
2012-07-17 18:08Update documentation & xbindkeys for zoom command. Minor other changesMiles Sandlar5+25-31
2012-07-17 17:43Implementation of zoom() command. Replaces viewMiles Sandlar2+31-16
2012-07-17 16:21Fix logic destroyNode recursivly killing children Previously the last child would lingerMiles Sandlar2+19-23
2012-07-16 22:35Addition of select child to xbindkeys Havn't used this xinitrc for a whileMiles Sandlar2+7-4
2012-07-16 22:11Setting the view within focusNode()Miles Sandlar2+11-10
2012-07-16 19:20setCursor function and applied to root at start Fixed crash bug having to do with select'ing on root nodeMiles Sandlar5+13-5
2012-07-16 19:04Addition of Selected Color in config.hMiles Sandlar5+8-7
2012-07-16 18:58Directional focus enumMiles Sandlar2+14-11
2012-07-16 18:47Clarifications in the README. Some code condensingMiles Sandlar2+28-8
2012-07-16 17:29{PREVIOUS NEXT} enumurationMiles Sandlar3+21-20
2012-07-16 17:17Improved fully functioning cycleFocus cycleFocus cycles the focus within the current selected/focused node Replaces old implementation which just delt with clientsMiles Sandlar1+15-43
2012-07-16 16:46Improved logic for cycleFocus, handles -> next ptrMiles Sandlar1+12-14
2012-07-16 16:35Rework of cycleFocus handle containers cycleFocus previous works on Selected Containers as wellMiles Sandlar3+55-25
2012-07-15 19:05Simplification of getClient() Substituted out for layout of values for definesMiles Sandlar1+8-15
2012-07-15 18:57focusNode() takes second param of event to pass on focusNode only centers pointer if no pass through event availableMiles Sandlar5+18-9
2012-07-14 06:04xbindkeys support cycle focus [previous/next]Miles Sandlar1+6-2
2012-07-14 05:59Update header commands.h,cycleFocus/diretionFocusMiles Sandlar1+2-1
2012-07-14 05:56cycleFocus for cycle clients within containersMiles Sandlar2+62-55
2012-07-14 03:20Keeping track of focus in node. No longer glitches if more than two max layout view:child/parentMiles Sandlar4+9-5
2012-07-14 02:50enum used for layout VERTICAL/HORIZONTAL/GRID/MAX xbindkeys switched to n for grid, m for maxMiles Sandlar5+28-30
2012-07-13 17:53Cleaning up focusNode() functionMiles Sandlar1+7-9
2012-07-13 17:44Functioning Mouse Support and Point to Click Ungrab called when the window is focused Grab called when a window loses focused (so it listens for when itll next be clicked/focused)Miles Sandlar3+33-32
2012-07-11 19:02Work on ConfigureReqest. Properly functioning now.Miles Sandlar3+34-18
2012-07-10 04:05CLIENT_PADDING and CONTAINER_PADDING in config.h placeNode() uses globals clientPadding and containerPaddingMiles Sandlar4+35-31
2012-07-10 03:25Added Mod4+f to set max layout to .xbindkeysMiles Sandlar1+4-0
2012-07-10 03:18Addition of a max layout for nodesMiles Sandlar2+39-15
2012-07-09 14:37.xbindkeys & writefifo no longer use filler token Updates to READMEMiles Sandlar3+16-15
2012-07-09 14:33More concise and cleaner token parsingMiles Sandlar2+100-99
2012-07-08 21:24Better command parsing.No longer need filler token 'layout vertical set' --- is now -> 'layout vertical' Partical update to READMEMiles Sandlar2+149-116
2012-07-08 18:49Switch viewNode when destroying clientsMiles Sandlar2+20-0
2012-07-08 17:55Functioning MapRequest if focusedNode == viewNode Launch windows when already in fullscreenMiles Sandlar5+28-18
2012-07-08 03:39removeLookupEntry correctly removes and frees Minor other related changesMiles Sandlar4+27-13
2012-07-07 20:34Seperated lookup logic into lookup.c/h Added more core logic to lookupMiles Sandlar7+55-32
2012-07-07 19:40Update previous pointer in brotherNode when addMiles Sandlar2+6-2
2012-07-07 18:50More reliable containerize() function. Semi-stableMiles Sandlar1+110-101
2012-07-07 17:29Set Window NULL in allocateNode()Prevents problems Layout set in allocateNodeMiles Sandlar4+9-5
2012-07-07 16:35More explicit MapRequest &restructure containerizeMiles Sandlar6+56-52
2012-07-07 15:29Fixed select to properly block on FIFO & X Events Must open FIFO in O_RDRW so that FIFO properly blokcsMiles Sandlar4+55-46
2012-07-07 02:58Bug Fix: Removing last client no longer crashesMiles Sandlar2+112-113
2012-07-07 02:41Added select to commands. Fixed reversed V/H Vertical and horizontal layouts were inverse.Miles Sandlar7+89-62
2012-07-06 22:54Rename activeNode to focusedNode, add selectedNodeMiles Sandlar5+64-41
2012-07-06 22:27Parent must be reassigned to node in brotherNodeMiles Sandlar1+2-1
2012-07-06 22:21Added brotherNode() to tree, containerize uses it brotherNode adds a node as a brother so that position is not lostMiles Sandlar3+43-5
2012-07-06 20:35Moved getNodeByWindow to util. Fixed grid bug. Grid within a container must account for existing xMiles Sandlar6+25-23
2012-07-06 19:46Added edge cases for grid, 2 nodes and primesMiles Sandlar2+15-17
2012-07-06 19:24Added a grid layout. Restructured placeNode. placeNode uses same grid code by spec col/rows Added Mod+g to xbindkeys for gridMiles Sandlar7+56-19
2012-07-06 01:37Generalized getClosestClient via getBrotherClient Preparation for directional focus shiftingMiles Sandlar6+111-65
2012-07-03 22:10Minor BugfixesMiles Sandlar4+16-21
2012-07-03 20:14Safer allocation by NULLing pointer values New function called allocateNode()Miles Sandlar6+16-21
2012-07-03 18:58Improved focus shifting, minor other fixesMiles Sandlar2+24-18
2012-07-03 16:40Impl of focus FIFO command.Border color & padding Minor other fixesMiles Sandlar6+72-50
2012-07-03 03:44Using getClosestNode for better destroyNodeMiles Sandlar3+9-24
2012-07-03 03:32More reliable client killing with DestroyNotifyMiles Sandlar3+29-20
2012-07-03 02:33Added padding to screen. Added closestNode() func Changed xbindkeys view to u and iMiles Sandlar6+45-21
2012-07-02 22:35More reliable focus tracking. Work on destroyNodeMiles Sandlar3+53-17
2012-07-02 20:15activeNode keeps track of currently focused window Reworking of sections with old structureMiles Sandlar5+46-52
2012-07-02 19:27Made focus child work properly. Added isClient() Removing some old cruft from Container/Client setupMiles Sandlar7+55-70
2012-07-02 04:13Proper blocking of FIFO and X Descriptor select() No longer eats CPU / inf loops CPU at 100%Miles Sandlar1+11-11
2012-07-02 03:41Added unmapNode Recur fn, runs prior to placeNode Makes it so that there aren't lingering windows mapped Helpful for view commandMiles Sandlar4+56-18
2012-07-02 00:02Rework of tree. Uses one struct called Node now. Type of Node (client/container) is inferred from its attributes If the Node has children it is a container, no children a client Addition of view command to FIFOMiles Sandlar11+186-282
2012-06-30 19:11Improving on unparentContainer & destroyContainerMiles Sandlar4+69-7
2012-06-30 16:16Bug fixed, destroying clients.Shifts focus correctMiles Sandlar2+11-8
2012-06-30 14:55Added the kill command to commands.c kill works only with client for now, container plannedMiles Sandlar4+13-3
2012-06-29 22:20DestroyNotify X Event Response. destroyClient()Miles Sandlar2+43-12
2012-06-29 21:54Added a way to control the WM from DmenuMiles Sandlar4+20-7
2012-06-29 21:03Smoother WindowChange updateMiles Sandlar2+13-7
2012-06-29 20:15Handeling of X Event: ConfigureRequest Broke focus in commands into its own function Added dmenu to xbindkeysMiles Sandlar5+84-44
2012-06-29 15:52More verbose dumpTree()/crawlContainer() for debug Includes pointer for containers/clients and also focusMiles Sandlar3+19-6
2012-06-29 04:10Next and previous focus shifting w/ focus command Related keybindings added to example .xbindkeysMiles Sandlar2+25-0
2012-06-29 03:52currentContainer -> active == currentClient Eliminated redundancy in tracking current client Only track container as each container has an active clientMiles Sandlar4+2-10
2012-06-29 03:42Working toward better client focusing. Expanding focusClient to update currently focused client/set newMiles Sandlar6+44-25
2012-06-27 14:18Added some documentation to the README free not necessary in fn in treeMiles Sandlar2+24-2
2012-06-27 04:37Improved Handeling of FIFO - More Reliable FIFO is now only closed once -->resulting commands reliability Addition of client.c & client.h. Moved code from window.c to client.c Other minor bug fixes and improvementsMiles Sandlar11+76-66
2012-06-26 19:47Containerize FIFO command, parentClient bugfix parentClient now removes client from last container containerize replaces functionality of spawn and previous brother is defaultMiles Sandlar6+38-31
2012-06-26 16:07Added spawn option to commands, brother/childMiles Sandlar5+28-7
2012-06-26 15:33Added -Wall to Makefile and fixed warningsMiles Sandlar5+17-12
2012-06-26 13:02Fixed typo in README.mdMiles Sandlar1+1-1
2012-06-26 03:50Broke up fifo-wm.c: commands, tree, util, window Modified Makefile accordinglyMiles Sandlar13+269-258
2012-06-26 03:17Added a better structured MakefileMiles Sandlar8+437-407
2012-06-25 19:45Added Lookup linked list for getClientByWindow This approach should be faster than transversing the tree Lookup struct{} only holds Client ptr and associated windowMiles Sandlar2+36-3
2012-06-25 00:59Added centerPointer() and focusWindow() Added Button Press X Event. Put in some frees Changed path in xbindkeys to FIFO, made padding smallerMiles Sandlar3+64-20
2012-06-23 19:16Added border colors and container paddingMiles Sandlar2+43-17
2012-06-23 14:53Clean up of xbindkeys config. Add v/h layout setMiles Sandlar2+13-44
2012-06-23 14:44Layout switching based on fifo layout commandMiles Sandlar1+16-9
2012-06-23 13:19Added Colors to spawned windows Added LICENSE file and DWM's getColor functionMiles Sandlar3+70-0
2012-06-23 13:06Improvments to placeContainer and parentContainer Alternation of layout for containers workingMiles Sandlar1+77-45
2012-06-23 03:53Added basic logic functions for the tree Added Tree Funcs: parent, viewContainer, placeContainer Added to FIFO: dump command -- triggers dumpTree() calling the recursive crawlContainer Client and Container structs cleaned upMiles Sandlar2+124-67
2012-06-22 20:47Start of Implementation of Tree Structure Addition of view() and placeClient() to recursive render clients Removal of workspaces notionMiles Sandlar2+91-41
2012-06-22 15:38Clarification of READMEMiles Sandlar1+3-1
2012-06-22 15:33Created config.h and structs.h for separationMiles Sandlar3+29-14
2012-06-18 01:13Added config files for .xinitrc and .xbindkeysrc Changed FIFO to use O_RDWR as it was not cooperatingMiles Sandlar3+51-1
2012-06-18 00:27changeWorkspace() function & call from FIFO Fully working using syntax: workspace [0-9]Miles Sandlar1+23-0
2012-06-17 23:52Counter for tokens. Begining of workspace switch Using strcmp and atoi for strings from FIFOMiles Sandlar1+15-6
2012-06-16 23:35Handling of MapRequest Event, Client Struct Also Workspace Struct impl. Moving implementation from simple-wm overMiles Sandlar1+44-17
2012-06-15 15:58Intial commit - handles X Events and FIFO readsMiles Sandlar2+105-0