enabled smart gap feature - no gaps for single windows within workspace
This commit is contained in:
parent
7e54722940
commit
54b14309d1
11
keybinding.c
11
keybinding.c
|
@ -953,14 +953,21 @@ keybinding_focus_tile(struct nedm_server *server, uint32_t tile_id) {
|
||||||
workspace_focus_tile(tile->workspace, tile);
|
workspace_focus_tile(tile->workspace, tile);
|
||||||
struct nedm_view *next_view = tile->workspace->focused_tile->view;
|
struct nedm_view *next_view = tile->workspace->focused_tile->view;
|
||||||
seat_set_focus(server->seat, next_view);
|
seat_set_focus(server->seat, next_view);
|
||||||
|
|
||||||
|
char *view_title = "";
|
||||||
|
if (next_view && next_view->impl && next_view->impl->get_title) {
|
||||||
|
char *title = next_view->impl->get_title(next_view);
|
||||||
|
view_title = title ? title : "";
|
||||||
|
}
|
||||||
|
|
||||||
ipc_send_event(
|
ipc_send_event(
|
||||||
output->server,
|
output->server,
|
||||||
"{\"event_name\":\"focus_tile\",\"old_tile_id\":%d,\"new_tile_"
|
"{\"event_name\":\"focus_tile\",\"old_tile_id\":%d,\"new_tile_"
|
||||||
"id\":%d,\"old_workspace\":%d,\"new_workspace\":%d,\"old_output\":\"%"
|
"id\":%d,\"old_workspace\":%d,\"new_workspace\":%d,\"old_output\":\"%"
|
||||||
"s\",\"old_output_id\":%d,\"output\":\"%s\",\"output_id\":%d}",
|
"s\",\"old_output_id\":%d,\"output\":\"%s\",\"output_id\":%d,\"view_title\":\"%s\"}",
|
||||||
old_tile->id, tile->workspace->focused_tile->id, workspace->num + 1,
|
old_tile->id, tile->workspace->focused_tile->id, workspace->num + 1,
|
||||||
tile->workspace->num + 1, output->name, output_get_num(output),
|
tile->workspace->num + 1, output->name, output_get_num(output),
|
||||||
tile->workspace->output->name, output_get_num(tile->workspace->output));
|
tile->workspace->output->name, output_get_num(tile->workspace->output), view_title);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
6
view.c
6
view.c
|
@ -80,6 +80,12 @@ void
|
||||||
view_maximize(struct nedm_view *view, struct nedm_tile *tile) {
|
view_maximize(struct nedm_view *view, struct nedm_tile *tile) {
|
||||||
uint32_t gap = view->workspace->output->server->gap_size;
|
uint32_t gap = view->workspace->output->server->gap_size;
|
||||||
|
|
||||||
|
// Smart gaps: only apply gaps if there are multiple views in the workspace
|
||||||
|
uint32_t view_count = wl_list_length(&view->workspace->views);
|
||||||
|
if (view_count <= 1) {
|
||||||
|
gap = 0;
|
||||||
|
}
|
||||||
|
|
||||||
// Apply gap offset to position
|
// Apply gap offset to position
|
||||||
view->ox = tile->tile.x + gap;
|
view->ox = tile->tile.x + gap;
|
||||||
view->oy = tile->tile.y + gap;
|
view->oy = tile->tile.y + gap;
|
||||||
|
|
Loading…
Reference in New Issue