Commit graph

539 commits

Author SHA1 Message Date
Daniel Eklöf
c1903f5522
render: multiply width/height with *new* scale factor, not old 2019-08-21 17:56:41 +02:00
Daniel Eklöf
d7aaeaedee
csi: move 256-color table into the terminal struct 2019-08-21 17:56:21 +02:00
Daniel Eklöf
3efc30c6a1
main: fix debug logs 2019-08-21 17:55:40 +02:00
Daniel Eklöf
842d114cdb
main: don't set scale before we know what it actually should be 2019-08-21 17:55:11 +02:00
Daniel Eklöf
0a80269be7
main: we *do* track outputs 2019-08-21 17:54:58 +02:00
Daniel Eklöf
d5bc46f333
render: reload cursor theme when scale (may) have changed 2019-08-21 17:53:52 +02:00
Daniel Eklöf
776432ded3
erase-cells: don't memset when keeping background color 2019-08-20 21:11:09 +02:00
Daniel Eklöf
71c6f11e86
input: back out accidental commit of debug code 2019-08-19 21:18:43 +02:00
Daniel Eklöf
4168f91d40
csi: implement CSI ? 1007 h/l - alternateScroll
When enabled, mouse scrolls in the alternate screen are converted to
up/down key presses.
2019-08-19 21:16:47 +02:00
Daniel Eklöf
9029478e8c
font: tentative support for BGR, V-RGB and V-BGR 2019-08-19 17:45:21 +02:00
Daniel Eklöf
d84b485202
render: don't 're-calculate fg unnecessarily 2019-08-18 18:11:38 +02:00
Daniel Eklöf
33b5210a6a
refactor: break out stride calculation to new function 2019-08-18 17:59:43 +02:00
Daniel Eklöf
8aa53d1508
README: subpixel antialiasing has been implemented 2019-08-18 17:41:49 +02:00
Daniel Eklöf
0060e33912
font: implement subpixel antialiasing 2019-08-18 17:40:57 +02:00
Daniel Eklöf
9b6d0cfcd1
render: minor optimization
Don't instantiate a pixman color unnecessarily when drawing a block
cursor.
2019-08-17 17:43:47 +02:00
Daniel Eklöf
80aef9b6af
render: use 32-bit pixman calls, where applicable 2019-08-17 17:36:27 +02:00
Daniel Eklöf
e356dd6cac
README; emphasize bitmap and color emoji font support 2019-08-17 12:51:40 +02:00
Daniel Eklöf
579a6bf6f6
ci: need ncurses (for 'tic' - to generate terminfo) 2019-08-17 12:47:18 +02:00
Daniel Eklöf
c4c2b93751
ci: initial CI 2019-08-17 12:44:51 +02:00
Daniel Eklöf
a421c2ad60
README: split up requirements into "running" and "building" 2019-08-17 12:42:28 +02:00
Daniel Eklöf
3d6bbf0fe8
meson: remove unused wayland protocols 2019-08-17 12:02:05 +02:00
Daniel Eklöf
d21c4a02a0
Merge branch 'pixman' 2019-08-17 11:59:52 +02:00
Daniel Eklöf
72d3cbca26
shm/render: there's no need to have one pixman image per thread 2019-08-16 22:54:05 +02:00
Daniel Eklöf
f45e5c6aef
Remove all references to cairo; we now use pixman only 2019-08-16 22:11:22 +02:00
Daniel Eklöf
81107753bf
render: replace all usage of cairo with pixman 2019-08-16 22:06:06 +02:00
Daniel Eklöf
bed7b34c28
wip: render background and glyphs using pixman 2019-08-16 20:40:32 +02:00
Daniel Eklöf
9259696b18
meson: add pixman dependency 2019-08-16 18:07:04 +02:00
Daniel Eklöf
ece09cc76f
vt: remove support for urxvt 'extended' line drawing character set 2019-08-16 18:04:03 +02:00
Daniel Eklöf
8586c9cb91
vt: there is no default charset for \e0 and \eB 2019-08-16 18:01:24 +02:00
Daniel Eklöf
30d5847d06
font: fix broken debug log 2019-08-16 18:00:56 +02:00
Daniel Eklöf
6f1cf8af34
input: remove debug output 2019-08-15 20:09:24 +02:00
Daniel Eklöf
f7f3d4d5b5
Merge branch 'meta-modifier' 2019-08-15 20:08:32 +02:00
Daniel Eklöf
b8c552a5b7
keymap: add meta modifier mappings for keypad keys 2019-08-15 20:07:33 +02:00
Daniel Eklöf
2c16ec2687
keymap: add meta modifier mappings for non-keypad keys 2019-08-15 19:56:14 +02:00
Daniel Eklöf
44112e5591
input: handle meta modifier when modifying "other" keys
When handling keys without a specific map defined (i.e. keys
corresponding roughly to xterm's "otherKeys"), recognize the meta
modifier and report the correct modifier code.
2019-08-15 19:38:50 +02:00
Daniel Eklöf
9ca01436ee
input: track meta modifier 2019-08-15 19:38:28 +02:00
Daniel Eklöf
c5747fbd7d
keymap: don't ESC prefix return when 'shift' is held down 2019-08-15 19:24:46 +02:00
Daniel Eklöf
d45af7fd76
doc: document how to specify command to execute instead of shell 2019-08-15 19:17:51 +02:00
Daniel Eklöf
9fe6e8cc48
Add background alpha support 2019-08-15 18:15:43 +02:00
Daniel Eklöf
9e7106018e
font: don't bother creating a cairo surface for zero-width glyphs 2019-08-13 20:44:30 +02:00
Daniel Eklöf
8035bbfbdb
font: handle invalid glyphs correctly
*All* glyphs are cached.

But we never set the 'wc' member of failed glyphs, causing a later
cache lookup of the same glyph miss in the cache, and thus re-generate
yet another glyph (that is inserted into the cache). I.e. if the
same (invalid) glyph is rendered over and over again, we'll end up
growing the cache indefinitely.

Fix by setting the 'wc' member of invalid glyphs. This causes a cache
lookup to hit. But, we must also check the glyphs validity, and return
NULL if the glyph isn't valid.

Finally, when destroying a font, skip invalid glyphs, since they have
no resources that needs to be freed.
2019-08-13 20:41:21 +02:00
Daniel Eklöf
c2451e2a80
output: track output we're mapped on, and use maximum scale
Our surface may be on multiple outputs at the same time. In this case,
we use the largest scale factor, and let the compositor down scale on
the "other" output(s).
2019-08-12 21:49:17 +02:00
Daniel Eklöf
4b06360681
input: free previous XKB state when we get a new one 2019-08-12 21:33:24 +02:00
Daniel Eklöf
05e91fa9df
output: resize on scale changes 2019-08-12 21:33:24 +02:00
Daniel Eklöf
74f723e0cf
output: initial support for output scaling
* Not updated run-time; only scale at start up used
* Multiple monitors (outputs) not supported, as we can't track which
  output we're on (yet).
2019-08-12 21:33:24 +02:00
Daniel Eklöf
c6640adde3
render: fix foreground color for non-block cursor
When rendering either the 'bar' or 'underline' cursor styles, only use
the configured "cursor color" if it has actually been configured.

If it hasn't, use the current foreground color.
2019-08-12 20:00:28 +02:00
Daniel Eklöf
9855d18ba7
doc: add foot.5 (configuration) 2019-08-12 20:00:09 +02:00
Daniel Eklöf
4b81fa3eab
config: set to NULL before calling getline()
This fixes a crash on musl-based distros
2019-08-12 19:31:56 +02:00
Daniel Eklöf
ca5e693524
config: don't log a NULL path 2019-08-12 19:31:21 +02:00
Daniel Eklöf
d405c7022f
doc: add foot.1 man page 2019-08-11 20:54:28 +02:00