Commit graph

904 commits

Author SHA1 Message Date
Daniel Eklöf
990eacdad4
colors: change default 'bright0' from 000000 -> 666666 2019-08-23 19:42:14 +02:00
Daniel Eklöf
7026f60717
add config + command line option for setting initial window width/height 2019-08-23 17:26:41 +02:00
Daniel Eklöf
4e2067446a
main: use slave's exit value as our exit value 2019-08-23 17:23:47 +02:00
Daniel Eklöf
74a0c5f3fc
render: change resize debug log message to an info log message 2019-08-23 17:23:09 +02:00
Daniel Eklöf
7c7720a3ab
scrolling: optimize row access by assuming number of rows is a power of 2
With this assumption, we can replace 'a % b' with 'a & (b - 1)'. In
terms of instructions, this means a fast 'and' instead of a slow
'div'.

Further optimize scrolling by:

* not double-initializing empty rows. Previously, grid_row_alloc()
  called calloc(), which was then followed by a memset() when
  scrolling. This is of course unnecessary.

* Don't loop the entire set of visible rows (this was done to ensure
  all visible rows had been allocated, and to prefetch the cell
  contents).

  This isn't necessary; only newly pulled in rows can be NULL. For
  now, don't prefetch at all.
2019-08-22 17:33:23 +02:00
Daniel Eklöf
f0663c951e
generate-alt-random-writes: generate color, scroll and scroll region sequences 2019-08-22 17:31:13 +02:00
Daniel Eklöf
0cb3e70ecf
PKGBUILD: profiling payload: random writes to the alt screen 2019-08-21 20:01:59 +02:00
Daniel Eklöf
832f6520d0
generate-alt-random-writes: script to generate payload for profiling 2019-08-21 20:01:17 +02:00
Daniel Eklöf
2b96f32d19
PKGBUILD: prepare for profile guided compilation 2019-08-21 19:41:41 +02:00
Daniel Eklöf
c75518123b
PKGBUILD: performance: build without stack protector 2019-08-21 19:38:48 +02:00
Daniel Eklöf
675504308a
osc: add debug logs when colors are changed and reset 2019-08-21 18:54:12 +02:00
Daniel Eklöf
d8fb80ea32
term: rename colors256 -> table 2019-08-21 18:50:24 +02:00
Daniel Eklöf
631e0c0870
term: use colors256 array for *all* colors
That is, remove the 'regular' and 'bright' color arrays. This is
possible since the 256-color array is defined such that the first 16
colors map to the regular and bright colors.
2019-08-21 18:47:48 +02:00
Daniel Eklöf
65e4b93a03
osc: fix indexing into 'bright' color array 2019-08-21 18:02:18 +02:00
Daniel Eklöf
52ece3592c
osc: implement "change color" commands
This implements OSC 4, 10, 11 - change <color>/foreground/background,
and their corresponding 'query' variant (which was already implemented
for OSC 10/11).

It also implements OSC 104, 110, 111 - reset
<color>/foreground/background.

Set corresponding terminfo entries to signal this support to clients.
2019-08-21 17:57:02 +02:00
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