mirror of
https://codeberg.org/dwl/dwl.git
synced 2026-11-06 05:03:15 +00:00
Compare commits
6
Commits
4953b7ea0c
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
15bff401c4 | ||
|
|
4b76704af7 | ||
|
|
a6e2c155de | ||
|
|
be2bd72314 | ||
|
|
12a5856427 | ||
|
|
4ecb2a9df5 |
@@ -12,7 +12,6 @@ static const float rootcolor[] = COLOR(0x222222ff);
|
|||||||
static const float bordercolor[] = COLOR(0x444444ff);
|
static const float bordercolor[] = COLOR(0x444444ff);
|
||||||
static const float focuscolor[] = COLOR(0x005577ff);
|
static const float focuscolor[] = COLOR(0x005577ff);
|
||||||
static const float urgentcolor[] = COLOR(0xff0000ff);
|
static const float urgentcolor[] = COLOR(0xff0000ff);
|
||||||
/* This conforms to the xdg-protocol. Set the alpha to zero to restore the old behavior */
|
|
||||||
static const float fullscreen_bg[] = {0.0f, 0.0f, 0.0f, 1.0f}; /* You can also use glsl colors */
|
static const float fullscreen_bg[] = {0.0f, 0.0f, 0.0f, 1.0f}; /* You can also use glsl colors */
|
||||||
|
|
||||||
/* tagging - TAGCOUNT must be no greater than 31 */
|
/* tagging - TAGCOUNT must be no greater than 31 */
|
||||||
|
|||||||
@@ -482,6 +482,7 @@ static struct wl_listener request_set_sel = {.notify = setsel};
|
|||||||
static struct wl_listener request_set_cursor_shape = {.notify = setcursorshape};
|
static struct wl_listener request_set_cursor_shape = {.notify = setcursorshape};
|
||||||
static struct wl_listener request_start_drag = {.notify = requeststartdrag};
|
static struct wl_listener request_start_drag = {.notify = requeststartdrag};
|
||||||
static struct wl_listener start_drag = {.notify = startdrag};
|
static struct wl_listener start_drag = {.notify = startdrag};
|
||||||
|
static struct wl_listener drag_icon_destroy = {.notify = destroydragicon};
|
||||||
static struct wl_listener new_session_lock = {.notify = locksession};
|
static struct wl_listener new_session_lock = {.notify = locksession};
|
||||||
static struct wl_listener new_foreign_toplevel_capture_request = {.notify = capturerequest};
|
static struct wl_listener new_foreign_toplevel_capture_request = {.notify = capturerequest};
|
||||||
|
|
||||||
@@ -1423,7 +1424,6 @@ destroydragicon(struct wl_listener *listener, void *data)
|
|||||||
focusclient(focustop(selmon), NULL, 1);
|
focusclient(focustop(selmon), NULL, 1);
|
||||||
motionnotify(0, NULL, 0, 0, 0, 0);
|
motionnotify(0, NULL, 0, 0, 0, 0);
|
||||||
wl_list_remove(&listener->link);
|
wl_list_remove(&listener->link);
|
||||||
free(listener);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -1610,7 +1610,6 @@ focusclient(Client *c, LayerSurface *l, int lift)
|
|||||||
/* Don't change border color if there is an exclusive focus or we are
|
/* Don't change border color if there is an exclusive focus or we are
|
||||||
* handling a drag operation */
|
* handling a drag operation */
|
||||||
if (!(old_l && old_l->layer_surface->current.keyboard_interactive == ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_EXCLUSIVE)
|
if (!(old_l && old_l->layer_surface->current.keyboard_interactive == ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_EXCLUSIVE)
|
||||||
&& !(old_c && client_wants_focus(old_c))
|
|
||||||
&& !seat->drag)
|
&& !seat->drag)
|
||||||
client_set_border_color(c, focuscolor);
|
client_set_border_color(c, focuscolor);
|
||||||
}
|
}
|
||||||
@@ -1701,10 +1700,14 @@ Client *
|
|||||||
focustop(Monitor *m)
|
focustop(Monitor *m)
|
||||||
{
|
{
|
||||||
Client *c;
|
Client *c;
|
||||||
wl_list_for_each(c, &fstack, flink) {
|
|
||||||
|
wl_list_for_each(c, &fstack, flink)
|
||||||
|
if (VISIBLEON(c, m) && c->isfullscreen)
|
||||||
|
return c;
|
||||||
|
|
||||||
|
wl_list_for_each(c, &fstack, flink)
|
||||||
if (VISIBLEON(c, m))
|
if (VISIBLEON(c, m))
|
||||||
return c;
|
return c;
|
||||||
}
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1977,8 +1980,6 @@ mapnotify(struct wl_listener *listener, void *data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Initialize client geometry with room for border */
|
/* Initialize client geometry with room for border */
|
||||||
client_set_tiled(c, WLR_EDGE_TOP | WLR_EDGE_BOTTOM | WLR_EDGE_LEFT |
|
|
||||||
WLR_EDGE_RIGHT);
|
|
||||||
c->geom.width += 2 * c->bw;
|
c->geom.width += 2 * c->bw;
|
||||||
c->geom.height += 2 * c->bw;
|
c->geom.height += 2 * c->bw;
|
||||||
if (client_is_x11(c)) {
|
if (client_is_x11(c)) {
|
||||||
@@ -2018,8 +2019,11 @@ mapnotify(struct wl_listener *listener, void *data)
|
|||||||
unset_fullscreen:
|
unset_fullscreen:
|
||||||
m = c->mon ? c->mon : xytomon(c->geom.x, c->geom.y);
|
m = c->mon ? c->mon : xytomon(c->geom.x, c->geom.y);
|
||||||
wl_list_for_each(w, &clients, link) {
|
wl_list_for_each(w, &clients, link) {
|
||||||
if (w != c && w != p && w->isfullscreen && m == w->mon && (w->tags & c->tags))
|
if (w != c && w != p && w->isfullscreen && m == w->mon && (w->tags & c->tags)) {
|
||||||
setfullscreen(w, 0);
|
setfullscreen(w, 0);
|
||||||
|
/* setmon() focused w because focustop() prefers fullscreen clients */
|
||||||
|
focusclient(focustop(selmon), NULL, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3023,7 +3027,7 @@ startdrag(struct wl_listener *listener, void *data)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
drag->icon->data = &wlr_scene_drag_icon_create(drag_icon, drag->icon)->node;
|
drag->icon->data = &wlr_scene_drag_icon_create(drag_icon, drag->icon)->node;
|
||||||
LISTEN_STATIC(&drag->icon->events.destroy, destroydragicon);
|
wl_signal_add(&drag->icon->events.destroy, &drag_icon_destroy);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
Reference in New Issue
Block a user