summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-10-21simplify window decorationsexpQuentin Carbonneaux
2014-10-21add minimal location indicatorQuentin Carbonneaux
2014-10-10add the / motionQuentin Carbonneaux
2014-09-25add documentationQuentin Carbonneaux
2014-09-25this shortcut was undefined behaviorQuentin Carbonneaux
2014-09-19fix testing codeQuentin Carbonneaux
The api changes for buffer creation invalidated the testing code. Note that it is unclear if the window testing code is still relevant. I had to change the number of windows from 3 to 2 to avoid a crash, probably because the initial window size is too small.
2014-09-19superior resource management for async tasksQuentin Carbonneaux
The previous implementation with reference counting on EBuf was clunky. First, use of negative reference counts made the logic unclear. Second, when an async task was started and a file was reloaded in the window (eb_clr), some garbage could be output to the new buffer at random positions. Third, killing a buffer could leak file descriptors tied to long running tasks. The problems are solved by eagerly destructing all the resources of tasks that output in a given buffer right before its destruction.
2014-09-18cosmetic fixesQuentin Carbonneaux
2014-09-12use a more idiomatic loopQuentin Carbonneaux
2014-09-12parse line addresses in ex_getQuentin Carbonneaux
2014-09-09do not empty selection for >Quentin Carbonneaux
2014-09-08use a reasonable buffer sizeQuentin Carbonneaux
2014-09-05use middle button to execute a commandQuentin Carbonneaux
2014-09-05optimize utf8_decode_rune for asciiQuentin Carbonneaux
2014-09-05double click to select a wordQuentin Carbonneaux
2014-09-04add proper buffer deletionQuentin Carbonneaux
Because some background processes might run concurrently with the execution of the Del command I added a refcount to edit buffers. Details about the refcount: + When this count c is >=0 it means that the buffer is alive and has c+1 concurrent users (+1 for the window displaying it). + If c<0, the buffer has -c users but is a "zombie". Its parent window was deleted. So the buffer is still in memory but cannot be used, users must drop their pointer after having incremented c. If c reaches 0, the buffer must be freed.
2014-09-03add window deletion codeQuentin Carbonneaux
The bug in exec.c can now be triggered, if a command outputs after its window was deleted an invalid buffer pointer is used.
2014-09-03remove ugly include guardsQuentin Carbonneaux
2014-09-03cancel 7db6832e6e (better performance)Quentin Carbonneaux
2014-09-02specify a mode for files created by PutQuentin Carbonneaux
2014-08-29burry old directory in historyQuentin Carbonneaux
2014-08-28stop overloading rev and use a dirty bitQuentin Carbonneaux
2014-08-28style fixes in main moduleQuentin Carbonneaux
2014-08-27mitigate race with XFlushQuentin Carbonneaux
2014-08-27fix code typo in event moduleQuentin Carbonneaux
2014-08-27use XPending to check for X eventsQuentin Carbonneaux
2014-08-27fix memory leak in runQuentin Carbonneaux
2014-08-27change the rectangle name in WQuentin Carbonneaux
2014-08-27be more energy efficientQuentin Carbonneaux
2014-08-27remove clang dependencyQuentin Carbonneaux
2014-08-27cap the redraw frequencyQuentin Carbonneaux
2014-08-27decrease selection visual impactQuentin Carbonneaux
2014-08-27improve style of events moduleQuentin Carbonneaux
2014-08-27remove useless dirty bit in x11 moduleQuentin Carbonneaux
2014-08-26resize tag when necessaryQuentin Carbonneaux
2014-08-26hoist assignments out of a loopQuentin Carbonneaux
2014-08-26clean drawing codeQuentin Carbonneaux
2014-08-26change behavior of NewQuentin Carbonneaux
2014-08-26split win_locus in two functionsQuentin Carbonneaux
2014-08-26small bug fix in win_newQuentin Carbonneaux
2014-08-26change api for gui control boxQuentin Carbonneaux
2014-08-26fix bug in win_locus and improve styleQuentin Carbonneaux
2014-08-26quick and dirty attempt at window motionQuentin Carbonneaux
I also added a new builtin command 'New' to create a new column. Currently the build is buggy and the user interface is kind of a mess.
2014-08-25improve mouse code, fix bug (mwin == 0)Quentin Carbonneaux
2014-08-25remove useless assert testQuentin Carbonneaux
2014-08-25sloppy resize support in main moduleQuentin Carbonneaux
2014-08-25start cursor support in win moduleQuentin Carbonneaux
2014-08-25first stab at the cursor support apiQuentin Carbonneaux
2014-08-24lift mouse code for multi windowsQuentin Carbonneaux
2014-08-24improve selection codeQuentin Carbonneaux