Commit graph

1756 commits

Author SHA1 Message Date
Daniel Eklöf
ff3d4f89e9
doc: foot.5: spawn-terminal: mention OSC 7 2020-03-17 21:53:26 +01:00
Daniel Eklöf
11b8b7242e
doc: foot.1: document ctrl+shift+n 2020-03-17 21:52:44 +01:00
Daniel Eklöf
cbbfd8796e
README: document ctrl+shift+n 2020-03-17 21:52:26 +01:00
Daniel Eklöf
ba4a328e42
changelog: mention change of default key binding for spaw-terminal 2020-03-17 21:12:37 +01:00
Daniel Eklöf
87d641695a
conf: change default key binding for spawn-terminal to ctrl+shift+n 2020-03-17 19:51:25 +01:00
Daniel Eklöf
6e63fdb053
conf: make delayed rendering timeouts configurable
This adds an undocumented 'tweak' section to footrc, with two new
options:

* delayed-render-lower
* delayed-render-upper

Both takes an integer value, representing the lower/upper timeout
values (in nano seconds) for delayed rendering.
2020-03-17 16:46:54 +01:00
Daniel Eklöf
29c781b832
term: ptmx: don't set 'pending' flag when app sync updates are in use 2020-03-17 16:32:57 +01:00
Daniel Eklöf
a2774878ef
render: don't try to resize if we're shutting down
This fixes an issue where we sometimes (depends on compositor?) tried
to signal a TIOCSWINSZ and failed. This caused us to log a misleading
error message.
2020-03-17 13:27:26 +01:00
Daniel Eklöf
7eba345acf
doc: foot.1: mention default value for '--log-colorize' 2020-03-17 12:54:33 +01:00
Daniel Eklöf
681201dda1
doc: foot.1: fix typo - this isn't yambar 2020-03-17 12:52:00 +01:00
Daniel Eklöf
7f9b7772f2
doc: foot.5: mention default value for 'pad' 2020-03-17 12:48:54 +01:00
Daniel Eklöf
8c9490e56c
doc: foot.5: mention default value for 'geometry' 2020-03-17 12:48:05 +01:00
Daniel Eklöf
93207bc482
render: render non-block cursors after rendering the glyph + decorations
This fixes an issue where an 'underline' cursor wasn't visible on
underlined text - the cursor was rendered first, and then shadowed by
the text underline.
2020-03-17 11:47:47 +01:00
Daniel Eklöf
233a909160
term: ptmx: don't enqueue extra frame render when app sync updates have been changed
Track whether app-sync updates were enabled or disabled while handling
the current chunk of PTMX data.

This fixes and issue where we called render_refresh() unnecessarily
under (at least) the following conditions:

* Application sent "BSU <data> ESU" in the *same* chunk. In this case
  we never saw that app sync was enabled and triggered delayed
  rendering as usual.

* Application sent ESU. While we had noticed app sync updates being
  enabled in earlier PTMX reads, when it was disabled *in the current*
  PTMX read, we treated it as if it had not been enabled at all.

  This caused us to trigger delayed rendering.

  Now we call render_refresh() directly from ESU, and detect the "flip
  off" case in PTMX read and avoid triggering a delayed rendering.

The end result of all this is that each key press (for e.g. scrolling
in a pager application) went from two frames being rendered, to a
single frame.
2020-03-16 17:47:27 +01:00
Daniel Eklöf
1006608093
alt-screen: use a custom 'saved' cursor when switching to alt screen
This fixes an issue where we failed to restore the cursor correctly
when exiting from the alternate screen, if the client had sent escapes
to save the cursor position while inside the alternate screen.

This was because we used the *same* storage for saving the cursor
position through escapes, as for saving it when entering the alternate
screen.

Fix by using a custom variable dedicated to normal <--> alt screen
switching.
2020-03-16 12:00:25 +01:00
Daniel Eklöf
6eeea06cc0
wayland: add FDs to FDM as soon as the FDs are ready 2020-03-15 13:37:56 +01:00
Daniel Eklöf
71fde3bfac
wayland: store display FD in wayland struct
This way we:

* Don't have to call wl_display_get_fd() all the time
* No longer call fdm_del_no_close() even though the FD hasn't been
  added to the FDM.
2020-03-15 13:36:35 +01:00
Daniel Eklöf
4860c3eb37
completions: zsh: don't strip spaces from font name completions 2020-03-15 12:31:42 +01:00
Daniel Eklöf
ef5bacc618
main: log version at startup 2020-03-15 11:41:24 +01:00
Daniel Eklöf
065de3484c
changelog: add index 2020-03-15 11:39:11 +01:00
Daniel Eklöf
73aee27e47
Merge branch 'releases/1.2' 2020-03-15 11:36:25 +01:00
Daniel Eklöf
cc9337721b
meson/PKGBUILD: bump version to 1.2.3 2020-03-15 11:28:01 +01:00
Daniel Eklöf
db60e2cfb2
changelog: spaces 2020-03-14 23:28:21 +01:00
Daniel Eklöf
656a7690f9
Merge branch 'releases/1.2' 2020-03-14 23:21:56 +01:00
Daniel Eklöf
c28c0c3db4
changelog: mention fix for #5 2020-03-14 22:34:08 +01:00
Daniel Eklöf
36ef0463b7
term: use logical DPI+scale factor when scaling fonts
This fixes an issue where the fonts were rendered too small when the
output had fractional scaling.

