Daniel Eklöf
36f30e8b1b
terminfo: change kmous to \E[M. This fixes mouse not working in e.g. htop
2019-07-18 14:39:27 +02:00
Daniel Eklöf
7d7af62d84
main: allow TERM to be set on the command line
2019-07-18 14:34:45 +02:00
Daniel Eklöf
7e36027237
conf: TERM can now be set in footrc
2019-07-18 14:29:40 +02:00
Daniel Eklöf
d5157c15b0
csi: color index is an 8-bit unsigned value
...
This fixes an issue where a large 8-bit value was signed extended into
a large 64-bit value.
2019-07-18 14:25:15 +02:00
Daniel Eklöf
df9162450d
csi: validate param before indexing into the 256-color array
2019-07-18 14:22:19 +02:00
Daniel Eklöf
67583540b4
main: use our own terminfo 'foot' by default
2019-07-18 14:14:05 +02:00
Daniel Eklöf
b6b92a742d
csi: fix wrong variable compared in for-loop
2019-07-18 14:13:35 +02:00
Daniel Eklöf
0c565d1558
terminfo: intitial terminfo specification
2019-07-18 14:00:33 +02:00
Daniel Eklöf
6e69cf9562
glyph-cache: generate at startup, never update while rendering
2019-07-18 13:03:21 +02:00
Daniel Eklöf
332f1c6a21
vt: execute: handle \0 (NUL), by ignoring it
2019-07-18 12:19:54 +02:00
Daniel Eklöf
d2e0ba3670
render: comments
2019-07-18 10:47:09 +02:00
Daniel Eklöf
71c7219b35
render: make frame rendering time measuring optional
2019-07-18 10:35:27 +02:00
Daniel Eklöf
6e55be1557
render: cache generated glyphs for regular ASCII characters
...
To avoid having to re-generate glyphs, cache the glyphs.
For now, we only cache ASCII characters, as this allows us to lookup
the cache by simply indexing with the character (into a 256-entry
array).
2019-07-18 10:33:58 +02:00
Daniel Eklöf
c9803a2018
render: break out color conversion
2019-07-18 10:04:13 +02:00
Daniel Eklöf
df929a251a
font: don't warn when failing to get hinting/antialias
...
These properties aren't always included in the pattern, and when they
aren't, trying to get them will fail.
This isn't an error, just fallback to a default value.
2019-07-18 10:03:08 +02:00
Daniel Eklöf
0ca20e3e6c
render: time how long time it takes to render a frame
2019-07-18 09:33:49 +02:00
Daniel Eklöf
7ad87fdf2b
font: remove assert that was only there for debugging
2019-07-18 09:29:36 +02:00
Daniel Eklöf
89450bfd44
font: sync cairo's options with the FC pattern
...
Configure cairo's 'options' with default values, then update the
FontConfig pattern. Finally, update the cairo options after having
retrieved the final FontConfig option.
2019-07-17 22:50:26 +02:00
Daniel Eklöf
8bd969262b
selection: implement double-click-to-select-word
2019-07-17 21:30:57 +02:00
Daniel Eklöf
f669cce5b9
selection: bug: apply grid's view offset when starting a selection
2019-07-17 12:59:12 +02:00
Daniel Eklöf
20684afa8c
csi: implement \E[@ (ICH - insert characters)
2019-07-17 11:19:28 +02:00
Daniel Eklöf
056700aa8f
keymap: use hex instead of octal
2019-07-17 11:18:55 +02:00
Daniel Eklöf
28eef93742
vt/csi: recognize the reset sequence sent by 'reset'
...
However, we don't (yet) actually reset the terminal
2019-07-17 10:39:38 +02:00
Daniel Eklöf
e944eb85ac
csi: document a couple of unimplemented CSIs
2019-07-17 10:33:15 +02:00
Daniel Eklöf
50153ef7e2
conf: repair debug build when LOG_ENABLE_DBG=0 in config.c
2019-07-17 10:32:22 +02:00
Daniel Eklöf
de575ac58e
conf: improve configuration file parsing
...
* Strip whitespaces from keys and values
* Detect (and ignore) comments
* Detect syntax errors (no value specified etc)
* Error out on syntax errors and invalid keys
2019-07-17 10:12:14 +02:00
Daniel Eklöf
c11cc2be57
main: allow user to override shell on the command line
2019-07-17 09:55:36 +02:00
Daniel Eklöf
2046dc0fbd
slave: break out command line tokenizer
2019-07-17 09:46:45 +02:00
Daniel Eklöf
71d0f6fa56
conf: add support for overriding shell
2019-07-17 09:40:58 +02:00
Daniel Eklöf
aa87be43ba
slave: report exec() failure back to main process
2019-07-17 09:39:12 +02:00
Daniel Eklöf
519f721577
main: jump to cleanup on failure to load cursor pointer theme
2019-07-17 09:38:54 +02:00
Daniel Eklöf
153894eb73
slave: exec shell from conf
2019-07-17 09:30:39 +02:00
Daniel Eklöf
19aaa7b774
conf: get user's shell
2019-07-17 09:29:56 +02:00
Daniel Eklöf
6bce2bed00
render: use cairo_rel_line_to()
2019-07-16 21:54:48 +02:00
Daniel Eklöf
d71c5f15a1
render: shorten foreground/background local variable names
2019-07-16 19:52:45 +02:00
Daniel Eklöf
9ded4b3de2
main: fallback for strikeout positioning seems to work
2019-07-16 16:07:55 +02:00
Daniel Eklöf
06f9495ae2
render: implement strikeout
2019-07-16 15:08:02 +02:00
Daniel Eklöf
d93ca2f654
render: implement 'underline'
2019-07-16 14:20:39 +02:00
Daniel Eklöf
441337645a
render: implement 'dim'
2019-07-16 13:25:57 +02:00
Daniel Eklöf
770c5e97dd
csi: move 'dim' attribute from 'vt' to cell attributes
2019-07-16 13:25:45 +02:00
Daniel Eklöf
6c6543cfeb
csi: add back 'blink' attribute
2019-07-16 13:19:17 +02:00
Daniel Eklöf
ccc8ef9606
terminal: foreground/background in cell attributes are now uint32_t
...
This reduces the cell size, and thus improves the cache behavour
2019-07-16 13:17:51 +02:00
Daniel Eklöf
2a1c4d29e9
csi: implement \E[21m (disable bold)
2019-07-16 12:53:58 +02:00
Daniel Eklöf
0d1b4449b9
conf: initial support for configuration file
...
* Look for configuration file in (in this order):
- XDG_CONFIG_HOME/footrc
- ~/.config/footrc
* Currently supports setting the font
2019-07-16 11:52:22 +02:00
Daniel Eklöf
22115e1cf4
main: default font is 'monospace'
2019-07-16 11:03:48 +02:00
Daniel Eklöf
7f6a4f4b6b
csi: implement FocusIn/Out events
2019-07-16 10:34:08 +02:00
Daniel Eklöf
9929e902a6
csi: recognize, but mostly ignore, cursor style configuration
2019-07-16 10:20:54 +02:00
Daniel Eklöf
4038a8a198
csi: add missing 'break'
2019-07-16 10:20:47 +02:00
Daniel Eklöf
288cee0c1f
osc: recognize, but ignore, 112 (reset text cursor color)
2019-07-16 10:20:20 +02:00
Daniel Eklöf
d91805bb28
add PKGBUILD (for arch)
2019-07-15 15:48:03 +02:00