]> git.mdlowis.com Git - proto/aos.git/commitdiff
removed more functionality
authorMike Lowis <mike.lowis@gentex.com>
Tue, 9 Jan 2024 14:31:11 +0000 (09:31 -0500)
committerMike Lowis <mike.lowis@gentex.com>
Tue, 9 Jan 2024 14:31:11 +0000 (09:31 -0500)
bin/editor/main.c
bin/editor/tide.h
bin/editor/view.c
rules.mk

index 6769e5eaf1b8f6d6a0e813be71e9fee11b26e18b..649e0a934933182a31d0f036f469d93bce473d6d 100644 (file)
@@ -130,10 +130,6 @@ static void xclientmsg(XConf* x, XEvent* e)
 
 void xresize(XConf* x, XEvent* e)
 {
-    if (e->xconfigure.width != x->width || e->xconfigure.height != x->height)
-    {
-        view_sync(win_view(EDIT));
-    }
     x11_resize(x, e);
 }
 
@@ -219,11 +215,6 @@ void win_title(char* path)
     memcpy(prevtitle, title, sizeof(title));
 }
 
-void win_font(char* font)
-{
-    font_load(font ? font : Fonts[++FontSel % nelem(Fonts)]);
-}
-
 void win_prop_set(char* xname, char* ename, char* value)
 {
     if (!value) return;
@@ -278,11 +269,6 @@ Buf* win_buf(WinRegion id)
     return &(Regions[id == FOCUSED ? EDIT : id].buffer);
 }
 
-bool win_keymodsset(int mask)
-{
-    return ((X.mods & mask) == mask);
-}
-
 void win_setln(int line_num)
 {
     view_setln(win_view(EDIT), line_num);
index 7a9a91d263baea9298d489777ff22e9f10654b79..16ce268fef00142d7729197b6073cd760d75977d 100644 (file)
@@ -153,35 +153,16 @@ enum {
 };
 
 void view_init(View* view, char* file);
-void view_sync(View* view);
-void view_reload(View* view);
-size_t view_limitrows(View* view, size_t maxrows);
 void view_resize(View* view, size_t width, size_t nrows);
 void view_update(View* view);
 Row* view_getrow(View* view, size_t row);
-void view_byrune(View* view, int move, bool extsel);
-void view_byword(View* view, int move, bool extsel);
-void view_byline(View* view, int move, bool extsel);
-char* view_fetch(View* view, size_t row, size_t col, bool (*isword)(Rune));
-bool view_findstr(View* view, int dir, char* str);
 void view_insert(View* view, Rune rune);
 void view_delete(View* view, int dir, bool byword);
-void view_bol(View* view, bool extsel);
-void view_eol(View* view, bool extsel);
-void view_bof(View* view, bool extsel);
-void view_eof(View* view, bool extsel);
-void view_undo(View* view);
-void view_redo(View* view);
-void view_paste(View* view, char* str);
-void view_putstr(View* view, char* str);
 void view_putraw(View* view, char* str);
 char* view_getstr(View* view);
-char* view_getcmd(View* view);
-char* view_getword(View* view);
 char* view_getctx(View* view);
 void view_selctx(View* view);
 void view_scroll(View* view, int move);
-void view_scrollpage(View* view, int move);
 void view_setln(View* view, size_t line);
 size_t view_selsize(View* view);
 void view_selprev(View* view);
@@ -192,8 +173,6 @@ void view_select(View* view, size_t row, size_t col);
 void view_jumpto(View* view, bool extsel, size_t off);
 void view_scrollto(View* view, size_t csr);
 Rune view_getrune(View* view);
-void view_selectall(View* view);
-void view_selectobj(View* view, bool (*istype)(Rune));
 
 /* Command Executions
  *****************************************************************************/
@@ -219,68 +198,6 @@ void job_start(char** cmd, char* data, size_t ndata, View* dest);
 int job_run(char** cmd);
 void job_readfd(int fd, View* view);
 
-/* Common Shortcuts
- *****************************************************************************/
-/* src/tide/shortcuts.c */
-
-void select_line(char* arg);
-void join_lines(char* arg);
-void delete(char* arg);
-void cut(char* arg);
-void paste(char* arg);
-void copy(char* arg);
-void del_to_bol(char* arg);
-void del_to_eol(char* arg);
-void del_to_bow(char* arg);
-void backspace(char* arg);
-void cursor_bol(char* arg);
-void cursor_eol(char* arg);
-void cursor_mvlr(int dir);
-void cursor_mvupdn(int dir);
-void cursor_home(char* arg);
-void cursor_end(char* arg);
-void cursor_up(char* arg);
-void cursor_dn(char* arg);
-void cursor_left(char* arg);
-void cursor_right(char* arg);
-void page_up(char* arg);
-void page_dn(char* arg);
-void select_prev(char* arg);
-void undo(char* arg);
-void redo(char* arg);
-void newline(char* arg);
-void highlight(char* arg);
-
-enum {
-    MouseActNone,
-    MouseActSel,
-    MouseActSelCtx,
-    MouseActSelWord,
-    MouseActCut,
-    MouseActPaste,
-    MouseActExec,
-    MouseActExecArg,
-    MouseActFetch,
-    MouseActScrollUp,
-    MouseActScrollDn,
-};
-
-int process_mouse(int btn, bool pressed);
-
-/* Command and Tag Exectuion
- *****************************************************************************/
-/* src/tide/exec.c */
-
-typedef struct {
-    char* tag;
-    void (*action)(char*);
-} Tag;
-
-void exec_init(Tag* p_tags);
-void exec_cmd(char* cmd);
-void exec_cmdwarg(char* cmd, char* arg);
-void exec_rawwarg(char* cmd, char* arg);
-
 /* UI Window Control
  *****************************************************************************/
 /* src/tide/main.c */
@@ -315,14 +232,12 @@ typedef enum {
 
 void win_init(void);
 void win_title(char* path);
-void win_font(char* font);
 void win_prop_set(char* xname, char* ename, char* value);
 void win_loop(void);
 void win_quit(void);
 void win_togglefocus(void);
 View* win_view(WinRegion id);
 Buf* win_buf(WinRegion id);
-bool win_keymodsset(int mask);
 void win_setln(int line_num);
 
 typedef struct {
@@ -338,23 +253,3 @@ int draw_hrule(XConf* x, drawcsr* csr);
 void draw_view(XConf* x, View* view, XftFont* font, size_t nrows, drawcsr* csr, int bg, int fg, int sel, bool csrsync);
 bool draw_csr(XConf* x, View* view, int fg, size_t fheight, int posx, int posy, bool csrdrawn);
 void draw_scroll(XConf* x, drawcsr* csr, View* view, int divider);
-
-/* Pseudo Terminal Routines
- *****************************************************************************/
-bool xpty_active(void);
-void xpty_togglescroll(void);
-int xpty_run(View* view, char** cmd);
-void xpty_send(char* cmd);
-void xpty_rawsend(char* cmd);
-
-/* Leap Processing Routines
- *****************************************************************************/
-typedef struct {
-    KeySym key;
-    bool repeat;
-    Sel selection;
-    size_t nbuf;
-    char buf[8192];
-} LeapState_T;
-
-bool leap_process(LeapState_T* state, unsigned long keysym, bool pressed);
index 0e7541b62a3117fbc3f0efc7738a9ed828ee98ea..1c8ba057d8e4f872f14357e20ac38ced1d7c424b 100644 (file)
@@ -25,37 +25,12 @@ extern size_t glyph_width(View* view, int c);
 #define BUF    (&(view->buffer))
 #define CSRPOS (view->buffer.selection.end)
 
-static void move_selection(View* view, bool extsel, int move, int bything)
-{
-    view->sync_flags |= CURSOR;
-    buf_selmove(BUF, extsel, move, bything);
-}
-
 static void move_to(View* view, bool extsel, size_t off)
 {
     view->sync_flags |= CURSOR;
     buf_selmoveto(BUF, extsel, off);
 }
 
-static bool selection_visible(View* view)
-{
-    bool visible = true;
-    if (view->rows && view->nrows)
-    {
-        size_t csr = CSRPOS;
-        size_t beg = view->rows[0]->off;
-        size_t end = view->rows[view->nrows-1]->off
-                   + view->rows[view->nrows-1]->len;
-        visible = (beg <= csr && csr <= end);
-    }
-    return visible;
-}
-
-static Sel* getsel(View* view)
-{
-    return &(view->buffer.selection);
-}
-
 static void clear_rows(View* view, size_t startidx)
 {
     if (view->rows)
@@ -97,24 +72,6 @@ void view_init(View* view, char* file)
     assert(view_valid(view));
 }
 
-void view_reload(View* view)
-{
-    assert(view != NULL);
-    if (view->buffer.path)
-    {
-        buf_reload(BUF);
-        view->sync_flags |= (CURSOR|CENTER);
-    }
-    assert(view_valid(view));
-}
-
-void view_sync(View* view)
-{
-    assert(view != NULL);
-    view->sync_flags |= (CURSOR|CENTER);
-    assert(view_valid(view));
-}
-
 static size_t rune_width(View* view, int c, size_t xpos, size_t width)
 {
     size_t sz;
@@ -137,33 +94,6 @@ static size_t rune_width(View* view, int c, size_t xpos, size_t width)
     return sz;
 }
 
-size_t view_limitrows(View* view, size_t maxrows)
-{
-    assert(view != NULL);
-    size_t nrows = 1, off = 0, xpos = 0;
-    while (nrows < maxrows && off < buf_end(&(view->buffer)))
-    {
-        Rune rune = buf_getrat(&(view->buffer), off);
-        xpos += rune_width(view, rune, xpos, view->width);
-        /* if the line is full, reset the line and increase row count */
-        if (xpos > view->width)
-        {
-            xpos = 0, nrows++;
-        }
-        else
-        {
-            if (rune == '\n')
-            {
-                xpos = 0;
-                nrows++;
-            }
-            off = buf_byrune(&(view->buffer), off, RIGHT);
-        }
-    }
-    assert(nrows >= 1);
-    return nrows;
-}
-
 static size_t add_row(View* view, size_t off)
 {
     /* allocate a new row */
@@ -275,27 +205,6 @@ Row* view_getrow(View* view, size_t row)
     return (row < view->nrows ? view->rows[row] : NULL);
 }
 
-void view_byrune(View* view, int move, bool extsel)
-{
-    assert(view != NULL);
-    move_selection(view, extsel, move, BY_RUNE);
-    assert(view_valid(view));
-}
-
-void view_byword(View* view, int move, bool extsel)
-{
-    assert(view != NULL);
-    move_selection(view, extsel, move, BY_WORD);
-    assert(view_valid(view));
-}
-
-void view_byline(View* view, int move, bool extsel)
-{
-    assert(view != NULL);
-    move_selection(view, extsel, move, BY_LINE);
-    assert(view_valid(view));
-}
-
 static size_t getoffset(View* view, size_t row, size_t col)
 {
     size_t ret = 0, i = 0, y = 0, idx = view->index + row;
@@ -356,26 +265,6 @@ size_t view_selsize(View* view)
     return buf_selsz(BUF);
 }
 
-char* view_fetch(View* view, size_t row, size_t col, bool (*isword)(Rune))
-{
-    char* str = NULL;
-    size_t off = getoffset(view, row, col);
-    if (off != SIZE_MAX)
-    {
-        str = buf_fetch(BUF, isword, off);
-    }
-    assert(view_valid(view));
-    return str;
-}
-
-bool view_findstr(View* view, int dir, char* str)
-{
-    bool found = buf_findstr(BUF, dir, str);
-    view->sync_flags |= (CURSOR|CENTER);
-    assert(view_valid(view));
-    return found;
-}
-
 void view_insert(View* view, Rune rune)
 {
     /* ignore non-printable control characters */
@@ -411,10 +300,10 @@ void view_insert(View* view, Rune rune)
 
 void view_delete(View* view, int dir, bool byword)
 {
-    if (!view_selsize(view))
-    {
-        (byword ? view_byword : view_byrune)(view, dir, true);
-    }
+//    if (!view_selsize(view))
+//    {
+//        (byword ? view_byword : view_byrune)(view, dir, true);
+//    }
     buf_del(BUF);
     move_to(view, false, CSRPOS);
     assert(view_valid(view));
@@ -426,38 +315,6 @@ void view_jumpto(View* view, bool extsel, size_t off)
     assert(view_valid(view));
 }
 
-void view_bol(View* view, bool extsel)
-{
-    /* determine whether we are jumping to start of content or line */
-    Buf* buf = BUF;
-    unsigned bol = buf_bol(buf, CSRPOS);
-    unsigned boi = bol;
-    for (; ' '  == buf_getrat(buf, boi) || '\t' == buf_getrat(buf, boi); boi++);
-    unsigned pos = CSRPOS;
-    pos = (pos == bol || pos > boi ? boi : bol);
-    move_to(view, extsel, pos);
-    assert(view_valid(view));
-}
-
-void view_eol(View* view, bool extsel)
-{
-    move_to(view, extsel, buf_eol(BUF, CSRPOS));
-    getsel(view)->col = -1; // Peg cursor to line end
-    assert(view_valid(view));
-}
-
-void view_bof(View* view, bool extsel)
-{
-    view_jumpto(view, extsel, 0);
-    assert(view_valid(view));
-}
-
-void view_eof(View* view, bool extsel)
-{
-    view_jumpto(view, extsel, buf_end(BUF));
-    assert(view_valid(view));
-}
-
 void view_setln(View* view, size_t line)
 {
     view->sync_flags |= CENTER;
@@ -469,44 +326,6 @@ void view_setln(View* view, size_t line)
     assert(view_valid(view));
 }
 
-static void cursor_sync(View* view)
-{
-    view->sync_flags |= CURSOR;
-    if (!selection_visible(view))
-    {
-        view->sync_flags |= CENTER;
-    }
-}
-
-void view_undo(View* view)
-{
-    buf_undo(BUF);
-    cursor_sync(view);
-    assert(view_valid(view));
-}
-
-void view_redo(View* view)
-{
-    buf_redo(BUF);
-    cursor_sync(view);
-    assert(view_valid(view));
-}
-
-void view_paste(View* view, char* str)
-{
-    buf_logstart(BUF);
-    view_putstr(view, str);
-    buf_logstop(BUF);
-    view_selprev(view);
-    assert(view_valid(view));
-}
-
-void view_putstr(View* view, char* str)
-{
-    buf_puts(BUF, str);
-    assert(view_valid(view));
-}
-
 void view_putraw(View* view, char* str)
 {
     void (*fn)(int) = BUF->oninsert;
@@ -521,16 +340,6 @@ char* view_getstr(View* view)
     return buf_gets(BUF);
 }
 
-char* view_getcmd(View* view)
-{
-    if (!view_selsize(view))
-    {
-        buf_selctx(BUF, riscmd);
-    }
-    assert(view_valid(view));
-    return view_getstr(view);
-}
-
 void view_selctx(View* view)
 {
     if (!view_selsize(view))
@@ -540,12 +349,6 @@ void view_selctx(View* view)
     assert(view_valid(view));
 }
 
-char* view_getctx(View* view)
-{
-    view_selctx(view);
-    assert(view_valid(view));
-    return view_getstr(view);
-}
 
 static void scroll_up(View* view)
 {
@@ -595,13 +398,6 @@ void view_scroll(View* view, int move)
     assert(view_valid(view));
 }
 
-void view_scrollpage(View* view, int move)
-{
-    move = (move < 0 ? -1 : 1) * view->nrows;
-    view_scroll(view, move);
-    assert(view_valid(view));
-}
-
 Rune view_getrune(View* view)
 {
     return buf_getc(BUF);
@@ -618,17 +414,3 @@ void view_scrollto(View* view, size_t csr)
     }
     assert(view_valid(view));
 }
-
-void view_selectall(View* view)
-{
-    buf_selall(BUF);
-    view->sync_flags |= CURSOR;
-    assert(view_valid(view));
-}
-
-void view_selectobj(View* view, bool (*istype)(Rune))
-{
-    buf_selword(BUF, istype);
-    view->sync_flags |= CURSOR;
-    assert(view_valid(view));
-}
index e9e9341c478c7550eb31dc4bf759e1a21010f2cb..b2d929c19ce360ff095fff1e1918b0f28faa3675 100644 (file)
--- a/rules.mk
+++ b/rules.mk
@@ -5,54 +5,10 @@ $(OUTDIR)/lib/libMBus.c.a: $(OUTDIR)/obj/lib/MBus.o
 $(OUTDIR)/lib/libMBus.c.a:
        $(ARCHIVE)
 libs: $(OUTDIR)/lib/libMBus.c.a
-$(OUTDIR)/obj/lib/a/Options.o: lib/a/Options.c config.mk
-       $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/Options.o
--include $(OUTDIR)/obj/lib/a/Options.d
-$(OUTDIR)/obj/lib/a/File.o: lib/a/File.c config.mk
-       $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/File.o
--include $(OUTDIR)/obj/lib/a/File.d
 $(OUTDIR)/obj/lib/a/Telemetry.o: lib/a/Telemetry.c config.mk
        $(OBJECT)
 $(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/Telemetry.o
 -include $(OUTDIR)/obj/lib/a/Telemetry.d
-$(OUTDIR)/obj/lib/a/UTF8.o: lib/a/UTF8.c config.mk
-       $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/UTF8.o
--include $(OUTDIR)/obj/lib/a/UTF8.d
-$(OUTDIR)/obj/lib/a/defaults/options.o: lib/a/defaults/options.c config.mk
-       $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/defaults/options.o
--include $(OUTDIR)/obj/lib/a/defaults/options.d
-$(OUTDIR)/obj/lib/a/defaults/usage.o: lib/a/defaults/usage.c config.mk
-       $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/defaults/usage.o
--include $(OUTDIR)/obj/lib/a/defaults/usage.d
-$(OUTDIR)/obj/lib/a/defaults/set_option.o: lib/a/defaults/set_option.c config.mk
-       $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/defaults/set_option.o
--include $(OUTDIR)/obj/lib/a/defaults/set_option.d
-$(OUTDIR)/obj/lib/a/defaults/argv0.o: lib/a/defaults/argv0.c config.mk
-       $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/defaults/argv0.o
--include $(OUTDIR)/obj/lib/a/defaults/argv0.d
-$(OUTDIR)/obj/lib/a/Mutex.o: lib/a/Mutex.c config.mk
-       $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/Mutex.o
--include $(OUTDIR)/obj/lib/a/Mutex.d
-$(OUTDIR)/obj/lib/a/Thread.o: lib/a/Thread.c config.mk
-       $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/Thread.o
--include $(OUTDIR)/obj/lib/a/Thread.d
-$(OUTDIR)/obj/lib/a/Net.o: lib/a/Net.c config.mk
-       $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/Net.o
--include $(OUTDIR)/obj/lib/a/Net.d
-$(OUTDIR)/obj/lib/a/stdlib/esignal.o: lib/a/stdlib/esignal.c config.mk
-       $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/esignal.o
--include $(OUTDIR)/obj/lib/a/stdlib/esignal.d
 $(OUTDIR)/obj/lib/a/stdlib/emalloc.o: lib/a/stdlib/emalloc.c config.mk
        $(OBJECT)
 $(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/emalloc.o
@@ -61,34 +17,22 @@ $(OUTDIR)/obj/lib/a/stdlib/warn.o: lib/a/stdlib/warn.c config.mk
        $(OBJECT)
 $(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/warn.o
 -include $(OUTDIR)/obj/lib/a/stdlib/warn.d
-$(OUTDIR)/obj/lib/a/stdlib/estrdup.o: lib/a/stdlib/estrdup.c config.mk
-       $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/estrdup.o
--include $(OUTDIR)/obj/lib/a/stdlib/estrdup.d
-$(OUTDIR)/obj/lib/a/stdlib/forkexec.o: lib/a/stdlib/forkexec.c config.mk
-       $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/forkexec.o
--include $(OUTDIR)/obj/lib/a/stdlib/forkexec.d
-$(OUTDIR)/obj/lib/a/stdlib/efreadline.o: lib/a/stdlib/efreadline.c config.mk
+$(OUTDIR)/obj/lib/a/stdlib/esignal.o: lib/a/stdlib/esignal.c config.mk
        $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/efreadline.o
--include $(OUTDIR)/obj/lib/a/stdlib/efreadline.d
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/esignal.o
+-include $(OUTDIR)/obj/lib/a/stdlib/esignal.d
 $(OUTDIR)/obj/lib/a/stdlib/eraise.o: lib/a/stdlib/eraise.c config.mk
        $(OBJECT)
 $(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/eraise.o
 -include $(OUTDIR)/obj/lib/a/stdlib/eraise.d
-$(OUTDIR)/obj/lib/a/stdlib/strmcat.o: lib/a/stdlib/strmcat.c config.mk
-       $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/strmcat.o
--include $(OUTDIR)/obj/lib/a/stdlib/strmcat.d
-$(OUTDIR)/obj/lib/a/stdlib/erealloc.o: lib/a/stdlib/erealloc.c config.mk
+$(OUTDIR)/obj/lib/a/stdlib/forkexec.o: lib/a/stdlib/forkexec.c config.mk
        $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/erealloc.o
--include $(OUTDIR)/obj/lib/a/stdlib/erealloc.d
-$(OUTDIR)/obj/lib/a/stdlib/fatal.o: lib/a/stdlib/fatal.c config.mk
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/forkexec.o
+-include $(OUTDIR)/obj/lib/a/stdlib/forkexec.d
+$(OUTDIR)/obj/lib/a/stdlib/estrdup.o: lib/a/stdlib/estrdup.c config.mk
        $(OBJECT)
-$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/fatal.o
--include $(OUTDIR)/obj/lib/a/stdlib/fatal.d
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/estrdup.o
+-include $(OUTDIR)/obj/lib/a/stdlib/estrdup.d
 $(OUTDIR)/obj/lib/a/stdlib/smprintf.o: lib/a/stdlib/smprintf.c config.mk
        $(OBJECT)
 $(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/smprintf.o
@@ -101,17 +45,77 @@ $(OUTDIR)/obj/lib/a/stdlib/ecalloc.o: lib/a/stdlib/ecalloc.c config.mk
        $(OBJECT)
 $(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/ecalloc.o
 -include $(OUTDIR)/obj/lib/a/stdlib/ecalloc.d
+$(OUTDIR)/obj/lib/a/stdlib/erealloc.o: lib/a/stdlib/erealloc.c config.mk
+       $(OBJECT)
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/erealloc.o
+-include $(OUTDIR)/obj/lib/a/stdlib/erealloc.d
+$(OUTDIR)/obj/lib/a/stdlib/efreadline.o: lib/a/stdlib/efreadline.c config.mk
+       $(OBJECT)
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/efreadline.o
+-include $(OUTDIR)/obj/lib/a/stdlib/efreadline.d
+$(OUTDIR)/obj/lib/a/stdlib/fatal.o: lib/a/stdlib/fatal.c config.mk
+       $(OBJECT)
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/fatal.o
+-include $(OUTDIR)/obj/lib/a/stdlib/fatal.d
+$(OUTDIR)/obj/lib/a/stdlib/strmcat.o: lib/a/stdlib/strmcat.c config.mk
+       $(OBJECT)
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/stdlib/strmcat.o
+-include $(OUTDIR)/obj/lib/a/stdlib/strmcat.d
+$(OUTDIR)/obj/lib/a/Options.o: lib/a/Options.c config.mk
+       $(OBJECT)
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/Options.o
+-include $(OUTDIR)/obj/lib/a/Options.d
+$(OUTDIR)/obj/lib/a/Thread.o: lib/a/Thread.c config.mk
+       $(OBJECT)
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/Thread.o
+-include $(OUTDIR)/obj/lib/a/Thread.d
+$(OUTDIR)/obj/lib/a/File.o: lib/a/File.c config.mk
+       $(OBJECT)
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/File.o
+-include $(OUTDIR)/obj/lib/a/File.d
+$(OUTDIR)/obj/lib/a/defaults/set_option.o: lib/a/defaults/set_option.c config.mk
+       $(OBJECT)
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/defaults/set_option.o
+-include $(OUTDIR)/obj/lib/a/defaults/set_option.d
+$(OUTDIR)/obj/lib/a/defaults/usage.o: lib/a/defaults/usage.c config.mk
+       $(OBJECT)
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/defaults/usage.o
+-include $(OUTDIR)/obj/lib/a/defaults/usage.d
+$(OUTDIR)/obj/lib/a/defaults/options.o: lib/a/defaults/options.c config.mk
+       $(OBJECT)
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/defaults/options.o
+-include $(OUTDIR)/obj/lib/a/defaults/options.d
+$(OUTDIR)/obj/lib/a/defaults/argv0.o: lib/a/defaults/argv0.c config.mk
+       $(OBJECT)
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/defaults/argv0.o
+-include $(OUTDIR)/obj/lib/a/defaults/argv0.d
+$(OUTDIR)/obj/lib/a/Mutex.o: lib/a/Mutex.c config.mk
+       $(OBJECT)
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/Mutex.o
+-include $(OUTDIR)/obj/lib/a/Mutex.d
 $(OUTDIR)/obj/lib/a/GC.o: lib/a/GC.c config.mk
        $(OBJECT)
 $(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/GC.o
 -include $(OUTDIR)/obj/lib/a/GC.d
+$(OUTDIR)/obj/lib/a/UTF8.o: lib/a/UTF8.c config.mk
+       $(OBJECT)
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/UTF8.o
+-include $(OUTDIR)/obj/lib/a/UTF8.d
+$(OUTDIR)/obj/lib/a/Net.o: lib/a/Net.c config.mk
+       $(OBJECT)
+$(OUTDIR)/lib/liba.a: $(OUTDIR)/obj/lib/a/Net.o
+-include $(OUTDIR)/obj/lib/a/Net.d
 $(OUTDIR)/lib/liba.a:
        $(ARCHIVE)
 libs: $(OUTDIR)/lib/liba.a
-$(OUTDIR)/obj/lib/ui/window_create.o: lib/ui/window_create.c config.mk
+$(OUTDIR)/obj/lib/ui/window_delete.o: lib/ui/window_delete.c config.mk
        $(OBJECT)
-$(OUTDIR)/lib/libui.a: $(OUTDIR)/obj/lib/ui/window_create.o
--include $(OUTDIR)/obj/lib/ui/window_create.d
+$(OUTDIR)/lib/libui.a: $(OUTDIR)/obj/lib/ui/window_delete.o
+-include $(OUTDIR)/obj/lib/ui/window_delete.d
+$(OUTDIR)/obj/lib/ui/ui_end.o: lib/ui/ui_end.c config.mk
+       $(OBJECT)
+$(OUTDIR)/lib/libui.a: $(OUTDIR)/obj/lib/ui/ui_end.o
+-include $(OUTDIR)/obj/lib/ui/ui_end.d
 $(OUTDIR)/obj/lib/ui/ui_begin.o: lib/ui/ui_begin.c config.mk
        $(OBJECT)
 $(OUTDIR)/lib/libui.a: $(OUTDIR)/obj/lib/ui/ui_begin.o
@@ -120,33 +124,25 @@ $(OUTDIR)/obj/lib/ui/font_close.o: lib/ui/font_close.c config.mk
        $(OBJECT)
 $(OUTDIR)/lib/libui.a: $(OUTDIR)/obj/lib/ui/font_close.o
 -include $(OUTDIR)/obj/lib/ui/font_close.d
-$(OUTDIR)/obj/lib/ui/window_hide.o: lib/ui/window_hide.c config.mk
+$(OUTDIR)/obj/lib/ui/window_create.o: lib/ui/window_create.c config.mk
        $(OBJECT)
-$(OUTDIR)/lib/libui.a: $(OUTDIR)/obj/lib/ui/window_hide.o
--include $(OUTDIR)/obj/lib/ui/window_hide.d
+$(OUTDIR)/lib/libui.a: $(OUTDIR)/obj/lib/ui/window_create.o
+-include $(OUTDIR)/obj/lib/ui/window_create.d
 $(OUTDIR)/obj/lib/ui/font_load.o: lib/ui/font_load.c config.mk
        $(OBJECT)
 $(OUTDIR)/lib/libui.a: $(OUTDIR)/obj/lib/ui/font_load.o
 -include $(OUTDIR)/obj/lib/ui/font_load.d
-$(OUTDIR)/obj/lib/ui/window_delete.o: lib/ui/window_delete.c config.mk
+$(OUTDIR)/obj/lib/ui/window_hide.o: lib/ui/window_hide.c config.mk
        $(OBJECT)
-$(OUTDIR)/lib/libui.a: $(OUTDIR)/obj/lib/ui/window_delete.o
--include $(OUTDIR)/obj/lib/ui/window_delete.d
+$(OUTDIR)/lib/libui.a: $(OUTDIR)/obj/lib/ui/window_hide.o
+-include $(OUTDIR)/obj/lib/ui/window_hide.d
 $(OUTDIR)/obj/lib/ui/window_show.o: lib/ui/window_show.c config.mk
        $(OBJECT)
 $(OUTDIR)/lib/libui.a: $(OUTDIR)/obj/lib/ui/window_show.o
 -include $(OUTDIR)/obj/lib/ui/window_show.d
-$(OUTDIR)/obj/lib/ui/ui_end.o: lib/ui/ui_end.c config.mk
-       $(OBJECT)
-$(OUTDIR)/lib/libui.a: $(OUTDIR)/obj/lib/ui/ui_end.o
--include $(OUTDIR)/obj/lib/ui/ui_end.d
 $(OUTDIR)/lib/libui.a:
        $(ARCHIVE)
 libs: $(OUTDIR)/lib/libui.a
-$(OUTDIR)/obj/lib/x11/x11_gc.o: lib/x11/x11_gc.c config.mk
-       $(OBJECT)
-$(OUTDIR)/lib/libx11.a: $(OUTDIR)/obj/lib/x11/x11_gc.o
--include $(OUTDIR)/obj/lib/x11/x11_gc.d
 $(OUTDIR)/obj/lib/x11/x11.o: lib/x11/x11.c config.mk
        $(OBJECT)
 $(OUTDIR)/lib/libx11.a: $(OUTDIR)/obj/lib/x11/x11.o
@@ -155,6 +151,10 @@ $(OUTDIR)/obj/lib/x11/x11_sel.o: lib/x11/x11_sel.c config.mk
        $(OBJECT)
 $(OUTDIR)/lib/libx11.a: $(OUTDIR)/obj/lib/x11/x11_sel.o
 -include $(OUTDIR)/obj/lib/x11/x11_sel.d
+$(OUTDIR)/obj/lib/x11/x11_gc.o: lib/x11/x11_gc.c config.mk
+       $(OBJECT)
+$(OUTDIR)/lib/libx11.a: $(OUTDIR)/obj/lib/x11/x11_gc.o
+-include $(OUTDIR)/obj/lib/x11/x11_gc.d
 $(OUTDIR)/lib/libx11.a:
        $(ARCHIVE)
 libs: $(OUTDIR)/lib/libx11.a
@@ -195,26 +195,10 @@ $(OUTDIR)/bin/pick: | $(libs)
 $(OUTDIR)/bin/pick: $(OUTDIR)/obj/bin/pick.o
        $(BINARY)
 bins: $(OUTDIR)/bin/pick
-$(OUTDIR)/obj/bin/editor/range.o: bin/editor/range.c config.mk
-       $(OBJECT)
-$(OUTDIR)/bin/editor: $(OUTDIR)/obj/bin/editor/range.o
--include $(OUTDIR)/obj/bin/editor/range.d
-$(OUTDIR)/obj/bin/editor/job.o: bin/editor/job.c config.mk
-       $(OBJECT)
-$(OUTDIR)/bin/editor: $(OUTDIR)/obj/bin/editor/job.o
--include $(OUTDIR)/obj/bin/editor/job.d
 $(OUTDIR)/obj/bin/editor/buf.o: bin/editor/buf.c config.mk
        $(OBJECT)
 $(OUTDIR)/bin/editor: $(OUTDIR)/obj/bin/editor/buf.o
 -include $(OUTDIR)/obj/bin/editor/buf.d
-$(OUTDIR)/obj/bin/editor/editlog.o: bin/editor/editlog.c config.mk
-       $(OBJECT)
-$(OUTDIR)/bin/editor: $(OUTDIR)/obj/bin/editor/editlog.o
--include $(OUTDIR)/obj/bin/editor/editlog.d
-$(OUTDIR)/obj/bin/editor/gapbuf.o: bin/editor/gapbuf.c config.mk
-       $(OBJECT)
-$(OUTDIR)/bin/editor: $(OUTDIR)/obj/bin/editor/gapbuf.o
--include $(OUTDIR)/obj/bin/editor/gapbuf.d
 $(OUTDIR)/obj/bin/editor/view.o: bin/editor/view.c config.mk
        $(OBJECT)
 $(OUTDIR)/bin/editor: $(OUTDIR)/obj/bin/editor/view.o
@@ -223,6 +207,22 @@ $(OUTDIR)/obj/bin/editor/draw.o: bin/editor/draw.c config.mk
        $(OBJECT)
 $(OUTDIR)/bin/editor: $(OUTDIR)/obj/bin/editor/draw.o
 -include $(OUTDIR)/obj/bin/editor/draw.d
+$(OUTDIR)/obj/bin/editor/range.o: bin/editor/range.c config.mk
+       $(OBJECT)
+$(OUTDIR)/bin/editor: $(OUTDIR)/obj/bin/editor/range.o
+-include $(OUTDIR)/obj/bin/editor/range.d
+$(OUTDIR)/obj/bin/editor/gapbuf.o: bin/editor/gapbuf.c config.mk
+       $(OBJECT)
+$(OUTDIR)/bin/editor: $(OUTDIR)/obj/bin/editor/gapbuf.o
+-include $(OUTDIR)/obj/bin/editor/gapbuf.d
+$(OUTDIR)/obj/bin/editor/job.o: bin/editor/job.c config.mk
+       $(OBJECT)
+$(OUTDIR)/bin/editor: $(OUTDIR)/obj/bin/editor/job.o
+-include $(OUTDIR)/obj/bin/editor/job.d
+$(OUTDIR)/obj/bin/editor/editlog.o: bin/editor/editlog.c config.mk
+       $(OBJECT)
+$(OUTDIR)/bin/editor: $(OUTDIR)/obj/bin/editor/editlog.o
+-include $(OUTDIR)/obj/bin/editor/editlog.d
 $(OUTDIR)/obj/bin/editor/main.o: bin/editor/main.c config.mk
        $(OBJECT)
 $(OUTDIR)/bin/editor: $(OUTDIR)/obj/bin/editor/main.o
@@ -230,14 +230,14 @@ $(OUTDIR)/bin/editor: $(OUTDIR)/obj/bin/editor/main.o
 $(OUTDIR)/bin/editor: | $(libs)
        $(BINARY)
 bins: $(OUTDIR)/bin/editor
-$(OUTDIR)/obj/bin/screenlock/slock.o: bin/screenlock/slock.c config.mk
-       $(OBJECT)
-$(OUTDIR)/bin/screenlock: $(OUTDIR)/obj/bin/screenlock/slock.o
--include $(OUTDIR)/obj/bin/screenlock/slock.d
 $(OUTDIR)/obj/bin/screenlock/explicit_bzero.o: bin/screenlock/explicit_bzero.c config.mk
        $(OBJECT)
 $(OUTDIR)/bin/screenlock: $(OUTDIR)/obj/bin/screenlock/explicit_bzero.o
 -include $(OUTDIR)/obj/bin/screenlock/explicit_bzero.d
+$(OUTDIR)/obj/bin/screenlock/slock.o: bin/screenlock/slock.c config.mk
+       $(OBJECT)
+$(OUTDIR)/bin/screenlock: $(OUTDIR)/obj/bin/screenlock/slock.o
+-include $(OUTDIR)/obj/bin/screenlock/slock.d
 $(OUTDIR)/bin/screenlock: | $(libs)
        $(BINARY)
 bins: $(OUTDIR)/bin/screenlock
@@ -248,30 +248,30 @@ $(OUTDIR)/bin/terminal: $(OUTDIR)/obj/bin/terminal/st.o
 $(OUTDIR)/bin/terminal: | $(libs)
        $(BINARY)
 bins: $(OUTDIR)/bin/terminal
-$(OUTDIR)/obj/bin/winmgr/error.o: bin/winmgr/error.c config.mk
-       $(OBJECT)
-$(OUTDIR)/bin/winmgr: $(OUTDIR)/obj/bin/winmgr/error.o
--include $(OUTDIR)/obj/bin/winmgr/error.d
-$(OUTDIR)/obj/bin/winmgr/mons.o: bin/winmgr/mons.c config.mk
+$(OUTDIR)/obj/bin/winmgr/client.o: bin/winmgr/client.c config.mk
        $(OBJECT)
-$(OUTDIR)/bin/winmgr: $(OUTDIR)/obj/bin/winmgr/mons.o
--include $(OUTDIR)/obj/bin/winmgr/mons.d
+$(OUTDIR)/bin/winmgr: $(OUTDIR)/obj/bin/winmgr/client.o
+-include $(OUTDIR)/obj/bin/winmgr/client.d
 $(OUTDIR)/obj/bin/winmgr/keys.o: bin/winmgr/keys.c config.mk
        $(OBJECT)
 $(OUTDIR)/bin/winmgr: $(OUTDIR)/obj/bin/winmgr/keys.o
 -include $(OUTDIR)/obj/bin/winmgr/keys.d
-$(OUTDIR)/obj/bin/winmgr/mouse.o: bin/winmgr/mouse.c config.mk
+$(OUTDIR)/obj/bin/winmgr/error.o: bin/winmgr/error.c config.mk
        $(OBJECT)
-$(OUTDIR)/bin/winmgr: $(OUTDIR)/obj/bin/winmgr/mouse.o
--include $(OUTDIR)/obj/bin/winmgr/mouse.d
+$(OUTDIR)/bin/winmgr: $(OUTDIR)/obj/bin/winmgr/error.o
+-include $(OUTDIR)/obj/bin/winmgr/error.d
+$(OUTDIR)/obj/bin/winmgr/event.o: bin/winmgr/event.c config.mk
+       $(OBJECT)
+$(OUTDIR)/bin/winmgr: $(OUTDIR)/obj/bin/winmgr/event.o
+-include $(OUTDIR)/obj/bin/winmgr/event.d
 $(OUTDIR)/obj/bin/winmgr/list.o: bin/winmgr/list.c config.mk
        $(OBJECT)
 $(OUTDIR)/bin/winmgr: $(OUTDIR)/obj/bin/winmgr/list.o
 -include $(OUTDIR)/obj/bin/winmgr/list.d
-$(OUTDIR)/obj/bin/winmgr/winmgr.o: bin/winmgr/winmgr.c config.mk
+$(OUTDIR)/obj/bin/winmgr/mouse.o: bin/winmgr/mouse.c config.mk
        $(OBJECT)
-$(OUTDIR)/bin/winmgr: $(OUTDIR)/obj/bin/winmgr/winmgr.o
--include $(OUTDIR)/obj/bin/winmgr/winmgr.d
+$(OUTDIR)/bin/winmgr: $(OUTDIR)/obj/bin/winmgr/mouse.o
+-include $(OUTDIR)/obj/bin/winmgr/mouse.d
 $(OUTDIR)/obj/bin/winmgr/tile.o: bin/winmgr/tile.c config.mk
        $(OBJECT)
 $(OUTDIR)/bin/winmgr: $(OUTDIR)/obj/bin/winmgr/tile.o
@@ -280,14 +280,14 @@ $(OUTDIR)/obj/bin/winmgr/util.o: bin/winmgr/util.c config.mk
        $(OBJECT)
 $(OUTDIR)/bin/winmgr: $(OUTDIR)/obj/bin/winmgr/util.o
 -include $(OUTDIR)/obj/bin/winmgr/util.d
-$(OUTDIR)/obj/bin/winmgr/event.o: bin/winmgr/event.c config.mk
+$(OUTDIR)/obj/bin/winmgr/winmgr.o: bin/winmgr/winmgr.c config.mk
        $(OBJECT)
-$(OUTDIR)/bin/winmgr: $(OUTDIR)/obj/bin/winmgr/event.o
--include $(OUTDIR)/obj/bin/winmgr/event.d
-$(OUTDIR)/obj/bin/winmgr/client.o: bin/winmgr/client.c config.mk
+$(OUTDIR)/bin/winmgr: $(OUTDIR)/obj/bin/winmgr/winmgr.o
+-include $(OUTDIR)/obj/bin/winmgr/winmgr.d
+$(OUTDIR)/obj/bin/winmgr/mons.o: bin/winmgr/mons.c config.mk
        $(OBJECT)
-$(OUTDIR)/bin/winmgr: $(OUTDIR)/obj/bin/winmgr/client.o
--include $(OUTDIR)/obj/bin/winmgr/client.d
+$(OUTDIR)/bin/winmgr: $(OUTDIR)/obj/bin/winmgr/mons.o
+-include $(OUTDIR)/obj/bin/winmgr/mons.d
 $(OUTDIR)/bin/winmgr: | $(libs)
        $(BINARY)
 bins: $(OUTDIR)/bin/winmgr