!
!** Copyright (C) 1995-1997 Johannes Plass
! 
! This program is free software; you can redistribute it and/or modify
! it under the terms of the GNU General Public License as published by
! the Free Software Foundation; either version 2 of the License, or
! (at your option) any later version.
! 
! This program is distributed in the hope that it will be useful,
! but WITHOUT ANY WARRANTY; without even the implied warranty of
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
! GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public License
! along with this program; if not, write to the Free Software
! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
! 
! Author:   Johannes Plass (plass@thep.physik.uni-mainz.de)
!           Department of Physics
!           Johannes Gutenberg-University
!           Mainz, Germany
!
!
!  GV.ad
!  Application class defaults for gv
!  Copyright (C) 1995-1997  Johannes Plass
!


!########## gv_user_res.dat

!##### Application specific Resources

GV.pageMedia:				automatic
GV.fallbackPageMedia:			a4
GV.magstep:				0
GV.orientation:				automatic
GV.fallbackOrientation:			portrait
GV.swapLandscape:			False
GV.autoCenter:				True
GV.antialias:				False
GV.respectDSC:				True
GV.confirmPrint:			True
GV.reverseScrolling:			False
GV.autoResize:				True
GV.minimumMagstep:			-5
GV.maximumMagstep:			5
GV.maximumWidth:			screen-20
GV.maximumHeight:			screen-44
GV.minimumWidth:			400
GV.minimumHeight:			400
GV.geometry:				+10+10
GV.highlightPixel:			#FBB
GVintern.printCommand: lpr

!##### Ghostview Widget

GV*Ghostview.UseBackingPixmap:		True
GV*Ghostview.background:		white
GV*Ghostview.foreground:		black


!########## gv_make_res.dat (generated by makefile)

GV.scratchDir:		~/
GV.defaultSaveDir:	~/

!GV.documentBitmap:	/xfree86/lib/X11/gv/gv_doc.xbm
!GV.iconPixmap:		/xfree86/lib/X11/gv/gv_icon.xbm
!GV.selectedBitmap:	/xfree86/lib/X11/gv/gv_selected.xbm
!GV.messageFile:	/xfree86/lib/X11/gv/gv_messages.dat


!########## gv_font_res_linux.dat

!##### Fonts

GV*font:			-*-helvetica-medium-r-normal--14-140-75-75-*-*-iso8859-1
GV*SmeBSB.font:			-*-helvetica-medium-r-normal--12-120-75-75-*-*-iso8859-1
GV*Command.font:		-*-helvetica-medium-r-normal--14-140-75-75-*-*-iso8859-1
GV*toc*font:			-*-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1
GV*fileSel*font:		-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
GV*fileSel*button1.font:	-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*
GV*fileSel*button2.font:	-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*
GV*fileSel*button3.font:	-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*
GV*fileSel*button4.font:	-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*
GV*fileSel*pathtext*font:	-*-helvetica-medium-r-*-*-14-*-*-*-*-*-*-*
!GV*fileSel*List.font:		-*-menu-medium-r-normal--12-120-75-75-*-*-iso8859-1

GV*optionPopup*font:		-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
GV*optionPopup*Command.font:	-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*

GV*dialogPopup*font:		-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
GV*dialogPopup*Command.font:	-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*

GV*notePopup*Command.font:	-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*

