(Using ArchLinux with KDE)
My desktop has two monitors. The first one (on the left) has a resolution of 1600x1200. The second one (on the right) has a resolution of 1360x768.
Using the nvidia-settings tool, I set my second monitor to act as a separate X screen. Here is the resulting xorg.conf file :
Code:
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 260.19.36 (buildmeister@swio-display-x86-rhel47-01.nvidia.com) Tue Jan 18 17:15:10 PST 2011
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Samsung SyncMaster"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor1"
VendorName "Unknown"
ModelName "PRI BBY LCD TV"
HorizSync 30.0 - 80.0
VertRefresh 55.0 - 76.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8500 GT"
BusID "PCI:1:0:0"
Screen 0
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8500 GT"
BusID "PCI:1:0:0"
Screen 1
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "DFP: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "CRT: 1360x768 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
When I launch an application on the second screen, and I make it "fullscreen" (either by clicking on the appropriate button on the title bar, or with "wmctrl -x -r MyWindow.MyWindow -b toggle,fullscreen"), the application gets resized to 1600x1200, even though it is on the 1360x768 screen.
What is odd is that calling xwininfo on the root window of the second screen gives a geometry of 1360x768, but calling xprop on the root window of the second screen gives a _NET_DESKTOP_GEOMETRY value of 1600x1200. I suppose "fullscreen" uses _NET_DESKTOP_GEOMETRY to figure out the size to take, but that size is wrong.
Code:
[user@host ~]$ DISPLAY=:0.1 xwininfo -root
xwininfo: Window id: 0x293 (the root window) (has no name)
Absolute upper-left X: 0
Absolute upper-left Y: 0
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 1360
Height: 768
Depth: 24
Visual: 0x157
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x156 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +0+0 -0+0 -0-0 +0-0
-geometry 1360x768+0+0
[user@host ~]$ DISPLAY=:0.1 xprop -root
KWIN_RUNNING(KWIN_RUNNING) = 0x1
_NET_CLIENT_LIST_STACKING(WINDOW): window id # 0x2000043
_NET_CLIENT_LIST(WINDOW): window id # 0x2000043
_NET_SHOWING_DESKTOP(CARDINAL) = 0
_NET_DESKTOP_GEOMETRY(CARDINAL) = 1600, 1200
_NET_DESKTOP_VIEWPORT(CARDINAL) = 0, 0, 0, 0, 0, 0, 0, 0
_NET_WORKAREA(CARDINAL) = 0, 0, 1600, 1200, 0, 0, 1600, 1200, 0, 0, 1600, 1200, 0, 0, 1600, 1200
_NET_ACTIVE_WINDOW(WINDOW): window id # 0x0
_NET_CURRENT_DESKTOP(CARDINAL) = 1
_NET_DESKTOP_NAMES(UTF8_STRING) = "Desktop 1", "Desktop 2", "Desktop 3", "Desktop 4"
(snip)
How can I either change _NET_DESKTOP_GEOMETRY to the proper value, or have a fullscreen feature that uses the correct resolution?