layout functionality

This commit is contained in:
2026-04-20 19:57:43 +07:00
parent 31ae30c38f
commit 06059f923b
8 changed files with 54 additions and 17 deletions
+25
View File
@@ -9,6 +9,7 @@
#include "types.h"
#include "absinthe-toplevel.h"
#include "focus.h"
#include "layout.h"
void keyboard_handle_modifiers(struct wl_listener *listener, void *data)
{
@@ -42,6 +43,30 @@ static bool keyboard_handle_keybind(struct absinthe_server *server, xkb_keysym_t
case XKB_KEY_k:
focus_prev(server);
break;
case XKB_KEY_h:
if (server->focused_output && server->focused_output->main_stack_width > 0.15) {
server->focused_output->main_stack_width -= 0.1;
layout_arrange(server->focused_output);
}
break;
case XKB_KEY_l:
if (server->focused_output && server->focused_output->main_stack_width < 0.9) {
server->focused_output->main_stack_width += 0.1;
layout_arrange(server->focused_output);
}
break;
case XKB_KEY_H:
if (server->focused_output) {
server->focused_output->main_stack_size += 1;
layout_arrange(server->focused_output);
}
break;
case XKB_KEY_L:
if (server->focused_output && server->focused_output->main_stack_size > 1) {
server->focused_output->main_stack_size -= 1;
layout_arrange(server->focused_output);
}
break;
default:
return false;
}