mirror of
https://github.com/labwc/labwc.git
synced 2026-03-05 01:40:24 -05:00
mousebind: support Border context
This new context includes `Top`...`BRCorner` and makes it easier to modify the mousebinds bound to them.
This commit is contained in:
parent
b5b257092d
commit
02be24bf59
6 changed files with 10 additions and 72 deletions
|
|
@ -747,6 +747,7 @@ extending outward from the snapped edge.
|
||||||
- AllDesktops: A button that, by default, toggles omnipresence of a
|
- AllDesktops: A button that, by default, toggles omnipresence of a
|
||||||
window.
|
window.
|
||||||
- Close: A button that, by default, closses a window.
|
- Close: A button that, by default, closses a window.
|
||||||
|
- Border: The window's border including Top...BRCorner below.
|
||||||
- Top: The top edge of the window's border.
|
- Top: The top edge of the window's border.
|
||||||
- Bottom: The bottom edge of the window's border.
|
- Bottom: The bottom edge of the window's border.
|
||||||
- Left: The left edge of the window's border.
|
- Left: The left edge of the window's border.
|
||||||
|
|
|
||||||
|
|
@ -375,42 +375,7 @@
|
||||||
</mousebind>
|
</mousebind>
|
||||||
</context>
|
</context>
|
||||||
|
|
||||||
<context name="Top">
|
<context name="Border">
|
||||||
<mousebind button="Left" action="Drag">
|
|
||||||
<action name="Resize" />
|
|
||||||
</mousebind>
|
|
||||||
</context>
|
|
||||||
<context name="Left">
|
|
||||||
<mousebind button="Left" action="Drag">
|
|
||||||
<action name="Resize" />
|
|
||||||
</mousebind>
|
|
||||||
</context>
|
|
||||||
<context name="Right">
|
|
||||||
<mousebind button="Left" action="Drag">
|
|
||||||
<action name="Resize" />
|
|
||||||
</mousebind>
|
|
||||||
</context>
|
|
||||||
<context name="Bottom">
|
|
||||||
<mousebind button="Left" action="Drag">
|
|
||||||
<action name="Resize" />
|
|
||||||
</mousebind>
|
|
||||||
</context>
|
|
||||||
<context name="TRCorner">
|
|
||||||
<mousebind button="Left" action="Drag">
|
|
||||||
<action name="Resize" />
|
|
||||||
</mousebind>
|
|
||||||
</context>
|
|
||||||
<context name="BRCorner">
|
|
||||||
<mousebind button="Left" action="Drag">
|
|
||||||
<action name="Resize" />
|
|
||||||
</mousebind>
|
|
||||||
</context>
|
|
||||||
<context name="TLCorner">
|
|
||||||
<mousebind button="Left" action="Drag">
|
|
||||||
<action name="Resize" />
|
|
||||||
</mousebind>
|
|
||||||
</context>
|
|
||||||
<context name="BLCorner">
|
|
||||||
<mousebind button="Left" action="Drag">
|
<mousebind button="Left" action="Drag">
|
||||||
<action name="Resize" />
|
<action name="Resize" />
|
||||||
</mousebind>
|
</mousebind>
|
||||||
|
|
|
||||||
|
|
@ -143,42 +143,7 @@ static struct mouse_combos {
|
||||||
const char *name, *value;
|
const char *name, *value;
|
||||||
} attributes[2];
|
} attributes[2];
|
||||||
} mouse_combos[] = { {
|
} mouse_combos[] = { {
|
||||||
.context = "Left",
|
.context = "Border",
|
||||||
.button = "Left",
|
|
||||||
.event = "Drag",
|
|
||||||
.action = "Resize",
|
|
||||||
}, {
|
|
||||||
.context = "Top",
|
|
||||||
.button = "Left",
|
|
||||||
.event = "Drag",
|
|
||||||
.action = "Resize",
|
|
||||||
}, {
|
|
||||||
.context = "Bottom",
|
|
||||||
.button = "Left",
|
|
||||||
.event = "Drag",
|
|
||||||
.action = "Resize",
|
|
||||||
}, {
|
|
||||||
.context = "Right",
|
|
||||||
.button = "Left",
|
|
||||||
.event = "Drag",
|
|
||||||
.action = "Resize",
|
|
||||||
}, {
|
|
||||||
.context = "TLCorner",
|
|
||||||
.button = "Left",
|
|
||||||
.event = "Drag",
|
|
||||||
.action = "Resize",
|
|
||||||
}, {
|
|
||||||
.context = "TRCorner",
|
|
||||||
.button = "Left",
|
|
||||||
.event = "Drag",
|
|
||||||
.action = "Resize",
|
|
||||||
}, {
|
|
||||||
.context = "BRCorner",
|
|
||||||
.button = "Left",
|
|
||||||
.event = "Drag",
|
|
||||||
.action = "Resize",
|
|
||||||
}, {
|
|
||||||
.context = "BLCorner",
|
|
||||||
.button = "Left",
|
.button = "Left",
|
||||||
.event = "Drag",
|
.event = "Drag",
|
||||||
.action = "Resize",
|
.action = "Resize",
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,7 @@ enum ssd_part_type {
|
||||||
LAB_SSD_PART_RIGHT,
|
LAB_SSD_PART_RIGHT,
|
||||||
LAB_SSD_PART_BOTTOM,
|
LAB_SSD_PART_BOTTOM,
|
||||||
LAB_SSD_PART_LEFT,
|
LAB_SSD_PART_LEFT,
|
||||||
|
LAB_SSD_PART_BORDER,
|
||||||
|
|
||||||
LAB_SSD_CLIENT,
|
LAB_SSD_CLIENT,
|
||||||
LAB_SSD_FRAME,
|
LAB_SSD_FRAME,
|
||||||
|
|
|
||||||
|
|
@ -132,6 +132,8 @@ context_from_str(const char *str)
|
||||||
return LAB_SSD_PART_CORNER_BOTTOM_RIGHT;
|
return LAB_SSD_PART_CORNER_BOTTOM_RIGHT;
|
||||||
} else if (!strcasecmp(str, "BLCorner")) {
|
} else if (!strcasecmp(str, "BLCorner")) {
|
||||||
return LAB_SSD_PART_CORNER_BOTTOM_LEFT;
|
return LAB_SSD_PART_CORNER_BOTTOM_LEFT;
|
||||||
|
} else if (!strcasecmp(str, "Border")) {
|
||||||
|
return LAB_SSD_PART_BORDER;
|
||||||
} else if (!strcasecmp(str, "Top")) {
|
} else if (!strcasecmp(str, "Top")) {
|
||||||
return LAB_SSD_PART_TOP;
|
return LAB_SSD_PART_TOP;
|
||||||
} else if (!strcasecmp(str, "Right")) {
|
} else if (!strcasecmp(str, "Right")) {
|
||||||
|
|
|
||||||
|
|
@ -328,6 +328,10 @@ ssd_part_contains(enum ssd_part_type whole, enum ssd_part_type candidate)
|
||||||
return candidate >= LAB_SSD_BUTTON_CLOSE
|
return candidate >= LAB_SSD_BUTTON_CLOSE
|
||||||
&& candidate <= LAB_SSD_CLIENT;
|
&& candidate <= LAB_SSD_CLIENT;
|
||||||
}
|
}
|
||||||
|
if (whole == LAB_SSD_PART_BORDER) {
|
||||||
|
return candidate >= LAB_SSD_PART_CORNER_TOP_LEFT
|
||||||
|
&& candidate <= LAB_SSD_PART_LEFT;
|
||||||
|
}
|
||||||
if (whole == LAB_SSD_PART_TOP) {
|
if (whole == LAB_SSD_PART_TOP) {
|
||||||
return candidate == LAB_SSD_PART_CORNER_TOP_LEFT
|
return candidate == LAB_SSD_PART_CORNER_TOP_LEFT
|
||||||
|| candidate == LAB_SSD_PART_CORNER_TOP_RIGHT;
|
|| candidate == LAB_SSD_PART_CORNER_TOP_RIGHT;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue