3

I have two monitors, and out the box AwesomeWM works exactly the way I like. However I would like to launch one particular app (avidemux) extra wide, so that it extends horizontally across both screens.

desired: app across both screens

I've tried to achieve this with:

 { rule = { class = "avidemux" }, properties = { floating = true },
    callback = function(c)
        c:geometry( { x = 0, y = 0, width = 5120, height = 1440 } )
    end
}

With this change, avidemux windows are indeed wide, but the window top-left corner is positioned way off-screen, and the window right border is flush to the right of my left monitor.

actual: app on one screen

I'm using awesomewm 3.5.6 (Ubuntu 16.04), use the 'nvidia' driver. My rc.lua is pretty standard, but calls xrandr early on to set the screens how I like:

xrandr --output DP-3 --mode 2560x1440 --pos 2560x0 --rotate normal --output DP-2 --mode 2560x1440 --pos 0x0 --rotate normal --output DP-1 --off --output DP-0 --off

Any suggestions welcome. Thanks!

Jeff Turner
  • 131
  • 2

2 Answers2

0

Try to send window to right monitor before applying geometry, something like

callback = function(c)
    c.screen = 2
    c:geometry( { x = 0, y = 0, width = 5120, height = 1440 } )
end
Worron
  • 181
  • 3
  • Thanks, but no luck. Putting c.screen before c:geometry has no effect. Putting it after causes new windows to appear on screen 2, but constrained to the dimensions of window 2. – Jeff Turner Dec 05 '16 at 00:28
0

After further experimentation, this works:

c:geometry( { x = SCREEN1_WIDTH, y = 0, width = SCREEN1_WIDTH + SCREEN2_WIDTH, height = SCREEN1_HEIGHT } )

In my case with two 2560x1440 screens:

c:geometry( { x = 2560, y = 0, width = 5120, height = 1440 } )

The solution does not generalize in any sane way, e.g. I cannot get a 100px right-screen overlap with this:

c:geometry( { x = 100, y = 0, width = 2660, height = 1440 } )

also, negative x and y's don't work.

Jeff Turner
  • 131
  • 2