GV.fileSel*rescan.font:		-*-helvetica-medium-r-normal--12-120-75-75-*-*-iso8859-1
GV*versionPopup*Label*font:	-*-fixed-medium-r-normal--10-70-100-100-c-*-iso8859-1
GV*versionPopup*versionTexta*font:-*-helvetica-bold-r-normal--18-*-*-*-p-*-iso8859-1
GV*versionPopup*versionTextb*font:-*-helvetica-bold-r-normal--12-*-*-*-p-*-iso8859-1
GV*infoPopup*Text*font:		-*-fixed-medium-r-normal--10-70-100-100-c-60-iso8859-1
GV*dialogPopup*message*font:	-*-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859-1
GV*notePopup*message*font:	-*-helvetica-medium-r-normal--12-120-75-75-*-*-iso8859-1
GV.?.processButton.font:	-*-helvetica-medium-r-normal--12-120-75-75-*-*-iso8859-1
GV.?.Label*font:		-*-helvetica-medium-r-normal--10-100-75-75-*-*-iso8859-1
GV.?.Command*font:		-*-helvetica-medium-r-normal--10-100-75-75-*-*-iso8859-1
GV.?.locator*font:		-*-fixed-medium-r-normal--10-70-100-100-c-60-iso8859-1
GV.?.dateButton*font:		-*-helvetica-medium-r-normal--12-120-75-75-*-*-iso8859-1
GV.?.titleButton*font:		-*-helvetica-medium-r-normal--12-120-75-75-*-*-iso8859-1


!########## gv_misc_res.dat

!##### General

GV*highlightThickness:			1
GV*ShapeStyle:				Rectangle
GV*beNiceToColormap:			False
GV*input:				True
GV*initialResourcesPersistent:		False

!##### Version (do not modify)

GV.version:				gv 2.9.4

!##### Background, Foreground

GV*background:				gray71
GV*foreground:				black
GV*Text*background:			#D3B5B5
GV*tocFrame*background:			gray78
GV*Command*background: 			AntiqueWhite3
GV*MenuButton*background:		AntiqueWhite3
GV*SimpleMenu*background:		AntiqueWhite3
GV*locator*background:			gray65
GV*panner*foreground:			gray78
GV*Label.background:			AntiqueWhite3
GV*fileSel*Clip.Aaa.background:		gray65
GV*fileSel*Clip*background:		gray78
GV*optionPopup*Toggle*foreground:	gray65
GV*Scrollbar.background:		gray71
GV*Scrollbar.pointerColor:		black
GV*Scrollbar.pointerColorBackground:	White
GV*Scrollbar.scrollbarBackground:	gray71
GV*Scrollbar.foreground:		gray78
GV*infoPopup*Scrollbar.background:	gray71
GV*notePopup*message.background:	#D3B5B5

!##### Shadows

GV*shadowWidth:				2
GV*Label.shadowWidth:			1

GV*locator.shadowWidth:			1
GV*locator*topShadowContrast:		-40
GV*locator*bottomShadowContrast:	-20
GV*notePopup*message.topShadowContrast:	-40
GV*notePopup*message.bottomShadowContrast:-20

!##### Frames

GV*Frame.frameType:			sunken
GV*Frame.topShadowPixel:		gray85
GV*Frame.bottomShadowPixel:		gray40
GV*Frame.hSpace:			0
GV*Frame.vSpace:			0

!##### Border

GV*borderWidth:				0
GV*MenuButton.borderWidth:		1
GV*processButton.borderWidth:		0
GV*page.borderWidth:			1
GV*tocFrame.borderWidth: 		1
GV*tocFrame*Scrollbar.borderWidth:	1
GV*SimpleMenu.borderWidth:		1
GV*infoPopup*Text.borderWidth:		1

!##### Labels

