# Written by: Maciej Delmanowski <harnir@linux.net.pl>

# Variables
SetEnv QuakeConsole-Border "1"
SetEnv QuakeConsoleTerminal "NO_QUAKECONSOLE_TERMINAL_FOUND"
SetEnv QuakeConsole-Height "50"
Test (f $[FVWM_USERDIR]/.QuakeConsole-Height) Read $[FVWM_USERDIR]/.QuakeConsole-Height


DestroyFunc QuakeConsole
AddToFunc QuakeConsole
+ I None (QuakeConsoleNeedsUniqueName) QuakeConsole_Init
+ I All (QuakeConsoleNeedsUniqueName, CurrentDesk) QuakeConsole_Hide
+ I TestRc (0) QuakeConsole_Show

DestroyFunc QuakeConsole_Init
AddToFunc QuakeConsole_Init
+ I	Style QuakeConsoleNeedsUniqueName !Title, !Handles, SkipMapping, \
	WindowListSkip, VariableSize, VariablePosition, NoIcon, StaysOnTop, \
	!Iconifiable, EWMHMaximizeIgnoreWorkingArea, StickyAcrossPages, \
	Maximizable, BorderWidth $[QuakeConsole-Border], \
	Colorset $[cs-quakeconsole], HilightColorset $[cs-quakeconsole], \
	BorderColorset $[cs-quakeconsole], \
	HilightBorderColorset $[cs-quakeconsole], WindowShadeSteps 64, \
	WindowShadeShrinks

	
# If you want to change QuakeConsole command, do it here!
+ I Exec exec $[QuakeConsoleTerminal] -name QuakeConsoleNeedsUniqueName -geometry +0+0
# If you want to change QuakeConsole command, do it here!

+ I Wait QuakeConsoleNeedsUniqueName
+ I All (QuakeConsoleNeedsUniqueName) Maximize 100 $[QuakeConsole-Height]
+ I All (QuakeConsoleNeedsUniqueName) Piperead 'echo Move `expr $[vp.width] / 2 - $[w.width] / 2`p w0'
+ I Style QuakeConsoleNeedsUniqueName FixedPosition
+ I All (QuakeConsoleNeedsUniqueName) MoveToDesk 0 666 
+ I Style QuakeConsoleNeedsUniqueName VariableSize, !Maximizable
+ I Prev (CurrentPage, AcceptsFocus, Visible) Focus

DestroyFunc QuakeConsole_Show
+ I Window-RememberFocused
AddToFunc QuakeConsole_Show
+ I All (QuakeConsoleNeedsUniqueName) MoveToDesk 0 $[desk.n]
+ I All (QuakeConsoleNeedsUniqueName) Raise 
+ I All (QuakeConsoleNeedsUniqueName) WindowShade false
+ I All (QuakeConsoleNeedsUniqueName) Focus 
 
DestroyFunc QuakeConsole_Hide
AddToFunc QuakeConsole_Hide
+ I All (QuakeConsoleNeedsUniqueName) WindowShade true
+ I All (QuakeConsoleNeedsUniqueName) MoveToDesk 0 666 
+ I All (QuakeConsoleNeedsUniqueName) WindowShade false
+ I Window-FocusRemembered

DestroyFunc QuakeConsole-Resize
AddToFunc QuakeConsole-Resize
+ H Resize Direction S
+ H SetEnv QuakeConsole-Height "$[w.height]p"
+ H Exec echo "SetEnv QuakeConsole-Height $[w.height]p" > $[FVWM_USERDIR]/.QuakeConsole-Height

