Commit graph

  • a8cb6c531e
    Remove unneeded include Daniel Eklöf 2019-11-03 13:07:19 +01:00
  • d3e4ba6c94
    slave: remove unneeded define Daniel Eklöf 2019-11-03 13:02:16 +01:00
  • 78cd93f030
    terminal: malloc_trim() is a GNU extension Daniel Eklöf 2019-11-03 12:57:47 +01:00
  • 2195e2cf71
    terminal: trim memory after free:ing a terminal Daniel Eklöf 2019-11-03 12:48:18 +01:00
  • ffadb5f020
    README: updates Daniel Eklöf 2019-11-03 12:24:14 +01:00
  • e76357eabb
    terminal: ptmx fdm handler: tag unlikely branches Daniel Eklöf 2019-11-03 12:14:09 +01:00
  • 79945419eb
    terminal: comments and cleanup Daniel Eklöf 2019-11-03 12:13:51 +01:00
  • a326427caf
    server: set CLOEXEC | NONBLOCK directly in socket() call Daniel Eklöf 2019-11-03 01:48:40 +01:00
  • e1b6aa87fb
    Merge branch 'async-ptmx' Daniel Eklöf 2019-11-03 01:26:42 +01:00
  • cba1551b03
    terminal: cleanup asynchronous ptmx output handling Daniel Eklöf 2019-11-03 01:25:41 +01:00
  • b4c810cf50
    Merge branch 'master' into async-ptmx Daniel Eklöf 2019-11-03 01:14:48 +01:00
  • 8cf981ca12
    slave: turn on FD_CLOEXEC after slave has been spawned Daniel Eklöf 2019-11-03 01:14:02 +01:00
  • 8d9ad96b52
    server: FD_CLOEXEC is a file descriptor flag, not a file status flag Daniel Eklöf 2019-11-03 01:11:02 +01:00
  • f00c5fdac6
    term: asynchronous writes to slave Daniel Eklöf 2019-11-03 01:03:52 +01:00
  • 777d851282
    fdm: invert check to get rid of one level of indentation Daniel Eklöf 2019-11-03 00:42:34 +01:00
  • 9f1525aef7
    Rename: vt_to_slave() -> term_to_slave() Daniel Eklöf 2019-11-03 00:27:39 +01:00
  • 79c3121aa3
    misc: fdm already logs failures Daniel Eklöf 2019-11-03 00:25:17 +01:00
  • 89997b97a0
    fdm: add fdm_event_add() and fdm_event_del() Daniel Eklöf 2019-11-03 00:22:22 +01:00
  • e09bda322a
    fdm: bug: 'ret' was renamed to 'r', and replaced with another 'ret' Daniel Eklöf 2019-11-03 00:51:47 +01:00
  • 8ffa021de8
    fdm: rename struct fd -> struct handler Daniel Eklöf 2019-11-02 23:37:19 +01:00
  • 9b67a6627a
    fdm: fdm_destroy(): assert deferred delete list is empty Daniel Eklöf 2019-11-02 23:36:02 +01:00
  • ba7f79af18
    fdm: purge deferred delete list also when handler fails Daniel Eklöf 2019-11-02 23:35:42 +01:00
  • 1543c71f78
    server: server_destroy(): unlink UNIX socket Daniel Eklöf 2019-11-02 23:32:13 +01:00
  • ad26914631
    server: use a non-blocking socket when trying to connect Daniel Eklöf 2019-11-02 23:25:14 +01:00
  • 32129083bd
    main: pre-allocate fonts Daniel Eklöf 2019-11-02 13:50:40 +01:00
  • c99c0285dc
    fdm: fdm_poll(): disallow nested calls Daniel Eklöf 2019-11-02 13:46:54 +01:00
  • 338747dc5a
    server: don't get stuck in read() if TERM length is 0 Daniel Eklöf 2019-11-02 12:17:30 +01:00
  • a1ba4cb010
    server: don't get stuck in read() if length of argv argument is 0 Daniel Eklöf 2019-11-02 12:16:50 +01:00
  • 965d8a3a8e
    terminal: don't get stuck waiting for misbehaving slaves to terminate Daniel Eklöf 2019-11-02 12:02:11 +01:00
  • 563c910127
    terminal: 'child_ret' variables isn't needed Daniel Eklöf 2019-11-02 11:30:32 +01:00
  • f28fb6c039
    timerfd: read() returns -1 with errno == EAGAIN, not 0 Daniel Eklöf 2019-11-02 01:44:01 +01:00
  • 6ed97a47be
    shm: purge buffers *before* we (maybe) return one from the cache Daniel Eklöf 2019-11-02 01:31:48 +01:00
  • bf9aff056a
    Revert "render: last_buf may point to a free:d buffer" Daniel Eklöf 2019-11-02 01:28:29 +01:00
  • c6c75298f3
    shm: automatic buffer purging is now delayed one cycle Daniel Eklöf 2019-11-02 01:27:05 +01:00
  • b27cd9cedf
    timerfd: use non-blocking mode, fixes dead lock Daniel Eklöf 2019-11-02 01:14:40 +01:00
  • 035ace33b6
    server: purge shm buffers when terminal is destroyed Daniel Eklöf 2019-11-02 00:49:25 +01:00
  • 8e5d386afc
    shm: add shm_purge() Daniel Eklöf 2019-11-02 00:49:00 +01:00
  • 4d3251a93b
    render: last_buf may point to a free:d buffer Daniel Eklöf 2019-11-02 00:48:07 +01:00
  • 5812242405
    shm: purge unused buffers Daniel Eklöf 2019-11-02 00:35:02 +01:00
  • 00b46455a0
    shm: associate a 'cookie' with each buffer Daniel Eklöf 2019-11-02 00:33:37 +01:00
  • 8df82938b0
    shm: get_buffer(): remove 'copies' argument; it's not used Daniel Eklöf 2019-11-02 00:23:51 +01:00
  • 632b6ee0ea
    shm: add debug logging of how large the allocated memory buffer is Daniel Eklöf 2019-11-02 00:23:23 +01:00
  • f884f77d99
    shm: fix name of memfd Daniel Eklöf 2019-11-02 00:05:07 +01:00
  • 17024b4431
    client: bug: verify argv was sent correctly Daniel Eklöf 2019-11-02 00:01:16 +01:00
  • 570b3ac25a
    client: add debug logging of argc/argv Daniel Eklöf 2019-11-02 00:01:08 +01:00
  • 19c099236b
    server: add debug logging of client argc/argv Daniel Eklöf 2019-11-02 00:00:31 +01:00
  • 25311fc4eb
    Merge branch 'multi-window' Daniel Eklöf 2019-11-01 23:49:54 +01:00
  • 2544e93c0e
    client: register signal handler for SIGTERM too Daniel Eklöf 2019-11-01 21:13:37 +01:00
  • 438d6eaff0
    client/server: add -t,--term to footclient Daniel Eklöf 2019-11-01 21:10:47 +01:00
  • 0bd2ddd8ad
    term_init(): initialize slave TERM from term_init() argument Daniel Eklöf 2019-11-01 21:03:08 +01:00
  • 69d62d3cd2
    slave: set TERM environment variable in slave process Daniel Eklöf 2019-11-01 21:01:15 +01:00
  • d2b395bd43
    PKGBUILD: need to execute footclient, to generate profiling data Daniel Eklöf 2019-11-01 20:51:09 +01:00
  • 77ea7fc61c
    client: add long options for --verbose and --help Daniel Eklöf 2019-11-01 20:50:00 +01:00
  • 8b4ef78f7a
    wayland: wayl_win_destroy(): looks like we need another roundtrip Daniel Eklöf 2019-11-01 20:45:57 +01:00
  • 43462b24f3
    font: cache loaded fonts globally Daniel Eklöf 2019-11-01 20:40:42 +01:00
  • 3032ac33da
    completions: zsh: add --server and --term to completions Daniel Eklöf 2019-11-01 20:40:10 +01:00
  • 6637c8aeda
    client: a standalone binary that connects to a foot --server Daniel Eklöf 2019-11-01 20:39:34 +01:00
  • a1efd65746
    server: implement a --server mode Daniel Eklöf 2019-11-01 20:37:22 +01:00
  • 32c6ed7069
    main: register signal handlers for SIGINT and SIGTERM Daniel Eklöf 2019-11-01 20:35:42 +01:00
  • 1e41a25f00
    terminal: call user-defined callback when destroying terminal Daniel Eklöf 2019-11-01 20:34:32 +01:00
  • 70b236d66d
    term_shutdown(): cleanup Daniel Eklöf 2019-11-01 20:30:58 +01:00
  • c824aa2ef5
    terminal: fdm_del() closes the FD Daniel Eklöf 2019-11-01 20:29:16 +01:00
  • fb0801fa56
    terminal: delayed rendering: fdm_delayed_render() may be called with is_armged==false Daniel Eklöf 2019-11-01 20:28:11 +01:00
  • 2286bcf23d
    terminal: no need to check for EAGAIN - we don't use non-blocking Daniel Eklöf 2019-11-01 20:27:45 +01:00
  • dac1ba18c8
    render: limit length of title in call to xdg_toplevel_set_title() Daniel Eklöf 2019-11-01 20:25:44 +01:00
  • bc815a33db
    wayland: wayl_destroy(): destroy any remaining terminals Daniel Eklöf 2019-11-01 20:25:08 +01:00
  • 2e78dcc5e5
    Don't use non-blocking FDs Daniel Eklöf 2019-11-01 20:24:13 +01:00
  • 95b7c405d4
    wayland: wayl_win_destroy(): unmap windows before destroying Daniel Eklöf 2019-11-01 20:19:53 +01:00
  • 66b2097275
    wayland: wayl_init(): call wl_display_roundtrip() when done Daniel Eklöf 2019-11-01 20:02:02 +01:00
  • 291a928a49
    render: call wl_display_flush() after rendering Daniel Eklöf 2019-11-01 20:01:36 +01:00
  • b793919aba
    wayland: fdm_del() now closes the FD Daniel Eklöf 2019-11-01 19:59:39 +01:00
  • 80c4721e57
    fdm: don't free FD data that may be referenced by epoll return data Daniel Eklöf 2019-11-01 19:51:33 +01:00
  • 4ae22b72a1
    term: fdm_shutdown(): remove debug output Daniel Eklöf 2019-10-30 20:28:21 +01:00
  • b7546abca9
    main: get exit value from wayland struct Daniel Eklöf 2019-10-30 20:26:08 +01:00
  • 644585a3e5
    term: term_shutdown(): set exit value in wayland Daniel Eklöf 2019-10-30 20:25:45 +01:00
  • 1ed78ab443
    wayland: temporary: track last terminal's exit value Daniel Eklöf 2019-10-30 20:25:31 +01:00
  • 883354ffb1
    wayland: wayl_win_destroy(): return early if win == NULL Daniel Eklöf 2019-10-30 20:25:16 +01:00
  • c7238ef7f3
    term: assign client PID to term->slave Daniel Eklöf 2019-10-30 20:24:54 +01:00
  • 58e31728a0
    term: term_init(): create wayland window *last* Daniel Eklöf 2019-10-30 20:22:01 +01:00
  • 54039c1fb4
    slave: log child's errno, not parents Daniel Eklöf 2019-10-30 20:21:19 +01:00
  • 98ccd01c1b
    slave: fix debug logging (no 'term' variable) Daniel Eklöf 2019-10-30 20:20:56 +01:00
  • 2e0888bf3d
    wayland: xdg_toplevel_close(): call term_shutdown() Daniel Eklöf 2019-10-30 20:05:34 +01:00
  • 9d5926ce12
    term: add term_shutdown() Daniel Eklöf 2019-10-30 20:03:11 +01:00
  • 445bbe3469
    wayland: track multiple terminals Daniel Eklöf 2019-10-30 20:02:06 +01:00
  • e084bf2b0f
    Merge branch 'term-init-cleanup' Daniel Eklöf 2019-10-30 18:07:22 +01:00
  • a853896715
    main: free 'config' on command line parse error Daniel Eklöf 2019-10-30 18:06:47 +01:00
  • 18921f7f45
    term: move client startup to a new function, slave_spawn() Daniel Eklöf 2019-10-30 18:05:03 +01:00
  • 348f3738da
    term: break out font initialization to a separate function Daniel Eklöf 2019-10-30 17:50:12 +01:00
  • 7dcd6b7d55
    term: break out render worker threads initialization to a separate function Daniel Eklöf 2019-10-30 17:45:59 +01:00
  • 54accd8060
    term: break out color cube initialization to a separate function Daniel Eklöf 2019-10-30 17:40:09 +01:00
  • 8d6817a999
    term: require all font variants to load Daniel Eklöf 2019-10-30 17:37:30 +01:00
  • ad0f8a02d5
    Merge branch 'fdm' Daniel Eklöf 2019-10-30 17:31:44 +01:00
  • ce5f5e4d51
    slave: rename slave_spawn() -> slave_exec() Daniel Eklöf 2019-10-28 18:53:41 +01:00
  • a42df2434b
    scrollback: regression: fix rendering of scrollback diffs less than a screen Daniel Eklöf 2019-10-29 21:09:37 +01:00
  • 4ec9db8e18
    term: no need to stack-allocate an array of worker contexts Daniel Eklöf 2019-10-28 19:23:41 +01:00
  • 8e6f87eb17
    render worker context: allocate, and let worker threads free Daniel Eklöf 2019-10-28 18:48:43 +01:00
  • 720d0df067
    term: open FDs before allocating terminal struct Daniel Eklöf 2019-10-28 18:46:03 +01:00
  • fe974956b0
    term: integrate directly with FDM Daniel Eklöf 2019-10-28 18:35:16 +01:00
  • 0979a0e2e5
    terminal: implement term_init() and term_destroy() Daniel Eklöf 2019-10-28 18:25:19 +01:00
  • 89cec15920
    render: regression: don't apply scroll damage when view is in scrollback Daniel Eklöf 2019-10-28 17:58:44 +01:00