|
@ -1459,6 +1459,16 @@ void app_input_cmd(App_state* a, App_input_cmd ev) { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
bool app_hacky_try_save(App_state* a) { |
|
|
|
|
|
if (!a->filename) return false; |
|
|
|
|
|
if (a->field.height == 0 || a->field.width == 0) return false; |
|
|
|
|
|
FILE* f = fopen(a->filename, "w"); |
|
|
|
|
|
if (!f) return false; |
|
|
|
|
|
field_fput(&a->field, f); |
|
|
|
|
|
fclose(f); |
|
|
|
|
|
return true; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
enum { |
|
|
enum { |
|
|
Argopt_margins = UCHAR_MAX + 1, |
|
|
Argopt_margins = UCHAR_MAX + 1, |
|
|
Argopt_osc_server, |
|
|
Argopt_osc_server, |
|
@ -1839,6 +1849,10 @@ int main(int argc, char** argv) { |
|
|
app_input_character(&app_state, '.'); |
|
|
app_input_character(&app_state, '.'); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
case KEY_F(2): |
|
|
|
|
|
app_hacky_try_save(&app_state); |
|
|
|
|
|
break; |
|
|
|
|
|
|
|
|
default: |
|
|
default: |
|
|
if (key >= CHAR_MIN && key <= CHAR_MAX && is_valid_glyph((Glyph)key)) { |
|
|
if (key >= CHAR_MIN && key <= CHAR_MAX && is_valid_glyph((Glyph)key)) { |
|
|
app_input_character(&app_state, (char)key); |
|
|
app_input_character(&app_state, (char)key); |
|
|