aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver
Commit message (Collapse)AuthorAgeFilesLines
* nx-X11/programs/Xserver/{dix/{colormap.c,window.c},hw/nxagent/NXwindow.c,inc ↵Mihai Moldovan2016-05-316-1/+133
| | | | lude/{colormap,window{,str}}.h}: backport features needed for Composite 0.4.
* hw/nxagent/Display.c: Avoid incompatible pointer type.Mike Gabriel2016-05-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | Amends the following compiler warning Display.c: In function ‘nxagentMakeIcon’: Display.c:1949:18: warning: assignment from incompatible pointer type agentIconData=x2goagentIconData; ^ Display.c:1954:18: warning: assignment from incompatible pointer type agentIconData=nxagentIconData; ^ Display.c:2001:41: warning: passing argument 3 of ‘XpmCreatePixmapFromData’ from incompatible pointer type agentIconData, ^ In file included from Icons.h:22:0, from Display.c:67: X11/include/xpm_nxagent.h:242:6: note: expected ‘char **’ but argument is of type ‘char *’ FUNC(XpmCreatePixmapFromData, int, (Display *display, ^ X11/include/xpm_nxagent.h:230:32: note: in definition of macro ‘FUNC’ #define FUNC(f, t, p) extern t f p
* hw/nxagent/Display.c: Define Pixmap from XlibPixmap before including Icons.h ↵Mike Gabriel2016-05-131-0/+4
| | | | (which includes hw/nxagent/X11/include/xpm_nxagent.h).
* hw/nxagent/Holder.c: Define Pixmap from XlibPixmap before including ↵Mike Gabriel2016-05-131-0/+1
| | | | hw/nxagent/X11/include/xpm_nxagent.h.
* hw/nxagent/Events.c: Avoid '#endif <empty line> #ifdef DEBUG' blocks.Mihai Moldovan2016-05-131-12/+0
|
* hw/nxagent/NXmiexpose.c: Initialize all items of the newValues[] array.Mike Gabriel2016-05-131-1/+1
| | | | | | | | | | | | | Amends the following compiler warnings: ``` NXmiexpose.c:904:18: warning: ‘newValues[2].ptr’ may be used uninitialized in this function [-Wmaybe-uninitialized] gcval[i++].ptr = newValues[TILE].ptr; ^ NXmiexpose.c:914:24: warning: ‘newValues[1].val’ may be used uninitialized in this function [-Wmaybe-uninitialized] if ( pGC->fgPixel != newValues[FOREGROUND].val) { ^ ```
* hw/nxagent/Keystroke.c: Fix warning: pointer type mismatch in conditional ↵Mike Gabriel2016-05-021-1/+1
| | | | expression.
* hw/nxagent/Window.c: Initialize tmp_mask and attributes.event_mask with ↵Mike Gabriel2016-05-021-1/+1
| | | | | | | | | | | | | NoEventMask. Amends the following compiler warning: ``` Window.c: In function ‘nxagentSetTopLevelEventMask’: Window.c:3392:31: warning: ‘attributes.event_mask’ may be used uninitialized in this function [-Wmaybe-uninitialized] Mask tmp_mask = attributes.event_mask; ^ ```
* hw/nxagent/Colormap.c: Don't declare and assign flexibility variable if not ↵Mike Gabriel2016-05-021-2/+0
| | | | | | | | | | | | | used later on. Amends the following compiler warning: ``` Colormap.c: In function ‘nxagentReconnectAllColormap’: Colormap.c:575:7: warning: variable ‘flexibility’ set but not used [-Wunused-but-set-variable] int flexibility; ^ ```
* hw/nxagent/GCOps.c: Don't declare and assign oldDstxyValue if not used later on.Mike Gabriel2016-05-021-4/+0
| | | | | | | | | | | Amends the following compiler warning: ``` GCOps.c: In function ‘nxagentCopyArea’: GCOps.c:597:7: warning: variable ‘oldDstxyValue’ set but not used [-Wunused-but-set-variable] int oldDstxyValue; ^ ```
* hw/nxagent/GC.c: Don't declare and assign flexibility variable if not used ↵Mike Gabriel2016-05-021-3/+0
| | | | | | | | | | | | | later on. Amends the following compiler warning: ``` GC.c: In function ‘nxagentReconnectAllGCs’: GC.c:1154:7: warning: variable ‘flexibility’ set but not used [-Wunused-but-set-variable] int flexibility; ^ ```
* hw/nxagent/Events.c: Only declare and assign message_data and box variables ↵Mike Gabriel2016-05-021-25/+8
| | | | | | | | | | | | | | | | | if compiled with -DTEST / -DDEBUG (plus drop commented out code). Amends the following compiler warnings: ``` Events.c: In function ‘nxagentHandleClientMessageEvent’: Events.c:2694:13: warning: variable ‘message_data’ set but not used [-Wunused-but-set-variable] char *message_data; ^ Events.c: In function ‘nxagentClipAndSendExpose’: Events.c:4313:10: warning: variable ‘box’ set but not used [-Wunused-but-set-variable] BoxRec box; ^ ```
* hw/nxagent/Display.c: Don't declare and assign packMethod / packQuality if ↵Mike Gabriel2016-05-021-4/+0
| | | | | | | | | | | | | | | | not used later on. Amends the following compiler warnings: ``` Display.c: In function ‘nxagentReconnectDisplay’: Display.c:2449:19: warning: variable ‘packQuality’ set but not used [-Wunused-but-set-variable] int packMethod, packQuality; ^ Display.c:2449:7: warning: variable ‘packMethod’ set but not used [-Wunused-but-set-variable] int packMethod, packQuality; ^ ```
* hw/nxagent/NXrender.c: Don't declare and assign the colors variable, if not ↵Mike Gabriel2016-05-021-2/+0
| | | | | | | | | | | | | used later on. Amends the following compiler warning: ``` NXrender.c: In function ‘swapStops’: NXrender.c:3036:13: warning: variable ‘colors’ set but not used [-Wunused-but-set-variable] CARD16 *colors; ^ ```
* HAVE_STDINT_H: Always include <stdint.h>.Mike Gabriel2016-05-024-16/+0
| | | | | We don't define HAVE_STDINT_H anywhere and it should be more safe using the system's definition of UINT32_MAX.
* hw/nxagent/NXdixfonts.c: Fix implicit declaration for register_fpe_functions().Mike Gabriel2016-05-022-0/+4
|
* Adapt API for MakeAtom() and CopyISOLatin1Lowered to latest changes in X.org.Mike Gabriel2016-05-024-10/+10
| | | | | | | | | This requires adaptations of arguments' types for the external references to MakeAtom() and CopyISOLatin1Lowered(). These adaptations have been required in Xserver/include/dix.h, Xserver/include/dixfonts.c Xserver/dix/atom.c, Xserver/dix/dixutils.c, Xserver/os/oscolor.c.
* hw/nxagent/NXdixfonts.c: Don't include <X11/fonts/fontstruct.h>. No symbol ↵Mike Gabriel2016-05-021-1/+0
| | | | needed from that header file.
* hw/nxagent/NXpicture.c: Don't declare anything in empty function ↵Mike Gabriel2016-05-021-6/+0
| | | | | | | | | | | | | | | | nxagentReconnectPictFormat. Amends the following compiler warnings: ``` NXpicture.c: In function ‘nxagentReconnectPictFormat’: NXpicture.c:2148:9: warning: variable ‘pBool’ set but not used [-Wunused-but-set-variable] Bool *pBool; ^ NXpicture.c:2147:17: warning: variable ‘pFormat’ set but not used [-Wunused-but-set-variable] PictFormatPtr pFormat; ^ ```
* hw/nxagent/NXglyphcurs.c: Don't declare and set gcval, if not being used ↵Mike Gabriel2016-05-021-2/+0
| | | | | | | | | | | | | later on. Amends the following compiler warning: ``` NXglyphcurs.c: In function ‘ServerBitsFromGlyph’: NXglyphcurs.c:109:17: warning: variable ‘gcval’ set but not used [-Wunused-but-set-variable] ChangeGCVal gcval[3]; ^ ```
* hw/nxagent/Keyboard.c: The ret variable is only used later on when compiled ↵Mike Gabriel2016-05-021-1/+6
| | | | | | | | | | | | | with -DTEST. Amends the following compiler warning: ``` Keyboard.c: In function ‘nxagentKeyboardProc’: Keyboard.c:688:7: warning: variable ‘ret’ set but not used [-Wunused-but-set-variable] int ret; ^ ```
* hw/nxagent/Handlers.c: Don't declare and assign result variable if not used ↵Mike Gabriel2016-05-021-2/+1
| | | | | | | | | | | | | later on. Amends the following compiler warning: ``` Handlers.c: In function ‘nxagentShadowBlockHandler’: Handlers.c:732:7: warning: variable ‘result’ set but not used [-Wunused-but-set-variable] int result; ^ ```
* hw/nxagent/Keyboard.c: Don't declare and set XkbDescPtr xkb if not used ↵Mike Gabriel2016-05-021-2/+0
| | | | | | | | | | | | | later on. Amends the following compiler warning: ``` Keyboard.c: In function ‘nxagentNotifyKeyboardChanges’: Keyboard.c:1211:16: warning: variable ‘xkb’ set but not used [-Wunused-but-set-variable] XkbDescPtr xkb; ^ ```
* hw/nxagent/*.c: Drop various declarations of unused ScreenPtr pScreen.Mike Gabriel2016-05-024-28/+0
| | | | | These can be dropped after we have turned REGION_* macros into static inline function calls in some of the previous commits.
* hw/nxagent/Screen.c: Cast proper types before handing values over to fprintf().Mike Gabriel2016-05-021-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Amends the following compiler warnings: ``` Screen.c: In function ‘nxagentCreateIconWindow’: Screen.c:394:15: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘Window’ [-Wformat=] nxagentIconWindow); ^ Screen.c: In function ‘nxagentSetScreenSaverTime’: Screen.c:456:19: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘CARD32’ [-Wformat=] ScreenSaverTime, ScreenSaverInterval); ^ Screen.c:456:19: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘CARD32’ [-Wformat=] Screen.c:476:19: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘CARD32’ [-Wformat=] ScreenSaverTime, ScreenSaverInterval); ^ Screen.c:476:19: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘CARD32’ [-Wformat=] Screen.c: In function ‘nxagentOpenScreen’: Screen.c:1234:19: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘VisualID’ [-Wformat=] visuals[numVisuals].vid); ^ Screen.c:1274:23: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘VisualID’ [-Wformat=] depths[depthIndex].depth); ^ Screen.c:1282:17: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘VisualID’ [-Wformat=] defaultVisualIndex, visuals[defaultVisualIndex].vid); ^ Screen.c:1319:19: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 6 has type ‘VisualID’ [-Wformat=] rootDepth, defaultVisual); ^ Screen.c:1336:19: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 6 has type ‘VisualID’ [-Wformat=] rootDepth, defaultVisual); ^ Screen.c:1348:19: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 6 has type ‘VisualID’ [-Wformat=] rootDepth, defaultVisual); ^ Screen.c:1357:19: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 6 has type ‘VisualID’ [-Wformat=] rootDepth, defaultVisual); ^ Screen.c:1723:21: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘Window’ [-Wformat=] nxagentDefaultWindows[pScreen->myNum]); ^ Screen.c:1763:19: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘Window’ [-Wformat=] nxagentDefaultWindows[pScreen->myNum]); ^ Screen.c:1775:17: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘Window’ [-Wformat=] nxagentDefaultWindows[pScreen->myNum]); ^ Screen.c:1790:17: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘Window’ [-Wformat=] nxagentDefaultWindows[pScreen->myNum]); ^ Screen.c: In function ‘nxagentShadowAdaptDepth’: Screen.c:3189:14: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘long unsigned int’ [-Wformat=] pVisual -> red_mask, pVisual -> green_mask, pVisual -> blue_mask); ^ Screen.c:3189:14: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ [-Wformat=] Screen.c:3189:14: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘long unsigned int’ [-Wformat=] Screen.c:3198:15: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘long unsigned int’ [-Wformat=] redMask, greenMask, blueMask); ^ Screen.c:3198:15: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ [-Wformat=] Screen.c:3198:15: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘long unsigned int’ [-Wformat=] ```
* hw/nxagent/Screen.c: Drop various unused variables.Mike Gabriel2016-05-021-10/+1
| | | | | | | | | | | | | | | | | | | | | | | Amends the following compiler warnings: ``` Screen.c: In function ‘nxagentReconnectScreen’: Screen.c:3547:7: warning: variable ‘flexibility’ set but not used [-Wunused-but-set-variable] int flexibility; ^ Screen.c: In function ‘nxagentAdjustRandRXinerama’: Screen.c:3746:12: warning: unused variable ‘j’ [-Wunused-variable] int i, j; ^ Screen.c: In function ‘nxagentSaveAreas’: Screen.c:4116:15: warning: variable ‘pDrawable’ set but not used [-Wunused-but-set-variable] DrawablePtr pDrawable; ^ Screen.c: In function ‘nxagentRestoreAreas’: Screen.c:4236:15: warning: variable ‘pDrawable’ set but not used [-Wunused-but-set-variable] DrawablePtr pDrawable; ^ ```
* hw/nxagent/Screen.h: Provide prototype for nxagentAdjustRandRXinerama(). ↵Mike Gabriel2016-05-022-0/+3
| | | | | | | | | | | | Avoid implicit-declaration compiler warning. Amends the following compiler warning: ``` Screen.c:3716:5: warning: implicit declaration of function ‘nxagentAdjustRandRXinerama’ [-Wimplicit-function-declaration] nxagentAdjustRandRXinerama(pScreen); ^ ```
* hw/nxagent/Screen.c: Correctly use already defined MIN/MAX macros.Mike Gabriel2016-05-022-4/+4
| | | | | | | | | | | | | | | | | | Use MIN(A,B) macro as defined in Utils.h. Add MAX(A,B) macro in Utils.h, as well. Don't have another set of MIN/MAX macro definitions in Screen.c. Amends the following compiler warnings: ``` Screen.c:3600:0: warning: "MIN" redefined #define MIN(a,b) ((a) < (b)) ? (a) : (b); ^ In file included from Screen.c:78:0: Utils.h:36:0: note: this is the location of the previous definition #define MIN(A, B) ( (A) < (B) ? (A) : (B) ) ^ ```
* hw/nxagent/Window.c: Don't declare "XWindowChanges changes;" and later not ↵Mike Gabriel2016-05-021-4/+0
| | | | | | | | | | | | use it. Amends the following compiler warning: ``` Window.c:2179:24: warning: variable ‘changes’ set but not used [-Wunused-but-set-variable] XWindowChanges changes; ^ ```
* hw/nxagent/Pixmap.c: pBool pointer is only required when compiled in -DTEST ↵Mike Gabriel2016-05-021-1/+1
| | | | | | | | | | | | | mode. Amends the following compiler warning: ``` Pixmap.c: In function ‘nxagentDisconnectPixmap’: Pixmap.c:755:9: warning: variable ‘pBool’ set but not used [-Wunused-but-set-variable] Bool *pBool; ^ ```
* hw/nxagent/Extension.c: Don't declare pRandRScrPriv without using it later on.Mike Gabriel2016-05-021-3/+0
| | | | | | | | | | | | | | | | | | | Amends the following the compiler warnings: ``` Extensions.c: In function ‘nxagentRandRInitSizes’: Extensions.c:159:16: warning: unused variable ‘pRandRScrPriv’ [-Wunused-variable] rrScrPrivPtr pRandRScrPriv = rrGetScrPriv(pScreen); ^ Extensions.c: In function ‘nxagentRandRSetConfig’: Extensions.c:263:16: warning: unused variable ‘pRandRScrPriv’ [-Wunused-variable] rrScrPrivPtr pRandRScrPriv; ^ Extensions.c: In function ‘nxagentRandRScreenSetSize’: Extensions.c:322:16: warning: unused variable ‘pRandRScrPriv’ [-Wunused-variable] rrScrPrivPtr pRandRScrPriv; ^ ```
* hw/nxagent/Rootless.c: Type cast type Atom to type long unsigned int before ↵Mike Gabriel2016-05-021-1/+1
| | | | | | | | | | | | | handing it over to %lu in fprintf(). Amends the following compiler warnings: ``` Rootless.c: In function ‘nxagentExportProperty’: Rootless.c:775:21: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘Atom’ [-Wformat=] "Property [%lu] too long.\n", propertyX); ^ ```
* hw/nxagent/Splash.c: Drop unused variable declaration "XPoint m[12];".Mike Gabriel2016-05-021-1/+0
| | | | | | | | | | | Amends the following compiler warning: ``` Splash.c: In function ‘nxagentPaintLogo’: Splash.c:168:13: warning: unused variable ‘m’ [-Wunused-variable] XPoint m[12]; ^ ```
* hw/nxagent/Clipboard.c: The result variable is only needed when combiled ↵Mike Gabriel2016-05-021-4/+12
| | | | | | | | | | | | | with -DDEBUG. Amends the following compiler warning: ``` Clipboard.c: In function ‘nxagentRequestSelection’: Clipboard.c:272:7: warning: variable ‘result’ set but not used [-Wunused-but-set-variable] int result; ^ ```
* hw/nxagent/Drawable.c: RegionNumRects returns int, not long int anymore.Mike Gabriel2016-05-021-1/+1
|
* Add REGION_ macros for source compatibility with existing drivers.Mike Gabriel2016-05-021-0/+39
| | | | | | | | | | | | This makes the region code changes source compatible with existing code, although none of them are used within the server source itself. In NX, this patch is not really necessary, but it has been backported with the previous patches for the sake of backporting the complete mi/miregion.c -> dix/region.c change in X.Org. v1: Keith Packard <keithp@keithp.com> v2: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> (backported to nx-libs)
* Change region implementation names to eliminate the 'mi' prefixMike Gabriel2016-05-0211-973/+178
| | | | | | | | | | This prepares the file to be moved from mi to dix. This patch was done mechanically with the included scripts 'fix-miregion' run over the entire X server and 'fix-miregion-private' run over include/regionstr.h and mi/miregion.c. v1: Keith Packard <keithp@keithp.com> v2: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> (backported to nx-libs)
* Move mi/miregion.c to dix/region.cKeith Packard2016-05-023-5/+7
| | | | | v1: Keith Packard <keithp@keithp.com> v2: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> (backported to nx-libs)
* pixman-devel: Build against shared library pkg-config(pixman-1).Mike Gabriel2016-05-0222-28/+50
|
* Change region implementation from macros to inline functions.Mike Gabriel2016-05-023-224/+183
| | | | | | | | | This makes all of the previous macros into inline functions and also turns all of the direct calls to pixman region code into inline functions as well. v1: Keith Packard <keithp@keithp.com> v2: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Rename region macros to eliminate screen argumentMike Gabriel2016-05-0276-1977/+2017
| | | | | | | | | | | | | | | | | | | | | This is a huge mechanical patch and a few small fixups required to finish the job. They were reviewed separately, but because the server does not build without both pieces, I've merged them together at this time. The mechanical changes were performed by running the included 'fix-region' script over the whole nx-X11/programs/Xserver tree: $ cd nx-X11/programs/Xserver && ( git ls-files | grep -v '^fix-' | xargs ./fix-region; ) And then, the white space errors in the resulting patch were fixed using the provided fix-patch-whitespace script. $ sh ./fix-patch-whitespace Thanks to Jamey Sharp for the mighty fine sed-generating sed script. v1: Keith Packard <keithp@keithp.com> (X.Org xserver commit: 2dc138922b7588515d5f2447e4b9dcdc0bef15e0) v2: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> (apply fix-region script to nx-libs)
* NXwindow.c: Don't set w and h, not used later on.Mike Gabriel2016-05-021-4/+0
| | | | | | | | | | | | | | Amends the following compiler warnings: ``` NXwindow.c: In function ‘nxagentClearSplash’: NXwindow.c:342:12: warning: variable ‘h’ set but not used [-Wunused-but-set-variable] int w, h; ^ NXwindow.c:342:9: warning: variable ‘w’ set but not used [-Wunused-but-set-variable] int w, h; ^ ```
* library-cleanup: Don't build libNX_Xrender anymore. Use system's libXrender ↵Mike Gabriel2016-04-204-6/+643
| | | | shared library.
* Fix c4a3889. Add forgotten file nx-X11/programs/Xserver/Xinerama_nxagent.h.Mike Gabriel2016-01-011-0/+74
|
* Complete changes from commit 0d56c45 in NXpicturestr.h (i.e. add a missing ↵Mike DePaulo2015-12-301-0/+6
| | | | | | | comment). (Fixes ArcticaProject/nx-libs#38). commit 0d56c45 was: nx-X11: handle source pictures (those without a Drawable surface) gracefully.
* Xinerama: do not cut off at outer edgesUlrich Sibiller2015-12-302-3/+77
| | | | | | | | | | | | | | | | | | | | | This fixes the problem Mike Gabriel describes like this: - Launch a session on a system with a single monitor. Enable Xinerama for this session. - Open a desktop session in that session window (e.g. MATE or XFCE). - Move the NX/MATE-or-XFCE session window around on that one monitor. Bump at the borders, so that the session window moves into the invisible parts around your monitor. What you see is that the MATE-or-XFCE window manager will become really busy with resizing the windows and panels in the NX session, because moving the window over the physical borders of the display will trigger resize events. This is non-intuitive, I think. Same with multi-monitors on the outside edges of the physical Xorg RandR setup.
* Xserver globals.h: Make PanoramiXExtensionDisabledHack globally available.Mike Gabriel2015-12-301-0/+1
|
* Xserver help: Document -disablexineramaextension cmdline option.Mike Gabriel2015-12-301-0/+1
|
* Provide support for re-enabling Xinerama on session resumptions.Mike Gabriel2015-12-303-3/+36
| | | | | | | | | | | | | | By design, when resuming a session, Xinerama can only be re-enabled by NX option parsing. Thus, this change introduces a "xinerama" NX option that can be loaded via an options file into NX agent when resuming a session. The new xinerame NX session option also allows switching on Xinerama at session startup via an option file. When implementing the new NX Xinerama support into clients (like TheQVD, X2Go Client, etc., this new xinerama NX option should be used for activating Xinerama in the NX / QVD / X2Go session.
* Initialize XRandR based Xinerama extension properly when session is started ↵Mike Gabriel2015-12-301-1/+1
| | | | with "-geometry fullscreen".