Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Strange fullscreen behavior #391

Open
Ampnbsp opened this issue Nov 7, 2023 · 1 comment
Open

Strange fullscreen behavior #391

Ampnbsp opened this issue Nov 7, 2023 · 1 comment

Comments

@Ampnbsp
Copy link
Contributor

Ampnbsp commented Nov 7, 2023

When I start a program in fullscreen mode I cannot exit from fullscreen properly.

My patches:

#define BAR_DWMBLOCKS_PATCH 1
#define BAR_LTSYMBOL_PATCH 1
#define BAR_STATUS_PATCH 1
#define BAR_STATUSCMD_PATCH 1
#define BAR_STATUS2D_XRDB_TERMCOLORS_PATCH 1
#define BAR_SYSTRAY_PATCH 1
#define BAR_TAGS_PATCH 1
#define BAR_WINTITLE_PATCH 1
#define BAR_HIDEVACANTTAGS_PATCH 1
#define BAR_NO_COLOR_EMOJI_PATCH 1
#define AUTOSTART_PATCH 1
#define AUTORESIZE_PATCH 1
#define CFACTS_PATCH 1
#define DWMC_PATCH 1
#define FAKEFULLSCREEN_CLIENT_PATCH 1
#define LOSEFULLSCREEN_PATCH 1
#define MOVESTACK_PATCH 1
#define NET_CLIENT_LIST_STACKING_PATCH 1
#define NOBORDER_PATCH 1
#define NODMENU_PATCH 1
#define NO_MOD_BUTTONS_PATCH 1
#define NO_TRANSPARENT_BORDERS_PATCH 1
#define PERTAG_PATCH 1
#define PLACEMOUSE_PATCH 1
#define RESIZEPOINT_PATCH 1
#define RESTARTSIG_PATCH 1
#define SAVEFLOATS_PATCH 1
#define SCRATCHPADS_PATCH 1
#define SCRATCHPADS_KEEP_POSITION_AND_SIZE_PATCH 1
#define SEAMLESS_RESTART_PATCH 1
#define SHIFTTAG_PATCH 1
#define SHIFTVIEW_CLIENTS_PATCH 1
#define STICKY_PATCH 1
#define SWALLOW_PATCH 1
#define TOGGLEFULLSCREEN_PATCH 1
#define XRDB_PATCH 1
#define BSTACK_LAYOUT 1
#define DECK_LAYOUT 1
#define TILE_LAYOUT 1
#define MONOCLE_LAYOUT 1

My keybindings:

    { MODKEY,                                 XK_f,          togglefullscreen,       {0} },
    { MODKEY|ShiftMask,             XK_f,          togglefakefullscreen,   {0} },
    { MODKEY,                                 XK_q,          killclient,             {0} },
    { MODKEY,                                 XK_t,          setlayout,              {.v = &layouts[0]} }, //TILE
svideo-231107-1833-53.mp4
@bakkeby
Copy link
Owner

bakkeby commented Nov 7, 2023

Hmm, doing an arrange rather than restack here solves that issue.

restack(c->mon);

The cause seems to be that the window has the _NET_WM_STATE_FULLSCREEN atom set when the window is first mapped, which results in the manage function to make the client fullscreen. This has the side effect that the client becomes floating before the arrange is triggered which means that the client does not have any tiled size to revert to when fullscreen is exited.

I think this needs a bit more analysis before patching.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants