[dev] dwm: fullscreen games

From: Matthew of Boswell <mordervomubel+suckless_AT_lockmail.us>
Date: Sat, 21 Nov 2015 17:36:39 -0500

On Sat, 21 Nov 2015 09:19:07 +0000
Raphaël Proust <raphlalou_AT_gmail.com> wrote:

> See this thread http://lists.suckless.org/dev/1402/20190.html about
> that. I'm not sure if it still applies to current version.
>
> On 21 November 2015 at 00:46, Draco Metallium(Rodrigo S. Cañibano)
> <draco.kun_AT_gmail.com> wrote:
> > I'm loving this WM!
> >
> > I just made a quick hack to unfloat fullscreen windows.
> >
> > On 20 November 2015 at 16:23, Draco Metallium(Rodrigo S. Cañibano)
> > <draco.kun_AT_gmail.com> wrote:
> >> Thanks, I'll try that.
> >>
> >> But if you come to a more general solution(so it can be apply to other
> >> programs), I would be please to hear it!

I also came up with a patch... although I was trying to go the opposite
direction - make steam fullscreen games actually go fullscreen. After
reading your first post, I tested it with youtube, and it was able to
un-fullscreen youtube videos that played in the surf web browser.

This patch will let you toggle whether a window is fullscreen with
Mod+Shift+m. I use it like this:

1. start steam game

2. wait for game to load (most Source engine games use about 1/4 of the
screen and fill the rest with black)

3. after the loading screen, I hit shift+tab to bring up the steam
overlay, then I move the mouse outside of the tiny game window and hit
shift+tab again. This somehow breaks the fullscreen broken black window
and makes the game window floating. Now I can use mod+shift+m, and the
game goes into actual fullscreen mode.

I've been working on this issue on and off for weeks now... I can't
quite figure out why Source engine games don't correctly use the whole
screen in fullscreen mode.

I compared with how the games run in awesome:

1. start steam game

2. game starts up fine, using the entire screen. Window manager keys
still function.

Problem is... games started in awesome don't actually go fullscreen
mode. They go "borderless window" mode. I figured this out by chance
while fiddling with nvidia-settings... No v-sync, g-sync, or page
flipping.

Note that other games that don't use the Source engine often work fine.
Terraria goes fullscreen without issue. Faster Than Light also
works well (though it grabs the keyboard so I can't use window manager
keys).

So, dwm is able to correctly set fullscreen mode sometimes, but awesome
always successfully sets borderless window mode (even if the game wants
real fullscreen).

With some hacking of the dwm source code, I was able to make "rules"
that forced the problem games into proper fullscreen mode right as they
launched. But I'm still trying to figure out the proper way to handle
this (short of making a list of all the steam game window class names
and forcing them all fullscreen).

I'm thinking that the Source engine's linux fullscreen code is probably
broken, but dunno for sure.

-- 
Matt Boswell

Received on Sat Nov 21 2015 - 23:36:39 CET

This archive was generated by hypermail 2.3.0 : Sat Nov 21 2015 - 23:48:09 CET