karabiner

This commit is contained in:
2026-04-01 23:11:25 +02:00
parent 478ac65fd7
commit 82030bea78
4 changed files with 138 additions and 190 deletions

1
karabiner/assets Symbolic link
View File

@@ -0,0 +1 @@
/Users/tracer/.config/dotfiles/karabiner/assets

View File

@@ -1,190 +0,0 @@
{
"profiles": [
{
"complex_modifications": {
"rules": [
{
"description": "codex: map cmd+v and shift+enter",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.openai\\.codex$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "v",
"modifiers": {
"mandatory": ["command"],
"optional": ["any"]
}
},
"to": [
{
"key_code": "v",
"modifiers": ["control"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.openai\\.codex$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "return_or_enter",
"modifiers": {
"mandatory": ["shift"],
"optional": ["any"]
}
},
"to": [
{
"key_code": "j",
"modifiers": ["control"]
}
],
"type": "basic"
}
]
},
{
"description": "kitty: map cmd+enter to new OS window globally",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^net\\.kovidgoyal\\.kitty$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "return_or_enter",
"modifiers": {
"mandatory": ["command"],
"optional": ["any"]
}
},
"to": [
{
"key_code": "vk_none"
},
{
"shell_command": "/usr/bin/osascript -e 'tell application \"kitty\" to activate' -e 'tell application \"System Events\" to keystroke return using command down'"
}
],
"type": "basic"
}
]
},
{
"description": "kitty: map ctrl+enter to quick access terminal globally",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^net\\.kovidgoyal\\.kitty$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "return_or_enter",
"modifiers": {
"mandatory": ["control"],
"optional": ["any"]
}
},
"to": [
{
"key_code": "vk_none"
},
{
"shell_command": "/Applications/kitty.app/Contents/MacOS/kitten quick-access-terminal >/tmp/kitty-quick-access.log 2>&1 < /dev/null &"
}
],
"type": "basic"
}
]
},
{
"description": "kitty: map cmd+left/right to ctrl+left/right",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^net\\.kovidgoyal\\.kitty$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "left_arrow",
"modifiers": {
"mandatory": ["command"],
"optional": ["any"]
}
},
"to": [
{
"key_code": "left_arrow",
"modifiers": ["control"]
}
],
"type": "basic"
},
{
"conditions": [
{
"bundle_identifiers": [
"^net\\.kovidgoyal\\.kitty$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "right_arrow",
"modifiers": {
"mandatory": ["command"],
"optional": ["any"]
}
},
"to": [
{
"key_code": "right_arrow",
"modifiers": ["control"]
}
],
"type": "basic"
}
]
}
]
},
"fn_function_keys": [
{
"from": { "key_code": "f6" },
"to": [{ "key_code": "f6" }]
}
],
"name": "Default profile",
"selected": true,
"virtual_hid_keyboard": {
"country_code": 0,
"keyboard_type_v2": "ansi"
}
}
]
}

1
karabiner/karabiner.json Symbolic link
View File

@@ -0,0 +1 @@
/Users/tracer/.config/dotfiles/karabiner/karabiner.json

View File

@@ -0,0 +1,128 @@
# vim:fileencoding=utf-8:foldmethod=marker
#: Window appearance {{{
# lines 25
#: The number of lines shown in the panel. Ignored for background,
#: centered, and vertical panels. If it has the suffix px then it sets
#: the height of the panel in pixels instead of lines.
# columns 80
#: The number of columns shown in the panel. Ignored for background,
#: centered, and horizontal panels. If it has the suffix px then it
#: sets the width of the panel in pixels instead of columns.
# edge top
#: Which edge of the screen to place the panel on. Note that some
#: window managers (such as i3) do not support placing docked windows
#: on the left and right edges. The value background means make the
#: panel the "desktop wallpaper". Note that when using sway if you set
#: a background in your sway config it will cover the background drawn
#: using this kitten. Additionally, there are three more values:
#: center, center-sized and none. The value center anchors the panel
#: to all sides and covers the entire display (on macOS the part of
#: the display not covered by titlebar and dock). The panel can be
#: shrunk and placed using the margin parameters. The value none
#: anchors the panel to the top left corner and should be placed using
#: the margin parameters. Its size is set by lines and columns. The
#: value center-sized is just like none except that the panel is
#: centered instead of in the top left corner and the margins have no
#: effect.
# background_opacity 0.85
#: The background opacity of the window. This works the same as the
#: kitty option of the same name, it is present here as it has a
#: different default value for the quick access terminal.
# hide_on_focus_loss no
#: Hide the window when it loses keyboard focus automatically. Using
#: this option will force focus_policy to on-demand.
# grab_keyboard no
#: Grab the keyboard. This means global shortcuts defined in the OS
#: will be passed to kitty instead. Useful if you want to create an OS
#: modal window. How well this works depends on the OS/window
#: manager/desktop environment. On Wayland it works only if the
#: compositor implements the inhibit-keyboard-shortcuts protocol
#: <https://wayland.app/protocols/keyboard-shortcuts-inhibit-
#: unstable-v1>. On macOS Apple doesn't allow applications to grab the
#: keyboard without special permissions, so it doesn't work.
# margin_left 0
#: Set the left margin for the panel, in pixels. Has no effect for
#: right edge panels. Only works on macOS and Wayland compositors that
#: supports the wlr layer shell protocol.
# margin_right 0
#: Set the right margin for the panel, in pixels. Has no effect for
#: left edge panels. Only works on macOS and Wayland compositors that
#: supports the wlr layer shell protocol.
# margin_top 0
#: Set the top margin for the panel, in pixels. Has no effect for
#: bottom edge panels. Only works on macOS and Wayland compositors
#: that supports the wlr layer shell protocol.
# margin_bottom 0
#: Set the bottom margin for the panel, in pixels. Has no effect for
#: top edge panels. Only works on macOS and Wayland compositors that
#: supports the wlr layer shell protocol.
# kitty_conf
#: Path to config file to use for kitty when drawing the window. Can
#: be specified multiple times. By default, the normal kitty.conf is
#: used. Relative paths are resolved with respect to the kitty config
#: directory.
# kitty_override
#: Override individual kitty configuration options, can be specified
#: multiple times. Syntax: kitty_override name=value. For example:
#: kitty_override font_size=20.
# app_id kitty-quick-access
#: On Wayland set the namespace of the layer shell surface. On X11 set
#: the WM_CLASS assigned to the quick access window. (Linux only)
# output_name
#: The panel can only be displayed on a single monitor (output) at a
#: time. This allows you to specify which output is used, by name. If
#: not specified the compositor will choose an output automatically,
#: typically the last output the user interacted with or the primary
#: monitor. Run kitten panel --output-name list to get a list of
#: available outputs. Use listjson for a json encoded output. Note
#: that on Wayland the output can only be set at panel creation time,
#: it cannot be changed after creation, nor is there anyway to display
#: a single panel on all outputs. Please complain to the Wayland
#: developers about this.
# start_as_hidden no
#: Whether to start the quick access terminal hidden. Useful if you
#: are starting it as part of system startup.
# focus_policy exclusive
#: On a Wayland compositor that supports the wlr layer shell protocol,
#: specify the focus policy for keyboard interactivity with the panel.
#: Please refer to the wlr layer shell protocol documentation for more
#: details. Note that different Wayland compositors behave very
#: differently with exclusive, your mileage may vary. On macOS,
#: exclusive and on-demand are currently the same.
#: }}}

8
nvim.log Normal file
View File

@@ -0,0 +1,8 @@
WRN 2026-04-01T22:04:13.317 ?.6087 server_start:197: Failed to start server: operation not permitted: /var/folders/jr/2c20bjfn48ld1tm7_75l6dz00000gn/T/nvim.tracer/BZ5xQs/nvim.6087.0
WRN 2026-04-01T22:04:13.317 ?.6086 server_start:197: Failed to start server: operation not permitted: /var/folders/jr/2c20bjfn48ld1tm7_75l6dz00000gn/T/nvim.tracer/W6ywmm/nvim.6086.0
WRN 2026-04-01T22:09:00.578 ?.7002 server_start:197: Failed to start server: operation not permitted: /var/folders/jr/2c20bjfn48ld1tm7_75l6dz00000gn/T/nvim.tracer/EE2fn7/nvim.7002.0
WRN 2026-04-01T22:10:22.134 ?.7483 server_start:197: Failed to start server: operation not permitted: /var/folders/jr/2c20bjfn48ld1tm7_75l6dz00000gn/T/nvim.tracer/q30iDC/nvim.7483.0
WRN 2026-04-01T22:10:22.134 ?.7481 server_start:197: Failed to start server: operation not permitted: /var/folders/jr/2c20bjfn48ld1tm7_75l6dz00000gn/T/nvim.tracer/JODETW/nvim.7481.0
WRN 2026-04-01T22:10:22.134 ?.7482 server_start:197: Failed to start server: operation not permitted: /var/folders/jr/2c20bjfn48ld1tm7_75l6dz00000gn/T/nvim.tracer/lKGUPU/nvim.7482.0
WRN 2026-04-01T22:10:29.772 ?.7512 server_start:197: Failed to start server: operation not permitted: /var/folders/jr/2c20bjfn48ld1tm7_75l6dz00000gn/T/nvim.tracer/84u53h/nvim.7512.0
WRN 2026-04-01T22:10:29.772 ?.7509 server_start:197: Failed to start server: operation not permitted: /var/folders/jr/2c20bjfn48ld1tm7_75l6dz00000gn/T/nvim.tracer/oWmRd9/nvim.7509.0