Commit graph

1239 commits

Author SHA1 Message Date
Daniel Eklöf
d07fd7de39
render: remove 'refresh' from render_resize() 2020-01-03 13:56:10 +01:00
Daniel Eklöf
46c434d3f1
wayland: window: apply all configure changes after acking the event 2020-01-03 13:54:44 +01:00
Daniel Eklöf
765fe13aff
wayland: remove wayl_terminal_from_xdg_{surface,toplevel} 2020-01-03 13:46:37 +01:00
Daniel Eklöf
b0fbc064dd
wayland: window: pass window pointer to xdg toplevel callbacks 2020-01-03 13:46:15 +01:00
Daniel Eklöf
ea002ad571
wayland: window: pass window pointer to xdg-surface-listener callbacks 2020-01-03 13:41:35 +01:00
Daniel Eklöf
9372fb4166
wayland: window: pass window pointer to wl-surface callbacks 2020-01-03 13:40:37 +01:00
Daniel Eklöf
9a0238bb52
wayland: window now keeps pointer to owning terminal, not wayland 2020-01-03 13:37:03 +01:00
Daniel Eklöf
74aa604904
render: render_resize(): don't do anything if width or height is 0 2020-01-03 12:54:03 +01:00
Daniel Eklöf
11892e8d23
wayland: fix release build 2020-01-03 12:52:18 +01:00
Daniel Eklöf
43b76f002f
Merge branch 'visual-focus' 2020-01-03 12:49:51 +01:00
Daniel Eklöf
8494cc808f
wayland: debug log state changes in xdg-toplevel-configure 2020-01-03 12:49:04 +01:00
Daniel Eklöf
c94da979fb
wayland: xdg-surface-configure: refresh terminal
Any changes done in any of the configure events are ignored before
we've ack:ed the configure event.

In particular, this means the resize done in xdg-toplevel-configure
isn't displayed until the next time we call render_refresh().

Unless we do something ourselves, this can take quite some time, since
we're basically need the slave to write something.

So, in xdg-surface-configure, *after* having ack:ed the configure
event, call render_refresh() to make the changes done in
xdg-toplevel-configure visible as soon as possible.
2020-01-03 12:48:54 +01:00
Daniel Eklöf
bd13c2c86a
term: render_resize() now takes a 'refresh' argument 2020-01-03 12:45:30 +01:00
Daniel Eklöf
26c16a9a47
wayland: render_resize() now takes a 'refresh' argument 2020-01-03 12:45:16 +01:00
Daniel Eklöf
af26f043fb
render: resize() now only calls refresh() if asked to 2020-01-03 12:44:29 +01:00
Daniel Eklöf
709dbfe18b
Merge branch 'master' into visual-focus 2020-01-03 12:08:51 +01:00
Daniel Eklöf
792b443918
render: use a unique buffer cookie for the 'search' surface
This fixes an issue where rendering the 'search' box caused the last
normal buffer from being purged.

This meant the terminal had a pointer to a now freed buffer, which we
de-referenced and occasionally memcpy:ied from.
2020-01-03 12:05:48 +01:00
Daniel Eklöf
aa9e87ffb0
wayland: term_visual_focus_{in,out} handles already being focused/defocused 2020-01-03 11:20:13 +01:00
Daniel Eklöf
80dfd5b645
term: visual_focus_{in,out}: do nothing if already focused/defocused 2020-01-03 11:19:56 +01:00
Daniel Eklöf
304355d8ed
wayland: xdg-toplevel-configure: no need to detect early configure events
We can now lookup terminal instances at all times, making it
unnecessary to detect "early" configure events.

Note that we still need to prevent a resize from happening when
width/height is 0.
2020-01-03 11:18:43 +01:00
Daniel Eklöf
913c684844
term: term_init() calls wl_display_roundtrip()
Instead of having `wayl_win_init()` call
`wl_display_roundtrip()` (which it itself doesn't need), call it from
`term_init()`.

This allows us to add ourselves (the new terminal instance) to the
terminal list in the wayland backend, before triggering the wayland
events caused by `wayl_win_init()`.

This is turn allows the wayland backend to find/lookup the new
terminal when those events occur..
2020-01-03 11:16:06 +01:00
Daniel Eklöf
4451f4ad62
term: spell 'initialize' correctly 2020-01-03 11:15:35 +01:00
Daniel Eklöf
29483f936f
render: draw_cursor: use terminal's visual focus to determine cursor shape 2020-01-02 19:37:21 +01:00
Daniel Eklöf
0e40e1c711
wayland: xdg-top-level-configure: call term_visual_focus_{in,out} 2020-01-02 19:37:01 +01:00
Daniel Eklöf
6f281cebfb
term: add term_visual_focus_{in,out}
These functions should be called when the terminal gets or loses
visual focus.

Note that this isn't necessarily the same as having keyboard focus.
2020-01-02 19:35:32 +01:00
Daniel Eklöf
4be3c04999
input: keyboard-leave: move comment to where it belongs 2020-01-02 19:30:34 +01:00
Daniel Eklöf
e9325b958f
term: rename term_focus_{in,out} -> term_kbd_focus_{in,out} 2020-01-02 19:29:42 +01:00
Daniel Eklöf
90a1d920bb
Merge branch 'master' into visual-focus 2020-01-02 18:42:30 +01:00
Daniel Eklöf
9829539af8
fcft: ignore embeddedbitmap for non-scalable fonts 2020-01-02 18:42:21 +01:00
Daniel Eklöf
2192d95fa9
wayland: xdg-toplevel-configure: check for stateless configure calls
Ignore configure calls without state, instead of checking for
width/height == 0.
2020-01-02 17:38:50 +01:00
Daniel Eklöf
4a9f359a6a
wayland: ignore early configure calls
At this point, not everything has been setup and we crash when trying
to convert the surface pointer to a terminal pointer.
2020-01-02 17:25:41 +01:00
Daniel Eklöf
eb1ea2d80d
term: add visually focused attribute to terminal struct 2020-01-02 16:06:35 +01:00
Daniel Eklöf
4ecb0ecf4d
wayland: rename focused/moused to kbd_focus/mouse_focus 2020-01-02 15:58:52 +01:00
Daniel Eklöf
6c75c16d2c
README: add missing '+' in keyboard shortcut ctrl+shift+w 2020-01-01 17:01:34 +01:00
Daniel Eklöf
403af22061
wayland: warn when presentation timings have been requested but is not supported 2020-01-01 16:09:16 +01:00
Daniel Eklöf
fad5c87f65
Merge branch 'readme-pimping' 2020-01-01 15:20:39 +01:00
Daniel Eklöf
ba9c14ad68
README: use footnote 2020-01-01 15:18:12 +01:00
Daniel Eklöf
a958c07489
README: add keyboard::normal-mode and keyboard::scrollback-search to index 2020-01-01 15:14:19 +01:00
Daniel Eklöf
79da7907fb
README: use headings to separate normal key bindings from scrollback search bindings 2020-01-01 15:12:57 +01:00
Daniel Eklöf
1a8849c5f6
Revert "README: try removing empty lines between list items"
This reverts commit 7e39d113b7.
2020-01-01 15:12:00 +01:00
Daniel Eklöf
d13b106516
Revert "README: that didn't work - try with a hard line break"
This reverts commit 7489cae576.
2020-01-01 15:11:50 +01:00
Daniel Eklöf
7489cae576
README: that didn't work - try with a hard line break 2020-01-01 15:09:51 +01:00
Daniel Eklöf
7e39d113b7
README: try removing empty lines between list items 2020-01-01 15:08:27 +01:00
Daniel Eklöf
6312a7b7f4
README: list items should be indented by **4** spaces 2020-01-01 15:07:12 +01:00
Daniel Eklöf
87cded5dff
README: make GNOME SSD reply italic 2020-01-01 15:04:44 +01:00
Daniel Eklöf
9cab0e97dd
README: use a definition list for keyboard shortcuts 2020-01-01 15:01:27 +01:00
Daniel Eklöf
19c0c3d2a4
render: presentation: cleanup 2020-01-01 11:37:47 +01:00
Daniel Eklöf
bd8c81547f
render: call wl_display_flush() right after wl_surface_commit()
This groups the two calls, for readability.
2020-01-01 11:19:39 +01:00
Daniel Eklöf
9ba702ce00
render: presentation: clean up frame interval count calculation 2020-01-01 11:19:13 +01:00
Daniel Eklöf
b8960f930d
term: bump lower delay limit to 500µs
Emacs with a split screen often goes above 200µs. 500µs is still much
better than 2000µs...
2019-12-31 20:39:16 +01:00