GV*cancel.Label:			Cancel
GV*dismiss.Label:			Dismiss
GV*copyright.Label:			Copyright
GV*quit.Label:				Quit
GV*fileButton.Label:			File
GV*open.Label:				Open ...
GV*reopen.Label:			Reopen
GV*printAllPages.Label:			Print document ...
GV*printMarkedPages.Label:		Print marked pages ...
GV*saveAllPages.Label:			Save document ...
GV*saveMarkedPages.Label:		Save marked pages ...
GV*stop.Label:				Stop interpreter
GV*options.Label:			Options ...
GV*pageButton.Label:			Page
GV*processButton.Label:			\ processing
GV*next.Label:				Next
GV*show.Label:				Redisplay
GV*prev.Label:				Previous
GV*center.Label:			Center
GV*mark.Label:				Mark
GV*unmark.Label:			Unmark
GV*automatic.Label:			Automatic
GV*portrait.Label:			Portrait
GV*landscape.Label:			Landscape
GV*upsidedown.Label:			Upside-Down
GV*seascape.Label:			Seascape
GV*swap.Label:				Swap Landscape
GV*toggleCurrent.label:			Current
GV*toggleEven.label:			Even
GV*toggleOdd.label:			Odd
GV*toggleAll.label:			\ All\ 
GV*unmarkAll.label:			Reset
GV*printAll.label:			Print All 
GV*printMarked.label:			Print Marked
GV*saveAll.label:			Save All
GV*saveMarked.label:			Save Marked
GV*openFile.label:			Open
GV*redisplay.label:			Redisplay
GV*updateFile.label:			Update File
GV*checkFile.label:			Check File

GV*fileSel.filter.label: 		Filter
GV*fileSel.home.label: 			Home
GV*fileSel.tmp.label: 			Tmp
GV*fileSel.button1.label:		Cancel
GV*fileSel.rescan.label:		Rescan
GV*versionPopup*versionDone*label:	Dismiss
GV*dialogPopup*cancel.label:		Cancel
GV*notePopup*done.label:		Okay

GV*optionPopup*done.label:		Accept
GV*optionPopup*save.label:		Save
GV*optionPopup*cancel.label:		Cancel
GV*optionPopup*confirmPrintLabel.label: Confirm Printing
GV*optionPopup*antialiasLabel.label:	Antialias
GV*optionPopup*scrollingLabel.label:	Reverse Scrolling
GV*optionPopup*printCommandLabel.label:	Print Command:
GV*optionPopup*scratchDirLabel.label:	Scratch Directory:
GV*optionPopup*saveDirLabel.label:	Default Save Directory:
GV*optionPopup*Toggle.label:

GV*miscMenu.update.label:		Update File
GV*miscMenu.redisplay.label:		Redisplay
GV*miscMenu.mark.label:			Mark Page
GV*miscMenu.unmark.label:		Unmark Page
GV*miscMenu.stop.label:			Stop Interpreter

!##### View Area

GV*viewFrame.topShadowPixel:		gray78
GV*viewFrame.hSpace:			1
GV*viewFrame.vSpace:			1
GV*page.borderColor:			gray65
GV*viewClip.borderWidth:		1
GV*viewClip.borderColor:		gray71

!##### Scrollbar widget

GV*Scrollbar.thickness:			17
GV*Scrollbar.thumb:			None

!##### Menus

GV*magMenu*VertSpace:			0
GV*magMenu*leftMargin:			5
GV*magMenu*rightMargin:			5
GV*magMenu*justify:			center
GV*magMenuEntries:			("   2 ", 1.41 1.41 190 190)\
					("   4 ", 2.0  2.0  134 134)\
					("   8 ", 2.83 2.83  95  95)\
					(" 16 ", 4.0  4.0   67  67)\
					(" 32 ", 5.66 5.66  47  47)\
					(" 64 ", 8.0  8.0   33  33)

!##### File Selection widget

GV*fileSel.filterframe.background:	#D3B5B5
GV*fileSel.filterframe.hSpace:		3
GV*fileSel.filterframe.vSpace:		1
GV*fileSel.pathframe.background:	#D3B5B5
GV*fileSel.pathframe.hSpace:		3
GV*fileSel.pathframe.vSpace:		1

GV*fileSel*topaaa.maximumWidth:		90
GV*fileSel*topaaa.minimumWidth:		90
GV*fileSel*subaaa.maximumWidth:		90
GV*fileSel*subaaa.minimumWidth:		90

GV.fileSelPopup.minWidth:		320
GV.fileSelPopup.minHeight:		200
GV*fileSel.width:			450
GV*fileSel.height:			350
GV*fileSel.highlightPixel:		#D3B5B5

!##### Zoom Popup

GV*zoomPopup.title:			Zoom
GV*zoomControl.maximumWidth:		600
GV*zoomControl.maximumHeight:		600

!##### Info Popup

GV*infoPopup.title:			GhostScript Messages
GV*infoPopup.geometry:			+50+50

!##### Dialog Popup

GV*dialogPopup.title:			Dialog
GV*dialogPopup*message.internalHeight:	2
GV*dialogPopup*message.internalWidth:	8
GV*dialogPopup*defaultDistance:		2

!##### Note Popup

GV*notePopup.title:			Message
GV*notePopup*message.internalHeight:	6
GV*notePopup*message.internalWidth:	8

!##### Option Popup

GV*optionPopup.title:			Options
GV*optionPopup*defaultDistance:		2

!##### Panner

GV*pannerFrame.frameType:		sunken
GV*pannerFrame.hSpace:			0
GV*pannerFrame.vSpace:			0

GV*pannerFrame.shadowWidth:		1
GV*pannerFrame.topShadowPixel:		gray90
GV*pannerFrame.bottomShadowPixel:	gray40
GV*panner.width:			50
GV*panner.height:			50
GV*panner.background:			gray65
GV*slider.shadowWidth:			1

!##### Command widgets in the main window

GV*control.Command.internalHeight:	1
GV*control.Command.internalWidth:	2

GV.control.Label.internalWidth:		1
GV*locator.internalHeight:		3
GV*autoResize.highlightThickness:	0

!##################################################
!##### Translations
!##################################################

!##### Main Window

GV.control.Translations:#replace		\n\
 <Key>A:		GV_Antialias()		\n\
 <Key>C:		GV_Center()		\n\
 <Key>O:		GV_Open()		\n\
 <Key>Q:		GV_Quit()		\n\
 <Key>R:		GV_Reopen()		\n\
 <Key>Z:		GV_Resizing()		\n\
 <Key>I:		GV_HandleDSC()		\n\
 Shift<Key>S:		GV_Save(all)		\n\
 <Key>S:		GV_Save(marked)		\n\
 Shift<Key>P:		GV_Print(all)		\n\
 <Key>P:		GV_Print(marked)	\n\
 <Key>BackSpace:	GV_Previous()		\n\
 <Key>Delete:		GV_Previous()		\n\
 <Key>B:		GV_Previous()		\n\
 <Key>Prior:		GV_Previous()		\n\
 <Key>space:		GV_Next()		\n\
 <Key>Return: 		GV_Next()		\n\
 <Key>F:		GV_Next()		\n\
 <Key>Next:		GV_Next()		\n\
 <Key>period:		GV_Redisplay()		\n\
 Ctrl<Key>L:		GV_Redisplay()		\n\
 <Key>M:		GV_SetPageMark(current,mark)\n\
 <Key>N:		GV_SetPageMark(current,unmark)\n\
 Shift<Key>5:		GV_SetMagstep(-5)	\n\
 Shift<Key>4:		GV_SetMagstep(-4)	\n\
 Shift<Key>3:		GV_SetMagstep(-3)	\n\
 Shift<Key>2:		GV_SetMagstep(-2)	\n\
 Shift<Key>1:		GV_SetMagstep(-1)	\n\
 <Key>0:		GV_SetMagstep(0)	\n\
 <Key>1:		GV_SetMagstep(1)	\n\
 <Key>2:		GV_SetMagstep(2)	\n\
 <Key>3:		GV_SetMagstep(3)	\n\
 <Key>4:		GV_SetMagstep(4)	\n\
 <Key>5:		GV_SetMagstep(5)	\n\
 <Key>+:		GV_SetMagstep(+)	\n\
 <Key>-:		GV_SetMagstep(-)	\n\
 <Key>U:		GV_Scroll(up)		\n\
 <Key>D:		GV_Scroll(down)		\n\
 <Key>H:		GV_Scroll(left)		\n\
 <Key>K:		GV_Scroll(up)		\n\
 <Key>J:		GV_Scroll(down)		\n\
 <Key>L:		GV_Scroll(right)	\n\
 Ctrl<Key>Up:		GV_SetOrientation(portrait)\n\
 Ctrl<Key>Right:	GV_SetOrientation(landscape)\n\
 Ctrl<Key>Down:		GV_SetOrientation(upside-down)\n\
 Ctrl<Key>Left:		GV_SetOrientation(seascape)\n\
 <Key>Up:		GV_Scroll(up)		\n\
 <Key>Right:		GV_Scroll(right)	\n\
 <Key>Down:		GV_Scroll(down)		\n\
 <Key>Left:		GV_Scroll(left)

