Commit graph

232 commits

Author SHA1 Message Date
Daniel Eklöf
e9c3d03837
config: add colors.jump_labels and colors.urls
* colors.jump_labels configures the foreground and background colors
  used when rendering URL jump labels. Defaults to “regular0
  regular3” (i.e. black on yellow).

* colors.urls configures the color to use when highlighting URLs in
  URL mode. Note that we aren’t currently doing any
  highlighting... Defaults to regular3 (i.e. yellow).
2021-02-07 16:33:33 +01:00
Daniel Eklöf
93181649b3
config: add show-urls-copy action
This works just like show-urls-launch, except that instead of opening
the URL (typically using xdg-open), it is placed in the clipboard when
activated.
2021-02-07 16:33:32 +01:00
Daniel Eklöf
b17a392b8c
config: show-urls-launch: change default key binding to ctrl+shift+u 2021-02-07 16:33:32 +01:00
Daniel Eklöf
0a1c5e44c4
config: rename ‘show-urls’ to ‘show-urls-launch’ 2021-02-07 16:33:32 +01:00
Daniel Eklöf
82e2541760
config: add ctrl+d as (yet another) default binding url-bindings.cancel 2021-02-07 16:33:32 +01:00
Daniel Eklöf
4233c806c3
config: add ‘url-launch’ option, defaulting to “xdg-open ${url}” 2021-02-07 16:33:31 +01:00
Daniel Eklöf
ee39966ded
config: add infrastructure to handle URL mode specific key bindings
* Add “show-urls” action to regular key bindings
* Add url-bindings section to foot.ini
* Add “cancel” action to URL mode key bindings
2021-02-07 16:33:31 +01:00
Daniel Eklöf
3a7588bc99
config: promote tweak.resize-delay-ms to a real, supported option 2021-01-26 19:32:21 +01:00
Daniel Eklöf
7cba42c5ce
doc: foot.ini: resize-delay-ms: language tweaks 2021-01-26 19:32:20 +01:00
Daniel Eklöf
d1a0892131
doc: foot.ini: explicitly say that 0 disables the delay 2021-01-26 19:32:20 +01:00
Daniel Eklöf
22a659881b
doc: foot.ini: resize-delay-ms 2021-01-26 19:32:20 +01:00
Daniel Eklöf
b8685e17ea
doc: foot.ini: selection-target=none|primary|clipboard|both 2021-01-23 10:44:19 +01:00
Jan Beich
15f2bebdcb
meson: optionalize terminfo dependency
ncurses on FreeBSD still uses termcap(5) while foot works fine with
xterm-256color sans status line and visible bell. Having more than
one ncurses version installed may break other applications.

Document -Dterminfo=false uses --term=xterm-256color by default
2021-01-23 09:52:42 +01:00
Daniel Eklöf
767bd4f1db
config: add ‘select-extend-character-wise’ bind action
This forces the (new) selection mode to be character-wise when
extending a word- or line-wise selection.

Default key binding is ctrl+RMB.
2021-01-14 16:29:29 +01:00
Daniel Eklöf
5acdc89952
Merge branch 'box-drawing-line-thickness'
Closes #281
2021-01-14 10:49:39 +01:00
Craig Barnes
0791fba9c7 main: remove deprecated "--geometry" option
Closes #287
2021-01-13 20:01:05 +00:00
Daniel Eklöf
4f1b6a8ff3
doc: foot.ini: tweak: document box-drawing-base-thickness 2021-01-12 17:36:20 +01:00
Daniel Eklöf
baf7dcaae6
doc: foot.ini: remove mention of geometry; this option has been removed 2021-01-11 11:05:35 +01:00
Daniel Eklöf
b2864056a6
doc: foot.ini: dpi-aware: shorten sentence 2021-01-11 10:57:51 +01:00
Daniel Eklöf
3672451538
doc: foot.ini: line-height: “no set” -> “not set” 2021-01-11 10:56:40 +01:00
Daniel Eklöf
e850f820d4
doc: foot.ini: remove empty line after ‘font’ options 2021-01-11 10:55:28 +01:00
Daniel Eklöf
17339410ef
doc: foot.ini: line-height, letter-spacing and offsets are in points (by default) 2021-01-11 09:31:08 +01:00
Daniel Eklöf
d1f43371bb
doc: foot.ini: document line-height, letter-spacing and letter offsets 2021-01-11 09:31:07 +01:00
Daniel Eklöf
e8b673e7b2
doc: foot.ini: put ‘shell’, ‘login-shell’ and ‘term’ first 2021-01-11 09:31:07 +01:00
Daniel Eklöf
e14c592f39
config: add optional ‘center’ argument to ‘pad’
When set, the grid contents is centered in the window. I.e. the
left/right and top/bottom margins are equal (+- 1px).

This causes the content to “jump” while doing an interactive resize,
but may still be preferred in e.g. a tiling WM.

Closes #273
2021-01-06 11:17:29 +01:00
Daniel Eklöf
44b32104a7
doc: foot.ini: remove FONT FORMAT section, expand description of ‘font’ 2020-12-31 12:57:37 +01:00
Birger Schacht
4e67940fd7 Fix typo
programatically -> programmatically
2020-12-26 09:17:34 +01:00
Daniel Eklöf
b25b201819
doc: updated ‘laptop’ benchmarks for 1.6.0 2020-12-21 20:12:03 +01:00
Daniel Eklöf
0a821f2ed4
fonts: size fonts using the scaling factor when output scaling is enabled
This extends the new ‘dpi-aware’ option with a new default value,
‘auto’.

When set to ‘auto’, fonts are sized using monitors’ DPI when output
scaling is disabled. When output scaling is enabled, fonts are instead
sized using the scaling factor.

The reasoning here is that a user that has enabled output scaling is
obviously *not* relying on DPI scaling.

Output scaling can also be a way to compensate for different viewing
distances, in which case we do *not* want to break that by using DPI
scaling.

Users can still force DPI-only font sizing by setting ‘dpi-aware=yes’,
or disable it completely by setting ‘dpi-aware=no’.
2020-12-17 12:05:22 +01:00
Daniel Eklöf
15d20af2a2
config: add ‘notify’ to possible values for ‘bell’ in foot.ini
When `bell=notify`, foot will trigger a desktop notification when it
receives a BEL in an unfocused window.
2020-12-10 18:22:48 +01:00
Daniel Eklöf
21cc68d49e
osc: implement urxvt’s “OSC 777;notify”
OSC 777 is URxvt’s generic escape to send commands to its perl
extensions. The first parameter is the name of the extension, followed
by its arguments.

OSC 777;notify is a, if not well established, at least a fairly well
known escape sequence to request a (desktop) notification. The syntax
is:

  \e]777;notify;<title>;<body>\e\\

Neither title nor body is escaped in any way, meaning they should not
contain a ‘;’.

Foot will split title from body at the *first* ‘;’. Any remaining ‘;’
characters are treated as part of ‘body’.

Instead of adding built-in support for the freedesktop notification
specification (which would require us to link against at least dbus),
add a new config option to foot.ini: ‘notify’.

This option specifies the command to execute when a notification is
received. ‘${title}’ and ‘${body}’ can be used anywhere, in any
combination, and as many times as you want, in any of the command
arguments.

The default value is ‘notify-send -a foot -i foot ${title} ${body}’
2020-12-09 20:54:51 +01:00
Daniel Eklöf
7b16802972
config: remove support for loading configuration from footrc 2020-12-08 19:52:22 +01:00
Daniel Eklöf
016c703b3d
doc: foot.1: add IRC channel 2020-11-27 22:39:33 +01:00
Daniel Eklöf
903a8eaf4a
doc: foot.5: minor highlighting fixes 2020-11-26 18:22:45 +01:00
Daniel Eklöf
4d9e5368a9
doc: foot.1: no need to say foot.ini twice 2020-11-26 18:22:22 +01:00
Daniel Eklöf
8eaa195990
foot/footclient: add short options to all command line options
e813883367 added “missing” short command
line options to footclient.

Except they weren’t missing; they were intentionally missing short
options and only supported long options.

This commit makes the new/missing short options “official”, by adding
documentation, zsh completions and including them in usage().
2020-11-23 19:19:19 +01:00
Craig Barnes
b8fc2e19da client: add new "--window-size-*" options to docs and CHANGELOG.md 2020-11-22 18:52:51 +00:00
Daniel Eklöf
8e7658a135
config: add ‘dpi-aware’ option, defaulting to enabled
When disabled, foot no longers uses outputs’ DPI to scale the
font. Instead, it uses the outputs’ scaling factor.

That is, instead of appending “:dpi=123” to the fontconfig string,
modify the “:pixelsize” or “:size” attribute.

Closes #206
2020-11-19 19:25:48 +01:00
Daniel Eklöf
60a1ebac2b
doc: foot.ini: document default.bold-text-in-bright 2020-11-14 11:22:23 +01:00
Daniel Eklöf
5b43477cc2
config: enable allow-overflowing-double-width-glyphs by default 2020-11-13 17:50:16 +01:00
Daniel Eklöf
2af65471a6
readme/doc:foot.1: document the (new) keypad behavior 2020-11-11 18:37:28 +01:00
Daniel Eklöf
f3e6941c9a
search: add {clipboard,primary}-paste key bindings
These bindings copy from the clipboard or primary selection into the
search buffer.

Default bindings:

* clipboard-paste: ctrl+v, ctrl+y
* primary-paste: shift+insert
2020-11-01 12:39:57 +01:00
Daniel Eklöf
84859f475e
doc: foot.ini.5: mention how one can disable bold/italic fonts completely 2020-10-20 21:12:25 +02:00
Daniel Eklöf
2c101a21ee
config: add font-bold, font-italic and font-bold-italic options
These options lets the user configure custom fonts and styles, to use
with the bold and italic cell attributes.

By default, they are unset, meaning we use the bold/italic variants of
the regular font.

Closes #169.
2020-10-20 21:04:47 +02:00
Daniel Eklöf
17761dce63
csi: implement ‘CSI ? 1042 h/l’ - enable/disable bell-is-urgent 2020-10-11 17:44:29 +02:00
Daniel Eklöf
c650862b0d
readme/doc: add shift+insert to list of default key bindings 2020-10-10 23:36:41 +02:00
Daniel Eklöf
50ca1c2864
doc: foot.ini.t: csd.preferred: repair indentation of “default: _server_” 2020-10-10 13:07:31 +02:00
Daniel Eklöf
3940e07972
doc; foot.ini.5: csd.preferred: re-phrase 2020-10-10 13:07:31 +02:00
Daniel Eklöf
6ff97128fc
conf: csd.preferred can now be set to ‘none’
When csd.preferred == none, we will request CSDs from the compositor,
but internally render as if we are using SSDs. That is, we don’t
render any window decorations at all.

Note that some compositors may ignore our request to use CSDs, and
still render SSDs for us.

Closes #163
2020-10-10 13:07:29 +02:00
Daniel Eklöf
e54adbfa7c
Merge branch 'bind-shift+insert-to-primary-paste' into master 2020-10-10 13:05:55 +02:00