Skip to content

Fullscreen

Bakkeby edited this page Feb 27, 2024 · 3 revisions

A window that enters fullscreen mode will be resized to take up the entirety of the screen and will be placed above all other windows.

FullScreen.gif

Features

While a window going fullscreen is more or less self-explanatory there are still some notable features worth mentioning:

  • fullscreen can be toggled for any window using a single keybinding rather than having to rely on per-application keybindings
  • windows can go fullscreen within its designated area (a.k.a. fake fullscreen)
  • a fullscreen window can be moved to another workspace or another monitor while remaining in fullscreen
  • a fullscreen window will automatically lose fullscreen if another tiled window on the same workspace receives focus (for example if a new terminal is spawned)
  • floating scratchpads and transient windows such as dialog boxes can still be shown on top of a fullscreen window without it losing fullscreen
  • a fake fullscreen window can go into actual fullscreen and exit out into fake fullscreen again

Fake fullscreen

Fake fullscreen is a term used when a window is told that it can go into fullscreen but it is not resized to fill the entire monitor. In other words the window goes into fullscreen in windowed mode.

fakefullscreen.gif

This can allow for distraction free web browsing or tiled windows playing fullscreen videos.

Functions

Here is a list of functions relating to the fullscreen feature.

Function Description
togglefullscreen Moves the current client into and out of fullscreen mode
togglefakefullscreen Enables or disables fake fullscreen for the current client

Flags

Here is a list of client flags relating to the fullscreen feature.

Flag Description
FullScreen Indicates that the client is in fullscreen mode
FakeFullScreen Indicates that the client is in fake fullscreen mode
Locked Used by setfullscreen, prevents state change
RestoreFakeFullScreen Internal flag that indicates that fake fullscreen should be restored when exiting actual fullscreen

Fullscreen transparency using a compositor

If the fullscreen window is transparent then other windows as well as the bars will be visible through the window.

FullScreen_transparent.gif

If this effect is undesirable then you may want to look into whether your compositor supports pseudo-transparency. That is a form of "fake" transparency where only the wallpaper is seen.

Another option if you are using picom is to set the unredir-if-possible config to true which will disable transparency if a fullscreen window is detected.

unredir-if-possible = true;

The purpose of this setting is to prevent the compositor from drawing performance out of fullscreen applications that need it, e.g. fullscreen games, videos, etc.

This will not work with terminals though.


Back to Features.

Clone this wiki locally