only show resize popups for clients with size increments. no move popup at all. waste of screen space.
This commit is contained in:
parent
bb73f52a5f
commit
fbbbd4f9ab
1 changed files with 11 additions and 26 deletions
|
@ -28,9 +28,6 @@ static ObCorner lockcorner;
|
||||||
|
|
||||||
static Popup *popup = NULL;
|
static Popup *popup = NULL;
|
||||||
|
|
||||||
#define POPUP_X (10)
|
|
||||||
#define POPUP_Y (10)
|
|
||||||
|
|
||||||
static void client_dest(ObClient *c)
|
static void client_dest(ObClient *c)
|
||||||
{
|
{
|
||||||
if (moveresize_client == c)
|
if (moveresize_client == c)
|
||||||
|
@ -39,12 +36,7 @@ static void client_dest(ObClient *c)
|
||||||
|
|
||||||
void moveresize_startup()
|
void moveresize_startup()
|
||||||
{
|
{
|
||||||
XSetWindowAttributes attrib;
|
|
||||||
|
|
||||||
popup = popup_new(FALSE);
|
popup = popup_new(FALSE);
|
||||||
popup_size_to_string(popup, "W: 0000 W: 0000");
|
|
||||||
|
|
||||||
attrib.save_under = True;
|
|
||||||
|
|
||||||
client_add_destructor(client_dest);
|
client_add_destructor(client_dest);
|
||||||
}
|
}
|
||||||
|
@ -57,15 +49,16 @@ void moveresize_shutdown()
|
||||||
popup = NULL;
|
popup = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void popup_coords(char *format, int a, int b)
|
static void popup_coords(ObClient *c, char *format, int a, int b)
|
||||||
{
|
{
|
||||||
char *text;
|
char *text;
|
||||||
Rect *area;
|
|
||||||
|
|
||||||
text = g_strdup_printf(format, a, b);
|
text = g_strdup_printf(format, a, b);
|
||||||
area = screen_physical_area_monitor(0);
|
popup_position(popup, CenterGravity,
|
||||||
popup_position(popup, NorthWestGravity,
|
c->frame->area.x + c->frame->size.left +
|
||||||
POPUP_X + area->x, POPUP_Y + area->y);
|
c->area.width / 2,
|
||||||
|
c->frame->area.y + c->frame->size.top +
|
||||||
|
c->area.height / 2);
|
||||||
popup_show(popup, text, NULL);
|
popup_show(popup, text, NULL);
|
||||||
g_free(text);
|
g_free(text);
|
||||||
}
|
}
|
||||||
|
@ -166,24 +159,14 @@ void moveresize_end(gboolean cancel)
|
||||||
|
|
||||||
static void do_move(gboolean resist)
|
static void do_move(gboolean resist)
|
||||||
{
|
{
|
||||||
Rect *a;
|
|
||||||
|
|
||||||
if (resist)
|
if (resist)
|
||||||
resist_move_windows(moveresize_client, &cur_x, &cur_y);
|
resist_move_windows(moveresize_client, &cur_x, &cur_y);
|
||||||
resist_move_monitors(moveresize_client, &cur_x, &cur_y);
|
resist_move_monitors(moveresize_client, &cur_x, &cur_y);
|
||||||
|
|
||||||
/* get where the client should be */
|
/* get where the client should be */
|
||||||
frame_frame_gravity(moveresize_client->frame, &cur_x, &cur_y);
|
frame_frame_gravity(moveresize_client->frame, &cur_x, &cur_y);
|
||||||
g_message("%d %d", cur_x, cur_y);
|
|
||||||
client_configure(moveresize_client, OB_CORNER_TOPLEFT, cur_x, cur_y,
|
client_configure(moveresize_client, OB_CORNER_TOPLEFT, cur_x, cur_y,
|
||||||
start_cw, start_ch, TRUE, FALSE);
|
start_cw, start_ch, TRUE, FALSE);
|
||||||
|
|
||||||
/* this would be better with a fixed width font ... XXX can do it better
|
|
||||||
if there are 2 text boxes */
|
|
||||||
a = screen_area(screen_desktop);
|
|
||||||
popup_coords("X: %4d Y: %4d",
|
|
||||||
moveresize_client->frame->area.x - a->x,
|
|
||||||
moveresize_client->frame->area.y - a->y);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void do_resize(gboolean resist)
|
static void do_resize(gboolean resist)
|
||||||
|
@ -209,8 +192,11 @@ static void do_resize(gboolean resist)
|
||||||
|
|
||||||
/* this would be better with a fixed width font ... XXX can do it better
|
/* this would be better with a fixed width font ... XXX can do it better
|
||||||
if there are 2 text boxes */
|
if there are 2 text boxes */
|
||||||
popup_coords("W: %4d H: %4d", moveresize_client->logical_size.width,
|
if (moveresize_client->size_inc.width > 1 ||
|
||||||
moveresize_client->logical_size.height);
|
moveresize_client->size_inc.height > 1)
|
||||||
|
popup_coords(moveresize_client, "%d x %d",
|
||||||
|
moveresize_client->logical_size.width,
|
||||||
|
moveresize_client->logical_size.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
void moveresize_event(XEvent *e)
|
void moveresize_event(XEvent *e)
|
||||||
|
@ -229,7 +215,6 @@ void moveresize_event(XEvent *e)
|
||||||
}
|
}
|
||||||
} else if (e->type == MotionNotify) {
|
} else if (e->type == MotionNotify) {
|
||||||
if (moving) {
|
if (moving) {
|
||||||
g_message("root %d start %d", e->xmotion.x_root, start_x);
|
|
||||||
cur_x = start_cx + e->xmotion.x_root - start_x;
|
cur_x = start_cx + e->xmotion.x_root - start_x;
|
||||||
cur_y = start_cy + e->xmotion.y_root - start_y;
|
cur_y = start_cy + e->xmotion.y_root - start_y;
|
||||||
do_move(TRUE);
|
do_move(TRUE);
|
||||||
|
|
Loading…
Reference in a new issue