!##### Ghostview widget

GV*Ghostview.Translations:	#replace		\n\
 ~Button2 ~Button3 <Btn1Down>:	cursor(scroll)		\
				GV_MovePage(start)	\
				GV_EraseLocator()	\n\
 ~Button2 ~Button3 <Btn1Motion>:GV_MovePage(move,1.0,0)\n\
 <Btn1Up>:			cursor(normal)		\
				GV_MovePage(stop)	\
				GV_OtherPage()		\
				notify()		\n\
 ~Button1 ~Button3 <Btn2Down>:	GV_MagMenu(begin)	\n\
 Button2<Btn1Down>:	  	GV_MagMenu(reset)	\n\
 Button2<Btn3Down>:	  	GV_MagMenu(reset)	\n\
 ~Button1 ~Button3 <Btn2Motion>:GV_MagMenu(extend)	\n\
 ~Button1 ~Button3 <Btn2Up>:	GV_MagMenu(choose)	\n\
 ~Button1 ~Button2 <Btn3Down>:	cursor(scroll)		\
				GV_MovePage(start)	\
				GV_EraseLocator()	\
				GV_MiscMenu(init)	\n\
 Button3<Btn1Down>:	  	GV_MiscMenu(reset)	\n\
 Button3<Btn2Down>:	  	GV_MiscMenu(reset)	\n\
 ~Button1 ~Button2 <Btn3Motion>:GV_MovePage(move,0,1.0)\n\
 <Btn3Up>:			cursor(normal)		\
				GV_MiscMenu(popup)	\
				notify()		\n\
  Button1 ~Button3 <Btn2Down>:  GV_Redisplay()		\n\
 <Message>:			message() 		\n\
 <EnterWindow>:			notify()		\n\
 <LeaveWindow>:			GV_EraseLocator()	\n\
 <MotionNotify>:		notify()

!##### Application

GV.Translations:	#replace		\n\
 <MapNotify>:		GV_CheckFile(date)	\n\
 <Message>WM_PROTOCOLS:	GV_DeleteWindow()

!##### Title and Date Button

GV.control.Label.Translations: #replace		\n\
 <EnterWindow>:					\n\
 <LeaveWindow>:					\n\
 <Btn1Down>:		GV_PopupMenu()

!##### Option Popup

GV*optionPopup*Toggle.Translations: #replace	\n\
 <EnterWindow>:					\n\
 <LeaveWindow>:					\n\
 <Btn1Down>,<Btn1Up>:	toggle() notify()

!##### Panner

GV*panner.Translations: #replace		\n\
 <Btn1Down>:		GV_Panner(on)		\n\
 <Btn1Motion>:		GV_Panner(move)		\n\
 <Btn1Up>:		GV_Panner(off)		\n\
 <Btn2Down>:		GV_Previous()		\n\
 <Btn3Down>:		GV_Next()

!##### Menus

GV*MenuButton.Translations:	#replace	\n\
 <EnterWindow>:					\n\
 <LeaveWindow>:					\n\
 Any<BtnDown>:		PopupMenu()

!##### Menus

GV.control.MenuButton.menu.Translations: #replace\n\
 <EnterWindow>:		highlight() 	\n\
 <LeaveWindow>:		unhighlight() 	\n\
 <BtnMotion>:		highlight() 	\n\
 <BtnUp>:		MenuPopdown()	\
			notify()	\
			unhighlight()	\n\
 <BtnMotion>:		highlight()

!##### Popup Shells

GV.TransientShell.Translations:#replace\n\
 <Message>WM_PROTOCOLS:	GV_DeleteWindow()

GV.TopLevelShell.Translations:#replace\n\
 <Message>WM_PROTOCOLS:	GV_DeleteWindow()

GV.TransientShell.Aaa.Translations:#replace\n\
 <Key>Q:		GV_DismissPopup()

GV.TopLevelShell.Aaa.Translations:#replace\n\
 <Key>Q:		GV_DismissPopup()

!##### Command Widget in Transient Popups

GV*TransientShell*Command.accelerators:#override\n\
 <Key>Return:	set() notify() unset()

GV*TransientShell*Command.Translations: #replace\n\
 <Key>Return:		set() notify() unset()	\n\
 <EnterWindow>:		highlight()		\n\
 <LeaveWindow>:		reset()			\n\
 <Btn1Down>:		set()			\n\
 <Btn1Up>:		notify() unset()

!##### Table of Contents

GV.control*toc.Translations: #replace	\n\
 <FocusIn>:	focus-in() 		\n\
 <FocusOut>:	focus-out() 		\n\
 <Btn1Down>:	select-start()		\
		select-end(CUT_BUFFER0)	\
		GV_Show()		\n\
 <Btn1Motion>:	no-op()			\n\
 <Btn1Up>:	no-op()			\n\
 <Btn2Down>:	select-start()		\n\
 <Btn2Motion>:	extend-adjust()		\n\
 <Btn2Up>:	extend-end(CUT_BUFFER0)	\
		GV_SetPageMark(selection,toggle)\n\
 <Btn3Down>:	no-op()			\n\
 <Btn3Motion>:	no-op()			\n\
 <Btn3Up>:	GV_SetPageMark(all,unmark)


!##### MagMenu

GV*magMenu.Translations:	#replace	\n\
 <EnterWindow>:			highlight() 	\n\
 <LeaveWindow>:			unhighlight()	\
				GV_MagMenu(reset)\n\
 <MapNotify>:			GV_MagMenu(check)\n\
 <BtnMotion>:			highlight() 	\n\
 <MotionNotify>:		highlight() 	\n\
 <BtnDown>:			MenuPopdown(magMenu)\
				GV_MagMenu(show)

!##### MiscMenu

GV*miscMenu.Translations:	#replace	\n\
 <EnterWindow>:			highlight() 	\n\
 <LeaveWindow>:			unhighlight()	\
				GV_MiscMenu(reset)\n\
 <MapNotify>:			GV_MiscMenu(check)\n\
 <BtnMotion>:			highlight() 	\n\
 <MotionNotify>:		highlight() 	\n\
 <BtnUp>:			MenuPopdown(miscMenu)\
				notify()\
				unhighlight()\
				GV_MiscMenu(reset)


!########################################
!##### Layouts
!########################################

!##### Main Layout

GV*viewControl.layout:\
|v{\
  4<+[1]>\
  |h{\
    4<+[1]>\
    page\
    4<+[1]>\
  }\
  4<+[1]>\
}


GV*control.layout:\
|v{\
  f=8\
  s=8\
  ss=4\
  sss=2\
  pbw=(10*(|width processButton))\
  pbss=($ss*($pbw/($pbw+1)))\
  $f\
  |h{\
    $f\
    |v{ \
      fileButton<+500*>\
      $s\
      autoResize<+[1]*-100%>\
      1<+4[1]>\
      |h{\
        1<+[1]>\
        locator<+[1]*-100%>\
        1<+[1]>\
      }\
      1<+4[1]>\
      openFile<+[1]*-100%>\
      1<+[1]>\
      printAll<+[1]*-100%>\
      1<+[1]>\
      printMarked<+[1]*-100%>\
      1<+[1]>\
      saveAll<+[1]*-100%>\
      1<+[1]>\
      saveMarked<+[1]*-100%>\
      1<+4[1]>\
      |h{\
        0<+[1]>\
        pannerFrame<*-100%>\
        0<+[1]>\
      }\
      1<+4[1]>\
      redisplay<+[1]*-100%>\
      1<+[1]>\
      updateFile<+[1]*-100%>\
      1<+4[1]>\
      |h{\
        toggleEven<+[1]*-100%>\
        $sss\
        toggleOdd<+[1]*-100%>\
      }\
      1<+[1]>\
      toggleCurrent<+[1]*-100%>\
      1<+[1]>\
      unmarkAll<+[1]*-100%>\
      1<+4[1]>\
      |h{\
        0<+[1]>\
        tocFrame<*+200[1]-100%>\
        0<+[1]>\
      }\
    }\
    $s\
    |v{\
      |h{\
        pageButton<-90%*>\
        $ss<-90%>\
        orientationButton<-90%*>\
        $ss<-90%>\
        magstepButton<-90%*>\
        $ss<-90%>\
        pagemediaButton<-90%*>\
        $pbss<-90%>\
        |v{\
          0<+[1]>\
          processButton<-90%*>\
          0<+[1]>\
        }\
        $ss<-90%>\
        |v{\
          0<+[1]>\
          |h{\
             titleButton<+5[1]-(100%)[1]*>\
             $ss<-90%>\
             dateButton<+[1]-(100%)[1]*>\
          }\
          0<+[1]>\
        }\
      }\
      $s\
      |h{\
         viewFrame<+999999-100%*+999999-100%>\
      }\
    }\
    $f\
  }\
  $f\
}

!##### Zoom Popup Layout

GV*zviewControl.layout:\
|v{\
  4<+[1]>\
  |h{\
    4<+[1]>\
    page<-100%*-100%>\
    4<+[1]>\
  }\
  4<+[1]>\
}

GV*zoomControl.layout:\
|h{ \
  s=8\
  $s\
  |v{ \
    $s\
    zviewFrame<+[2]-100%*+[2]-100%>\
    $s\
    dismiss<+[1]-100%*>\
    $s\
  }\
  $s\
}

!##### Option Popup Layout

GV*optionPopup*layout:\
|v{ \
  s=7\
  bs=14\
  ts=(30% of |height confirmPrint)\
  $bs\
  |h{\
    $bs\
    |v{\
      $ts<+[1]-100%>\
      antialias<*-100%>\
      $ts<+[1]-100%>\
    }\
    $s\
    antialiasLabel\
    $bs\
    |v{\
      $ts<+[1]-100%>\
      confirmPrint<*-100%>\
      $ts<+[1]-100%>\
    }\
    $s\
    confirmPrintLabel\
    $bs\
    |v{\
      $ts<+[1]-100%>\
      scrolling<*-100%>\
      $ts<+[1]-100%>\
    }\
    $s\
    scrollingLabel\
    $bs<+[1]>\
  }\
  $bs\
  |h{ \
    $bs\
    |v{\
      printCommandLabel<+[1]*>\
      $s\
      scratchDirLabel<+[1]*>\
      $s\
      saveDirLabel<+[1]*>\
    }\
    $s\
    |v{\
      printCommandFrame<+[2]-100%*>\
      $s\
      scratchDirFrame<+[2]-100%*>\
      $s\
      saveDirFrame<+[2]-100%*>\
    }\
    $bs\
  }\
  $bs\
  |h{\
    (3*$bs)<-90%>\
    done\
    $bs<+[1]-100%>\
    save\
    $bs<+[1]-100%>\
    cancel\
    (3*$bs)<-90%>\
  }\
  $bs<+[1]>\
}

!##### Note Popup Layout

GV*notePopup*layout:\
|v{ \
  vs=8\
  $vs<+[1]>\
  |h{ \
    $vs<+[1]>\
    message<+[1]-100%*+[1]-100%>\
    $vs<+[1]>\
  }\
  $vs<+[1]>\
  |h{\
    $vs<+[1]>\
    done<-100%*>\
    $vs<+[1]>\
  }\
  $vs<+[1]>\
}

!##### Dialog Popup Layout

GV*dialogPopup*layout:\
|v{ \
  s=7\
  bs=14\
  $bs\
  |h{ \
    (2*$bs)\
    message<+[1]*>\
    (2*$bs)\
  }\
  $bs\
  |h{\
    $bs\
    dialog_textLabel\
    $s \
    dialog_textFrame<+[1]-100%*>\
    $bs\
  }\
  $bs\
  |h{\
    (2*$bs)<+[1]>\
    done\
    $bs<+[1]>\
    cancel\
    (2*$bs)<+[1]>\
  }\
  $bs\
}

!##### Version Popup Layout

GV*versionPopup*layout:\
|v{ \
  vs=8\
  (3*$vs)<+[1]-100%>\
  |h{ \
    $vs<+[1]>\
    |h{\
      |v{ \
        versionTexta\
        (|height versionTextb)\
        $vs\
      }\
      $vs\
      |v{ \
        0<+[1]>\
        versionTextb\
      }\
      $vs\
    }\
    $vs\
    $vs<+2[1]>\
    |v{ 0<+[1]> versionDone  0<+[1]> }\
    $vs<+[1]>\
  }\
  (3*$vs)\
  |h{ $vs<+[1]> license $vs <+[1]> }\
  (3*$vs)\
  |h{ $vs<+[1]> authora $vs<+[1]> }\
  $vs\
  |h{ $vs<+[1]> authorb $vs<+[1]> }\
  $vs\
  |h{ $vs<+[1]> authorc $vs <+[1]> }\
  (3*$vs)\
  |h{ $vs<+[1]> authord $vs <+[1]> }\
  (2*$vs)\
}

!##### FileSelection Widget Layout

GV*fileSel*Frame.Aaa.layout:\
|v{\
  1\
  |h{\
    1\
    clip<+[1]-100%*+[1]-100%>\
    1\
  }\
  1\
}

GV*fileSel.layout:\
|v{\
  bs  = 14\
  s   = 7\
  hs2 =(|height button2)\
  hs3 =(|height button3)\
  hs4 =(|height button4)\
  bs2 =($bs*($hs2/($hs2+1)))\
  bs3 =($bs*($hs3/($hs3+1)))\
  bs4 =($bs*($hs4/($hs4+1)))\
  $bs\
  |h{\
    $bs\
    pathframe<+[1]-95%*>\
    $bs\
  }\
  $s\
  |h{\
    $bs\
    rescan\
    $s\
    home\
    $s\
    tmp\
    $s\
    filter\
    $s\
    filterframe<+[1]-95%*>\
    $bs\
  }\
  $s\
  |h{\
    $bs\
    topframe<*+[1]-[1]>\
    $s\
    curframe<+[1]-95%*+[1]-[1]>\
    $s\
    subframe<*+[1]-[1]>\
    $bs\
  }\
  $bs\
  |h{\
    (6*$bs)<-95%>\
    button2\
    $bs2<+($bs2)-90%>\
    button3\
    $bs3<+($bs3)-90%>\
    button4\
    $bs4<+($bs3)-90%>\
    button1\
    (6*$bs)<-95%>\
  }\
  $bs\
}

