mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-05-01 06:46:43 -04:00
config: add 'indicate-when-selecting'
This allows disabling the caret style mouse cursor when the Shift key is held.
This commit is contained in:
parent
91da76656c
commit
7422719e5b
6 changed files with 13 additions and 2 deletions
|
|
@ -25,7 +25,8 @@
|
|||
* **pipe-selected** key binding. Works like **pipe-visible** and
|
||||
**pipe-scrollback**, but only pipes the currently selected text, if
|
||||
any (https://codeberg.org/dnkl/foot/issues/51).
|
||||
* **cursor.hide-when-typing** option to `footrc.
|
||||
* **cursor.hide-when-typing** option to `footrc`.
|
||||
* **cursor.indicate-when-selecting** option to `footrc`.
|
||||
|
||||
|
||||
### Deprecated
|
||||
|
|
|
|||
4
config.c
4
config.c
|
|
@ -520,6 +520,9 @@ parse_section_cursor(const char *key, const char *value, struct config *conf,
|
|||
else if (strcmp(key, "hide-when-typing") == 0)
|
||||
conf->cursor.hide_when_typing = str_to_bool(value);
|
||||
|
||||
else if (strcmp(key, "indicate-when-selecting") == 0)
|
||||
conf->cursor.indicate_when_selecting = str_to_bool(value);
|
||||
|
||||
else if (strcmp(key, "color") == 0) {
|
||||
char *value_copy = strdup(value);
|
||||
const char *text = strtok(value_copy, " ");
|
||||
|
|
@ -1249,6 +1252,7 @@ config_load(struct config *conf, const char *conf_path, bool errors_are_fatal)
|
|||
.style = CURSOR_BLOCK,
|
||||
.blink = false,
|
||||
.hide_when_typing = false,
|
||||
.indicate_when_selecting = true,
|
||||
.color = {
|
||||
.text = 0,
|
||||
.cursor = 0,
|
||||
|
|
|
|||
1
config.h
1
config.h
|
|
@ -75,6 +75,7 @@ struct config {
|
|||
enum cursor_style style;
|
||||
bool blink;
|
||||
bool hide_when_typing;
|
||||
bool indicate_when_selecting;
|
||||
struct {
|
||||
uint32_t text;
|
||||
uint32_t cursor;
|
||||
|
|
|
|||
|
|
@ -109,6 +109,10 @@ applications can change these at runtime.
|
|||
*hide-when-typing*
|
||||
Boolean. When enabled, the mouse cursor is hidden while typing.
|
||||
|
||||
*indicate-when-selecting*
|
||||
Boolean. When enabled, the mouse cursor changes form to indicate
|
||||
when the Shift key is held (for text selections).
|
||||
|
||||
*color*
|
||||
Two RRGGBB values specifying the foreground (text) and background
|
||||
(cursor) colors for the cursor. Default: inversed foreground and
|
||||
|
|
|
|||
1
footrc
1
footrc
|
|
@ -19,6 +19,7 @@
|
|||
# color=111111 dcdccc
|
||||
# blink=no
|
||||
# hide-when-typing=no
|
||||
# indicate-when-selecting=yes
|
||||
|
||||
[colors]
|
||||
# alpha=1.0
|
||||
|
|
|
|||
|
|
@ -2213,7 +2213,7 @@ term_xcursor_update_for_seat(struct terminal *term, struct seat *seat)
|
|||
const char *xcursor
|
||||
= seat->pointer.hidden ? XCURSOR_HIDDEN
|
||||
: term->is_searching ? XCURSOR_LEFT_PTR
|
||||
: selection_enabled(term, seat) ? XCURSOR_TEXT
|
||||
: (selection_enabled(term, seat) && term->conf->cursor.indicate_when_selecting) ? XCURSOR_TEXT
|
||||
: XCURSOR_LEFT_PTR;
|
||||
|
||||
render_xcursor_set(seat, term, xcursor);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue