Compare commits

2 Commits

Author SHA1 Message Date
roodletoof ae12c8f845 Revert "test 1 delete mpv"
This reverts commit 4b1b16e940.
2026-06-23 21:34:50 +02:00
roodletoof 4b1b16e940 test 1 delete mpv 2026-06-23 21:34:47 +02:00
36 changed files with 491 additions and 10162 deletions
-2
View File
@@ -9,5 +9,3 @@ st-0.9.2/x.o
karabiner-ts-config/node_modules karabiner-ts-config/node_modules
__pycache__ __pycache__
tags tags
vim/.vim/view
vim/.vim/.netrwhist
+1 -1
View File
@@ -1 +1 @@
open -n -a "kitty.app" open -n -a "alacritty.app"
+1 -1
View File
@@ -10,7 +10,7 @@ dynamic_padding = true
decorations = "Buttonless" decorations = "Buttonless"
[font] [font]
normal.family = "Comic Code" normal.family = "GoMono Nerd Font Mono"
size = 12 size = 12
# Subtle positional tuning # Subtle positional tuning
Binary file not shown.
Binary file not shown.
-6814
View File
File diff suppressed because it is too large Load Diff
-2
View File
@@ -1,2 +0,0 @@
tag:
ctags --langmap=c:.c.h --languages=c -R .
-9
View File
@@ -1,9 +0,0 @@
// Opens a fuzzy finding window with the given array of strings.
// Returns the index of the picked element.
// Returns -1 on no selection.
int picker(char const *strings, int strings_len, char const *prompt) {
}
-66
View File
@@ -1,66 +0,0 @@
#ifndef PLATFORM
#define PLATFORM
#include <stdint.h>
#include <stdbool.h>
#include "utf.h"
typedef struct Color {
uint8_t r, g, b;
} Color;
#define WHITE ((Color){255,255,255})
#define BLACK ((Color){0,0,0})
typedef enum Key {
Key_backspace,
Key_ctrl,
Key_enter,
Key_h,
Key_n,
Key_p,
Key_y,
Count_Key
} Key;
bool KeyPressed(Key key);
bool InputGetNextPrintable(CodePoint const *out_key);
typedef struct Cell {
CodePoint character;
Color foreground;
Color background;
} Cell;
typedef struct Window {
int width;
int height;
Cell *cells;
} Window;
typedef struct PlatformState {
Window *prev;
Window *curr;
} PlatformState;
// Options for the backend. These options don't necessarily apply for all platforms.
typedef struct PlatformOpts {
float window_width_fraction; // decide the width of the window as a fraction of the total resolution. for gui backends
float window_height_fraction; // decide the height of the window as a fraction of the total resolution. for gui backends
} PlatformOpts;
PlatformOpts WindowCreateOptsDefault();
Window *WindowCreate(PlatformOpts opts);
void WindowClear(Window *window, Color color);
void WindowFlip(Window *window);
void PlatformInit(PlatformOpts opts);
int PlatformGetWidth();
int PlatformGetHeight();
// TODO: the platform layer would really update the keys being pressed, and
// receive a diff in the form of actions. print this line from here and change
// colors at these points.
#endif /* PLATFORM */
-43
View File
@@ -1,43 +0,0 @@
#include <stddef.h>
#include "str.h"
static bool intToIndex(String string, int i, size_t *out_index) {
int val = 0;
bool is_ok = true;
if (i >= 0) {
val = i;
} else {
val = string.size + 1 + i;
}
if (val < 0) {
val = 0;
is_ok = false;
} else if (val > string.size) {
val = string.size;
is_ok = false;
}
*out_index = val;
return is_ok;
}
bool StringSub(String string, int start, int end, String *out_substr) {
size_t start_index = 0;
bool start_ok = intToIndex(string, start, &start_index);
size_t end_index = 0;
bool end_ok = intToIndex(string, end, &end_index);
if (string.size == 0 || start_index >= end_index) {
out_substr->size=0;
out_substr->buffer=NULL;
return false;
}
out_substr->buffer = &string.buffer[start_index];
out_substr->size = end_index - start_index;
return start_ok && end_ok;
}
-10
View File
@@ -1,10 +0,0 @@
#include <stddef.h>
typedef struct String {
unsigned char const *buffer;
size_t size;
} String;
#define STRING(content) ((String){.buffer=#content, .size=sizeof(#content)-1})
bool StringSub(String string, int start, int end, String *out_substr);
-65
View File
@@ -1,65 +0,0 @@
#include <stddef.h>
#include "utf.h"
#include "str.h"
typedef struct Utf8Parser {
String str;
} Utf8Parser;
bool Utf8ParserNextCodePoint(Utf8Parser *this, CodePoint *out_codepoint) {
uitn8_t const flag_1_bytes = 0;
uint8_t const mask_1_bytes = 1 << 7;
uint8_t const flag_continuation = mask_1_bytes;
uint8_t const mask_continuation = (1 << 7) | (1 << 6);
uint8_t const flag_2_bytes = mask_continuation;
uint8_t const mask_2_bytes = (1 << 7) | (1 << 6) | (1 << 5);
uint8_t const flag_3_bytes = mask_2_bytes;
uint8_t const mask_3_bytes = (1 << 7) | (1 << 6) | (1 << 5) | (1 << 4);
uint8_t const flag_4_bytes = mask_3_bytes;
uint8_t const mask_4_bytes = (1 << 7) | (1 << 6) | (1 << 5) | (1 << 4) | (1 << 3);
if (this->str.size == 0) {
*out_codepoint = 0;
return false;
}
if ((this->str.buffer[0] & mask_1_bytes) == flag_1_bytes) {
*out_codepoint = (CodePoint) str[0];
bool ok = StringSub(this->str, 1, -1, &this->str);
assert(ok && "has to be ok since the size is not 0");
return ok;
} else
}
// max must be less than or equal to the capacity of target.
bool CodePointsFromUtf8String(
uint8_t const *str,
CodePoint *target,
int max
) {
for (size_t i = 0; str[i] != '\0' && max > 0;) {
if ((str[i] & mask_1_bytes) == flag_1_bytes) {
*target = (CodePoint) str[i];
target += 1;
max -= 1;
i += 1;
} else
if ((str[i] & mask_2_bytes) == flag_2_bytes) {
} else
if ((str[i] & mask_3_bytes) == flag_3_bytes) {
} else
if ((str[i] & mask_4_bytes) == flag_4_bytes) {
} else {
false;
}
}
return true;
}
-9
View File
@@ -1,9 +0,0 @@
#ifndef UTF
#define UTF
typedef uint32_t CodePoint;
int CodePointsFromUtf8String(char const *str, CodePoint *target, unsigned int max);
#endif // UTF
+6 -12
View File
@@ -1,12 +1,16 @@
# i3 config generated to mimic your sway config
# Set mod key (Mod1 = Alt) # Set mod key (Mod1 = Alt)
set $mod Mod1 set $mod Mod1
set $left h set $left h
set $down j set $down j
set $up k set $up k
set $right l set $right l
set $term kitty set $term alacritty
set $just just --justfile ~/.config/i3/justfile set $just just --justfile ~/.config/i3/justfile
for_window [class=".*"] fullscreen disable
for_window [class=".*"] floating disable
floating_minimum_size -1 x -1 floating_minimum_size -1 x -1
floating_maximum_size -1 x -1 floating_maximum_size -1 x -1
@@ -32,7 +36,7 @@ floating_modifier $mod
bindsym $mod+Shift+r reload bindsym $mod+Shift+r reload
# Exit i3 # Exit i3
bindsym $mod+Shift+e exit bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Exit i3? This will end your session.' -b 'Yes, exit i3' 'i3-msg exit'"
focus_follows_mouse yes focus_follows_mouse yes
focus_on_window_activation none focus_on_window_activation none
@@ -133,17 +137,7 @@ bindsym --release XF86MonBrightnessUp exec --no-startup-id brightnessctl set 5%+
# Screenshot (use scrot instead of grim) # Screenshot (use scrot instead of grim)
bindsym Print exec scrot ~/Pictures/screenshot-%Y-%m-%d-%H%M%S.png bindsym Print exec scrot ~/Pictures/screenshot-%Y-%m-%d-%H%M%S.png
#class border background text indicator child_border
client.focused #ffffff #ffffff #000000 #ffffff #ffffff
# Status bar (use i3bar + i3status) # Status bar (use i3bar + i3status)
bar { bar {
status_command i3status status_command i3status
colors {
#class border background text
focused_workspace #ffffff #ffffff #000000
inactive_workspace #333333 #333333 #ffffff
}
} }
+2 -2
View File
@@ -3,9 +3,9 @@ choose-monitor:
just reset-wallpaper just reset-wallpaper
reset-wallpaper: reset-wallpaper:
xsetroot -solid black feh --bg-fill ~/.wallpaper/
program-picker: program-picker:
rofi -show drun dmenu_run -p 'start program'
+1 -5
View File
@@ -5,7 +5,6 @@
) )
(defsrc ;;{{{1 (defsrc ;;{{{1
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
grv 1 2 3 4 5 6 7 8 9 0 - = bspc grv 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] \ tab q w e r t y u i o p [ ] \
caps a s d f g h j k l ; ' ret caps a s d f g h j k l ; ' ret
@@ -14,7 +13,6 @@
) )
(deflayer default ;;{{{1 (deflayer default ;;{{{1
brdn brup bldn blup f5 f6 prev pp next mute vold volu
grv 1 2 3 4 5 6 7 8 9 0 - = bspc grv 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] \ tab q w e r t y u i o p [ ] \
@cap a s d f g h j k l ; ' ret @cap a s d f g h j k l ; ' ret
@@ -23,16 +21,14 @@
) )
(deflayer gaming ;;{{{1 (deflayer gaming ;;{{{1
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
esc 1 2 3 4 5 6 7 8 9 0 - = bspc esc 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] \ tab q w e r t y u i o p [ ] \
XX a s d f g h j k l ; ' ret XX a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft lsft z x c v b n m , . / rsft
lctl lmet lalt spc @dflt rmet rctl lctl lmet \ spc @dflt rmet rctl
) )
(deflayer symbols ;;{{{1 (deflayer symbols ;;{{{1
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
grv @1 @2 @3 @4 @5 @6 @7 @8 @9 @0 _ _ bspc grv @1 @2 @3 @4 @5 @6 @7 @8 @9 @0 _ _ bspc
tab @` @m[ @m] @& @| @^ @_ @m- @+ @m= @nor _ lrld tab @` @m[ @m] @& @| @^ @_ @m- @+ @m= @nor _ lrld
@cap @~ @bl @br @* @m\ bspc ret @? tab @: S-' ret @cap @~ @bl @br @* @m\ bspc ret @? tab @: S-' ret
@@ -0,0 +1,118 @@
{
"profiles": [
{
"complex_modifications": {
"rules": [
{
"description": "dual purpose modifiers",
"manipulators": [
{
"from": {
"key_code": "spacebar",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_shift",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "spacebar" }],
"type": "basic"
},
{
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_control",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "escape" }],
"type": "basic"
}
]
},
{
"description": "swap alt and cmd",
"enabled": false,
"manipulators": [
{
"from": { "key_code": "left_option" },
"to": [{ "key_code": "left_command" }],
"type": "basic"
},
{
"from": { "key_code": "left_command" },
"to": [{ "key_code": "left_option" }],
"type": "basic"
}
]
}
]
},
"name": "KarabinerTS",
"selected": true,
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
},
{
"name": "Default profile",
"virtual_hid_keyboard": {
"country_code": 0,
"keyboard_type_v2": "ansi"
}
},
{
"complex_modifications": {
"rules": [
{
"description": "Caps Lock to ESC on tap/Left control on hold",
"manipulators": [
{
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_control",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "escape" }],
"type": "basic"
}
]
},
{
"description": "Space to shift on hold",
"manipulators": [
{
"from": {
"key_code": "spacebar",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_shift",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "spacebar" }],
"type": "basic"
}
]
}
]
},
"name": "Modified profile",
"virtual_hid_keyboard": {
"country_code": 0,
"keyboard_type_v2": "iso"
}
}
]
}
@@ -0,0 +1,118 @@
{
"profiles": [
{
"complex_modifications": {
"rules": [
{
"description": "dual purpose modifiers",
"manipulators": [
{
"from": {
"key_code": "spacebar",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_shift",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "spacebar" }],
"type": "basic"
},
{
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_control",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "escape" }],
"type": "basic"
}
]
},
{
"description": "swap alt and cmd",
"enabled": false,
"manipulators": [
{
"from": { "key_code": "left_option" },
"to": [{ "key_code": "left_command" }],
"type": "basic"
},
{
"from": { "key_code": "left_command" },
"to": [{ "key_code": "left_option" }],
"type": "basic"
}
]
}
]
},
"name": "KarabinerTS",
"selected": true,
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
},
{
"name": "Default profile",
"virtual_hid_keyboard": {
"country_code": 0,
"keyboard_type_v2": "ansi"
}
},
{
"complex_modifications": {
"rules": [
{
"description": "Caps Lock to ESC on tap/Left control on hold",
"manipulators": [
{
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_control",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "escape" }],
"type": "basic"
}
]
},
{
"description": "Space to shift on hold",
"manipulators": [
{
"from": {
"key_code": "spacebar",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_shift",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "spacebar" }],
"type": "basic"
}
]
}
]
},
"name": "Modified profile",
"virtual_hid_keyboard": {
"country_code": 0,
"keyboard_type_v2": "iso"
}
}
]
}
@@ -0,0 +1,118 @@
{
"profiles": [
{
"complex_modifications": {
"rules": [
{
"description": "dual purpose modifiers",
"manipulators": [
{
"from": {
"key_code": "spacebar",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_shift",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "spacebar" }],
"type": "basic"
},
{
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_control",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "escape" }],
"type": "basic"
}
]
},
{
"description": "swap alt and cmd",
"enabled": false,
"manipulators": [
{
"from": { "key_code": "left_option" },
"to": [{ "key_code": "left_command" }],
"type": "basic"
},
{
"from": { "key_code": "left_command" },
"to": [{ "key_code": "left_option" }],
"type": "basic"
}
]
}
]
},
"name": "KarabinerTS",
"selected": true,
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
},
{
"name": "Default profile",
"virtual_hid_keyboard": {
"country_code": 0,
"keyboard_type_v2": "ansi"
}
},
{
"complex_modifications": {
"rules": [
{
"description": "Caps Lock to ESC on tap/Left control on hold",
"manipulators": [
{
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_control",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "escape" }],
"type": "basic"
}
]
},
{
"description": "Space to shift on hold",
"manipulators": [
{
"from": {
"key_code": "spacebar",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_shift",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "spacebar" }],
"type": "basic"
}
]
}
]
},
"name": "Modified profile",
"virtual_hid_keyboard": {
"country_code": 0,
"keyboard_type_v2": "iso"
}
}
]
}
@@ -35,24 +35,24 @@
"type": "basic" "type": "basic"
} }
] ]
}
]
}, },
"devices": [
{ {
"identifiers": { "description": "swap alt and cmd",
"is_keyboard": true, "manipulators": [
"product_id": 21042, {
"vendor_id": 1155 "from": { "key_code": "left_option" },
"to": [{ "key_code": "left_command" }],
"type": "basic"
}, },
"simple_modifications": [
{ {
"from": { "key_code": "grave_accent_and_tilde" }, "from": { "key_code": "left_command" },
"to": [{ "key_code": "non_us_backslash" }] "to": [{ "key_code": "left_option" }],
"type": "basic"
} }
] ]
} }
], ]
},
"name": "KarabinerTS", "name": "KarabinerTS",
"selected": true, "selected": true,
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" } "virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
@@ -35,25 +35,26 @@
"type": "basic" "type": "basic"
} }
] ]
}
]
}, },
"devices": [
{ {
"identifiers": { "description": "swap alt and cmd",
"is_keyboard": true, "manipulators": [
"product_id": 21042, {
"vendor_id": 1155 "from": { "key_code": "left_option" },
"to": [{ "key_code": "left_command" }],
"type": "basic"
}, },
"simple_modifications": [
{ {
"from": { "key_code": "grave_accent_and_tilde" }, "from": { "key_code": "left_command" },
"to": [{ "key_code": "non_us_backslash" }] "to": [{ "key_code": "left_option" }],
"type": "basic"
} }
] ]
} }
], ]
},
"name": "KarabinerTS", "name": "KarabinerTS",
"selected": true,
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" } "virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
}, },
{ {
@@ -107,7 +108,6 @@
] ]
}, },
"name": "Modified profile", "name": "Modified profile",
"selected": true,
"virtual_hid_keyboard": { "virtual_hid_keyboard": {
"country_code": 0, "country_code": 0,
"keyboard_type_v2": "iso" "keyboard_type_v2": "iso"
@@ -35,24 +35,24 @@
"type": "basic" "type": "basic"
} }
] ]
}
]
}, },
"devices": [
{ {
"identifiers": { "description": "swap alt and cmd",
"is_keyboard": true, "manipulators": [
"product_id": 21042, {
"vendor_id": 1155 "from": { "key_code": "left_option" },
"to": [{ "key_code": "left_command" }],
"type": "basic"
}, },
"simple_modifications": [
{ {
"from": { "key_code": "grave_accent_and_tilde" }, "from": { "key_code": "left_command" },
"to": [{ "key_code": "non_us_backslash" }] "to": [{ "key_code": "left_option" }],
"type": "basic"
} }
] ]
} }
], ]
},
"name": "KarabinerTS", "name": "KarabinerTS",
"selected": true, "selected": true,
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" } "virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
@@ -35,24 +35,24 @@
"type": "basic" "type": "basic"
} }
] ]
}
]
}, },
"devices": [
{ {
"identifiers": { "description": "swap alt and cmd",
"is_keyboard": true, "manipulators": [
"product_id": 21042, {
"vendor_id": 1155 "from": { "key_code": "left_option" },
"to": [{ "key_code": "left_command" }],
"type": "basic"
}, },
"simple_modifications": [
{ {
"from": { "key_code": "grave_accent_and_tilde" }, "from": { "key_code": "left_command" },
"to": [{ "key_code": "non_us_backslash" }] "to": [{ "key_code": "left_option" }],
"type": "basic"
} }
] ]
} }
], ]
},
"name": "KarabinerTS", "name": "KarabinerTS",
"selected": true, "selected": true,
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" } "virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
@@ -1,117 +0,0 @@
{
"profiles": [
{
"complex_modifications": {
"rules": [
{
"description": "dual purpose modifiers",
"manipulators": [
{
"from": {
"key_code": "spacebar",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_shift",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "spacebar" }],
"type": "basic"
},
{
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_control",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "escape" }],
"type": "basic"
}
]
}
]
},
"devices": [
{
"identifiers": {
"is_keyboard": true,
"product_id": 21042,
"vendor_id": 1155
},
"simple_modifications": [
{
"from": { "key_code": "grave_accent_and_tilde" },
"to": [{ "key_code": "non_us_backslash" }]
}
]
}
],
"name": "KarabinerTS",
"selected": true,
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
},
{
"name": "Default profile",
"virtual_hid_keyboard": {
"country_code": 0,
"keyboard_type_v2": "ansi"
}
},
{
"complex_modifications": {
"rules": [
{
"description": "Caps Lock to ESC on tap/Left control on hold",
"manipulators": [
{
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_control",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "escape" }],
"type": "basic"
}
]
},
{
"description": "Space to shift on hold",
"manipulators": [
{
"from": {
"key_code": "spacebar",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_shift",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "spacebar" }],
"type": "basic"
}
]
}
]
},
"name": "Modified profile",
"virtual_hid_keyboard": {
"country_code": 0,
"keyboard_type_v2": "iso"
}
}
]
}
@@ -1,117 +0,0 @@
{
"profiles": [
{
"complex_modifications": {
"rules": [
{
"description": "dual purpose modifiers",
"manipulators": [
{
"from": {
"key_code": "spacebar",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_shift",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "spacebar" }],
"type": "basic"
},
{
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_control",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "escape" }],
"type": "basic"
}
]
}
]
},
"devices": [
{
"identifiers": {
"is_keyboard": true,
"product_id": 21042,
"vendor_id": 1155
},
"simple_modifications": [
{
"from": { "key_code": "grave_accent_and_tilde" },
"to": [{ "key_code": "non_us_backslash" }]
}
]
}
],
"name": "KarabinerTS",
"selected": true,
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
},
{
"name": "Default profile",
"virtual_hid_keyboard": {
"country_code": 0,
"keyboard_type_v2": "ansi"
}
},
{
"complex_modifications": {
"rules": [
{
"description": "Caps Lock to ESC on tap/Left control on hold",
"manipulators": [
{
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_control",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "escape" }],
"type": "basic"
}
]
},
{
"description": "Space to shift on hold",
"manipulators": [
{
"from": {
"key_code": "spacebar",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_shift",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "spacebar" }],
"type": "basic"
}
]
}
]
},
"name": "Modified profile",
"virtual_hid_keyboard": {
"country_code": 0,
"keyboard_type_v2": "iso"
}
}
]
}
@@ -1,117 +0,0 @@
{
"profiles": [
{
"complex_modifications": {
"rules": [
{
"description": "dual purpose modifiers",
"manipulators": [
{
"from": {
"key_code": "spacebar",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_shift",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "spacebar" }],
"type": "basic"
},
{
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_control",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "escape" }],
"type": "basic"
}
]
}
]
},
"devices": [
{
"identifiers": {
"is_keyboard": true,
"product_id": 21042,
"vendor_id": 1155
},
"simple_modifications": [
{
"from": { "key_code": "grave_accent_and_tilde" },
"to": [{ "key_code": "non_us_backslash" }]
}
]
}
],
"name": "KarabinerTS",
"selected": true,
"virtual_hid_keyboard": { "keyboard_type_v2": "iso" }
},
{
"name": "Default profile",
"virtual_hid_keyboard": {
"country_code": 0,
"keyboard_type_v2": "ansi"
}
},
{
"complex_modifications": {
"rules": [
{
"description": "Caps Lock to ESC on tap/Left control on hold",
"manipulators": [
{
"from": {
"key_code": "caps_lock",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_control",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "escape" }],
"type": "basic"
}
]
},
{
"description": "Space to shift on hold",
"manipulators": [
{
"from": {
"key_code": "spacebar",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_shift",
"lazy": true
}
],
"to_if_alone": [{ "key_code": "spacebar" }],
"type": "basic"
}
]
}
]
},
"name": "Modified profile",
"virtual_hid_keyboard": {
"country_code": 0,
"keyboard_type_v2": "iso"
}
}
]
}
@@ -51,23 +51,6 @@
"to": [{ "key_code": "non_us_backslash" }] "to": [{ "key_code": "non_us_backslash" }]
} }
] ]
},
{
"identifiers": {
"is_keyboard": true,
"product_id": 8467,
"vendor_id": 16700
},
"simple_modifications": [
{
"from": { "key_code": "left_option" },
"to": [{ "key_code": "left_command" }]
},
{
"from": { "key_code": "left_command" },
"to": [{ "key_code": "left_option" }]
}
]
} }
], ],
"name": "KarabinerTS", "name": "KarabinerTS",
File diff suppressed because it is too large Load Diff
+1
View File
@@ -0,0 +1 @@
save-position-on-quit
+56 -22
View File
@@ -6,6 +6,57 @@ end
vim.g.python3_host_prog = get_python_venv_path() vim.g.python3_host_prog = get_python_venv_path()
-- POPULATE QFLIST ON ERROR {{{1
do
local function full_trace()
local lines = {}
local level = 2
while true do
local info = debug.getinfo(level, "Sln")
if not info then break end
local src = info.source or "?"
local file = src:gsub("^@", "") -- remove @ prefix
local line = string.format(
"%s:%d: in %s",
file,
info.currentline or 0,
info.name or "?"
)
table.insert(lines, line)
level = level + 1
end
return table.concat(lines, "\n")
end
local orig = debug.traceback
---@diagnostic disable-next-line: duplicate-set-field, redundant-parameter
debug.traceback = function(thread, message, level)
local trace = vim.split(full_trace(), "\n")
local orig_trace = orig(thread, message, level)
if type(thread) ~= 'thread' then
level = message
message = thread
end
assert(type(message) == 'nil' or type(message) == 'string')
local qflist_items = vim.split(message, "\n")
-- doing this to remove truncated file location at the start of the error message
for i, msg in ipairs(qflist_items) do
local match = string.match(msg, ".*:%s*(.*)")
if match ~= nil then
qflist_items[i] = match
end
end
for _, loc in ipairs(trace) do
table.insert(qflist_items, loc)
end
vim.fn.setqflist({}, "a", {
title = "Traceback",
lines = qflist_items,
})
return orig_trace
end
end
-- GENERAL SETTINGS {{{1 -- GENERAL SETTINGS {{{1
vim.cmd [=[ vim.cmd [=[
set autowriteall set autowriteall
@@ -16,7 +67,6 @@ vim.cmd [=[
set shiftwidth=0 set shiftwidth=0
set rnu set rnu
set nu set nu
set path=**
set nowrap set nowrap
set shiftround set shiftround
set expandtab set expandtab
@@ -47,7 +97,6 @@ vim.cmd [=[
nnoremap ,x <C-x> nnoremap ,x <C-x>
nnoremap ,rl :checktime<CR> nnoremap ,rl :checktime<CR>
nnoremap ,m :wa<CR>:make<CR> nnoremap ,m :wa<CR>:make<CR>
inoremap <c-k> <c-x>
nnoremap ,cD :call setqflist(filter(getqflist(), 'v:val != getqflist()[getqflist({"idx": 0}).idx - 1]'))<CR> nnoremap ,cD :call setqflist(filter(getqflist(), 'v:val != getqflist()[getqflist({"idx": 0}).idx - 1]'))<CR>
@@ -304,7 +353,6 @@ do
gcc={'*.c'}, gcc={'*.c'},
['g++']={'*.cpp'}, ['g++']={'*.cpp'},
cargo={'Cargo.toml'}, cargo={'Cargo.toml'},
zig={'*.zig'}
} }
---@param dir string? ---@param dir string?
@@ -404,6 +452,7 @@ require'lazy'.setup{ --{{{1
---@module 'oil' ---@module 'oil'
---@type oil.SetupOpts ---@type oil.SetupOpts
opts = {}, opts = {},
dependencies = { { 'echasnovski/mini.icons', opts = {} } },
lazy = false, lazy = false,
config = function () config = function ()
require('oil').setup({ require('oil').setup({
@@ -575,13 +624,12 @@ require'lazy'.setup{ --{{{1
require'mini.align'.setup() require'mini.align'.setup()
end, end,
}, },
{ 'sainnhe/everforest', --{{{2 { 'miikanissi/modus-themes.nvim', --{{{2
lazy = false, lazy = false,
priority = 1000, priority = 1000,
config = function() config = function()
vim.o.termguicolors = true vim.o.termguicolors = true
vim.g.everforest_enable_italic = true vim.cmd.colorscheme('modus_vivendi')
vim.cmd.colorscheme('everforest')
end, end,
}, },
{ 'folke/lazydev.nvim', --{{{2 { 'folke/lazydev.nvim', --{{{2
@@ -598,10 +646,7 @@ require'lazy'.setup{ --{{{1
'williamboman/mason.nvim', 'williamboman/mason.nvim',
}, },
cond = function() cond = function()
local ok, mason_registry = pcall(require, 'mason-registry') local mason_registry = require'mason-registry'
if not ok then
return false
end
return mason_registry.is_installed('roslyn') return mason_registry.is_installed('roslyn')
end, end,
opts = { opts = {
@@ -676,18 +721,6 @@ require'lazy'.setup{ --{{{1
} }
} }
do -- turtle config
local turtle_server = vim.fn.exepath("turtle-language-server")
local node = vim.fn.exepath("node")
if turtle_server ~= "" and node ~= "" then
vim.lsp.config['turtle-language-server'] = {
cmd={ node, turtle_server, '--stdio' },
filetypes = { 'turtle', 'ttl' },
}
vim.lsp.enable('turtle-language-server')
end
end
vim.lsp.enable('gdscript') vim.lsp.enable('gdscript')
vim.lsp.config('hls', { vim.lsp.config('hls', {
filetypes = { 'haskell', 'lhaskell', 'cabal' }, filetypes = { 'haskell', 'lhaskell', 'cabal' },
@@ -868,6 +901,7 @@ require'lazy'.setup{ --{{{1
dependencies = { dependencies = {
'nvim-lua/plenary.nvim', 'nvim-lua/plenary.nvim',
'nvim-telescope/telescope-ui-select.nvim', 'nvim-telescope/telescope-ui-select.nvim',
'kyazdani42/nvim-web-devicons',
}, },
config = function() config = function()
local actions = require'telescope.actions' local actions = require'telescope.actions'
+1 -1
View File
@@ -166,7 +166,7 @@ func Picker(options []string, pickerOptions ...PickerOption) (choiceIdx int, ok
func initialize(nOptions int) { func initialize(nOptions int) {
rl.SetTraceLogLevel(rl.LogError) rl.SetTraceLogLevel(rl.LogError)
rl.InitWindow(0, 0, "raymenu") rl.InitWindow(0, 0, "raymenu")
rl.SetWindowState(rl.FlagWindowUndecorated | rl.FlagWindowTopmost) rl.SetWindowState(rl.FlagWindowUndecorated)
rl.SetTargetFPS( rl.SetTargetFPS(
int32( int32(
rl.GetMonitorRefreshRate( rl.GetMonitorRefreshRate(
-10
View File
@@ -92,12 +92,6 @@ func main() {
} }
slices.Sort(seshNames) slices.Sort(seshNames)
printSeshContents := func(name string) (content string, ok bool) {
cmd := exec.Command(tmux, "capture-pane", "-epN", "-t", name)
stdout, err := cmd.Output()
return string(stdout), err == nil
}
options := []fuzzyfinder.Option{ options := []fuzzyfinder.Option{
fuzzyfinder.WithPreviewWindow( fuzzyfinder.WithPreviewWindow(
func(i, width, height int) string { func(i, width, height int) string {
@@ -106,10 +100,6 @@ func main() {
return "" return ""
} }
seshName := seshNames[i] seshName := seshNames[i]
content, ok := printSeshContents(seshName)
if ok {
return content
}
windows, _ := config[seshName] windows, _ := config[seshName]
builder := strings.Builder{} builder := strings.Builder{}
for _, window := range windows { for _, window := range windows {
+1 -4
View File
@@ -23,8 +23,6 @@ bind-key c-p switch-client -l
bind c-g popup -E -w 100% -h 100% -d "#{pane_current_path}" -b rounded lazygit bind c-g popup -E -w 100% -h 100% -d "#{pane_current_path}" -b rounded lazygit
bind c-t popup -E -w 100% -h 100% -b rounded -d "#{pane_current_path}" bind c-t popup -E -w 100% -h 100% -b rounded -d "#{pane_current_path}"
bind c-s popup -E -w 100% -h 100% -b rounded "sesh" bind c-s popup -E -w 100% -h 100% -b rounded "sesh"
bind c-b popup -E -w 100% -h 100% -b rounded "btop"
bind c-f popup -E -w 100% -h 100% -b rounded "xplr"
bind c-x confirm-before -p "Kill current session #S? (y/n)" kill-session bind c-x confirm-before -p "Kill current session #S? (y/n)" kill-session
bind j command-prompt -p "Join window:" "join-pane -h -s %1" bind j command-prompt -p "Join window:" "join-pane -h -s %1"
@@ -32,7 +30,6 @@ bind b break-pane
set -g default-terminal "tmux-256color" set -g default-terminal "tmux-256color"
set -as terminal-overrides ",xterm-256color:Tc" set -as terminal-overrides ",xterm-256color:Tc"
set -as terminal-features ',xterm-256color:sync'
set -g base-index 1 set -g base-index 1
setw -g pane-base-index 1 setw -g pane-base-index 1
set -g renumber-windows on set -g renumber-windows on
@@ -49,7 +46,7 @@ set -g status-position top
set -g status-left-length 100 set -g status-left-length 100
set -g status-style "fg=${gray_light},bg=default" set -g status-style "fg=${gray_light},bg=default"
set -g status-left "#[fg=${green_soft},bold] #S #[fg=${gray_light},nobold] | " set -g status-left "#[fg=${green_soft},bold] #S #[fg=${gray_light},nobold] | "
set -g status-right "" set -g status-right "#[fg=${gray_dark}]%H:%M"
set -g window-status-current-format " #[fg=${white},bold]#I.#W " set -g window-status-current-format " #[fg=${white},bold]#I.#W "
set -g window-status-format " #I.#W " set -g window-status-format " #I.#W "
set -g message-style "fg=${gray_medium},bg=default" set -g message-style "fg=${gray_medium},bg=default"
+6 -7
View File
@@ -62,13 +62,12 @@ set wildignore=*.o,*.obj,.git/**,tags,*.pyc
set noswapfile set noswapfile
set makeprg=just set makeprg=just
syntax on syntax on
tnoremap <silent> <c-w>c <c-\><c-n><c-w>c tnoremap <c-w>c <c-\><c-n><c-w>c
xnoremap <silent> H ^ xnoremap H ^
xnoremap <silent> L $ xnoremap L $
nnoremap <silent> Q @@ nnoremap Q @@
nnoremap <silent> ,m :make<CR> nnoremap ,m :make<CR>
nnoremap <silent> - :E<CR> nnoremap - :E<CR>
nnoremap <silent> _ :execute 'Explore ' . fnameescape(getcwd())<CR>
if has('clipboard') if has('clipboard')
set clipboard^=unnamed,unnamedplus set clipboard^=unnamed,unnamedplus
-7
View File
@@ -2,10 +2,3 @@ export GTK_THEME="Adwaita:dark";
export QT_QPA_PLATFORMTHEME="gtk2"; export QT_QPA_PLATFORMTHEME="gtk2";
export PATH="$HOME/.local/share/JetBrains/Toolbox/scripts:$PATH" export PATH="$HOME/.local/share/JetBrains/Toolbox/scripts:$PATH"
export PATH=$PATH:/var/lib/flatpak/exports/bin export PATH=$PATH:/var/lib/flatpak/exports/bin
# Disable X11 screen blanking and monitor power-off permanently.
if command -v xset >/dev/null 2>&1; then
xset s off
xset s noblank
xset -dpms
fi