For integral scaling, using the logical (scaled) DPI multiplied with
the scaling factor results in the same final DPI value as if we had
used the physical DPI.

But for fractional scaling, this works around the fact that the
compositor downscales the surface after we've rendered it.

Closes #5
2020-03-14 22:34:03 +01:00
Daniel Eklöf
be0d620669
quirks: weston_csd_{on,off}: don't do anything in fullscreen mode 2020-03-14 22:32:40 +01:00
Daniel Eklöf
af2e33b78e
changelog: updated to mention fix for #3
I really need to learn to update the changelog **with** the fix...
2020-03-14 22:32:24 +01:00
Daniel Eklöf
c8ea1d137e
terminal: appky scale factor when force-resizing on font reload
If we don't, we'll end up e.g. increasing the window size when moving
the window between outputs with different scaling.

Closes #3
2020-03-14 22:32:01 +01:00
Daniel Eklöf
3bee031867
client: log path we actually tried to connect to (and failed) 2020-03-14 22:31:55 +01:00
Daniel Eklöf
fdb684eceb
client: update --server-socket usage to mention XDG_SESSION_ID 2020-03-14 22:31:51 +01:00
Daniel Eklöf
35de429592
changelog: update 2020-03-14 22:31:42 +01:00
Daniel Eklöf
8ab402b252
server/client: add XDG_SESSION_ID to the default socket path
This allows multiple foot servers to run in multiple sessions.
2020-03-14 22:30:22 +01:00
Daniel Eklöf
9e3a68d6e7
.desktop: 'terminal' is not a common icon name
Not all icon themes have a 'terminal' icon. 'utilities-terminal' on
the other hand is a standardized icon name.
2020-03-14 22:30:06 +01:00
Daniel Eklöf
d28494c01d
changelog: remove 'unreleased' section 2020-03-14 22:28:16 +01:00
Daniel Eklöf
ce68041ed6
changelog: upper case initial letter 2020-03-14 12:03:45 +01:00
Daniel Eklöf
abb1fa3574
changelog: mention removal of Sway 1.2 keyboard/pointer workarounds 2020-03-14 12:03:12 +01:00
Daniel Eklöf
c10399694e
input: remove Sway 1.2 keyboard/pointer workarounds
Sway 1.4 is better than 1.2, in that we always have keyboard focus
when we get a keyboard_key() event.

That however is because it doesn't send keyboard_leave() on e.g. a TTY
switch.

Still, this is good enough - foot handles this and doesn't crash. We
are also able to process input without having to refocus the window.

And, Sway master (what will become Sway 1.5) has fixed this for real -
we now get a keyboard_leave() and pointer_leave() event on a TTY
switch. And the corresponding enter events when switching back.
2020-03-14 11:54:23 +01:00
Daniel Eklöf
53b681c6f4
input: add debug logs to all keyboard/pointer enter/leave/action events 2020-03-14 11:51:47 +01:00
Daniel Eklöf
59a1204c50
Merge branch 'scale-fonts-using-logical-dpi-plus-scale-factor' 2020-03-13 18:48:15 +01:00
Daniel Eklöf
d482bf0a30
sixel: improve handling of images when reflowing the grids
Update the sixels' 'row' attribute when re-flowing a grid, to ensure
it is rendered at the correct place.

This should work in most cases, but will break when the cell size has
changed (e.g. font size increase/decrease, or a DPI change).

This patch also moves the sixel image list from the terminal struct
into the grid struct. The sixels are per-grid after all.
2020-03-13 18:47:16 +01:00
Daniel Eklöf
62a5805d4b
input: maximize: unset fullscreen before toggling maximized state 2020-03-12 17:47:53 +01:00
Daniel Eklöf
a1ceb1f5ec
doc/foot.5: formatting fixes 2020-03-12 17:42:27 +01:00
Daniel Eklöf
7984b802b2
README: shortcuts (bindings) _can_ be changed 2020-03-12 17:33:52 +01:00
Daniel Eklöf
47fa91e02b
Merge branch 'bindings' 2020-03-12 17:26:02 +01:00
Daniel Eklöf
a7b90b514c
doc/foot.5: mention that *all* actions can be used in mouse bindings 2020-03-12 17:24:54 +01:00
Daniel Eklöf
0e00b6fa15
doc/foot.5: add an example that uses Shift 2020-03-12 17:21:48 +01:00
Daniel Eklöf
6657573866
Merge branch 'master' into bindings 2020-03-12 17:19:54 +01:00
Daniel Eklöf
5cbd0527d7
config: key-bindings: verify key combo isn't already mapped to another action 2020-03-12 17:19:09 +01:00
Daniel Eklöf
c58f9a9ef9
config: mouse-bindings: verify button isn't already mapped
A button may only be mapped to a single action. Detect when the user
tried to map the same button to multiple actions and error out.

To clear a binding (for example, to free up a button from the default
bindings), one can set the action it is bound to to
`NONE` (e.g. `primary-paste=NONE`).
2020-03-12 10:46:27 +01:00