mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-04 04:06:06 -05:00
For the purpose of matching key bindings, "significant" modifiers are no more. We're really only interested in filtering out "locked" modifiers. We're already doing this, so there's no need to *also* match against a set of "significant" modifiers. Furthermore, we *never* want to consider locked keys (e.g. when emitting escapes to the client application), thus we can filter those out already when retrieving the set of active modifiers. The exception is the kitty keyboard protocol, which has support for CapsLock and NumLock. Since we're already re-retrieving the "consumed" modifiers (using the GTK style, rather than normal "XKB" style, to better match the kitty terminal), we might as well re-retrieve the effective modifiers as well.
27 lines
827 B
C
27 lines
827 B
C
#pragma once
|
|
|
|
#include <stdbool.h>
|
|
#include <xkbcommon/xkbcommon.h>
|
|
#include <tllist.h>
|
|
|
|
#include "config.h"
|
|
#include "key-binding.h"
|
|
#include "terminal.h"
|
|
|
|
static inline bool urls_mode_is_active(const struct terminal *term)
|
|
{
|
|
return tll_length(term->urls) > 0;
|
|
}
|
|
|
|
void urls_collect(
|
|
const struct terminal *term, enum url_action action, url_list_t *urls);
|
|
void urls_assign_key_combos(const struct config *conf, url_list_t *urls);
|
|
|
|
void urls_render(struct terminal *term);
|
|
void urls_reset(struct terminal *term);
|
|
|
|
void urls_input(struct seat *seat, struct terminal *term,
|
|
const struct key_binding_set *bindings, uint32_t key,
|
|
xkb_keysym_t sym, xkb_mod_mask_t mods, xkb_mod_mask_t consumed,
|
|
const xkb_keysym_t *raw_syms, size_t raw_count,
|
|
uint32_t serial);
|