2 #define I3__FILE__ "resize.c"
14 extern xcb_connection_t *
conn;
33 DLOG(
"new x = %d, y = %d\n", new_x, new_y);
37 new_x < (output->
rect.
x + 25))
44 new_y < (output->
rect.
y + 25))
55 DLOG(
"resize handler\n");
69 mask = XCB_CW_OVERRIDE_REDIRECT;
78 if (orientation ==
HORIZ) {
79 helprect.
x =
event->root_x;
80 helprect.
y = output->
rect.
y;
83 new_position =
event->root_x;
85 helprect.
x = output->
rect.
x;
86 helprect.
y =
event->root_y;
89 new_position =
event->root_y;
92 mask = XCB_CW_BACK_PIXEL;
95 mask |= XCB_CW_OVERRIDE_REDIRECT;
99 XCB_WINDOW_CLASS_INPUT_OUTPUT, (orientation ==
HORIZ ?
103 xcb_circulate_window(
conn, XCB_CIRCULATE_RAISE_LOWEST, helpwin);
111 xcb_destroy_window(
conn, helpwin);
112 xcb_destroy_window(
conn, grabwin);
116 if (orientation ==
HORIZ)
117 pixels = (new_position -
event->root_x);
118 else pixels = (new_position -
event->root_y);
120 DLOG(
"Done, pixels = %d\n", pixels);
128 double new_percent, difference;
129 double percent = first->
percent;
130 DLOG(
"percent = %f\n", percent);
132 DLOG(
"original = %d\n", original);
133 new_percent = (original + pixels) * (percent / original);
134 difference = percent - new_percent;
135 DLOG(
"difference = %f\n", difference);
136 DLOG(
"new percent = %f\n", new_percent);
140 double s_percent = second->
percent;
141 second->
percent = s_percent + difference;