- if (win == self->title) {
- /* when the user clicks in the corners of the titlebar and the client
- is fully maximized, then treat it like they clicked in the
- button that is there */
- if (self->client->max_horz && self->client->max_vert &&
- y < ob_rr_theme->paddingy + 1 + ob_rr_theme->button_size)
+ /* when the user clicks in the corners of the titlebar and the client
+ is fully maximized, then treat it like they clicked in the
+ button that is there */
+ if (self->max_horz && self->max_vert &&
+ (win == self->title ||
+ win == self->titleleft || win == self->titletopleft ||
+ win == self->titleright || win == self->titletopright))
+ {
+ /* get the mouse coords in reference to the whole frame */
+ gint fx = x;
+ gint fy = y;
+
+ /* these windows are down a border width from the top of the frame */
+ if (win == self->title ||
+ win == self->titleleft || win == self->titleright)
+ fy += self->bwidth;
+
+ /* title is a border width in from the edge */
+ if (win == self->title)
+ fx += self->bwidth;
+ /* titletopright is way to the right edge */
+ else if (win == self->titletopright)
+ fx += self->area.width - (ob_rr_theme->grip_width + self->bwidth);
+ /* titleright is even more way to the right edge */
+ else if (win == self->titleright)
+ fx += self->area.width - self->bwidth;
+
+ /* figure out if we're over the area that should be considered a
+ button */
+ if (fy < self->bwidth + ob_rr_theme->paddingy + 1 +
+ ob_rr_theme->button_size)