mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2025-10-29 05:40:21 -04:00
Compare commits
3 commits
bc2b22946c
...
918a00d578
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
918a00d578 | ||
|
|
04e3bd6861 | ||
|
|
6ab7f822c1 |
6 changed files with 18 additions and 2 deletions
|
|
@ -37,6 +37,9 @@ Layer animaiton
|
|||
https://github.com/user-attachments/assets/014c893f-115c-4ae9-8342-f9ae3e9a0df0
|
||||
|
||||
|
||||
# Our discord
|
||||
[mangowc](https://discord.gg/CPjbDxesh5)
|
||||
|
||||
# Supported layouts
|
||||
|
||||
- tile
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <wayland-client.h>
|
||||
#include <wayland-util.h>
|
||||
|
||||
|
|
@ -373,6 +374,7 @@ static void dwl_ipc_output_frame(void *data,
|
|||
dispatch_arg3, dispatch_arg4, dispatch_arg5);
|
||||
}
|
||||
wl_display_flush(display);
|
||||
usleep(1000);
|
||||
exit(0);
|
||||
} else {
|
||||
if (tflag) {
|
||||
|
|
|
|||
|
|
@ -212,7 +212,7 @@ int focusstack(const Arg *arg) {
|
|||
Client *sel = focustop(selmon);
|
||||
Client *tc = NULL;
|
||||
|
||||
if (!sel || (sel->isfullscreen && !client_has_children(sel)))
|
||||
if (!sel)
|
||||
return 0;
|
||||
if (arg->i == NEXT) {
|
||||
tc = get_next_stack_client(sel, false);
|
||||
|
|
|
|||
|
|
@ -343,11 +343,17 @@ Client *get_next_stack_client(Client *c, bool reverse) {
|
|||
Client *next = NULL;
|
||||
if (reverse) {
|
||||
wl_list_for_each_reverse(next, &c->link, link) {
|
||||
if (c->mon->has_visible_fullscreen_client && !next->isfloating &&
|
||||
!next->isfullscreen)
|
||||
continue;
|
||||
if (VISIBLEON(next, c->mon) && next != c)
|
||||
return next;
|
||||
}
|
||||
} else {
|
||||
wl_list_for_each(next, &c->link, link) {
|
||||
if (c->mon->has_visible_fullscreen_client && !next->isfloating &&
|
||||
!next->isfullscreen)
|
||||
continue;
|
||||
if (VISIBLEON(next, c->mon) && next != c)
|
||||
return next;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -592,6 +592,7 @@ arrange(Monitor *m, bool want_animation) {
|
|||
return;
|
||||
m->visible_clients = 0;
|
||||
m->visible_tiling_clients = 0;
|
||||
m->has_visible_fullscreen_client = false;
|
||||
|
||||
wl_list_for_each(c, &clients, link) {
|
||||
|
||||
|
|
@ -603,6 +604,10 @@ arrange(Monitor *m, bool want_animation) {
|
|||
|
||||
if (VISIBLEON(c, m)) {
|
||||
m->visible_clients++;
|
||||
|
||||
if (c->isfullscreen)
|
||||
m->has_visible_fullscreen_client = true;
|
||||
|
||||
if (ISTILED(c)) {
|
||||
m->visible_tiling_clients++;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -443,6 +443,7 @@ struct Monitor {
|
|||
int asleep;
|
||||
unsigned int visible_clients;
|
||||
unsigned int visible_tiling_clients;
|
||||
bool has_visible_fullscreen_client;
|
||||
struct wlr_scene_optimized_blur *blur;
|
||||
char last_surface_ws_name[256];
|
||||
struct wlr_ext_workspace_group_handle_v1 *ext_group;
|
||||
|
|
@ -4531,7 +4532,6 @@ void setfullscreen(Client *c, int fullscreen) // 用自定义全屏代理自带
|
|||
wlr_scene_node_raise_to_top(&c->scene->node); // 将视图提升到顶层
|
||||
resize(c, c->mon->m, 1);
|
||||
c->isfullscreen = 1;
|
||||
// c->isfloating = 0;
|
||||
} else {
|
||||
c->bw = c->isnoborder ? 0 : borderpx;
|
||||
c->isfullscreen = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue