A tiling window manager

screen_update_frames: Adjust edge frame width/height after moving

See #24

+11 -2
+11 -2
screen.c
··· 646 646 { 647 647 rp_vscreen *v; 648 648 rp_frame *f; 649 + int diff; 649 650 650 651 list_for_each_entry(v, &s->vscreens, node) { 651 652 list_for_each_entry(f, &v->frames, node) { 652 - if (frame_left_screen_edge(f) || (f->edges & EDGE_LEFT)) 653 + if (frame_left_screen_edge(f) || 654 + (f->edges & EDGE_LEFT)) { 655 + diff = screen_left(v->screen) - f->x; 653 656 f->x = screen_left(v->screen); 657 + f->width -= diff; 658 + } 654 659 655 - if (frame_top_screen_edge(f) || (f->edges & EDGE_TOP)) 660 + if (frame_top_screen_edge(f) || 661 + (f->edges & EDGE_TOP)) { 662 + diff = screen_top(v->screen) - f->y; 656 663 f->y = screen_top(v->screen); 664 + f->height -= diff; 665 + } 657 666 658 667 if (frame_right_screen_edge(f) || 659 668 (f->edges & EDGE_RIGHT))