# This is a work in progress. # Anyone adding functionality should make sure they update these # tests to test that functionality. # The original purpose of these tests was to find bounds violations and # memory leaks. These tests are the closest thing fvwm has to a regresssion # test. Its hard to tell whether the tests are actually working. # Some of the menu prompts guide the tester thru the process. # I've also attempted to lay out some xterms in a recognizable pattern. # Some of the tests move the xterms around, or destroy them and then # try to get them back into the recognizable pattern. The idea being # if the windows aren't arranged as they should be, something is wrong. # On my last full test, this didn't seem to work, although each individual # test seemed to work. # Somewhere around the PlaceAgain test the windows loose their arrangement. # The CloseDeleteDestroy test fails to delete some of the windows. # All tests are defined as functions, added to a menu and added to # the function that can run all tests. # Destroy/AddTo in 1 line: DestroyFunc CreateFunc AddToFunc CreateFunc + I DestroyFunc $0 + I AddToFunc $0 # Log: CreateFunc Log + I Exec echo "### `date`: $0 ###" CreateFunc RootTail + I Exec xsetroot -solid black + I Exec root-tail -g 80x50+300+0 -color red -font lucidasanstypewriter-12 ~/.X.err # Init TestMenu and all tests function TestFunc: DestroyMenu TestMenu AddToMenu TestMenu "=== TestMenu ===" Title AddToMenu TestMenu "Run root tail" Function RootTail AddToMenu TestMenu "FvwmConsole" FvwmConsole AddToMenu TestMenu "Xterm" Exec xterm AddToMenu TestMenu "Quit Fvwm" Quit AddToMenu TestMenu "Restart Fvwm" Restart AddToMenu TestMenu "Some Setup" Popup TestSetupMenu + "" Nop AddToMenu TestMenu "Run all tests" function TestFunc # Give the TestMenu a distinctive Style: MenuStyle TMS fvwm, background cornflowerblue, foreground white, Hilight3DThick MenuStyle TMS AutomaticHotkeys, BorderWidth 5, Font 9x15bold ChangeMenuStyle TMS TestMenu DestroyFunc TestFunc # Setup DestroyFunc TestQuitFunc AddToFunc TestQuitFunc I Nop DestroyFunc SetupTestQuitFunc AddToFunc SetupTestQuitFunc + I DestroyFunc TestQuitFunc + I AddToFunc TestQuitFunc I Quit DestroyFunc TestTransitionFunc AddToFunc TestTransitionFunc I Nop DestroyFunc SetupTestTransitionFunc AddToFunc SetupTestTransitionFunc + I DestroyFunc TestTransitionFunc + I AddToFunc TestTransitionFunc I Pick AddToMenu TestSetupMenu "Setup" Title + "Quit at the end of Test" SetupTestQuitFunc + "Bloc on Pick after each test" SetupTestTransitionFunc # Function to define a test: # Arg 0 Menu Entry/Logged test name # Arg 1 Function that runs the test # Note: In normal use, After AddTest, theres another # "AddToFunc" even though this # function could supply it. (I think.) CreateFunc AddTest + I AddToMenu TestMenu "$0" function $1 + I AddToFunc TestFunc I Function Log "$0" + I DestroyFunc $1 + I AddToFunc TestFunc I Function $1 + I AddToFunc TestFunc I TestTransitionFunc # Now start defining test functions: AddTest "Test AddToFunc" AddToFunc-Func AddToFunc AddToFunc-Func + I nop + Immediate nop + C nop + ClickTime + H nop + Hold nop + X nop + XorPixmap nop + Xyzzy nop + D nop + Desk 0 0 + M nop + Menu nop nop nop AddToFunc AddToFunc-Func I nop AddToFunc AddToFunc-Func Immediate nop AddToFunc AddToFunc-Func C nop AddToFunc AddToFunc-Func ClickTime AddToFunc AddToFunc-Func H nop AddToFunc AddToFunc-Func Hold nop AddToFunc AddToFunc-Func X nop AddToFunc AddToFunc-Func D nop AddToFunc AddToFunc-Func Desk 0 0 AddToFunc AddToFunc-Func M nop AddToFunc AddToFunc-Func Menu nop nop nop # This one has to be first, other tests use it. AddTest "Test ImagePath and SetEnv" ImagePath-Func AddToFunc ImagePath-Func + I ImagePath + I ImagePath + I ImagePath /usr/lib/X11/icons/pixmaps:+ + I SetEnv ImagePath foo:bar + I SetEnv + I SetEnv FOO + I SetEnv BAR bar + I SetEnv FOOBAR barfoo + I SetEnv " FOO " x + I SetEnv FOO " ""ölwäökkü"'' + I SetEnv FOO " ""ölwäökkasdfsdü"'' + I SetEnv a1 1 + I SetEnv a2 2 + I SetEnv a3 3 + I SetEnv a4 4 + I SetEnv a5 5 + I SetEnv a6 6 + I SetEnv a7 7 + I SetEnv a8 8 + I SetEnv a9 9 + I SetEnv a10 10 + I SetEnv a11 11 + I SetEnv a12 12 + I ImagePath /usr/lib/X11/icons/pixmaps:+ + I SetEnv ImagePath foo:bar:baz + I ImagePath /home/tim/pics/xpm/16:/home/tim/pics/xbm/16:/home/tim/pics/xpm/21:/home/tim/pics/xpm/32:/home/tim/pics/xpm/46:/home/tim/pics/xpm/48:/home/tim/pics/xpm:/home/tim/pics/tiles:+ + I ImagePath /root/icons:/usr/X11R6/include/X11/pixmaps:/usr/X11R6/include/X11/bitmaps:/root/pixmaps:/root/gifs:/opt/kde/share/icons:+ + I ImagePath /home/tim/pics/xpm/16:/home/tim/pics/xbm/16:/home/tim/pics/xpm/21:/home/tim/pics/xpm/32:/home/tim/pics/xpm/46:/home/tim/pics/xpm/48:/home/tim/pics/xpm:/home/tim/pics/tiles:+ + I ImagePath /usr/X11R6/include/X11/3dpixmaps/small:/usr/X11R6/include/X11/susexpm/small:/usr/X11R6/include/X11/susexpm/normal:/usr/X11R6/include/X11/susexpm/mini:/usr/X11R6/include/X11/3dpixmaps/normal:/usr/X11R6/include/X11/pixmaps:/etc/dtpixmaps:+ + I ImagePath /tmp:/usr/X11R6/include/X11/3dpixmaps/small:/usr/X11R6/include/X11/susexpm/small:/usr/X11R6/include/X11/susexpm/normal:/usr/X11R6/include/X11/susexpm/mini:/usr/X11R6/include/X11/3dpixmaps/normal:/usr/X11R6/include/X11/pixmaps:/etc/dtpixmaps:+ + I ImagePath + + I ImagePath +:+ + I ImagePath /usr/local/share/icons/wm-icons:/usr/share/icons/wm-icons:+:/usr/include/X11/bitmaps:/usr/include/X11/pixmaps + I ImagePath $HOME/.wm-icons:+ + I ImagePath +:/usr/share/icons/mini + I ImagePath +::::/opt/kde/share/icons:/opt/kde/share/apps/kappfinder/pics: + I ImagePath /tmp # Starting ManPage Order AddTest "Test ChangeMenuStyle" ChangeMenuStyle-Func AddToFunc ChangeMenuStyle-Func # Create new menu using the default style and show it. # Add Line to menu and pop it up. + I DestroyMenu Menu-ChangeMenuStyle + I MenuStyle * Background lightblue, Foreground black, ActiveFore Maroon, + I MenuStyle * Fvwm, Font 6x13bold + I AddToMenu Menu-ChangeMenuStyle "ChangeMenuStyle test menu, using default style" + I AddToMenu Menu-ChangeMenuStyle "Press Escape to continue" Echo "Tester selected item on menu to proceed" + I Popup Menu-ChangeMenuStyle # Create a new MenuStyle, do ChangeMenuStyle to the new menu and show it + I MenuStyle NewStyle Background white, Foreground black, ActiveFore cyan + I MenuStyle NewStyle Win, Font 9x15bold + I ChangeMenuStyle NewStyle Menu-ChangeMenuStyle + I AddToMenu Menu-ChangeMenuStyle "ChangeMenuStyle: Menu now white/black/cyan, 9x15bold" + I AddToMenu Menu-ChangeMenuStyle "Press Escape to continue" Echo "Tester selected item on menu to proceed" + I Popup Menu-ChangeMenuStyle # Syntax tests: + I Echo Start intentional errors + I ChangeMenuStyle + I ChangeMenuStyle none_such + I ChangeMenuStyle not_at_all same_here + I ChangeMenuStyle same_here same_here + I ChangeMenuStyle NewStyle + I ChangeMenuStyle NewStyle no_such_style + I ChangeMenuStyle NewStyle NewStyle + I ChangeMenuStyle " a large quoted arg with spaces at the front, middle, end" + I Echo End intentional errors AddTest "Test CopyMenuStyle" CopyMenuStyle-Func AddToFunc CopyMenuStyle-Func # create 2 menus styles + I CopyMenuStyle * FirstMenuStyle + I CopyMenuStyle TMS SecondMenuStyle # create a menu + I DestroyMenu Menu-CopyMenuStyle + I AddToMenu Menu-CopyMenuStyle "CopyMenuStyle test menu" Title + I AddToMenu Menu-CopyMenuStyle "Press Escape to continue" Echo "Tester selected item on menu to proceed" + I AddToMenu Menu-CopyMenuStyle "First we use TMS style" + I ChangeMenuStyle SecondMenuStyle Menu-CopyMenuStyle + I Popup Menu-CopyMenuStyle + I MenuStyle SecondMenuStyle mwm, Background red, Foreground blue + I MenuStyle SecondMenuStyle ActiveFore yellow, Font fixed + I MenuStyle SecondMenuStyle ItemFormat "%.2|%4.3<%6i%6l%6l%6r%6i%2|%5s" + I MenuStyle SecondMenuStyle SidePic /tmp/test1.xpm, SideColor green + I CopyMenuStyle SecondMenuStyle tmpMenuStyle + I DestroyMenuStyle tmpMenuStyle + I ChangeMenuStyle * Menu-CopyMenuStyle + I ChangeMenuStyle SecondMenuStyle Menu-CopyMenuStyle + I AddToMenu Menu-CopyMenuStyle "Menu now red/blue/yellow, mwm, fixed, ..." + I Popup Menu-CopyMenuStyle + I CopyMenuStyle SecondMenuStyle tmpMenuStyle + I MenuStyle FirstMenuStyle MenuFace DGradient 128 2 lightgrey 50 blue 50 white + I MenuStyle FirstMenuStyle Font -adobe-helvetica-bold-r-*-*-14-*-* + I MenuStyle FirstMenuStyle ItemFormat + I CopyMenuStyle FirstMenuStyle SecondMenuStyle + I CopyMenuStyle SecondMenuStyle FirstMenuStyle + I CopyMenuStyle FirstMenuStyle SecondMenuStyle + I DestroyMenuStyle FirstMenuStyle + I AddToMenu Menu-CopyMenuStyle "Menu now as default + a gradient + a font" + I Popup Menu-CopyMenuStyle + I CopyMenuStyle tmpMenuStyle SecondMenuStyle + I AddToMenu Menu-CopyMenuStyle "Menu again red/blue/yellow, mwm, fixed, ..." + I Popup Menu-CopyMenuStyle + I CopyMenuStyle * FirstMenuStyle + I MenuStyle FirstMenuStyle MenuFace TiledPixmap /tmp/test3.xpm + I CopyMenuStyle FirstMenuStyle SecondMenuStyle + I CopyMenuStyle * SecondMenuStyle + I CopyMenuStyle FirstMenuStyle SecondMenuStyle + I DestroyMenuStyle FirstMenuStyle + I AddToMenu Menu-CopyMenuStyle "Menu now as default + tiled Pixmap" + I Popup Menu-CopyMenuStyle + I CopyMenuStyle tmpMenuStyle SecondMenuStyle + I CopyMenuStyle * FirstMenuStyle + I CopyMenuStyle FirstMenuStyle SecondMenuStyle + I CopyMenuStyle * SecondMenuStyle + I CopyMenuStyle FirstMenuStyle SecondMenuStyle + I DestroyMenuStyle FirstMenuStyle + I CopyMenuStyle tmpMenuStyle SecondMenuStyle + I DestroyMenuStyle tmpMenuStyle + I CopyMenuStyle SecondMenuStyle FirstMenuStyle + I DestroyMenuStyle SecondMenuStyle + I CopyMenuStyle FirstMenuStyle SecondMenuStyle + I CopyMenuStyle TMS SecondMenuStyle + I CopyMenuStyle * FirstMenuStyle + I CopyMenuStyle FirstMenuStyle tmpMenuStyle + I DestroyMenuStyle tmpMenuStyle + I CopyMenuStyle SecondMenuStyle FirstMenuStyle + I CopyMenuStyle * FirstMenuStyle + I DestroyMenuStyle SecondMenuStyle + I DestroyMenuStyle FirstMenuStyle + I AddToMenu Menu-CopyMenuStyle "Finally as default" + I Popup Menu-CopyMenuStyle # Syntax tests: + I Echo Start intentional errors + I CopyMenuStyle FirstMenuStyle * + I CopyMenuStyle + I CopyMenuStyle none_such + I CopyMenuStyle not_at_all same_here + I CopyMenuStyle FirstMenuStyle + I CopyMenuStyle no_such_style FirstMenuStyle + I CopyMenuStyle FirstMenuStyle FirstMenuStyle + I CopyMenuStyle * FirstMenuStyle to_many + I CopyMenuStyle " a large quoted arg with spaces at the front, middle, end" + I Echo End intentional errors AddTest "Test DestroyMenu - needs ChangeMenuStyle" DestroyMenuStyle-Func AddToFunc DestroyMenuStyle-Func + I Echo "The next test attempts to popup a menu thats been destroyed w. recreate" + I AddToMenu Menu-ChangeMenuStyle "ChangeMenuStyle: Attempt to pop destroyed menu" + I AddToMenu Menu-ChangeMenuStyle "Press Escape to continue" Echo "Tester selected item on menu to proceed" + I DestroyMenu recreate Menu-ChangeMenuStyle + I Popup Menu-ChangeMenuStyle + I AddToMenu Menu-ChangeMenuStyle "ChangeMenuStyle: Same Menu recreated" Title + I AddToMenu Menu-ChangeMenuStyle "Press Escape to continue" Echo "Tester selected item on menu to proceed" + I Echo "The next test attempts to popup a menu thats been destroyed w/o recreate" + I AddToMenu Menu-ChangeMenuStyle "ChangeMenuStyle: Second Attempt to pop destroyed menu" + I AddToMenu Menu-ChangeMenuStyle "Press Escape to continue" Echo "Tester selected item on menu to proceed" + I DestroyMenu Menu-ChangeMenuStyle + I Popup Menu-ChangeMenuStyle + I # Syntax tests (note, doesn't produce errors): + I Echo Start intentional errors (note, doesn't produce message) + I DestroyMenu + I DestroyMenu MenuDoesntExist + I DestroyMenu MenuDoesntExist MenuDoesntExist + I DestroyMenu MenuDoesntExist MenuDoesntExistEither + I Echo End intentional errors (note, doesn't produce message) AddTest "Test DestroyMenuStyle" AddMenuStyle-Func AddToFunc AddMenuStyle-Func + I DestroyMenu Menu-DestroyMenuStyle + I AddToMenu Menu-DestroyMenuStyle "Menu for testing DestroyMenuStyle" Title + I AddToMenu Menu-DestroyMenuStyle "First shown using non-default style" Echo "Tester selected item on menu to proceed" + I AddToMenu Menu-DestroyMenuStyle "Press Escape to see it in default style" Echo "Tester selected item on menu to proceed" + I MenuStyle Menu_DestroyMenuStyle Foreground Black, BackGround CornFlowerBlue + I MenuStyle Menu_DestroyMenuStyle Font 9x15bold + I ChangeMenuStyle Menu_DestroyMenuStyle Menu-DestroyMenuStyle + I Popup Menu-DestroyMenuStyle + I AddToMenu Menu-DestroyMenuStyle "Now shown in the current default style" Echo "Tester selected item on menu to proceed" + I AddToMenu Menu-DestroyMenuStyle "Press Escape to continue" Echo "Tester selected item on menu to proceed" + I DestroyMenuStyle Menu_DestroyMenuStyle + I PopUp Menu-DestroyMenuStyle + I Echo Start intentional errors + I DestroyMenuStyle + I DestroyMenuStyle MenuStyleDoesntExist + I DestroyMenuStyle MenuStyleDoesntExist MenuStyleDoesntExist + I DestroyMenuStyle MenuStyleDoesntExist MenuStyleDoesntExistEither + I Echo "Attempt to destroy the same menu style twice" + I DestroyMenuStyle Menu_DestroyMenuStyle + I Echo "Attempt to destroy the default menu style" + I DestroyMenuStyle * + I Echo End intentional errors AddTest "Test Menu Positioning" MenuPositioning-Func AddToFunc MenuPositioning-Func + I DestroyMenu Menu-Position + I AddToMenu Menu-Position "Menu Position tests" Title + I AddToMenu Menu-Position "Position Root 0p 0p" + I Menu Menu-Position Root 0p 0p + I AddToMenu Menu-Position "Position Root 100p 100p" + I Menu Menu-Position Root 100p 100p + I AddToMenu Menu-Position "Position Root 100 100" + I Menu Menu-Position Root 100 100 + I AddToMenu Menu-Position "Position Root 50 100" + I Menu Menu-Position Root 50 100 # Purposely more than 100%: + I AddToMenu Menu-Position "Position Root 150 10" + I Menu Menu-Position Root 150 10 + I AddToMenu Menu-Position "Position Mouse -150p -50p" + I Menu Menu-Position Mouse -150p -50p + I AddToMenu Menu-Position "Position Root c c" + I Menu Menu-Position Root c c + I Next (window0) Focus + I AddToMenu Menu-Position "Position window -100m c+0" + I All (purify) Menu Menu-Position window -100m c+0 + I AddToMenu Menu-Position "Position Button1 50+10p 50+10m" + I All (purify) Menu Menu-Position Button1 50+10p 50+10m + I AddToMenu Menu-Position "Position Mouse c -100m-8p" + I Menu Menu-Position Mouse c -100m-8p + I AddToMenu Menu-Position "Position rectangle 512x384+1+1 +0 +0" + I Menu Menu-Position rectangle 512x384+1+1 +0 +0 # There are lots more of these...and lots more options for the menu command. # Need to add "menu command syntax errors... + I AddToMenu Menu-Position "Position pouf +0 +0" + I Menu Menu-Position pouf +0 +0 + I AddToMenu Menu-Position "Position root +0k u+10" + I Menu Menu-Position root +0k u+10 AddTest "Test MenuStyle" MenuStyle-Func AddToFunc MenuStyle-Func # Attempt to use every option: + I MenuStyle FvwmStyle Fvwm, BorderWidth 10, Foreground black, Background Gray + I MenuStyle FvwmStyle Greyed blue, HilightBack, ActiveFore, Hilight3DThick + I MenuStyle FvwmStyle VerticalMargins 0 0 + I MenuStyle FvwmStyle Animation, Font "xft:monospace;9x15bold/iso8859-1" + I MenuStyle FvwmStyle VerticalMargins -1 1 + I MenuStyle FvwmStyle PopupOffset 2 2, TitleWarp, DoubleClickTime 500 + I MenuStyle FvwmStyle VerticalMargins 1 -1 + I MenuStyle FvwmStyle PopupImmediately, PopdownImmediately + I MenuStyle FvwmStyle VerticalMargins -1 -1 + I MenuStyle FvwmStyle TitleUnderlines0, SeparatorsLong, TrianglesSolid + I MenuStyle FvwmStyle AutomaticHotkeys, PopupAsRootMenu, RemoveSubmenus + I MenuStyle FvwmStyle SubmenusRight, SelectOnRelease Alt, VerticalItemSpacing -2 + I MenuStyle MwmStyle Mwm, HilightBackOff, ActiveForeOff, Hilight3DThin + I MenuStyle MwmStyle AnimationOff, PopupDelayed, PopupDelay 26, TitleWarpOff + I MenuStyle MwmStyle PopupDelayed, PopupDelay 26, DoubleClickTime + I MenuStyle MwmStyle PopdownDelayed, PopdownDelay 100 + I MenuStyle MwmStyle Font -*-*-*-*-normal--*-160-75-75-m-50-iso8859-* + I MenuStyle MwmStyle TitleUnderlines1, SeparatorsShort, TrianglesRelief + I MenuStyle MwmStyle AutomaticHotkeysOff, PopupAsSubmenu, HoldSubmenus + I MenuStyle MwmStyle SubmenusLeft, VerticalTitleSpacing 5 + I MenuStyle WinStyle MenuColorset 0, ActiveColorset 0, GreyedColorset 0 + I MenuStyle WinStyle Hilight3DOff, PopupImmediately + I MenuStyle WinStyle PopdownDelayed, PopdownDelay 100 + I MenuStyle WinStyle Font "shadow=2 all:-*-fixed-*-*-normal--*-*-*-*-*-*-*-*" + I MenuStyle XStyle Hilight3DThickness -3, MenuFace Solid Maroon + I MenuStyle XStyle TitleUnderlines2, SidePic xtrek_fed_e.xbm, SideColor cyan # I have no idea what this will do but its in the man page: + I MenuStyle XStyle ItemFormat "%.1|%3.2<%5i%5l%5l%5r%5i%1|%4s" + I MenuStyle * PopupDelay 12, DoubleClickTime 2 + I MenuStyle * PopupDelay 0 + I MenuStyle * PopdownDelay 12, PopdownDelayed + I MenuStyle * PopupDelay 0, PopdownImmediately + I DestroyMenu Main + I AddToMenu Main "Main menu - Test MenuStyles" + I AddToMenu Main "%test1.xpm%Popup FvwmStyle" Popup FvwmStyle + I AddToMenu Main "Popup MwmStyle%test.png%" Popup MwmStyle + I AddToMenu Main "Popup WinStyle%xtrek_fed_e.xbm%" Popup WinStyle + I AddToMenu Main "Popup XStyle" Popup XStyle item +0 -100m + I AddToMenu Main "To complete this test, Popup all the sub-menus" + I DestroyMenu FvwmStyle + I AddToMenu FvwmStyle "FvwmStyle Menu" Title + I AddToMenu FvwmStyle "An item in the menu" + I ChangeMenuStyle FvwmStyle FvwmStyle + I DestroyMenu MwmStyle + I AddToMenu MwmStyle "MwmStyle Menu" Title + I AddToMenu MwmStyle "An item in the menu" + I ChangeMenuStyle MwmStyle MwmStyle + I DestroyMenu WinStyle + I AddToMenu WinStyle "WinStyle Menu" Title + I AddToMenu WinStyle "An item in the menu" + I ChangeMenuStyle WinStyle WinStyle + I DestroyMenu XStyle + I AddToMenu XStyle "XStyle Menu" Title + I AddToMenu XStyle "An item in the menu" + I ChangeMenuStyle XStyle XStyle + I Menu Main # Need to add a bunch of MenuStyle syntax errors. AddTest "Test Popup" Popup-Func AddToFunc Popup-Func + I Popup Main + I Popup "I don't know" # End of "Menu oriented commands. The "title" menu command is already # tested. # For now, skip testing of the BugOpts command. # Log "Test BugOpts" AddTest "Test BugOpts" BugOpts-Func AddToFunc BugOpts-Func + I BugOpts FlickeringMoveWorkaround True + I BugOpts FlickeringMoveWorkaround False + I BugOpts FlickeringMoveWorkaround toggle + I BugOpts FlickeringMoveWorkaround what ever + I BugOpts FlickeringMoveWorkaround + I BugOpts MixedVisualWorkaround True + I BugOpts MixedVisualWorkaround False + I BugOpts MixedVisualWorkaround toggle + I BugOpts MixedVisualWorkaround what ever + I BugOpts MixedVisualWorkaround + I BugOpts ModalityIsEvil True + I BugOpts ModalityIsEvil False + I BugOpts ModalityIsEvil toggle + I BugOpts ModalityIsEvil what ever + I BugOpts ModalityIsEvil + I BugOpts RaiseOverNativeWindows True + I BugOpts RaiseOverNativeWindows False + I BugOpts RaiseOverNativeWindows toggle + I BugOpts RaiseOverNativeWindows what ever + I BugOpts RaiseOverNativeWindows + I BugOpts RaiseOverUnmanaged True + I BugOpts RaiseOverUnmanaged False + I BugOpts RaiseOverUnmanaged toggle + I BugOpts RaiseOverUnmanaged what ever + I BugOpts RaiseOverUnmanaged False + I BugOpts FlickeringQtDialogsWorkaround True + I BugOpts FlickeringQtDialogsWorkaround False + I BugOpts FlickeringQtDialogsWorkaround toggle + I BugOpts FlickeringQtDialogsWorkaround what ever + I BugOpts FlickeringQtDialogsWorkaround + I BugOpts EWMHIconicStateWorkaround True + I BugOpts EWMHIconicStateWorkaround False + I BugOpts EWMHIconicStateWorkaround toggle + I BugOpts EWMHIconicStateWorkaround what ever + I BugOpts EWMHIconicStateWorkaround # + I BugOpts + I BugOpts FooBugs True + I BugOpts EWMHIconicStateWorkaround, FooBugs + I BugOpts ExplainWindowPlacement on + I BugOpts ExplainWindowPlacement off AddTest "Test BusyCursor" BusyCursor-Func AddToFunc BusyCursor-Func # These are the defaults: + I BusyCursor DynamicMenu False, ModuleSynchronous False, Read False + I BusyCursor Wait False # Turn all on: + I BusyCursor * True # Turn all off: + I BusyCursor * False # Set the opposite of the defaults: + I BusyCursor DynamicMenu True, ModuleSynchronous True, Read True + I BusyCursor Wait True # Back to the defaults: + I BusyCursor DynamicMenu False, ModuleSynchronous False, Read False + I BusyCursor Wait False + I BusyCursor * True # + I BusyCursor blabla AddTest "Test ClickTime" ClickTime-Func AddToFunc ClickTime-Func + I ClickTime + I ClickTime 0 + I ClickTime 0 # blah + I ClickTime 0 + I ClickTime -1 + I ClickTime 150 + I ClickTime 150 + I ClickTime 200 # This resets the default: + I ClickTime AddTest "Test ColormapFocus" ColormapFocus-Func AddToFunc ColormapFocus-Func + I ColormapFocus + I ColormapFocus FollowsFocus + I ColormapFocus FollowsFocus + I ColormapFocus FollowsMouse + I ColormapFocus FollowsFocus + I ColormapFocus FollowsFocus + I ColormapFocus FollowsMouse + I Refresh AddTest "Test CursorStyle" CursorStyle-Func AddToFunc CursorStyle-Func + I CursorStyle + I CursorStyle liewud + I CursorStyle BOTTOM 132 + I CursorStyle BOTTOM_LEFT 133 + I CursorStyle BOTTOM_RIGHT 134 + I CursorStyle DEFAULT 64 + I CursorStyle DEFAULT 68 + I CursorStyle DEFAULT 68 + I CursorStyle DESTROY 88 + I CursorStyle DESTROY 88 + I CursorStyle DESTROY 99 + I CursorStyle DESTROY + I CursorStyle DEFAULT + I CursorStyle MENU fleur yellow blue + I CursorStyle MENU fleur invalid_color_name another_invalid_name + I CursorStyle MENU fleur black white + I CursorStyle MENU test1.xpm black white # These are the defaults from the man page: + I CursorStyle POSITION top_left_corner + I CursorStyle TITLE top_left_arrow + I CursorStyle SYS hand2 + I CursorStyle MOVE fleur + I CursorStyle RESIZE sizing + I CursorStyle WAIT watch + I CursorStyle MENU top_left_arrow + I CursorStyle SELECT crosshair + I CursorStyle DESTROY pirate + I CursorStyle TOP top_side + I CursorStyle RIGHT right_side + I CursorStyle BOTTOM bottom_side + I CursorStyle LEFT left_side + I CursorStyle TOP_LEFT top_left_corner + I CursorStyle TOP_RIGHT top_right_corner + I CursorStyle BOTTOM_LEFT bottom_left_corner + I CursorStyle BOTTOM_RIGHT bottom_right_corner + I CursorStyle TOP_EDGE top_side + I CursorStyle RIGHT_EDGE right_side + I CursorStyle BOTTOM_EDGE bottom_side + I CursorStyle LEFT_EDGE left_side + I CursorStyle ROOT left_ptr + I CursorStyle STROKE plus AddTest "Test DefaultColors" DefaultColors-Func AddToFunc DefaultColors-Func + I DefaultColors Pink Blue + I DefaultColors NotValid "On purpose" + I DefaultColors Pink "Also on purpose (second arg)" + I DefaultColors * + I DefaultColors + I Refresh AddTest "Test DefaultColorset" DefaultColorset-Func AddToFunc DefaultColorset-Func + I DefaultColorset + I DefaultColorset junk + I DefaultColorset 0 # whoa! fvwm will have to send over a million colour sets to the modules! #+ I DefaultColorset 1236789 + I DefaultColorset -1 + I Refresh AddTest "Test DefaultFont" DefaultFont-Func AddToFunc DefaultFont-Func + I DefaultFont + I DefaultFont 9x15bold + I DefaultFont -adobe-courier-bold-r-normal--10-100-75-75-m-60-ISO8859-1 + I DefaultFont -adobe-courier-bold-r-normal--10-* + I DefaultFont *-fixed-medium-o-normal--14-*-ISO8859-15 + I DefaultFont *-fixed-medium-o-normal--14-*-ISO8859-6 + I DefaultFont -adobe-courier-bold-r-normal--10-* + I DefaultFont -adobe-courier-bold-r-normal--14-*,-*-courier-medium-r-normal--14-* + I DefaultFont -adobe-courier-bold-r-normal--14-*-foo,-*-courier-medium-r-normal--14-* + I DefaultFont "xft:Luxi Mono" + I DefaultFont "xft:Luxi Mono:Medium:Roman:size=14:encoding=iso8859-1" + I DefaultFont xft:Verdana:pixelsize=14;-adobe-courier-bold-r-normal--14-* + I DefaultFont StringEncoding=jisx0208.1983-0:-*-fixed-medium-r-*-ja-*-iso10646-1 + I DefaultFont "StringEncoding=jisx0208.1983-0:xft:Bitstream Cyberbit" + I DefaultFont *-fixed-medium-r-*-ja-*-iso10646-1 + I DefaultFont "StringEncoding=UTF-8:xft:Bitstream Cyberbit" + I DefaultFont "xft:Bitstream Cyberbit:encoding=iso10646-1" + I DefaultFont "StringEncoding=UTF-8:-*-pretty_font-*-12-*" + I DefaultFont -misc-fixed-*--20-*/iso10646-1 + I DefaultFont -misc-fixed-*--14-*-iso8859-1/*/latin1 + I DefaultFont misc-fixed-*--14-*-local8859-6/iso8859-6/local_iso8859_6_iconv + I DefaultFont "shadow=2:StringEncoding=iso8859-15:xft:monospace;-adobe-courier-bold-r-normal--14-*/iso8859-1/iso8859-1" + I DefaultFont "shadow=2 all:StringEncoding=iso8859-15:xft:monospace;-adobe-courier-bold-r-normal--14-*/iso8859-1/iso8859-1" + I DefaultFont "shadow=2 c:StringEncoding=iso8859-15:xft:monospace;-adobe-courier-bold-r-normal--14-*/iso8859-1/iso8859-1" + I DefaultFont "shadow=2 sn:StringEncoding=iso8859-15:xft:monospace;-adobe-courier-bold-r-normal--14-*/iso8859-1/iso8859-1" + I DefaultFont "shadow=2 sn:xft:monospace;shadow=2 sn:-adobe-courier-bold-r-normal--14-*" + I DefaultFont "shadow=2 foo:-adobe-courier-bold-r-normal--14-*" + I DefaultFont "shadow=-2:-adobe-courier-bold-r-normal--14-*" + I DefaultFont "shadow=:-adobe-courier-bold-r-normal--14-*" + I DefaultFont "shadow=ghgh:-adobe-courier-bold-r-normal--14-*" + I DefaultFont "shadowwwwwwwwwwwwww=2:-adobe-courier-bold-r-normal--14-*" + I DefaultFont badnameforafont + I DefaultFont "another bad name" + I DefaultFont two args + I DefaultFont + I Refresh AddTest "Test DefaultIcon" DefaultIcon-Func AddToFunc DefaultIcon-Func + I DefaultIcon + I DefaultIcon test1.xpm + I DefaultIcon xtrek_fed_e.xbm + I DefaultIcon test.png + I DefaultIcon + I Refresh AddTest "Test DefaultLayers" DefaultLayers-Func AddToFunc DefaultLayers-Func + I DefaultLayers + I DefaultLayers junk three times + I DefaultLayers 2 4 6 + I Refresh #FIXME: Deschedule (and Schedule) AddTest "Test Emulate" Emulate-Func AddToFunc Emulate-Func + I Emulate Fvwm + I Emulate Mwm + I Emulate Win + I Emulate badname + I Emulate # Note, there is no test for EscapeFunc # Need a FakeClick test. # Note, there is no test for HilightColor, its obsolete # Note, there is no test for HilightColorset, its obsolete # Note, there is no test for IconFont, its obsolete # Note, there is no test for IconPath, its obsolete # Note, the ImagePath test is not in ManPage order, look elsewhere AddTest "Test LocalePath" LocalePath-Func AddToFunc LocalePath-Func + I Echo $[gt.Restart] + I LocalePath ";fvwm-themes:+" + I Echo $[gt.Restart] + I LocalePath "/tmp;hop" + I Echo $[gt.Restart] + I LocalePath "+:;fvwm-themes" + I Echo $[gt.Restart] + I LocalePath +:+:,vs,vnnsv:+:+ + I LocalePath sdkjvbfsjkvbu/dj;nsfdvnsjkv__;,sdfnvjdsnvvn:+ + I LocalePath /qdsbcdjc/njdcdjcn;sjkdcnbszcjksdcb + I LocalePath /qdsbcdjc/njdcdjcn;sjkdcnbszcjksdcb:+ + I LocalePath /qdsbcdjc/njdcdjcn;sjkdcnbszcjksdcb:/shhdh/dsggdh;dhhdh:;shhdfh:/dffdg/dggdf/;:+ + I LocalePath :/qdsbcdjc/njdcdjcn;sjkdcnbszcjksdcb:/shhdh/dsggdh;dhhdh:;shhdfh:/dffdg/dggdf/;:+ + I LocalePath +:/qdsbcdjc/njdcdjcn;sjkdcnbszcjksdcb:/shhdh/dsggdh;dhhdh:;shhdfh:/dffdg/dggdf/;: + I LocalePath +:/qdsbcdjc/njdcdjcn;sjkdcnbszcjksdcb:/shhdh/dsggdh;dhhdh:;shhdfh:/dffdg/dggdf/; + I LocalePath :/qdsbcdjc/njdcdjcn;sjkdcnbszcjksdcb:/shhdh/dsggdh;dhhdh:;shhdfh:/dffdg/dggdf/;: + I LocalePath /qdsbcdjc/njdcdjcn;sjkdcnbszcjksdcb:/shhdh/dsggdh;dhhdh:;shhdfh:/dffdg/dggdf/; + I LocalePath None + I Echo $[gt.Restart] + I LocalePath + I Echo $[gt.Restart] # Note, there is no test for PixmapPath, its obsolete AddTest "Test PrintInfo" PrintInfo-Func AddToFunc PrintInfo-Func + I PrintInfo Colors + I PrintInfo Colors 3 + I PrintInfo locale + I PrintInfo locale 3 + I PrintInfo locale dffgsg + I PrintInfo + I PrintInfo nls + I PrintInfo nls 3 + I PrintInfo dffdghhq 4 # FIXME: Schedule (see DeSchedule above) # This test tests "Exec" and "Wait" but also creates some windows # used in tests afterward. # The windows are named so the tests can access them AddTest "Test CreateWindows" CreateWindows-Func AddToFunc CreateWindows-Func + I Style "*" TileCascadePlacement + I AddToFunc makewindows + I AddToFunc makewindows I Exec xterm -geometry 10x5+0+0 -T window1 -n window1 -e sleep 1000 + I AddToFunc makewindows I Wait window1 + I AddToFunc makewindows I Exec xterm -geometry 10x5+25+25 -T window2 -n window2 -e sleep 1000 + I AddToFunc makewindows I Wait window2 + I AddToFunc makewindows I Exec xterm -geometry 10x5+50+50 -T window3 -n window3 -e sleep 1000 + I AddToFunc makewindows I Wait window3 + I AddToFunc makewindows I Exec xterm -geometry 10x5+75+75 -T window4 -n window4 -e sleep 1000 + I AddToFunc makewindows I Wait window4 + I AddToFunc makewindows I Exec xterm -geometry 10x5+100+100 -T window5 -n window5 -e sleep 1000 + I AddToFunc makewindows I Wait window5 + I AddToFunc makewindows I Exec xterm -geometry 10x5-0-0 -T window6 -n window6 -e sleep 1000 + I AddToFunc makewindows I Wait window6 + I AddToFunc makewindows I Exec xterm -iconic -geometry 10x5+125+125 -T window_iconic -n window_iconic -e sleep 1000 + I AddToFunc makewindows I Wait window_iconic + I AddToFunc makewindows I Exec xterm -geometry 50x20-0+0 -T window_shaded -n window_shaded -e sleep 1000 + I AddToFunc makewindows I Wait window_shaded + I AddToFunc makewindows I Next (window_shaded) WindowShade On + I function makewindows # Move to main page, move the pointer to the lower right corner near window6 + I GotoPage 0 0 + I CursorMove -1000 -1000 + I CursorMove 95 95 AddTest "Test State" State-Func AddToFunc State-Func + I State 1 + I State 1 True + I State 1 False # + I State 1234 + I State -10 + I State + I State sdncfekndf klfdvclkfev klfnvfekvflkv,fv, # Note, there is no test for WindowFont, its obsolete # FIXME: add new options in 2.6 AddTest "Test WindowList" WindowList-Func AddToFunc WindowList-Func + I WindowList + I WindowList # 2 windowlists, each using all the options, opposite options: + I WindowList NoGeometry, Function nonexistent, Desk 0, NoIcons, NoNormal, NoSticky, NoOnTop, NoOnBottom, UseIconName, Alphabetic, NotAlphabetic, UseListSkip, NoDeskSort, NoHotKeys, SelectOnRelease, Layer 0 + I WindowList Geometry, Function nonexistent, Desk 0, Icons, OnlyNormal, OnlySticky, OnlyOnTop, OnlyOnBottom, UseIconName, Alphabetic, NotAlphabetic, OnlyListSkip, Layer 9 + I WindowList Geometry, Function nonexistent, Desk 0, OnlyIcons, Normal, Sticky, OnTop, OnBottom, UseIconName, Alphabetic, NotAlphabetic, NoGeometryWithInfo, CurrentDesk # Condition and placement test + I WindowList (win*) Root 12p 12p CurrentDesk # Could use a test where the "WindowList MenuStyle" is redone. + I Refresh AddTest "Test Moves" Moves-Func AddToFunc Moves-Func # AnimatedMove: + I Next (window2) WarpToWindow 50 50 + I Next (window2) AnimatedMove 50 50 warp + I Next (window2) AnimatedMove 100 100 warp + I Next (window2) AnimatedMove 100 0 warp + I Next (window2) AnimatedMove 0 100 warp + I Next (window2) AnimatedMove -50 -50 warp + I Next (window2) AnimatedMove 25p 25p warp + I Next (window_iconic) AnimatedMove 50 50 warp + I Next (window_shaded) AnimatedMove 25p 25p warp + I Next (window_shaded) AnimatedMove -0p 0p warp # Need some HideGeometryWindow tests (need interaction). + I HideGeometryWindow Move + I HideGeometryWindow Resize + I HideGeometryWindow Never + I HideGeometryWindow dsqncbd + I HideGeometryWindow # Layer + I Next (window3) Layer 0 6 + I Next (window3) Layer 0 1 + I Next (window3) Layer 0 -1 + I Next (window3) Layer 0 afafd + I Next (window3) Layer afafd 34 + I Next (window3) Layer + I Next (window3) Layer 1 + I Next (window3) Layer -2 + I Next (window3) Layer 0 6 + I Next (window2) Layer 0 2 # Lower + I Next (window5) Lower + I Next (window4) Lower + I Next (window3) Lower + I Next (window2) Lower + I Next (window1) Lower + I Next (window_iconic) Lower + I Next (window_shaded) Lower # Move + I Next (window1) Move w+10 w+10 + I Next (window1) Move w-10 w-10 + I Next (window1) Move Keep w+20 + I Next (window1) Move Keep w-20 + I Next (window1) Move 30p Keep + I Next (window1) Move -30p Keep # This may cause paging, depending on the mouse pointer position: + I Next (window1) Move m+0 m+0 # Test absolute positioning: + I Next (window1) Move 10 10 + I Next (window1) Move -10 -10 # Put window1 back where it started: + I Next (window1) Move 0 0 warp + I Next (window_iconic) Move w+10 w+10 + I Next (window_iconic) Move 50 50 # MoveToDesk # This seems to be undocumented, no arg moves to main desk: + I Next (window3) MoveToDesk + I Next (window3) MoveToDesk 2 + I Next (window3) MoveToDesk +3 + I Next (window3) MoveToDesk -2 + I Next (window3) MoveToDesk 0 1 + I Next (window3) MoveToDesk 0 3 + I Next (window3) MoveToDesk 0 1923874 + I Next (window3) MoveToDesk +1 0 10 + I Next (window3) MoveToDesk -1 0 10 + I Next (window3) MoveToDesk 0 0 5 7 + I Next (window3) MoveToDesk 0 -11111 5 7 + I Next (window3) MoveToDesk dhcdshcb + I Next (window3) MoveToDesk 0 0 + I Next (window_iconic) MoveToDesk +1 0 10 + I Next (window_shaded) MoveToDesk -1 0 10 + I Next (window_iconic) MoveToDesk 0 0 + I Next (window_shaded) MoveToDesk 0 0 + I MoveThreshold 0 + I MoveThreshold -3 + I MoveThreshold 99 + I MoveThreshold ,hhqxbcjq + I MoveThreshold + I MoveThreshold 3 + I Next (window1) MoveToPage + I Next (window1) MoveToPage + I Next (window1) MoveToPage 1 1 + I Next (window1) MoveToPage 10000 -12312 + I Next (window1) MoveToPage 0 0 + I Next (window_iconic) MoveToPage 1 1 + I Next (window_shaded) MoveToPage 10000 -12312 + I Next (window_iconic) MoveToPage 0 0 + I Next (window_shaded) MoveToPage 0 0 + I Next (window3) MoveToScreen p + I Next (window3) MoveToScreen c + I Next (window3) MoveToScreen g + I Next (window3) MoveToScreen 1 + I Next (window3) MoveToScreen u + I Next (window3) MoveToScreen + I Next (window3) MoveToScreen 0 + I Refresh AddTest "Test OpaqueMoveSize" OpaqueMoveSize-Func AddToFunc OpaqueMoveSize-Func + I OpaqueMoveSize + I OpaqueMoveSize 50 + I OpaqueMoveSize 50 + I OpaqueMoveSize 0 + I OpaqueMoveSize 0 + I OpaqueMoveSize -1 + I OpaqueMoveSize 100 + I OpaqueMoveSize 200 + I OpaqueMoveSize 75 + I OpaqueMoveSize 75 + I OpaqueMoveSize 0 AddTest "Test PlaceAgain" PlaceAgain-Func AddToFunc PlaceAgain-Func + I Next (window1) move 10 10 + I Next (window2) move 10 10 + I Next (window3) move 10 10 + I Next (window4) move 10 10 + I Next (window5) move 10 10 + I Next (window1) PlaceAgain + I Next (window2) PlaceAgain Anim + I Next (window3) PlaceAgain + I Next (window4) PlaceAgain Anim + I Next (window5) PlaceAgain Anim + I Next (window_iconic) PlaceAgain Anim + I Next (window_shaded) PlaceAgain Anim + I Style * MinOverlapPlacement + I UpdateStyles + I All (!Sticky) PlaceAgain Anim AddTest "Test Raise_RaiseLower_Lower" Raise_RaiseLower_Lower-Func AddToFunc Raise_RaiseLower_Lower-Func + I Next (window1) Raise + I Next (window1) Lower + I Next (window1) RaiseLower + I Next (window2) RaiseLower + I Next (window3) Raise + I Next (window3) Lower + I Next (window3) RaiseLower + I Next (window3) RaiseLower + I Next (window3) Raise asöpoi + I Next (window3) Lower asöpoi + I Next (window3) RaiseLower asöpoi + I Next (window3) RaiseLower asöpoi + I Next (window_iconic) RaiseLower + I Next (window_shaded) RaiseLower + I Refresh AddTest "Test Resize" Resize-Func AddToFunc Resize-Func + I Next (window1) Resize 50 50 + I Next (window5) Resize 80c 24c + I Next (window2) Resize 40p 60p + I Next (window3) Resize 0 keep + I Next (window3) Resize keep 0 + I Next (window6) Resize 20p 20p br + I Next (window_iconic) Resize 20p 20p br + I Next (window_shaded) Resize 20p 20p br + I Next (window_shaded) Resize 20c 10c + I Next (window1) Resize 10c 5c + I Next (window2) Resize 10c 5c + I Next (window3) Resize 10c 5c + I Next (window4) Resize 10c 5c + I Next (window5) Resize 10c 5c AddTest "Test ResizeMaximize" ResizeMaximize-Func AddToFunc Resize-Func + I Next (window1) ResizeMaximize 50 50 + I Next (window1) ResizeMaximize 50 50 + I Next (window1) Maximize + I Next (window5) ResizeMaximize 80c 24c + I Next (window5) ResizeMaximize 80c 24c + I Next (window5) Maximize + I Next (window2) ResizeMaximize 40p 60p + I Next (window2) ResizeMaximize 40p 60p + I Next (window2) Maximize + I Next (window3) ResizeMaximize 0 keep + I Next (window3) ResizeMaximize 0 keep + I Next (window3) Maximize + I Next (window3) ResizeMaximize keep 0 + I Next (window3) ResizeMaximize keep 0 + I Next (window3) Maximize + I Next (window6) ResizeMaximize 20p 20p br + I Next (window6) ResizeMaximize 20p 20p br + I Next (window6) Maximize + I Next (window_iconic) ResizeMaximize 20p 20p br + I Next (window_iconic) ResizeMaximize 20p 20p br + I Next (window_iconic) Maximize + I Next (window_shaded) ResizeMaximize 20p 20p br + I Next (window_shaded) ResizeMaximize 20p 20p br + I Next (window_shaded) Maximize AddTest "Test ResizeMove" ResizeMove-Func AddToFunc ResizeMove-Func + I Next (window1) ResizeMove 50 50 30 30 + I Next (window1) ResizeMove 10c 5c 0 0 + I Next (window3) ResizeMove 10c 5c + I Next (window4) ResizeMove 10c 5c + I Next (window5) ResizeMove 10c 5c + I Next (window_iconic) ResizeMove 10c 5c + I Next (window_shaded) ResizeMove 50 50 30 30 + I Next (window_shaded) ResizeMove 20c 10c AddTest "Test ResizeMoveMaximize" ResizeMoveMaximize-Func AddToFunc ResizeMoveMaximize-Func + I Next (window1) ResizeMoveMaximize 50 50 30 30 + I Next (window1) ResizeMoveMaximize 50 50 30 30 + I Next (window1) Maximize + I Next (window1) ResizeMoveMaximize 10c 5c 0 0 + I Next (window1) ResizeMoveMaximize 10c 5c 0 0 + I Next (window1) Maximize + I Next (window_iconic) ResizeMoveMaximize 10c 5c 0 0 + I Next (window_iconic) Maximize + I Next (window_shaded) ResizeMoveMaximize 20c 10c 0 0 + I Next (window_shaded) Maximize # FIXME: RestackTransients AddTest "Test SetAnimation" SetAnimation-Func AddToFunc SetAnimation-Func + I SetAnimation + I SetAnimation 10 -.01 0 .01 .03 .08 .18 .3 .45 .6 .75 .85 .90 .94 .97 .99 1.0 + I SetAnimation 10 -.01 0 .01 .03 .08 .18 .3 .45 .6 .75 .85 .90 .94 .97 .99 1.0 + I SetAnimation 0 -.01 0 .01 .03 .08 .18 .3 .45 .6 .75 .85 .90 .94 .97 .99 1.0 + I SetAnimation 20 -.01 0 .01 .03 .08 + I SetAnimation 1000 -.01 0 .01 .03 .08 + I SetAnimation 10 -.01 0 .01 .03 .08 .18 .3 .45 .6 .75 .85 .90 .94 .97 .99 1.0 AddTest "Test SnapAttraction" SnapAttraction-Func AddToFunc SnapAttraction-Func + I SnapAttraction 0 All + I SnapAttraction -1 SameType + I SnapAttraction 15 Windows + I SnapAttraction 8 Icons Screen + I SnapAttraction AddTest "Test SnapGrid" SnapGrid-Func AddToFunc SnapGrid-Func + I SnapGrid 0 0 + I SnapGrid 1 1 + I SnapGrid 15 15 + I SnapGrid 8 Icons Screen + I SnapGrid # No test for command WindowsDesk, its obsolete AddTest "Test XorPixmap" XorPixmap-Func AddToFunc XorPixmap-Func + I XORPixmap test1.xpm + I XORPixmap test2.xpm + I XORPixmap AddTest "Test XorValue" XorValue-Func AddToFunc XorValue-Func + I XORValue + I XORValue 1 + I XORValue 1 + I XORValue 0 + I XORValue 0 + I XORValue 255 + I XORValue 255 + I XORValue 128 + I XORValue 0 AddTest "Test CursorMove" CursorMove-Func AddToFunc CursorMove-Func # Need an 11x11 desktop to make the 1000% cursor move work predictably: + I DesktopSize 11 11 + I CursorMove 10p 10p + I CursorMove -10p -10p + I CursorMove 70 70 + I CursorMove -50 +50 + I CursorMove 50 -50 + I CursorMove -70 -70 + I CursorMove -0 +0 + I CursorMove 50p 50p + I CursorMove -50p -50p + I CursorMove 1000 1000 + I CursorMove -1000 -1000 + I Echo "Start CursorMove syntax errors" + I CursorMove + I CursorMove 50p + I CursorMove 50p + I Echo "End CursorMove syntax errors" AddTest "Test FlipFocus" FlipFocus-Func AddToFunc FlipFocus-Func + I Next (window6) FlipFocus + I Next (window1) FlipFocus NoWarp + I Next (window1) FlipFocus JUNK + I Next (window_iconic) FlipFocus + I Next (window_shaded) FlipFocus AddTest "Test Focus" Focus-Func AddToFunc Focus-Func + I Next (window2) Focus + I Next (window3) Focus NoWarp + I Next (window_iconic) Focus + I Next (window_shaded) FlipFocus + I Next (window1) Focus JUNK AddTest "Test WarpToWindow" WarpToWindow-Func AddToFunc WarpToWindow-Func + I Next (window1) WarpToWindow + I Next (window2) WarpToWindow 10 10 + I Next (window3) WarpToWindow 50p 75 + I Next (window_iconic) WarpToWindow 50p 75 + I Next (window_shaded) WarpToWindow 50p 75 + I Next (window1) WarpToWindow 50 50 + I Refresh # This test destroys the test windows and then brings them back AddTest "Test Close_Delete_Destroy" Close_Delete_Destroy-Func AddToFunc Close_Delete_Destroy-Func + I All (window0) Close + I All (window1) Close + I All (window2) Close #älök.,nm-öp93m-öki 0 üß8 + I All (window3) Delete + I All (window4) Delete .mwq.-l kmnoi + I All (window5) Destroy .mwq.-l kmnoiDestroy .mwq.-l kmnoi + I All (window6) Destroy + I All (window_iconic) Close + I All (window_shaded) Close + I CreateWindows-Func + I Refresh # Starts with all windows open, leaves them that way. AddTest "Test Iconify" Iconify-Func AddToFunc Iconify-Func + I Next (window1) Iconify + I Next (window2) Iconify 0 üpikü + I Next (window3) Iconify 0 + I Next (window4) Iconify -1 + I Next (window5) Iconify 1 + I Next (window6) Iconify on + I Next (window6) Iconify -102973 + I Next (window4) Iconify off + I Next (window6) Iconify False + I Next (window1) Iconify "False" + I Next (window2) Iconify 0 "True" üpikü + I Next (window3) Iconify + I Next (window5) Iconify + I Next (window6) Iconify toggle + I Next (window6) Iconify toggle + I Next (window_iconic) Iconify + I Next (window_iconic) Iconify + I Next (window_shaded) Iconify + I Next (window_shaded) Iconify # This next part disabled, windows seem to have a toggling limit, # dje 12/22/00. # + I Next (window6) Iconify toggle # + I Next (window6) Iconify toggle AddTest "Test Maximize" Maximize-Func AddToFunc Maximize-Func + I Next (window1) Maximize + I Next (window2) Maximize 100 100 + I Next (window1) Maximize toggle + I Next (window6) Maximize 0 100 + I Next (window5) Maximize 50 50 + I Next (window2) Maximize False + I Next (window6) Maximize False + I Next (window5) Maximize False + I Next (window_iconic) Maximize + I Next (window_shaded) Maximize # Back to normal, pause... + I PipeRead 'sleep 2' + I Next (window1) Maximize 180p 400p + I Next (window1) Maximize false + I Next (window6) Maximize grow grow + I Next (window6) Maximize + I Next (window6) Maximize growleft growup + I Next (window6) Maximize + I Next (window5) Maximize 0 growdown + I Next (window5) Maximize + I Next (window4) Maximize growright 0 + I Next (window4) Maximize + I Next (window3) Maximize growright growdown + I Next (window3) Maximize + I Next (window2) Maximize growleft growup + I Next (window2) Maximize + I Next (window_iconic) Maximize + I Next (window_shaded) Maximize AddTest "Test Recapture_Refresh" Recapture_Refresh-Func AddToFunc Recapture_Refresh-Func + I Recapture + I Recapture + I Recapture .-QW,ÖKcäük,.-qköcli qopiuw + I Next (window1) RecaptureWindow + I Refresh + I Refresh + I Refresh .-3mölp 9 n a.d.ök3qj0 + I Next (window1) RefreshWindow + I Next (window1) RefreshWindow + I Next (window_iconic) RefreshWindow + I Next (window_shaded) RefreshWindow + I Next (window3) RefreshWindow wäepik-ö .-,poci32 AddTest "Test Stick" Stick-Func AddToFunc Stick-Func # Stick all windows and take them to page 1/1 + I All (window*) Stick + I GotoPage 1 1 # Unstick 1,3,5 and go to another page + I Next (window1) Stick toggle + I Next (window3) Stick off + I Next (window5) Stick false + I Next (window_iconic) Stick false + I Next (window_shaded) Stick false + I GotoPage 0 1 # Now stick 1,3,5 again and return to main page + I Next (window1) Stick toggle + I Next (window3) Stick on + I Next (window5) Stick true + I Next (window_iconic) Stick true + I Next (window_shaded) Stick true + I GotoPage 0 0 # Now unstick everyting: + I All (window*) Stick off # There are no syntax errors: + I Next (window2) Stick öäpqewikrpü8.,.-kl-.294 + I Next (window2) Stick öäpqewikrpü8.,.-kl-.294 # StickAcrossPages + I All (window*) StickAcrossPages + I GotoPage 1 1 # Unstick 1,3,5 and go to another page + I Next (window1) StickAcrossPages toggle + I Next (window3) StickAcrossPages off + I Next (window5) StickAcrossPages false + I Next (window_iconic) StickAcrossPages false + I GotoPage 0 1 # Now stick 1,3,5 again and return to main page + I Next (window1) StickAcrossPages toggle + I Next (window3) StickAcrossPages on + I Next (window5) StickAcrossPages true + I Next (window_iconic) StickAcrossPages true + I GotoPage 0 0 # Now unstick everyting: + I All (window*) StickAcrossPages off + I Next (window2) StickAcrossPages öäpqewikrpü8.,.-kl-.294 + I Next (window2) StickAcrossPages öäpqewikrpü8.,.-kl-.294 # StickAcrossDesks + I All (window*) StickAcrossDesks + I GotoPage 1 1 # Unstick 1,3,5 and go to another page + I Next (window1) StickAcrossDesks toggle + I Next (window3) StickAcrossDesks off + I Next (window5) StickAcrossDesks false + I Next (window_iconic) StickAcrossDesks false + I GotoPage 0 1 # Now stick 1,3,5 again and return to main page + I Next (window1) StickAcrossDesks toggle + I Next (window3) StickAcrossDesks on + I Next (window5) StickAcrossDesks true + I Next (window_iconic) StickAcrossDesks true + I GotoPage 0 0 # Now unstick everyting: + I All (window*) StickAcrossDesks off + I Next (window2) StickAcrossDesks öäpqewikrpü8.,.-kl-.294 + I Next (window2) StickAcrossDesks öäpqewikrpü8.,.-kl-.294 AddTest "Test WindowShade" WindowShade-Func AddToFunc WindowShade-Func # This is/was exactly the same as the Iconify test, consider a common macro: + I Style (window1) TitleAtTop + I Style (window2) TitleAtBottom + I Style (window3) TitleAtLeft + I Style (window4) TitleAtRight + I Style (window5) NoTitle, BorderWidth 7, HandleWidth 7 + I Style (window6) NoTitle, BorderWidth 0, HandleWidth 0 + I UpdateStyles + I Next (window1) WindowShade + I Next (window2) WindowShade 0 üpikü + I Next (window3) WindowShade 0 + I Next (window4) WindowShade -1 + I Next (window5) WindowShade 1 + I Next (window6) WindowShade on + I Next (window_iconic) WindowShade on + I Next (window6) WindowShade -102973 + I Next (window_iconic) WindowShade -102973 + I Next (window4) WindowShade off + I Next (window6) WindowShade False + I Next (window_iconic) WindowShade False + I Next (window1) WindowShade "False" + I Next (window2) WindowShade 0 "True" üpikü + I Next (window3) WindowShade + I Next (window5) WindowShade + I Next (window6) WindowShade toggle + I Next (window6) WindowShade toggle + I Next (window_iconic) WindowShade toggle + I Next (window_iconic) WindowShade toggle + I Next (window_shaded) WindowShade toggle + I Next (window_shaded) WindowShade toggle #AddTest "Run windowshade.pl" windowshade.pl-Func #AddToFunc windowshade.pl #+ I FvwmCommandS #+ I Exec perl /tmp/windowshade.pl AddTest "Test IgnoreModifiers" IgnoreModifiers-Func AddToFunc IgnoreModifiers-Func + I IgnoreModifers L25 + I IgnoreModifers AddTest "Test Key" Key-Func AddToFunc Key-Func + I Key + I Key f12 + I Key f12 t + I key f12 t cs + I key f12 t cs + I Key f12 a a Nop + I Key f12 a a function nonexistent + I Key f12 a a function nonexistent + I Key f12 t a function nonexistent + I Key f12 t a - + I Key f12 t a - + I Key f12 a a - AddTest "Test Mouse" Mouse-Func AddToFunc Mouse-Func + I Mouse + I Mouse 2 + I Mouse 2 t + I Mouse 2 t cs + I Mouse 2 t cs + I Mouse 2 a a Nop + I Mouse 2 a a function nonexistent + I Mouse 2 a a function nonexistent + I Mouse 2 t a function nonexistent + I Mouse 2 t a - + I Mouse 2 t a - + I Mouse 2 a a - + I Mouse 1 M N Not allowed + I Mouse 1 M N TearOff + I Mouse 1 M N - + I Mouse 1 M A TearOff + I Mouse 1 M 2 TearOff AddTest "Test PointerKey" PointerKey-Func AddToFunc PointerKey-Func + I PointerKey + I PointerKey f12 + I PointerKey f12 t + I pointerKey f12 t cs + I pointerKey f12 t cs + I PointerKey f12 a a Nop + I PointerKey f12 a a function nonexistent + I PointerKey f12 a a function nonexistent + I PointerKey f12 t a function nonexistent + I PointerKey f12 t a - + I PointerKey f12 t a - + I PointerKey f12 a a - # Need Stroke test written by someone with stroke support. # Need StrokeFunc test written by someone with stroke support. AddTest "Test UpdateStyles" UpdateStyles-Func AddToFunc UpdateStyles-Func + I UpdateStyles + I UpdateStyles ÖLq- ö.qljüpßi+123 # Style command tests start here: # There are a lot of style options. # The order here matches the overall list of options that comes before the # detailed descriptions. AddTest "Test StyleOldGlobalOptions" StyleOldGlobalOptions-Func AddToFunc StyleOldGlobalOptions-Func + I Style "*" CleverPlacement, SmartPlacement + I Style "*" ClickToFocusPassesClickOff, CLICKTOFOCUSPASSESCLICK + I Style "*" ClickToFocusRaisesOff, CLICKTOFOCUSRAISES, MouseFocusClickRaisesOff, MOUSEFOCUSCLICKRAISES, StippledTitleOff, StippledTitle, STARTSONPAGEMODIFIESUSPOSITION, STARTSONPAGEHONORSUSPOSITION, CAPTUREHONORSSTARTSONPAGE, CAPTUREIGNORESSTARTSONPAGE, RECAPTUREHONORSSTARTSONPAGE, RECAPTUREIGNORESSTARTSONPAGE, ACTIVEPLACEMENTHONORSSTARTSONPAGE, ACTIVEPLACEMENTIGNORESSTARTSONPAGE # Really long arg: + I Style "*" äöwwwkjfd, 2wäeöqdpefoeqopweäöööööööööcöäowäjafewjäoäajopfdewjpoafdsjpoafsdäjopfdsjopfdasäjopdfsäjopfdsajpoafds, jäwpouef, päu3pä9, upä43owu, päfoopu, 43päuo, 4w3fuop, af, 4wawä4opufwuä4f, 4wp, apwöejaeäwfpöojwoäpfoejäwpajoeäjopfwejp\aawehoiöoaihöwhawepjpewfpjewfajopäefwjopewfjopajeopfwajopefwajpoewfajpoewfajpoaefwjopaewfjpoeafwjopaefwjopaewfjopafewjopfewajpoafewjfaewihoöwhöfohzfw4öof4whoiaf4ihoaf4ihofa, apwöejaeäwfpöojwoäpfoejäwpajoeäjopfwejp\aawehoiöoaihöwhawepjpewfpjewfajopäefwjopewfjopajeopfwajopefwajpoewfajpoewfajpoaefwjopaewfjpoeafwjopaefwjopaewfjopafewjopfewajpoafewjfaewihoöwhöfohzfw4öof4whoiaf4ihoaf4ihofa DestroyFunc StyleAndUpdate AddToFunc StyleAndUpdate I Echo Style $* + I Style $* + I UpdateStyles # This group is in the same order that args are listed on the man page: AddTest "Test Style" Style-Func AddToFunc Style-Func + I StyleAndUpdate "window*" BorderWidth + I StyleAndUpdate "window*" BorderWidth 3 + I StyleAndUpdate "window*" BorderWidth 5 + I StyleAndUpdate "window*" BorderWidth 5 + I StyleAndUpdate "window*" HandleWidth + I StyleAndUpdate "window*" HandleWidth 3 + I StyleAndUpdate "window*" HandleWidth 7 + I StyleAndUpdate "window*" HandleWidth 7 + I All (window*) Iconify + I StyleAndUpdate "window*" NoIcon + I StyleAndUpdate "window*" NoIcon + I StyleAndUpdate "window*" Icon + I StyleAndUpdate "window*" Icon + I StyleAndUpdate "window*" Icon klcxvndk + I StyleAndUpdate "window*" Icon jdncjdsnc jdnvcjdfnv jkdvjqdsvn + I StyleAndUpdate "window*" Icon test1.xpm + I StyleAndUpdate "window*" Icon test1.xpm + I StyleAndUpdate "window1" Icon test.png + I StyleAndUpdate "window1" Icon test.png + I StyleAndUpdate "window2" Icon xtrek_fed_e.xbm + I StyleAndUpdate "window2" Icon xtrek_fed_e.xbm + I StyleAndUpdate IconSize 56 56 + I StyleAndUpdate IconSize 10 10 120 120 + I StyleAndUpdate IconSize 10 10 + I StyleAndUpdate IconSize 10 -1 + I StyleAndUpdate IconSize + I All (window*) Iconify + I ButtonStyle 1 MiniIcon + I StyleAndUpdate "window*" MiniIcon + I StyleAndUpdate "window*" MiniIcon + I StyleAndUpdate "window*" MiniIcon - + I StyleAndUpdate "window*" MiniIcon - + I StyleAndUpdate "window*" MiniIcon klcxvndk + I StyleAndUpdate "window*" MiniIcon jdncjdsnc jdnvcjdfnv jkdvjqdsvn + I StyleAndUpdate "window*" MiniIcon test1.xpm + I StyleAndUpdate "window*" MiniIcon test1.xpm + I StyleAndUpdate "window1" MiniIcon test.png + I StyleAndUpdate "window1" MiniIcon test.png + I StyleAndUpdate "window2" MiniIcon xtrek_fed_e.xbm + I StyleAndUpdate "window2" MiniIcon xtrek_fed_e.xbm + I StyleAndUpdate "window*" IconBox 1 5 100 500, IconGrid -10 10, IconFill + I StyleAndUpdate "window*" IconBox 1 5 100 500, IconGrid -0 10 + I StyleAndUpdate "window*" IconBox 400 300 100 500, IconGrid -0 10 + I StyleAndUpdate "window*" NoTitle + I StyleAndUpdate "window*" NoTitle + I StyleAndUpdate "window*" Title + I StyleAndUpdate "window*" Title + I StyleAndUpdate "window*" TitleAtBottom + I StyleAndUpdate "window*" TitleAtTop + I StyleAndUpdate "window*" TitleAtLef + I StyleAndUpdate "window*" TitleAtRight + I StyleAndUpdate "window*" TitleAtTop + I StyleAndUpdate "window1" TitleAtBottom + I StyleAndUpdate "window2" TitleAtTop + I StyleAndUpdate "window3" TitleAtLef + I StyleAndUpdate "window4" TitleAtRight + I StyleAndUpdate "window*" LeftTitleRotatedCW + I StyleAndUpdate "window*" LeftTitleRotatedCCW + I StyleAndUpdate "window*" RightTitleRotatedCCW + I StyleAndUpdate "window*" RightTitleRotatedCW + I StyleAndUpdate "window*" TopTitleRotated + I StyleAndUpdate "window*" TopTitleNotRotated + I StyleAndUpdate "window*" BottomTitleRotated + I StyleAndUpdate "window*" BottomTitleNotRotated + I StyleAndUpdate "window*" !UseTitleDecorRotation + I StyleAndUpdate "window*" UseTitleDecorRotation + I StyleAndUpdate "window*" StippledTitle + I StyleAndUpdate "window*" StippledTitleOff + I StyleAndUpdate "window*" IndexedWindowName + I StyleAndUpdate "window*" ExactWindowName + I StyleAndUpdate "window*" IndexedIconName + I StyleAndUpdate "window*" ExactIconName + I StyleAndUpdate "window*" !Borders + I StyleAndUpdate "window*" Borders + I StyleAndUpdate "window*" NoHandles + I StyleAndUpdate "window*" NoHandles + I StyleAndUpdate "window*" Handles + I StyleAndUpdate "window*" Handles + I StyleAndUpdate "window*" WindowListSkip + I StyleAndUpdate "window*" WindowListSkip + I StyleAndUpdate "window*" WindowListHit + I StyleAndUpdate "window*" WindowListHit + I StyleAndUpdate "window*" CirculateSkip + I StyleAndUpdate "window*" CirculateSkip + I StyleAndUpdate "window*" CirculateHit + I StyleAndUpdate "window*" CirculateHit + I StyleAndUpdate "window*" CirculateSkipShaded + I StyleAndUpdate "window*" CirculateHitShaded + I StyleAndUpdate "window*" StaysOnTop + I StyleAndUpdate "window*" StaysOnTop + I StyleAndUpdate "window*" StaysOnBottom + I StyleAndUpdate "window*" StaysOnBottom + I StyleAndUpdate "window*" StaysPut + I StyleAndUpdate "window*" StaysPut + I StyleAndUpdate "window*" Sticky + I StyleAndUpdate "window*" Sticky + I StyleAndUpdate "window*" Slippery + I StyleAndUpdate "window*" Slippery + I StyleAndUpdate "window*" StickyAcrossPages + I StyleAndUpdate "window*" !StickyAcrossPages + I StyleAndUpdate "window*" StickyAcrossDesks + I StyleAndUpdate "window*" !StickyAcrossDesks + I StyleAndUpdate "window*" StartIconic + I StyleAndUpdate "window*" StartIconic + I Exec xterm -geometry 10x5 -T window7 -n window7 -e sleep 1000 + I Wait window7 + I All (window7) Close + I StyleAndUpdate "window*" StartNormal + I StyleAndUpdate "window*" StartNormal AddTest "Test Colors Style" ColorsStyle-Func AddToFunc ColorsStyle-Func + I Next (window1) Focus + I StyleAndUpdate "window*" Color + I StyleAndUpdate "window*" Color blue/red + I StyleAndUpdate "window*" ForeColor + I StyleAndUpdate "window*" ForeColor green + I StyleAndUpdate "window*" BackColor + I StyleAndUpdate "window*" BackColor brown + I StyleAndUpdate "*" HilightFore , HilightBack + I StyleAndUpdate "*" HilightFore blue, HilightBack + I StyleAndUpdate "*" HilightFore green, HilightBack + I StyleAndUpdate "*" HilightFore black, HilightBack yellow + I StyleAndUpdate "*" HilightFore black, HilightBack yellow + I StyleAndUpdate "*" HilightFore gold2, HilightBack SteelBlue + I StyleAndUpdate "*" HilightFore gold2, HilightBack SteelBlue + I StyleAndUpdate "*" HilightFore , HilightBack + I StyleAndUpdate "*" HilightFore gold2, HilightBack SteelBlue + I Colorset 1 fg gold2, bg SteelBlue + I Colorset 2 fg gold2, bg green + I Colorset 3 fg gold2, bg red + I Colorset 4 bg average, fg contrast, TiledPixmap test.png + I Colorset 5 bg average, fg contrast, TiledPixmap test1.xpm + I Colorset 6 fg gold2, bg red, HGradient 40 darkblue blue + I StyleAndUpdate "window*" Colorset 0 + I StyleAndUpdate "window*" HilightColorset 1 + I StyleAndUpdate "window*" BorderColorset 2 + I StyleAndUpdate "window*" HilightBorderColorset 3 + I StyleAndUpdate "window*" Colorset 0 + I StyleAndUpdate "window*" HilightColorset 1 + I StyleAndUpdate "window*" BorderColorset 2 + I StyleAndUpdate "window*" HilightBorderColorset 3 + I StyleAndUpdate "window*" Colorset + I StyleAndUpdate "window*" HilightColorset + I StyleAndUpdate "window*" BorderColorset + I StyleAndUpdate "window*" HilightBorderColorset + I StyleAndUpdate "window*" Colorset -1 + I StyleAndUpdate "window*" HilightColorset -1 + I StyleAndUpdate "window*" BorderColorset -1 + I StyleAndUpdate "window*" HilightBorderColorset -1 + I StyleAndUpdate "window*" Colorset kjdsbckjsd + I StyleAndUpdate "window*" HilightColorset ndscbkjds bkjdbcjd + I StyleAndUpdate "window*" BorderColorset nsdc + I StyleAndUpdate "window*" HilightBorderColorset dsncsdcé + I StyleAndUpdate "window*" Colorset 0 + I StyleAndUpdate "window*" HilightColorset 1 + I StyleAndUpdate "window*" BorderColorset 2 + I StyleAndUpdate "window*" HilightBorderColorset 3 + I All (window*) Iconify + I Next (window1) Focus + I StyleAndUpdate "window*" IconTitleColorset 4 + I StyleAndUpdate "window*" HilightIconTitleColorset 5 + I StyleAndUpdate "window*" IconBackgroundColorset 6 + I StyleAndUpdate "window*" IconTitleColorset + I StyleAndUpdate "window*" HilightIconTitleColorset + I StyleAndUpdate "window*" IconBackgroundColorset + I StyleAndUpdate "window*" IconTitleColorset -1 + I StyleAndUpdate "window*" HilightIconTitleColorset -1 + I StyleAndUpdate "window*" IconBackgroundColorset -1 + I StyleAndUpdate "window*" IconTitleColorset -1aaaaaaa + I StyleAndUpdate "window*" HilightIconTitleColorset -1zzzzzzzzzz + I StyleAndUpdate "window*" IconBackgroundColorset -1eeeeeeeeee + I StyleAndUpdate "window*" IconTitleColorset 4 + I StyleAndUpdate "window*" HilightIconTitleColorset 5 + I StyleAndUpdate "window*" IconBackgroundColorset 6 + I StyleAndUpdate "window*" IconTitleRelief + I StyleAndUpdate "window*" IconTitleRelief -2 + I StyleAndUpdate "window*" IconTitleRelief 10 + I StyleAndUpdate "window*" IconTitleRelief ZTTE + I StyleAndUpdate "window*" IconTitleRelief + I StyleAndUpdate "window*" IconBackgroundRelief + I StyleAndUpdate "window*" IconBackgroundRelief -2 + I StyleAndUpdate "window*" IconBackgroundRelief 10 + I StyleAndUpdate "window*" IconBackgroundRelief ZTTE + I StyleAndUpdate "window*" IconBackgroundRelief + I StyleAndUpdate "window*" IconBackgroundPadding + I StyleAndUpdate "window*" IconBackgroundPadding -2 + I StyleAndUpdate "window*" IconBackgroundPadding 10 + I StyleAndUpdate "window*" IconBackgroundPadding ZTTE + I StyleAndUpdate "window*" IconBackgroundPadding + I All (window*) Iconify AddTest "Test StyleFont" StyleFont-Func AddToFunc StyleFont-Func + I StyleAndUpdate "*" Font + I StyleAndUpdate "*" Font 9x15 + I StyleAndUpdate "*" Font 9x15 + I StyleAndUpdate "*" Font /nonexistent/foo/bar + I StyleAndUpdate "*" Font -adobe-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* + I StyleAndUpdate "*" Font AddTest "Test StyleIconFont" StyleIconFont-Func AddToFunc StyleIconFont-Func + I StyleAndUpdate * IconFont + I StyleAndUpdate * IconFont 9x15 + I StyleAndUpdate * IconFont 9x15 + I StyleAndUpdate * IconFont /nonexistent/foo/bar + I StyleAndUpdate * IconFont -adobe-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* + I StyleAndUpdate * IconFont -adobe-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* + I StyleAndUpdate * IconFont # Just arbitrary break in style tests: AddTest "Test Style2" Style2-Func AddToFunc Style2-Func + I StyleAndUpdate "window*" StartsOnDesk + I StyleAndUpdate "window*" StartsOnDesk 0 + I StyleAndUpdate "window*" StartsOnDesk 0 + I StyleAndUpdate "window*" StartsOnDesk 0 + I StyleAndUpdate "window*" StartsOnDesk 1 + I StyleAndUpdate "window*" SkipMapping + I Exec xterm -geometry 10x5 -T window7 -n window7 -e sleep 1000 + I Wait window7 + I All (window7) Close + I StyleAndUpdate "window*" StartsOnPage + I StyleAndUpdate "window*" StartsOnPage 0 + I StyleAndUpdate "window*" StartsOnPage 0 0 + I StyleAndUpdate "window*" StartsOnPage 0 0 + I StyleAndUpdate "window*" StartsOnPage 1 + I Exec xterm -geometry 10x5 -T window7 -n window7 -e sleep 1000 + I Wait window7 + I All (window7) Close + I StyleAndUpdate "window*" StartsAnyWhere + I StyleAndUpdate "window*" StartsAnyWhere + I StyleAndUpdate "window1" ActivePlacementHonorsStartsOnPage + I StyleAndUpdate "window2" ActivePlacementIgnoresStartsOnPage + I StyleAndUpdate "window3" CaptureHonorsStartsOnPage + I StyleAndUpdate "window4" CaptureIgnoresStartsOnPage + I StyleAndUpdate "window5" RecaptureHonorsStartsOnPage + I StyleAndUpdate "window6" RecaptureIgnoresStartsOnPage + I StyleAndUpdate "window1" StartsOnPageIncludesTransients + I StyleAndUpdate "window2" StartsOnPageIgnoresTransients + I StyleAndUpdate "window*" IconTitle + I StyleAndUpdate "window*" IconTitle + I StyleAndUpdate "window*" NoIconTitle + I StyleAndUpdate "window*" NoIconTitle + I StyleAndUpdate "window_iconic" IconTitle + I StyleAndUpdate "window*" MWMButtons + I StyleAndUpdate "window*" MWMButtons + I StyleAndUpdate "window*" FvwmButtons + I StyleAndUpdate "window*" FvwmButtons + I StyleAndUpdate "window*" MWMBorder + I StyleAndUpdate "window*" MWMBorder + I StyleAndUpdate "window*" FvwmBorder + I StyleAndUpdate "window*" FvwmBorder + I StyleAndUpdate "window*" MWMDecor + I StyleAndUpdate "window*" MWMDecor + I StyleAndUpdate "window*" NoDecorHint + I StyleAndUpdate "window*" NoDecorHint + I StyleAndUpdate "window*" MWMFunctions + I StyleAndUpdate "window*" MWMFunctions + I StyleAndUpdate "window*" NoFuncHint + I StyleAndUpdate "window*" NoFuncHint + I StyleAndUpdate "window*" HintOverride + I StyleAndUpdate "window*" HintOverride + I StyleAndUpdate "window*" NoOverride + I StyleAndUpdate "window*" NoOverride + I StyleAndUpdate "window*" NoButton + I StyleAndUpdate "window*" NoButton 1 + I StyleAndUpdate "window*" NoButton 2 + I StyleAndUpdate "window*" Button + I StyleAndUpdate "window*" Button 3 + I StyleAndUpdate "window*" Button 0 + I StyleAndUpdate "window*" Button 2 + I StyleAndUpdate "window*" Button 1 + I StyleAndUpdate "window*" ReizeHintOverride + I StyleAndUpdate "window*" NoResizeOverride + I StyleAndUpdate "window*" OLDecor + I StyleAndUpdate "window*" OLDecor + I StyleAndUpdate "window*" NoOLDecor + I StyleAndUpdate "window*" NoOLDecor + I StyleAndUpdate "window*" GNOMEUseHints + I StyleAndUpdate "window*" GNOMEIgnoreHints + I StyleAndUpdate "window*" StickyIcon + I StyleAndUpdate "window*" StickyIcon + I StyleAndUpdate "window*" SlipperyIcon + I StyleAndUpdate "window*" SlipperyIcon + I StyleAndUpdate "window*" StickyAcrossPagesIcon + I StyleAndUpdate "window*" StickyAcrossPagesIcon + I StyleAndUpdate "window*" !StickyAcrossPagesIcon + I StyleAndUpdate "window*" !StickyAcrossPagesIcon + I StyleAndUpdate "window*" StickyAcrossDesksIcon + I StyleAndUpdate "window*" StickyAcrossDesksIcon + I StyleAndUpdate "window*" !StickyAcrossDesksIcon + I StyleAndUpdate "window*" !StickyAcrossDesksIcon # old names for placement + I StyleAndUpdate "window*" SmartPlacement + I StyleAndUpdate "window*" SmartPlacement + I Exec xterm -geometry 10x5 -T window7 -n window7 -e sleep 1000 + I Wait window7 + I All (window7) Close + I StyleAndUpdate "window*" CleverPlacement + I StyleAndUpdate "window*" DumbPlacement + I StyleAndUpdate "window*" DumbPlacement + I StyleAndUpdate "window*" RandomPlacement + I StyleAndUpdate "window*" RandomPlacement + I StyleAndUpdate "window*" ActivePlacement + I StyleAndUpdate "window*" ActivePlacement # new one's + I StyleAndUpdate "window*" CascadePlacement + I StyleAndUpdate "window*" CascadePlacement + I Exec xterm -geometry 10x5 -T window7 -n window7 -e sleep 1000 + I Wait window7 + I All (window7) Close + I StyleAndUpdate "window*" ManualPlacement + I StyleAndUpdate "window*" ManualPlacement # + I Exec xterm -geometry 10x5 -T window7 -n window7 -e sleep 1000 # + I Wait window7 # + I All (window7) Close + I StyleAndUpdate "window*" TileCascadePlacement + I StyleAndUpdate "window*" TileCascadePlacement + I Exec xterm -geometry 10x5 -T window7 -n window7 -e sleep 1000 + I Wait window7 + I All (window7) Close + I StyleAndUpdate "window*" TileManualPlacement + I StyleAndUpdate "window*" TileManualPlacement # + I Exec xterm -geometry 10x5 -T window7 -n window7 -e sleep 1000 # + I Wait window7 # + I All (window7) Close + I StyleAndUpdate "window*" MinOverlapPlacement + I StyleAndUpdate "window*" MinOverlapPlacement + I Exec xterm -geometry 10x5 -T window7 -n window7 -e sleep 1000 + I Wait window7 + I All (window7) Close + I StyleAndUpdate "window*" MinOverlapPercentPlacement + I StyleAndUpdate "window*" MinOverlapPercentPlacement + I Exec xterm -geometry 10x5 -T window7 -n window7 -e sleep 1000 + I Wait window7 + I All (window7) Close + I StyleAndUpdate "window*" CenterPlacement + I StyleAndUpdate "window*" centerplacement + I Exec xterm -geometry 10x5 -T window7 -n window7 -e sleep 1000 + I Wait window7 + I All (window7) Close + I StyleAndUpdate "window*" MinOverlapPlacementPenalties 1 10 5 3 0.2 50000 + I StyleAndUpdate "window*" MinOverlapPlacementPenalties -1 aa 0 16 kk + I StyleAndUpdate "window*" MinOverlapPlacementPenalties + I Exec xterm -geometry 10x5 -T window7 -n window7 -e sleep 1000 + I Wait window7 + I All (window7) Close + I StyleAndUpdate "window*" MinOverlapPlacementPenalties + I StyleAndUpdate "window*" MinOverlapPercentPlacementPenalties 12 6 4 1 + I StyleAndUpdate "window*" MinOverlapPercentPlacementPenalties -1 aa 0 16 + I Exec xterm -geometry 10x5 -T window7 -n window7 -e sleep 1000 + I Wait window7 + I All (window7) Close + I StyleAndUpdate "window*" MinOverlapPercentPlacementPenalties + I StyleAndUpdate "window*" DecorateTransient + I StyleAndUpdate "window*" DecorateTransient # need to map or has a transient window + I StyleAndUpdate "window*" NakedTransient + I StyleAndUpdate "window*" NakedTransient + I StyleAndUpdate "window*" RaiseTransient + I StyleAndUpdate "window*" DontRaiseTransient + I StyleAndUpdate "window*" LowerTransient + I StyleAndUpdate "window*" DontLowerTransient + I StyleAndUpdate "window*" StackTransientParent + I StyleAndUpdate "window*" DontStackTransientParent + I StyleAndUpdate "window*" SkipMapping + I StyleAndUpdate "window*" SkipMapping + I StyleAndUpdate "window*" ShowMapping + I StyleAndUpdate "window*" ShowMapping + I StyleAndUpdate "window*" ScatterWindowGroups + I StyleAndUpdate "window*" KeepWindowGroupsOnDesk + I StyleAndUpdate "window*" UseDecor + I StyleAndUpdate "window*" UseDecor + I StyleAndUpdate "*indo*" UseStyle window* + I StyleAndUpdate "*indo*" UseStyle * + I StyleAndUpdate "*indo*" NoPPosition + I StyleAndUpdate "*indo*" NoPPosition # mapping test + I StyleAndUpdate "*indo*" UsePPosition + I StyleAndUpdate "*indo*" UsePPosition + I StyleAndUpdate "*indo*" NoUSPosition # mapping test + I StyleAndUpdate "*indo*" UseUSPosition + I StyleAndUpdate "*indo*" NoTransientPPosition # transient mapping test + I StyleAndUpdate "*indo*" UseTransientPPosition + I StyleAndUpdate "*indo*" NoTransientUSPosition # transient mapping test + I StyleAndUpdate "*indo*" UseTransientUSPosition, + I StyleAndUpdate "window*" UseIconPosition # Map Eterm? + I StyleAndUpdate "window*" NoIconPosition + I StyleAndUpdate "*indo*" Lenience + I StyleAndUpdate "*indo*" Lenience + I StyleAndUpdate "*indo*" NoLenience + I StyleAndUpdate "*indo*" NoLenience + I StyleAndUpdate "*indo*" ClickToFocus + I StyleAndUpdate "*indo*" ClickToFocus + I StyleAndUpdate "*indo*" SloppyFocus + I StyleAndUpdate "*indo*" SloppyFocus + I StyleAndUpdate "*indo*" MouseFocus + I StyleAndUpdate "*indo*" MouseFocus + I StyleAndUpdate "*indo*" FocusFollowsMouse + I StyleAndUpdate "*indo*" FocusFollowsMouse + I StyleAndUpdate "window2" NeverFocus + I StyleAndUpdate "window*" ClickToFocusPassesClickOff + I StyleAndUpdate "window*" ClickToFocusPassesClick + I StyleAndUpdate "window*" ClickToFocusRaisesOff + I StyleAndUpdate "window*" ClickToFocusRaises + I StyleAndUpdate "window*" MouseFocusClickRaises + I StyleAndUpdate "window*" MouseFocusClickRaisesOff + I StyleAndUpdate "window*" StartsLowered + I StyleAndUpdate "window*" StartsRaised + I StyleAndUpdate "window*" GrabFocus + I StyleAndUpdate "window*" GrabFocusOff + I StyleAndUpdate "window*" GrabFocusTransient + I StyleAndUpdate "window*" GrabFocusTransientOff + I StyleAndUpdate "window*" FPFocusClickButtons + I StyleAndUpdate "window*" FPFocusClickModifiers + I StyleAndUpdate "window*" !FPSortWindowlistByFocus + I StyleAndUpdate "window*" FPSortWindowlistByFocus + I StyleAndUpdate "window*" FPClickRaisesFocused + I StyleAndUpdate "window*" !FPClickRaisesFocused + I StyleAndUpdate "window*" FPClickDecorRaisesFocused + I StyleAndUpdate "window*" !FPClickDecorRaisesFocused + I StyleAndUpdate "window*" FPClickIconRaisesFocused + I StyleAndUpdate "window*" !FPClickIconRaisesFocused + I StyleAndUpdate "window*" !FPClickRaisesUnfocused + I StyleAndUpdate "window*" FPClickRaisesUnfocused + I StyleAndUpdate "window*" FPClickDecorRaisesUnfocused + I StyleAndUpdate "window*" !FPClickDecorRaisesUnfocused + I StyleAndUpdate "window*" FPClickIconRaisesUnfocused + I StyleAndUpdate "window*" !FPClickIconRaisesUnfocused + I StyleAndUpdate "window*" FPClickToFocus + I StyleAndUpdate "window*" !FPClickToFocus + I StyleAndUpdate "window*" FPClickDecorToFocus + I StyleAndUpdate "window*" !FPClickDecorToFocus + I StyleAndUpdate "window*" FPClickIconToFocus + I StyleAndUpdate "window*" !FPClickIconToFocus + I StyleAndUpdate "window*" !FPEnterToFocus + I StyleAndUpdate "window*" FPEnterToFocus + I StyleAndUpdate "window*" !FPLeaveToUnfocus + I StyleAndUpdate "window*" FPLeaveToUnfocus + I StyleAndUpdate "window*" !FPFocusByProgram + I StyleAndUpdate "window*" FPFocusByProgram + I StyleAndUpdate "window*" !FPFocusByFunction + I StyleAndUpdate "window*" FPFocusByFunction + I StyleAndUpdate "window*" FPFocusByFunctionWarpPointer + I StyleAndUpdate "window*" !FPFocusByFunctionWarpPointer + I StyleAndUpdate "window*" FPLenient + I StyleAndUpdate "window*" !FPLenient + I StyleAndUpdate "window*" !FPPassFocusClick + I StyleAndUpdate "window*" FPPassFocusClick + I StyleAndUpdate "window*" !FPPassRaiseClick + I StyleAndUpdate "window*" FPPassRaiseClick + I StyleAndUpdate "window*" FPIgnoreFocusClickMotion + I StyleAndUpdate "window*" !FPIgnoreFocusClickMotion + I StyleAndUpdate "window*" FPIgnoreRaiseClickMotion + I StyleAndUpdate "window*" !FPIgnoreRaiseClickMotion + I StyleAndUpdate "window*" !FPAllowFocusClickFunction + I StyleAndUpdate "window*" FPAllowFocusClickFunction + I StyleAndUpdate "window*" !FPAllowRaiseClickFunction + I StyleAndUpdate "window*" FPAllowRaiseClickFunction + I StyleAndUpdate "window*" FPGrabFocus + I StyleAndUpdate "window*" !FPGrabFocus + I StyleAndUpdate "window*" !FPGrabFocusTransient + I StyleAndUpdate "window*" FPGrabFocusTransient + I StyleAndUpdate "window*" FPOverrideGrabFocus + I StyleAndUpdate "window*" !FPOverrideGrabFocus + I StyleAndUpdate "window*" FPReleaseFocus + I StyleAndUpdate "window*" !FPReleaseFocus + I StyleAndUpdate "window*" !FPReleaseFocusTransient + I StyleAndUpdate "window*" FPReleaseFocusTransient + I StyleAndUpdate "window*" FPOverrideReleaseFocus + I StyleAndUpdate "window*" !FPOverrideReleaseFocus + I StyleAndUpdate "window*" StartsLowered + I StyleAndUpdate "window*" StartsRaised + I StyleAndUpdate "window*" IgnoreRestack + I StyleAndUpdate "window*" AllowRestack + I StyleAndUpdate "window*" FixedPosition + I StyleAndUpdate "window*" VariablePosition + I StyleAndUpdate "window*" FixedUSPosition + I StyleAndUpdate "window*" VariableUSPosition + I StyleAndUpdate "window*" FixedPPosition + I StyleAndUpdate "window*" VariablePPosition + I StyleAndUpdate "window*" FixedSize + I StyleAndUpdate "window*" VariableSize + I StyleAndUpdate "window*" FixedUSSize + I StyleAndUpdate "window*" VariableUSSize + I StyleAndUpdate "window*" FixedPSize + I StyleAndUpdate "window*" VariablePSize + I StyleAndUpdate "window*" !Closable + I StyleAndUpdate "window*" Closable + I StyleAndUpdate "window*" !Iconifiable + I StyleAndUpdate "window*" Iconifiable + I StyleAndUpdate "window*" !Maximizable + I StyleAndUpdate "window*" Maximizable + I StyleAndUpdate "window*" !AllowMaximizeFixedSize + I StyleAndUpdate "window*" AllowMaximizeFixedSize + I StyleAndUpdate "window*" IconOverride + I StyleAndUpdate "window*" NoIconOverride + I StyleAndUpdate "window*" NoActiveIconOverride + I StyleAndUpdate "window1" DepressableBorder + I StyleAndUpdate "window2" FirmBorder + I StyleAndUpdate "window3" MaxWindowSize 10p 10p + I StyleAndUpdate "window3" MaxWindowSize 200p 2000000p + I StyleAndUpdate "window3" MaxWindowSize 100 100 + I StyleAndUpdate "window3" MaxWindowSize 0 0 + I StyleAndUpdate "window3" MaxWindowSize + I StyleAndUpdate "window*" IconifyWindowGroups + I StyleAndUpdate "window*" IconifyWindowGroupsOff + I StyleAndUpdate "window*" ResizeOpaque + I StyleAndUpdate "window*" ResizeOutline + I StyleAndUpdate "window*" BackingStore + I StyleAndUpdate "window*" BackingStoreOff + I StyleAndUpdate "window*" BackingStoreWindowDefault + I StyleAndUpdate "window*" Opacity + I StyleAndUpdate "window*" ParentalRelativity + I StyleAndUpdate "window*" Opacity + I StyleAndUpdate "window*" SaveUnder + I StyleAndUpdate "window*" SaveUnderOff + I StyleAndUpdate "window*" WindowShadeShrinks + I StyleAndUpdate "window*" WindowShadeScrolls + I StyleAndUpdate "window*" WindowShadeSteps 0 + I StyleAndUpdate "window*" WindowShadeSteps 2 + I StyleAndUpdate "window*" WindowShadeSteps 2p + I StyleAndUpdate "window*" WindowShadeAlwaysLazy + I StyleAndUpdate "window*" WindowShadeBusy + I StyleAndUpdate "window*" WindowShadeLazy + I StyleAndUpdate "window*" EWMHDonateIcon + I StyleAndUpdate "window*" EWMHDontDonateIcon + I StyleAndUpdate "window*" EWMHDonateMiniIcon + I StyleAndUpdate "window*" EWMHDontDonateMiniIcon + I StyleAndUpdate "window*" EWMHMiniIconOverride + I StyleAndUpdate "window*" EWMHNoMiniIconOverride + I StyleAndUpdate "window*" EWMHUseStackingOrderHints + I StyleAndUpdate "window*" EWMHIgnoreStackingOrderHints + I StyleAndUpdate "window*" EWMHIgnoreStateHints + I StyleAndUpdate "window*" EWMHUseStateHints + I StyleAndUpdate "window*" EWMHIgnoreStrutHints + I StyleAndUpdate "window*" EWMHUseStrutHints + I StyleAndUpdate "window*" EWMHMaximizeIgnoreWorkingArea + I StyleAndUpdate "window*" EWMHMaximizeUseWorkingArea + I StyleAndUpdate "window*" EWMHMaximizeUseDynamicWorkingArea + I StyleAndUpdate "window*" EWMHPlacementIgnoreWorkingArea + I StyleAndUpdate "window*" EWMHPlacementUseWorkingArea + I StyleAndUpdate "window*" EWMHPlacementUseDynamicWorkingArea + I PrintInfo style 36 + I All (window7) Close AddTest "Test DestroyStyle" DestroyStyle AddToFunc DestroyStyle-Func + I StyleAndUpdate "destroyme" IconBox 1 1 2 2, font 10x20, lenience + I DestroyStyle "destroyme" + I DestroyStyle "destroyme" + I StyleAndUpdate "destroyme" IconBox -80x240-1-1, IconFill b r, mwmdecor + I DestroyStyle "destroyme" + I DestroyStyle "destroyme" # The man page says not to do this, to-do-2.4 #130 + I DestroyStyle * DestroyFunc WindowStyleAndUpdate AddToFunc CommandAndUpdate I Echo $* + I $* + I UpdateStyles AddTest "Test WindowStyle" WindowStyle-Func AddToFunc WindowStyle-Func + I CommandAndUpdate Next (window*) WindowStyle BorderWidth 5, HandleWidth 5 + I CommandAndUpdate Next (window*) WindowStyle NoTitle + I CommandAndUpdate Next (window*) WindowStyle NoTitle + I CommandAndUpdate Next (window*) WindowStyle NoTitle, gffgghf + I CommandAndUpdate All (window*) WindowStyle Sticky + I CommandAndUpdate All (window*) WindowStyle Sticky + I CommandAndUpdate All (window*) WindowStyle Slippery + I CommandAndUpdate All (window*) WindowStyle Slippery + I CommandAndUpdate Next (window*) WindowStyle + I CommandAndUpdate Next (window*) WindowStyle + I CommandAndUpdate Next (window*) WindowStyle nvhjvhjvhvhv jbjhbjkbjb + I CommandAndUpdate Next (window*) DestroyWindowStyle + I CommandAndUpdate Next (window*) DestroyWindowStyle pouf + I CommandAndUpdate All (window*) DestroyWindowStyle + I CommandAndUpdate All (window*) DestroyWindowStyle DestroyFunc AddButtonStyleAndUpdate AddToFunc AddButtonStyleAndUpdate I Echo AddButtonStyle $* + I AddButtonStyle $* + I UpdateStyles DestroyFunc AddTitleStyleAndUpdate AddToFunc AddTitleStyleAndUpdate I Echo AddTitleStyle $* + I AddTitleStyle $* + I UpdateStyles AddTest "Test AddButtonStyleMisc" AddButtonStyleMisc-Func AddToFunc AddButtonStyleMisc-Func # Need to add a buttonstyle command to get the buttons # in a known state. # Look at putting all these styles in a decor as shown in the man page. # The "Toggled" feature needs to be tested, need shaded/maximized/sticky # windows with corresponding mwmdecors set. + I AddButtonStyleAndUpdate + I AddButtonStyleAndUpdate Reset + I AddButtonStyleAndUpdate All -- raisED + I AddButtonStyleAndUpdate All -- SUNk + I AddButtonStyleAndUpdate Left -- flat + I AddButtonStyleAndUpdate Left -- flat + I AddButtonStyleAndUpdate Right -- !flat + I AddButtonStyleAndUpdate Left Activeup -- raised + I AddButtonStyleAndUpdate Left Activeup -- raised + I AddButtonStyleAndUpdate Left activeDOWN -- sunk + I AddButtonStyleAndUpdate Left inactive -- flat + I AddButtonStyleAndUpdate Left inactive -- flat + I AddButtonStyleAndUpdate Left Activeup -- sunk + I AddButtonStyleAndUpdate 1 simple + I AddButtonStyleAndUpdate 1 simple + I AddButtonStyleAndUpdate 1 default 3 + I AddButtonStyleAndUpdate 1 default 3 + I AddButtonStyleAndUpdate 1 solid blaCK + I AddButtonStyleAndUpdate 1 solid blaCK + I AddButtonStyleAndUpdate 1 simple AddTest "Test AddButtonStyleGradients" AddButtonStyleGradients-Func AddToFunc AddButtonStyleGradients-Func + I AddButtonStyleAndUpdate 2 hgradient 16 green red + I AddButtonStyleAndUpdate 2 hgradient 16 green red + I AddButtonStyleAndUpdate 2 hgradient 16 red blue + I AddButtonStyleAndUpdate 2 hgradient 32 red blue + I AddButtonStyleAndUpdate 2 hgradient 128 red blue + I AddButtonStyleAndUpdate 2 hgradient 2 red blue + I AddButtonStyleAndUpdate 2 vgradient 16 green red + I AddButtonStyleAndUpdate 2 vgradient 16 green red + I AddButtonStyleAndUpdate 2 vgradient 16 red blue + I AddButtonStyleAndUpdate 2 vgradient 32 red blue + I AddButtonStyleAndUpdate 2 vgradient 128 red blue + I AddButtonStyleAndUpdate 2 vgradient 2 red blue + I AddButtonStyleAndUpdate 3 VGradient 16 3 Red 20 Blue 30 Black 50 Grey + I AddButtonStyleAndUpdate 3 VGradient 16 3 Red 20 Blue 30 Black 50 Grey + I AddButtonStyleAndUpdate 3 VGradient 16 4 Red 20 Blue 30 Black 20 Grey 30 yellow + I AddButtonStyleAndUpdate 3 VGradient 16 2 Red 20 Blue 80 + I AddButtonStyleAndUpdate 3 VGradient 128 2 Red 20 Blue 80 + I AddButtonStyleAndUpdate 3 VGradient 2 2 Red 20 Blue 80 + I AddButtonStyleAndUpdate 3 hGradient 16 3 Red 20 Blue 30 Black 50 Grey + I AddButtonStyleAndUpdate 3 hGradient 16 3 Red 20 Blue 30 Black 50 Grey + I AddButtonStyleAndUpdate 3 hGradient 16 4 Red 20 Blue 30 Black 20 Grey 30 yellow + I AddButtonStyleAndUpdate 3 hGradient 16 2 Red 20 Blue 80 + I AddButtonStyleAndUpdate 3 hGradient 128 2 Red 20 Blue 80 + I AddButtonStyleAndUpdate 3 hGradient 2 2 Red 20 Blue 80 + I AddButtonStyleAndUpdate ToggledActiveDown VGradient 55 + I AddButtonStyleAndUpdate ToggledActiveUp VGradient 55 b + I AddButtonStyleAndUpdate ToggledInactive VGradient 55 blue + I AddButtonStyleAndUpdate ActiveDown VGradient 55 blue + I AddButtonStyleAndUpdate ActiveUp VGradient 55 blue r + I AddButtonStyleAndUpdate Inactive VGradient 55 blue red + I AddButtonStyleAndUpdate ActiveDown VGradient 20 3 blue 45 green + I AddButtonStyleAndUpdate ActiveDown VGradient 20 3 blue 45 green 55 red + I AddButtonStyleAndUpdate ActiveDown VGradient 20 3 blue 45 green 55 red 21 + I AddButtonStyleAndUpdate ActiveDown VGradient 20 3 blue 45 green 55 red 21 yellow + I AddButtonStyleAndUpdate ActiveDown VGradient 20 3 blue 45 green 55 red 21 yellow 25 + I AddButtonStyleAndUpdate ActiveDown VGradient 20 2 blue 45 green -10 red AddTest "Test AddButtonStyleVectors" AddButtonStyleVectors-Func AddToFunc AddButtonStyleVectors-Func + I AddButtonStyleAndUpdate Reset + I AddButtonStyleAndUpdate 1 Vector 5 45x60@0 80x60@0 80x80@1 45x80@1 45x60@0 + I AddButtonStyleAndUpdate 1 Vector 5 45x60@0 80x60@0 80x80@1 45x80@1 45x60@0 + I AddButtonStyleAndUpdate 1 4 50x35@1 65x65@0 35x65@0 50x35@1 + I AddButtonStyleAndUpdate 1 4 50x65@1 35x35@1 65x35@1 50x65@0 + I AddButtonStyleAndUpdate 1 5 40x40@1 60x40@1 60x60@0 40x60@0 40x40@1 + I AddButtonStyleAndUpdate 1 5 + I AddButtonStyleAndUpdate 1 5 40x40@1 60x40@1 60x60@0 40x60@0 40x40@1 + I AddButtonStyleAndUpdate Reset AddTest "Test AddButtonStylePixmaps" AddButtonStylePixmaps-Func AddToFunc AddButtonStylePixmaps-Func + I AddButtonStyleAndUpdate 1 Pixmap test1.xpm + I AddButtonStyleAndUpdate 1 Pixmap test2.xpm + I AddButtonStyleAndUpdate 1 Pixmap test.png + I AddButtonStyleAndUpdate 1 Pixmap xtrek_fed_e.xbm + I AddButtonStyleAndUpdate 1 TiledPixmap test2.xpm + I AddButtonStyleAndUpdate 1 TiledPixmap test2.xpm + I AddButtonStyleAndUpdate 1 TiledPixmap test1.xpm + I AddButtonStyleAndUpdate 1 TiledPixmap test.png + I AddButtonStyleAndUpdate 1 TiledPixmap xtrek_fed_e.xbm + I AddButtonStyleAndUpdate 1 ActiveUp (Pixmap test3.xpm) ActiveDown (Pixmap test2.xpm) + I AddButtonStyleAndUpdate 1 Inactive Pixmap nonexistent.xpm + I AddButtonStyleAndUpdate 1 Inactive Pixmap test3.xpm + I AddButtonStyleAndUpdate 1 Inactive Pixmap test3.xpm + I AddButtonStyleAndUpdate 1 Inactive Pixmap + I AddButtonStyleAndUpdate 1 MiniIcons + I AddButtonStyleAndUpdate 1 miniicons AddTest "Test AddTitleStyle" AddTitleStyle-Func AddToFunc AddTitleStyle-Func # Need a "toggled" test # The TitleStyle should first be cleared with "TitleStyle" + I AddTitleStyleAndUpdate + I AddTitleStyleAndUpdate -- raisED + I AddTitleStyleAndUpdate -- SUNk + I AddTitleStyleAndUpdate -- flat + I AddTitleStyleAndUpdate -- flat + I AddTitleStyleAndUpdate -- !flat + I AddTitleStyleAndUpdate Activeup -- raised + I AddTitleStyleAndUpdate Activeup -- raised + I AddTitleStyleAndUpdate activeDOWN -- sunk + I AddTitleStyleAndUpdate inactive -- flat + I AddTitleStyleAndUpdate inactive -- flat + I AddTitleStyleAndUpdate Activeup -- sunk + I AddTitleStyleAndUpdate simple + I AddTitleStyleAndUpdate simple + I AddTitleStyleAndUpdate default 3 + I AddTitleStyleAndUpdate default 3 + I AddTitleStyleAndUpdate solid blaCK + I AddTitleStyleAndUpdate solid blaCK + I AddTitleStyleAndUpdate simple AddTest "Test AddTitleStyleGradients" AddTitleStyleGradients-Func AddToFunc AddTitleStyleGradients-Func + I AddTitleStyleAndUpdate hgradient 16 green red + I AddTitleStyleAndUpdate hgradient 16 green red + I AddTitleStyleAndUpdate hgradient 16 red blue + I AddTitleStyleAndUpdate hgradient 32 red blue + I AddTitleStyleAndUpdate hgradient 128 red blue + I AddTitleStyleAndUpdate hgradient 2 red blue + I AddTitleStyleAndUpdate vgradient 16 green red + I AddTitleStyleAndUpdate vgradient 16 green red + I AddTitleStyleAndUpdate vgradient 16 red blue + I AddTitleStyleAndUpdate vgradient 32 red blue + I AddTitleStyleAndUpdate vgradient 128 red blue + I AddTitleStyleAndUpdate vgradient 2 red blue + I AddTitleStyleAndUpdate VGradient 16 3 Red 20 Blue 30 Black 50 Grey + I AddTitleStyleAndUpdate VGradient 16 3 Red 20 Blue 30 Black 50 Grey + I AddTitleStyleAndUpdate VGradient 16 4 Red 20 Blue 30 Black 20 Grey 30 yellow + I AddTitleStyleAndUpdate VGradient 16 2 Red 20 Blue 80 + I AddTitleStyleAndUpdate VGradient 128 2 Red 20 Blue 80 + I AddTitleStyleAndUpdate VGradient 2 2 Red 20 Blue 80 + I AddTitleStyleAndUpdate hGradient 16 3 Red 20 Blue 30 Black 50 Grey + I AddTitleStyleAndUpdate hGradient 16 3 Red 20 Blue 30 Black 50 Grey + I AddTitleStyleAndUpdate hGradient 16 4 Red 20 Blue 30 Black 20 Grey 30 yellow + I AddTitleStyleAndUpdate hGradient 16 2 Red 20 Blue 80 + I AddTitleStyleAndUpdate hGradient 128 2 Red 20 Blue 80 + I AddTitleStyleAndUpdate hGradient 2 2 Red 20 Blue 80 AddTest "Test AddTitleStyleVectorButtons" AddTitleStyleVectorButtons-Func AddToFunc AddTitleStyleVectorButtons-Func + I AddTitleStyleAndUpdate Vector 5 45x60@0 80x60@0 80x80@1 45x80@1 45x60@0 + I AddTitleStyleAndUpdate Vector 5 45x60@0 80x60@0 80x80@1 45x80@1 45x60@0 + I AddTitleStyleAndUpdate 4 50x35@1 65x65@0 35x65@0 50x35@1 + I AddTitleStyleAndUpdate 4 50x65@1 35x35@1 65x35@1 50x65@0 + I AddTitleStyleAndUpdate 5 40x40@1 60x40@1 60x60@0 40x60@0 40x40@1 + I AddTitleStyleAndUpdate 5 40x40@1 60x40@1 60x60@0 40x60@0 40x40@1 AddTest "Test AddTitleStylePixmaps" AddTitleStylePixmaps-Func AddToFunc AddTitleStylePixmaps-Func + I AddTitleStyleAndUpdate Pixmap test1.xpm + I AddTitleStyleAndUpdate Pixmap test2.xpm + I AddTitleStyleAndUpdate Pixmap test.png + I AddTitleStyleAndUpdate Pixmap xtrek_fed_e.xbm + I AddTitleStyleAndUpdate TiledPixmap test2.xpm + I AddTitleStyleAndUpdate TiledPixmap test2.xpm + I AddTitleStyleAndUpdate TiledPixmap test.png + I AddTitleStyleAndUpdate TiledPixmap xtrek_fed_e.xbm + I AddTitleStyleAndUpdate TiledPixmap test1.xpm + I AddTitleStyleAndUpdate ActiveUp (Pixmap test3.xpm) ActiveDown (Pixmap test2.xpm) + I AddTitleStyleAndUpdate Inactive Pixmap nonexistent.xpm + I AddTitleStyleAndUpdate Inactive Pixmap test3.xpm + I AddTitleStyleAndUpdate Inactive Pixmap test3.xpm + I AddTitleStyleAndUpdate Inactive Pixmap + I AddTitleStyleAndUpdate MiniIcons + I AddTitleStyleAndUpdate miniicons AddTest "Test AddToDecor" AddToDecor-Func AddToFunc AddToDecor-Func + I AddToDecor # This test needs to apply the Decor to some windows using "UseDecor". + I DestroyDecor bar + I AddToDecor bar + I AddToDecor bar AddButtonStyle All ActiveUp (-- flat) Inactive (-- flat) + I AddToDecor bar ButtonStyle All ActiveUp (-- flat) Inactive (-- flat) + I AddToDecor bar AddTitleStyle -- flat + I AddToDecor bar TitleStyle -- flat + I AddToDecor bar BorderStyle -- HiddenHandles NoInset + I DestroyDecor foo + I AddToDecor foo + I AddToDecor foo AddButtonStyle All ActiveUp (-- flat) Inactive (-- flat) + I AddToDecor foo ButtonStyle All ActiveUp (-- flat) Inactive (-- flat) + I AddToDecor foo AddTitleStyle -- flat + I AddToDecor foo TitleStyle -- flat + I AddToDecor foo BorderStyle -- HiddenHandles NoInset + I Echo "Testing a removed command, will generate a message" + I AddToDecor foo HilightColor white navy + I AddToDecor foo + I AddToDecor foo AddButtonStyle All ActiveUp (-- flat) Inactive (-- flat) + I AddToDecor foo ButtonStyle All ActiveUp (-- flat) Inactive (-- flat) + I AddToDecor foo AddTitleStyle -- flat + I AddToDecor foo TitleStyle -- flat + I AddToDecor foo BorderStyle -- HiddenHandles NoInset DestroyFunc ButtonStyleAndUpdate AddToFunc ButtonStyleAndUpdate I Echo ButtonStyle $* + I ButtonStyle $* + I UpdateStyles DestroyFunc TitleStyleAndUpdate AddToFunc TitleStyleAndUpdate I Echo TitleStyle $* + I TitleStyle $* + I UpdateStyles DestroyFunc BorderStyleAndUpdate AddToFunc BorderStyleAndUpdate I Echo BorderStyle $* + I BorderStyle $* + I UpdateStyles AddTest "Test BorderStyle" BorderStyle-Func AddToFunc BorderStyle-Func # Need a test with args in parens # Need a ! (negated) test # Need a raised/sunk/flat test + I BorderStyleAndUpdate + I BorderStyleAndUpdate -- HiddenHandles + I BorderStyleAndUpdate Active -- !HiddenHandles + I BorderStyleAndUpdate Active -- !HiddenHandles # Clear all states + I BorderStyleAndUpdate Simple # Clear Active state + I BorderStyleAndUpdate Active Simple + I BorderStyleAndUpdate Inactive -- HiddenHandles NoInset # Clear NoInset flag + I BorderStyleAndUpdate Inactive -- !NoInset + I BorderStyleAndUpdate Active TiledPixmap test.png + I BorderStyleAndUpdate Inactive TiledPixmap xtrek_fed_e.xbm + I BorderStyleAndUpdate Active TiledPixmap test.png + I BorderStyleAndUpdate Inactive TiledPixmap xtrek_fed_e.xbm + I BorderStyleAndUpdate Active TiledPixmap test1.xpm + I BorderStyleAndUpdate Inactive TiledPixmap test2.xpm + I BorderStyleAndUpdate Active -- HiddenHandles NoInset AddTest "Test ButtonState" ButtonState-Func AddToFunc ButtonState-Func + I ButtonState ActiveDown true Inactive f + I ButtonState + I Echo "Intentional error, ButtonState with a long arg:" + I ButtonState "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" # Note to self, resume here, check these to the man page. dje AddTest "Test ButtonStyle" ButtonStyle-Func AddToFunc ButtonStyle-Func + I ButtonStyleAndUpdate + I ButtonStyleAndUpdate All -- UseBorderStyle + I ButtonStyleAndUpdate All -- UseTitleStyle + I ButtonStyleAndUpdate Reset + I ButtonStyleAndUpdate All -- raisED + I ButtonStyleAndUpdate All -- SUNk + I ButtonStyleAndUpdate Left -- flat + I ButtonStyleAndUpdate Left -- flat + I ButtonStyleAndUpdate Right -- !flat + I ButtonStyleAndUpdate Left Activeup -- raised + I ButtonStyleAndUpdate Left Activeup -- raised + I ButtonStyleAndUpdate Left activeDOWN -- sunk + I ButtonStyleAndUpdate Left inactive -- flat + I ButtonStyleAndUpdate Left inactive -- flat + I ButtonStyleAndUpdate Left Activeup -- sunk + I ButtonStyleAndUpdate 1 simple + I ButtonStyleAndUpdate 1 simple + I ButtonStyleAndUpdate 1 default 3 + I ButtonStyleAndUpdate 1 default 3 + I ButtonStyleAndUpdate 1 solid blaCK + I ButtonStyleAndUpdate 1 solid blaCK + I ButtonStyleAndUpdate 1 simple AddTest "Test ButtonStyleGradients" ButtonStyleGradients-Func AddToFunc ButtonStyleGradients-Func + I ButtonStyleAndUpdate 2 hgradient 16 green red + I ButtonStyleAndUpdate 2 hgradient 16 green red + I ButtonStyleAndUpdate 2 hgradient 16 red blue + I ButtonStyleAndUpdate 2 hgradient 32 red blue + I ButtonStyleAndUpdate 2 hgradient 128 red blue + I ButtonStyleAndUpdate 2 hgradient 2 red blue + I ButtonStyleAndUpdate 2 vgradient 16 green red + I ButtonStyleAndUpdate 2 vgradient 16 green red + I ButtonStyleAndUpdate 2 vgradient 16 red blue + I ButtonStyleAndUpdate 2 vgradient 32 red blue + I ButtonStyleAndUpdate 2 vgradient 128 red blue + I ButtonStyleAndUpdate 2 vgradient 2 red blue + I ButtonStyleAndUpdate 3 VGradient 16 3 Red 20 Blue 30 Black 50 Grey + I ButtonStyleAndUpdate 3 VGradient 16 3 Red 20 Blue 30 Black 50 Grey + I ButtonStyleAndUpdate 3 VGradient 16 4 Red 20 Blue 30 Black 20 Grey 30 yellow + I ButtonStyleAndUpdate 3 VGradient 16 2 Red 20 Blue 80 + I ButtonStyleAndUpdate 3 VGradient 128 2 Red 20 Blue 80 + I ButtonStyleAndUpdate 3 VGradient 2 2 Red 20 Blue 80 + I ButtonStyleAndUpdate 3 hGradient 16 3 Red 20 Blue 30 Black 50 Grey + I ButtonStyleAndUpdate 3 hGradient 16 3 Red 20 Blue 30 Black 50 Grey + I ButtonStyleAndUpdate 3 hGradient 16 4 Red 20 Blue 30 Black 20 Grey 30 yellow + I ButtonStyleAndUpdate 3 hGradient 16 2 Red 20 Blue 80 + I ButtonStyleAndUpdate 3 hGradient 128 2 Red 20 Blue 80 + I ButtonStyleAndUpdate 3 hGradient 2 2 Red 20 Blue 80 AddTest "Test ButtonStyleVectors" ButtonStyleVectors-Func AddToFunc ButtonStyleVectors-Func + I ButtonStyleAndUpdate Reset + I ButtonStyleAndUpdate 1 Vector 5 45x60@0 80x60@0 80x80@1 45x80@1 45x60@0 + I ButtonStyleAndUpdate 1 Vector 5 45x60@0 80x60@0 80x80@1 45x80@1 45x60@0 + I ButtonStyleAndUpdate 1 4 50x35@1 65x65@0 35x65@0 50x35@1 + I ButtonStyleAndUpdate 1 4 50x65@1 35x35@1 65x35@1 50x65@0 + I ButtonStyleAndUpdate 1 5 40x40@1 60x40@1 60x60@0 40x60@0 40x40@1 + I ButtonStyleAndUpdate 1 5 + I ButtonStyleAndUpdate 1 5 40x40@1 60x40@1 60x60@0 40x60@0 40x40@1 + I ButtonStyleAndUpdate Reset AddTest "Test ButtonStylePixmaps" ButtonStylePixmaps-Func AddToFunc ButtonStylePixmaps-Func + I ButtonStyleAndUpdate 1 Pixmap test1.xpm + I ButtonStyleAndUpdate 1 Pixmap test2.xpm + I ButtonStyleAndUpdate 1 Pixmap test.png + I ButtonStyleAndUpdate 1 Pixmap xtrek_fed_e.xbm + I ButtonStyleAndUpdate 1 TiledPixmap test2.xpm + I ButtonStyleAndUpdate 1 TiledPixmap test2.xpm + I ButtonStyleAndUpdate 1 TiledPixmap test.png + I ButtonStyleAndUpdate 1 TiledPixmap xtrek_fed_e.xbm + I ButtonStyleAndUpdate 1 TiledPixmap test1.xpm + I ButtonStyleAndUpdate 1 ActiveUp (Pixmap test3.xpm) ActiveDown (Pixmap test2.xpm) + I ButtonStyleAndUpdate 1 Inactive Pixmap nonexistent.xpm + I ButtonStyleAndUpdate 1 Inactive Pixmap test3.xpm + I ButtonStyleAndUpdate 1 Inactive Pixmap test3.xpm + I ButtonStyleAndUpdate 1 Inactive Pixmap + I ButtonStyleAndUpdate 1 MiniIcons + I ButtonStyleAndUpdate 1 miniicons AddTest "Test ButtonStyleDash" ButtonStyleDash-Func AddToFunc ButtonStyleDash-Func + I ButtonStyleAndUpdate 1 - MWMDecorMenu MWMDecorMin MWMDecorMax MWMDecorMenu + I ButtonStyleAndUpdate 1 - MWMDecorMenu MWMDecorMin MWMDecorMax MWMDecorMenu + I ButtonStyleAndUpdate 1 - MWMDecorMax + I ButtonStyleAndUpdate 1 - MWMDecorMin + I ButtonStyleAndUpdate 1 - # ChangeDecor, DestroyDecor, UpdateDecor AddTest "Test DecorCommands" DecorCommands-Func AddToFunc DecorCommands-Func + I DestroyDecor + I DestroyDecor bar + I DestroyDecor bar + I UpdateDecor + I UpdateDecor foo + I UpdateDecor foo + I Style "testw" UseDecor foo, Color white/grey40,HandleWidth 4 + I ChangeDecor + I ChangeDecor foo + I DestroyDecor + I DestroyDecor bar + I DestroyDecor bar + I UpdateDecor + I UpdateDecor foo + I UpdateDecor foo + I Style "testw" UseDecor foo, Color white/grey40,HandleWidth 4 + I ChangeDecor + I ChangeDecor foo + I DestroyDecor recreate + I DestroyDecor recreate bar + I DestroyDecor recreate bar + I UpdateDecor + I UpdateDecor foo + I UpdateDecor foo + I Style "testw" UseDecor foo, Color white/grey40,HandleWidth 4 + I ChangeDecor + I ChangeDecor foo AddTest "Test TitleStyle_justify" TitleStyle_justify-Func AddToFunc TitleStyle_justify-Func + I TitleStyleAndUpdate + I TitleStyleAndUpdate LEFtJusTiFied + I TitleStyleAndUpdate LEFtJusTiFied + I TitleStyleAndUpdate centered + I TitleStyleAndUpdate rightjustified + I TitleStyleAndUpdate heIGht 20 + I TitleStyleAndUpdate heIGht 20 + I TitleStyleAndUpdate leftjustified height 37 + I TitleStyleAndUpdate leftjustified height 24 AddTest "Test TitleStyles" TitleStyles-Func AddToFunc TitleStyles-Func + I TitleStyleAndUpdate -- raisED + I TitleStyleAndUpdate -- SUNk + I TitleStyleAndUpdate -- flat + I TitleStyleAndUpdate -- flat + I TitleStyleAndUpdate -- !flat + I TitleStyleAndUpdate Activeup -- raised + I TitleStyleAndUpdate Activeup -- raised + I TitleStyleAndUpdate activeDOWN -- sunk + I TitleStyleAndUpdate inactive -- flat + I TitleStyleAndUpdate inactive -- flat + I TitleStyleAndUpdate Activeup -- sunk + I TitleStyleAndUpdate simple + I TitleStyleAndUpdate simple + I TitleStyleAndUpdate default 3 + I TitleStyleAndUpdate default 3 + I TitleStyleAndUpdate solid blaCK + I TitleStyleAndUpdate solid blaCK + I TitleStyleAndUpdate simple AddTest "Test gradients" gradients-Func AddToFunc gradients-Func + I TitleStyleAndUpdate hgradient 16 green red + I TitleStyleAndUpdate hgradient 16 green red + I TitleStyleAndUpdate hgradient 16 red blue + I TitleStyleAndUpdate hgradient 32 red blue + I TitleStyleAndUpdate hgradient 128 red blue + I TitleStyleAndUpdate hgradient 2 red blue + I TitleStyleAndUpdate vgradient 16 green red + I TitleStyleAndUpdate vgradient 16 green red + I TitleStyleAndUpdate vgradient 16 red blue + I TitleStyleAndUpdate vgradient 32 red blue + I TitleStyleAndUpdate vgradient 128 red blue + I TitleStyleAndUpdate vgradient 2 red blue + I TitleStyleAndUpdate VGradient 16 3 Red 20 Blue 30 Black 50 Grey + I TitleStyleAndUpdate VGradient 16 3 Red 20 Blue 30 Black 50 Grey + I TitleStyleAndUpdate VGradient 16 4 Red 20 Blue 30 Black 20 Grey 30 yellow + I TitleStyleAndUpdate VGradient 16 2 Red 20 Blue 80 + I TitleStyleAndUpdate VGradient 128 2 Red 20 Blue 80 + I TitleStyleAndUpdate VGradient 2 2 Red 20 Blue 80 + I TitleStyleAndUpdate hGradient 16 3 Red 20 Blue 30 Black 50 Grey + I TitleStyleAndUpdate hGradient 16 3 Red 20 Blue 30 Black 50 Grey + I TitleStyleAndUpdate hGradient 16 4 Red 20 Blue 30 Black 20 Grey 30 yellow + I TitleStyleAndUpdate hGradient 16 2 Red 20 Blue 80 + I TitleStyleAndUpdate hGradient 128 2 Red 20 Blue 80 + I TitleStyleAndUpdate hGradient 2 2 Red 20 Blue 80 AddTest "Test vector_buttons" vector_buttons-Func AddToFunc vector_buttons-Func + I TitleStyleAndUpdate Vector 5 45x60@0 80x60@0 80x80@1 45x80@1 45x60@0 + I TitleStyleAndUpdate Vector 5 45x60@0 80x60@0 80x80@1 45x80@1 45x60@0 + I TitleStyleAndUpdate 4 50x35@1 65x65@0 35x65@0 50x35@1 + I TitleStyleAndUpdate 4 50x65@1 35x35@1 65x35@1 50x65@0 + I TitleStyleAndUpdate 5 40x40@1 60x40@1 60x60@0 40x60@0 40x40@1 + I TitleStyleAndUpdate 5 40x40@1 60x40@1 60x60@0 40x60@0 40x40@1 AddTest "Test pixmaps" pixmaps-Func AddToFunc pixmaps-Func + I TitleStyleAndUpdate Pixmap test1.xpm + I TitleStyleAndUpdate Pixmap test2.xpm + I TitleStyleAndUpdate Pixmap test.png + I TitleStyleAndUpdate Pixmap xtrek_fed_e.xbm + I TitleStyleAndUpdate TiledPixmap test2.xpm + I TitleStyleAndUpdate TiledPixmap test2.xpm + I TitleStyleAndUpdate TiledPixmap test.png + I TitleStyleAndUpdate TiledPixmap xtrek_fed_e.xbm + I TitleStyleAndUpdate TiledPixmap test1.xpm + I TitleStyleAndUpdate ActiveUp (Pixmap test3.xpm) ActiveDown (Pixmap test2.xpm) + I TitleStyleAndUpdate Inactive Pixmap nonexistent.xpm + I TitleStyleAndUpdate Inactive Pixmap test3.xpm + I TitleStyleAndUpdate Inactive Pixmap test3.xpm + I TitleStyleAndUpdate Inactive Pixmap + I TitleStyleAndUpdate MiniIcons + I TitleStyleAndUpdate miniicons # UpdateDecor test is above in "DecorCommands". # This test removed, "Desk" is replaced by "GotoDesk" # AddTest "Test Desk" Desk-Func # AddToFunc Desk-Func # + I Desk # + I Desk 2 # + I Desk +3 # + I Desk -2 # + I Desk 0 1 # + I Desk 0 3 # + I Desk 0 1923874 # + I Desk +1 0 10 # + I Desk -1 0 10 # + I Desk 0 0 5 7 # + I Desk 0 -11111 5 7 # + I Desk 0 0 AddTest "Test DesktopName" DesktopName-Func AddToFunc DesktopName-Func + I DesktopName 0 www + I DesktopName 1 devel + I DesktopName 2 Games + I DesktopName 3 "éà %ûîïü" + I DesktopName 0 www + I DesktopName 1 + I DesktopName 2 Games + I DesktopName 3 "éà %ûîïü" + I DesktopName 10 www + I DesktopName -10 sdhdh + I DesktopName 2 Games + I DesktopName 3 "éà %ûîïü" + I DesktopName www + I DesktopName + I DesktopName 2 Games "éà %ûîïü" + I DesktopName "éà %ûîïü" AddTest "Test DeskTopSize" DeskTopSize-Func AddToFunc DeskTopSize-Func + I DeskTopSize + I DeskTopSize ödslajf + I DeskTopSize 2x2 + I DeskTopSize 2x2 + I DeskTopSize 2x3 + I DeskTopSize 2x3 + I DeskTopSize 3x3 + I DeskTopSize 3x1 + I DeskTopSize 1x1 + I DeskTopSize 0x2 + I DeskTopSize 2x0 + I DeskTopSize 0x0 + I DeskTopSize 1000x1000 + I DeskTopSize 2x2 AddTest "Test EdgeResistance" EdgeResistance-Func AddToFunc EdgeResistance-Func + I EdgeResistance + I EdgeResistance 300 10 + I EdgeResistance 300 10 + I EdgeResistance 400 400 + I EdgeResistance 400 400 + I EdgeResistance 300 10 + I EdgeResistance 0 20 + I EdgeResistance -1 20 + I EdgeResistance 20 0 + I EdgeResistance 20 -1 AddTest "Test EdgeScroll" EdgeScroll-Func AddToFunc EdgeScroll-Func + I EdgeScroll + I EdgeScroll 50 50 + I EdgeScroll 50 50 + I EdgeScroll 100 100 + I EdgeScroll -125 111 + I EdgeScroll 100000 100000 + I EdgeScroll 0 0 + I EdgeScroll 75 75 # Need EdgeThickness tests AddTest "Test EdgeThickness" EdgeThickness-Func AddToFunc EdgeThickness-Func + I EdgeThickness + I EdgeThickness 0 + I EdgeThickness 1 + I EdgeThickness 2 + I EdgeThickness + I EdgeThickness -12 + I EdgeThickness jksdcnbjk nsddnckjdn kljsncsjknckljs + I EdgeThickness 36 + I EdgeThickness AddTest "Test EwmhBaseStruts" EwmhBaseStruts-Func AddToFunc EwmhBaseStruts-Func + I EwmhBaseStruts + I EwmhBaseStruts 25 30 40 10 + I Next (window1) Maximize + I Next (window1) Maximize + I Next (window1) Maximize ewmhiwa + I Next (window1) Maximize ewmhiwa + I EwmhBaseStruts -10 -23 -12 -3 + I EwmhBaseStruts 1 uu zz 10 + I EwmhBaseStruts ;d,vnf,ndvdfnvndf,vfd:;fv:fkvfkvklfvnklfnv + I EwmhBaseStruts AddTest "Test EWMHNumberOfDesktops" EWMHNumberOfDesktops-Func AddToFunc EWMHNumberOfDesktops-Func + I EWMHNumberOfDesktops 4 + I EWMHNumberOfDesktops 4 8 + I EWMHNumberOfDesktops 8 1 + I EWMHNumberOfDesktops + I EWMHNumberOfDesktops -1 -7 + I EWMHNumberOfDesktops sdklcdksv,cdksn,vckdsv + I EWMHNumberOfDesktops 4 8 AddTest "Test GotoDesk" GotoDesk-Func AddToFunc GotoDesk-Func + I GotoDesk 1 + I GotoDesk 1 + I GotoDesk prev + I GotoDesk 0 + I GotoDesk -1 + I GotoDesk 0 36 + I GotoDesk 0 -28 + I GotoDesk 0 0 + I GotoDesk 0 2147483647 + I GotoDesk 0 -2147483648 + I GotoDesk 0 0 + I GotoDesk 1 -8 8 + I GotoDesk 26 -8 8 + I GotoDesk -26 -8 8 + I GotoDesk 0 4 -8 8 + I GotoDesk 0 26 -8 8 + I GotoDesk 0 -26 -8 8 + I GotoDesk 0 0 # + I GotoDesk 0 2147483649 + I GotoDesk 0 -2147483650 + I GotoDesk 0 0 + I GotoDesk 2147483649 + I GotoDesk -2147483650 + I GotoDesk 0 4 -8 8 5 + I GotoDesk dgh + I GotoDesk + I GotoDesk 0 0 # Need GotoDeskAndPage tests AddTest "Test GotoDeskAndPage" GotoDeskAndPage-Func AddToFunc GotoDeskAndPage-Func + I GotoDeskAndPage 1 0 0 + I GotoDeskAndPage 1 1 36 + I GotoDeskAndPage prev + I GotoDeskAndPage 0 0 0 + I GotoDeskAndPage -1 0 0 + I GotoDeskAndPage 2147483647 0 0 + I GotoDeskAndPage -2147483648 0 1 + I GotoDeskAndPage 0 0 0 # + I GotoDeskAndPage 2147483649 0 0 + I GotoDeskAndPage -2147483650 0 0 + I GotoDeskAndPage 0 0 -3 + I GotoDeskAndPage 6 0 + I GotoDeskAndPage 6 0 7 8 9 + I GotoDeskAndPage dgh + I GotoDeskAndPage + I GotoDeskAndPage dgh df df + I GotoDeskAndPage a b c d e + I GotoDeskAndPage 0 0 0 AddTest "Test GotoPage" GotoPage-Func AddToFunc GotoPage-Func + I GotoPage + I GotoPage 2 2 + I GotoPage 1 1 + I GotoPage -1 -100 + I GotoPage 10000 1000000 + I GotoPage 2 1 + I GotoPage 2 1 + I GotoPage 1 1 AddTest "Test Scroll" Scroll-Func AddToFunc Scroll-Func + I Scroll + I Scroll 50p + I Scroll 10p -10p + I Scroll -50 +50 + I Scroll -0 +0 + I Scroll -50p -50p + I Scroll -1000 -1000 # Should update this with an Xinerama setup AddTest "Test Xinerama" Xinerama-Func AddToFunc Xinerama-Func + I XineramaPrimaryScreen 2 + I Xinerama on + I Xinerama off + I XineramaSlsSize 2x1 + I XineramaSls On + I XineramaPrimaryScreen 1 + I Xinerama On + I XineramaSlsScreens 3 512x768+0+0 512x300+512+0 512 300 512 468 + I XineramaSls On + I XineramaPrimaryScreen 1 + I Xinerama On + I Xinerama off + I XineramaSls On # Need to add more "action" tests, actions are I!M|C|H|D AddTest "Test AddToFunc_DestroyFunc" AddToFunc_DestroyFunc-Func AddToFunc AddToFunc_DestroyFunc-Func + I AddToFunc + I AddToFunc foo + I AddToFunc bar + I AddToFunc suicide_func + I AddToFunc suicide_func + I AddToFunc suicide_func + I AddToFunc suicide_func I DestroyFunc suicide_func + I AddToFunc suicide_func I DestroyFunc suicide_func + I AddToFunc suicide_func I DestroyFunc suicide_func + I AddToFunc suicide_func + I AddToFunc suicide_func I DestroyFunc suicide_func + I function suicide_func ### coredump! Fixed but ... # + I AddToFunc loop1 I function loop2 # + I AddToFunc loop2 I function loop1 # + I function loop1 ### coredump!! Fixed but ... #AddToFunc grow1 # + I AddToFunc grow2 nop # + I function grow2 #AddToFunc grow2 # + I AddToFunc grow1 nop # + I function grow1 #function grow1 + I addtofunc foo + I addtofunc foo I nop $w $d $1 $10298097 + I function + I function foo + I function foo + I function nonexist + I DestroyFunc + I DestroyFunc grow2 + I DestroyFunc grow1 + I DestroyFunc loop1 + I DestroyFunc loop2 + I AddtoFunc variable I Echo "This should display as 1 dollar sign: $$." + I Function variable # Test from man page + I DestroyFunc PrintFunction AddTest "Test Beep" Beep-Func AddToFunc Beep-Func + I Beep + I Beep + I Beep ü30 23äö ü9823r ,l.öapü39 AddTest "Test Echo" Echo-Func AddToFunc Echo-Func + I Echo + I Echo + I Echo ädsa iopq9 $SHELL "'lksaä" # Test from man page, extra quotes around I intentional: + "I" Echo Beginning style definitions... AddTest "Test Exec" Exec-Func AddToFunc Exec-Func + I Exec + I Exec "" + I Exec echo "Test of exec using echo" + I Exec echo "Exec test, value of \$$d $d, \$$v $v, \$$[screen] $[screen]" + I Exec exec echo "Test with recommended extra exec" + I Exec echo "Test with unnecessary trailing ampersand" & AddTest "Test ExecUseShell" ExecUseShell-Func AddToFunc ExecUseShell-Func + I ExecUseShell + I ExecUseShell '' + I ExecUseShell /bin/bash + I ExecUseShell /bin/bash + I ExecUseShell /bin/ksh /bin/sh + I ExecUseShell /nonexistent/foo/bar + I ExecUseShell # Function test: # Function is already pretty well tested, add a test that creates a function # That matches a built in fvwm function: AddTest "Test Function" Function-Func AddToFunc Function-Func + I DestroyFunc Style + I AddToFunc Style I Exec echo "Style Function just ran" + I Function Style AddTest "Test Nop" Nop-Func AddToFunc Nop-Func + I Nop + I NOP + I nOp allöoawqj _Ö:K_ÖL ökq AddTest "Test PipeRead" PipeRead-Func AddToFunc PipeRead-Func + I piperead + I piperead `sleep 2` ## hangs !! #piperead cat + I piperead "cat /nonexistent/foo/bar" + I piperead " cat /tmp/purify.read" AddTest "Test Read" Read-Func AddToFunc Read-Func + I read + I read + I read /nonexistent/foo/bar + I read /tmp/purify.read + I Echo "Next test reads a non-existing file quietly, there should not be any message" + I Read "There is no file with this name!" quiet # Silent test: AddTest "Test Silent" Silent-Func AddToFunc Silent-Func + I Silent Move # Need a function that has a window target: + I DestroyFunc User_defined_function + I AddToFunc User_defined_function I Move + I Silent Function User_defined_function AddTest "Test UnsetEnv" UnsetEnv-Func AddToFunc UnsetEnv-Func + I UnsetEnv FOO BAR + I UnsetEnv FOO + I SetEnv NICEVAR + I UnSetEnv NICEVAR + I UnSetEnv NICEVAR + I UnSetEnv " ""ölwäökkü"'' # Wait tested elsewhere. A Wait meant to be aborted by Ctrl-Alt-Escape # would be a nice addition. You'd need to guide the tester thru it. # Conditional command "All" tested elsewhere. # FIXME: Any # FIXME: Break # KeepRc TestRc tested with the conditional cmds DestroyFunc CurrentEchoFunc AddToFunc CurrentEchoFunc + I Current ($*) Nop + I KeepRc TestRc (Match) Echo Current ($*) Match + I KeepRc TestRc (NoMatch) Echo Current ($*) NoMatch + I KeepRc TestRc (Error) Echo Current ($*) Error # Need lots more conditions, (visible/iconic, etc.) AddTest "Test Current" Current-Func AddToFunc Current-Func + I current + I current + I current () + I Current (*) focus 97ö.,j1n, mp12l + I current (*) flipfocus + I next (window6) FlipFocus # All One test + I CurrentEchoFunc * + I CurrentEchoFunc !* + I CurrentEchoFunc window* + I CurrentEchoFunc window6 + I CurrentEchoFunc !window* + I CurrentEchoFunc !window6 + I CurrentEchoFunc AcceptsFocus + I CurrentEchoFunc !AcceptsFocus + I CurrentEchoFunc Focused + I CurrentEchoFunc !Focused + I CurrentEchoFunc HasPointer + I CurrentEchoFunc !HasPointer + I CurrentEchoFunc Iconic + I CurrentEchoFunc !Iconic + I CurrentEchoFunc Visible + I CurrentEchoFunc !Visible + I CurrentEchoFunc Raised + I CurrentEchoFunc !Raised + I CurrentEchoFunc Layer 4 + I CurrentEchoFunc Layer 6 + I CurrentEchoFunc Layer 2 + I CurrentEchoFunc Layer + I CurrentEchoFunc Layer upgff + I CurrentEchoFunc !Layer 4 + I CurrentEchoFunc !Layer 6 + I CurrentEchoFunc !Layer 2 + I CurrentEchoFunc !Layer + I CurrentEchoFunc !Layer upgff + I CurrentEchoFunc State 0 + I CurrentEchoFunc State 32 + I CurrentEchoFunc State + I CurrentEchoFunc State -12 + I CurrentEchoFunc State 45 + I CurrentEchoFunc State bvbhvgh + I CurrentEchoFunc !State 0 + I CurrentEchoFunc !State 32 + I CurrentEchoFunc !State + I CurrentEchoFunc !State -12 + I CurrentEchoFunc !State 45 + I CurrentEchoFunc !State bvbhvgh + I CurrentEchoFunc Sticky + I CurrentEchoFunc !Sticky + I CurrentEchoFunc FixedSize + I CurrentEchoFunc !FixedSize + I CurrentEchoFunc HasHandles + I CurrentEchoFunc !HasHandles + I CurrentEchoFunc Closable + I CurrentEchoFunc !Closable + I CurrentEchoFunc Iconifiable + I CurrentEchoFunc !Iconifiable + I CurrentEchoFunc Maximizable + I CurrentEchoFunc !Maximizable + I CurrentEchoFunc StickyAcrossPages + I CurrentEchoFunc !StickyAcrossPages + I CurrentEchoFunc StickyAcrossDesks + I CurrentEchoFunc !StickyAcrossDesks + I CurrentEchoFunc Maximized + I CurrentEchoFunc !Maximized + I CurrentEchoFunc Shaded + I CurrentEchoFunc !Shaded + I CurrentEchoFunc Transient + I CurrentEchoFunc !Transient + I CurrentEchoFunc PlacedByButton3 + I CurrentEchoFunc !PlacedByButton3 + I CurrentEchoFunc PlacedByFvwm + I CurrentEchoFunc !PlacedByFvwm + I CurrentEchoFunc CurrentDesk + I CurrentEchoFunc !CurrentDesk + I CurrentEchoFunc CurrentPage + I CurrentEchoFunc !CurrentPage + I CurrentEchoFunc CurrentScreen + I CurrentEchoFunc !CurrentScreen + I CurrentEchoFunc CurrentGlobalPage + I CurrentEchoFunc !CurrentGlobalPage + I CurrentEchoFunc CurrentPageAnyDesk + I CurrentEchoFunc !CurrentPageAnyDesk + I CurrentEchoFunc CurrentGlobalPageAnyDesk + I CurrentEchoFunc !CurrentGlobalPageAnyDesk # All test + I CurrentEchoFunc * \ !* \ window* \ window6 \ !window* \ !window6 \ AcceptsFocus \ !AcceptsFocus \ Focused \ !Focused \ HasPointer \ !HasPointer \ Iconic \ !Iconic \ Visible \ !Visible \ Raised \ !Raised \ Layer 4 \ Layer 6 \ Layer 2 \ !Layer 2\ !Layer 4 \ !Layer 6 \ State 0 \ State 32 \ !State 0 \ !State 32 \ !State 45 \ Sticky \ !Sticky \ FixedSize \ !FixedSize \ HasHandles \ !HasHandles \ Closable \ !Closable \ Iconifiable \ !Iconifiable \ Maximizable \ !Maximizable \ StickyAcrossPages \ !StickyAcrossPages \ StickyAcrossDesks \ !StickyAcrossDesks \ Maximized \ !Maximized \ Shaded \ !Shaded \ Transient \ !Transient \ PlacedByButton3 \ !PlacedByButton3 \ PlacedByFvwm \ !PlacedByFvwm \ CurrentDesk \ !CurrentDesk \ CurrentPage \ !CurrentPage \ CurrentScreen \ !CurrentScreen \ CurrentGlobalPage \ !CurrentGlobalPage \ CurrentPageAnyDesk \ !CurrentPageAnyDesk \ CurrentGlobalPageAnyDesk \ !CurrentGlobalPageAnyDesk DestroyFunc DirectionEchoFunc AddToFunc DirectionEchoFunc + I Direction $* Nop + I KeepRc TestRc (Match) Echo Direction ($*) Match + I KeepRc TestRc (NoMatch) Echo Direction ($*) NoMatch + I TestRc (Error) Echo Direction ($*) Error AddTest "Test Direction" Direction-Func AddToFunc Direction-Func + I DirectionEchoFunc North + I DirectionEchoFunc Northeast + I DirectionEchoFunc East + I DirectionEchoFunc Southeast + I DirectionEchoFunc South + I DirectionEchoFunc Southwest + I DirectionEchoFunc West + I DirectionEchoFunc Northwest + I DirectionEchoFunc Center # + I DirectionEchoFunc FromPointer North + I DirectionEchoFunc FromPointer Northeast + I DirectionEchoFunc FromPointer East + I DirectionEchoFunc FromPointer Southeast + I DirectionEchoFunc FromPointer South + I DirectionEchoFunc FromPointer Southwest + I DirectionEchoFunc FromPointer West + I DirectionEchoFunc FromPointer Northwest + I DirectionEchoFunc FromPointer Center # + I DirectionEchoFunc FromPointer North (*) + I DirectionEchoFunc FromPointer Northeast (!Sticky) + I DirectionEchoFunc FromPointer East (Sticky) + I DirectionEchoFunc FromPointer Southeast (Shaded) + I DirectionEchoFunc FromPointer South (!Shaded) + I DirectionEchoFunc FromPointer Southwest (Iconic) + I DirectionEchoFunc FromPointer West (!Iconic) + I DirectionEchoFunc FromPointer Northwest (!PlacedByFvwm) + I DirectionEchoFunc FromPointer Center (PlacedByFvwm) # + I DirectionEchoFunc aNort + I DirectionEchoFunc + I DirectionEchoFunc FromPoir East + I DirectionEchoFunc FromPointer gfcfgffg DestroyFunc NextEchoFunc AddToFunc NextEchoFunc + I Next ($*) Nop + I KeepRc TestRc (Match) Echo Next ($*) Match: $[w.name] + I KeepRc TestRc (NoMatch) Echo Next ($*) NoMatch + I KeepRc TestRc (Error) Echo Next ($*) Error # Need more conditions like Current, with exceptions, see man page. AddTest "Test Next" Next-Func AddToFunc Next-Func + I next + I next + I Next () + I next (*) focus + I next (*) flipfocus + I NextEchoFunc CirculateSkip + I NextEchoFunc CirculateHit + I NextEchoFunc !CirculateSkip + I NextEchoFunc !CirculateHit + I NextEchoFunc CirculateSkipIcon + I NextEchoFunc CirculateHitIcon + I NextEchoFunc !CirculateSkipIcon + I NextEchoFunc !CirculateHitIcon + I NextEchoFunc CirculateSkipShaded + I NextEchoFunc CirculateHitShaded + I NextEchoFunc !CirculateSkipShaded + I NextEchoFunc !CirculateHitIconShaded + I NextEchoFunc (sddsddsfd) DestroyFunc NoneEchoFunc AddToFunc NoneEchoFunc + I None ($*) Nop + I KeepRc TestRc (Match) Echo None ($*) Match + I KeepRc TestRc (NoMatch) Echo None ($*) NoMatch + I KeepRc TestRc (Error) Echo None ($*) Error # Needs more conditions like Current AddTest "Test None" None-Func AddToFunc None-Func + I none + I None + I none () + I none (*) focus + I none (*) flipfocus olöiqwehj # All One test + I NoneEchoFunc * + I NoneEchoFunc !* + I NoneEchoFunc window* + I NoneEchoFunc window6 + I NoneEchoFunc !window* + I NoneEchoFunc !window6 + I NoneEchoFunc AcceptsFocus + I NoneEchoFunc !AcceptsFocus + I NoneEchoFunc Focused + I NoneEchoFunc !Focused + I NoneEchoFunc HasPointer + I NoneEchoFunc !HasPointer + I NoneEchoFunc Iconic + I NoneEchoFunc !Iconic + I NoneEchoFunc Visible + I NoneEchoFunc !Visible + I NoneEchoFunc Raised + I NoneEchoFunc !Raised + I NoneEchoFunc Layer 4 + I NoneEchoFunc Layer 6 + I NoneEchoFunc Layer 2 + I NoneEchoFunc Layer + I NoneEchoFunc Layer upgff + I NoneEchoFunc !Layer 4 + I NoneEchoFunc !Layer 6 + I NoneEchoFunc !Layer 2 + I NoneEchoFunc !Layer + I NoneEchoFunc !Layer upgff + I NoneEchoFunc State 0 + I NoneEchoFunc State 32 + I NoneEchoFunc State + I NoneEchoFunc State -12 + I NoneEchoFunc State 45 + I NoneEchoFunc State bvbhvgh + I NoneEchoFunc !State 0 + I NoneEchoFunc !State 32 + I NoneEchoFunc !State + I NoneEchoFunc !State -12 + I NoneEchoFunc !State 45 + I NoneEchoFunc !State bvbhvgh + I NoneEchoFunc Sticky + I NoneEchoFunc !Sticky + I NoneEchoFunc FixedSize + I NoneEchoFunc !FixedSize + I NoneEchoFunc HasHandles + I NoneEchoFunc !HasHandles + I NoneEchoFunc Closable + I NoneEchoFunc !Closable + I NoneEchoFunc Iconifiable + I NoneEchoFunc !Iconifiable + I NoneEchoFunc Maximizable + I NoneEchoFunc !Maximizable + I NoneEchoFunc StickyAcrossPages + I NoneEchoFunc !StickyAcrossPages + I NoneEchoFunc StickyAcrossDesks + I NoneEchoFunc !StickyAcrossDesks + I NoneEchoFunc Maximized + I NoneEchoFunc !Maximized + I NoneEchoFunc Shaded + I NoneEchoFunc !Shaded + I NoneEchoFunc Transient + I NoneEchoFunc !Transient + I NoneEchoFunc PlacedByButton3 + I NoneEchoFunc !PlacedByButton3 + I NoneEchoFunc PlacedByFvwm + I NoneEchoFunc !PlacedByFvwm + I NoneEchoFunc CurrentDesk + I NoneEchoFunc !CurrentDesk + I NoneEchoFunc CurrentPage + I NoneEchoFunc !CurrentPage + I NoneEchoFunc CurrentScreen + I NoneEchoFunc !CurrentScreen + I NoneEchoFunc CurrentGlobalPage + I NoneEchoFunc !CurrentGlobalPage + I NoneEchoFunc CurrentPageAnyDesk + I NoneEchoFunc !CurrentPageAnyDesk + I NoneEchoFunc CurrentGlobalPageAnyDesk + I NoneEchoFunc !CurrentGlobalPageAnyDesk + I NoneEchoFunc CirculateSkip + I NoneEchoFunc CirculateHit + I NoneEchoFunc !CirculateSkip + I NoneEchoFunc !CirculateHit + I NoneEchoFunc CirculateSkipIcon + I NoneEchoFunc CirculateHitIcon + I NoneEchoFunc !CirculateSkipIcon + I NoneEchoFunc !CirculateHitIcon + I NoneEchoFunc CirculateSkipShaded + I NoneEchoFunc CirculateHitShaded + I NoneEchoFunc !CirculateSkipShaded + I NoneEchoFunc !CirculateHitIconShaded + I NoneEchoFunc sddsddsfd # All test (stupid!) + I NoneEchoFunc * \ !* \ window* \ window6 \ !window* \ !window6 \ AcceptsFocus \ !AcceptsFocus \ Focused \ !Focused \ HasPointer \ !HasPointer \ Iconic \ !Iconic \ Visible \ !Visible \ Raised \ !Raised \ Layer 4 \ Layer 6 \ Layer 2 \ !Layer 2\ !Layer 4 \ !Layer 6 \ State 0 \ State 32 \ !State 0 \ !State 32 \ !State 45 \ Sticky \ !Sticky \ FixedSize \ !FixedSize \ HasHandles \ !HasHandles \ Closable \ !Closable \ Iconifiable \ !Iconifiable \ Maximizable \ !Maximizable \ StickyAcrossPages \ !StickyAcrossPages \ StickyAcrossDesks \ !StickyAcrossDesks \ Maximized \ !Maximized \ Shaded \ !Shaded \ Transient \ !Transient \ PlacedByButton3 \ !PlacedByButton3 \ PlacedByFvwm \ !PlacedByFvwm \ CurrentDesk \ !CurrentDesk \ CurrentPage \ !CurrentPage \ CurrentScreen \ !CurrentScreen \ CurrentGlobalPage \ !CurrentGlobalPage \ CurrentPageAnyDesk \ !CurrentPageAnyDesk \ CurrentGlobalPageAnyDesk \ !CurrentGlobalPageAnyDesk \ CirculateSkip \ CirculateHit \ !CirculateSkip \ !CirculateHit \ CirculateSkipIcon \ CirculateHitIcon \ !CirculateSkipIcon \ !CirculateHitIcon \ CirculateSkipShaded \ CirculateHitShaded \ !CirculateSkipShaded \ !CirculateHitIconShaded \ sddsddsfd # Need "Pick" tests # FIXME: PointerWindow AddTest "Test Prev" Prev-Func AddToFunc Prev-Func + I prev + I prev + I prev () + I prev (*) focus + I prev (*) flipfocus # FIXME: ScanForWindow # FIXME: ThisWindow AddTest "Test WindowId" WindowId-Func AddToFunc WindowId-Func + I WindowID + I WindowID + I WindowID 0x7491 + I WindowID 3ölu -öirü2i 4li7z90 + I WindowID 0x00110011 nop + I WindowID 0x00110011 nop + I WindowID 0x00110011 nop + I WindowId root 1 WarpToWindow 50 50 + I WindowId root WarpToWindow 0 0 # FIXME: NoWindow AddTest "Test Test" Test-Func AddToFunc Test-Func + I Test (Version 2.5.*) Echo 2.5.x detected + I TestRc (NoMatch) Test (!Version 2.6.*) Echo Future version + I TestRc (NoMatch) Echo 2.6.x is detected + I Test (!Version 2.4.*) Echo Not runing 2.4.x + I Test (Version) Nop + I TestRc (Match) Echo (Version) -> match + I TestRc (Match) Echo (Version) -> nomatch + I TestRc (Match) Echo (Version) -> error + I Test (!Init) Echo not at init + I Test (!Start) Echo not at start + I Test (!ReStart) Echo not at restart + I Test (!quit) Echo not at quit + I Test (!exit) Echo not at exit + I Test (Init) Echo At init -- error + I TestRc (NoMatch) Echo relly not at init + I Test (Start) Echo At start -- error + I TestRc (NoMatch) Echo relly not at start + I Test (ReStart) Echo At restart -- error + I TestRc (NoMatch) Echo relly not at restart + I Test (Exit) Echo At exit -- error + I TestRc (NoMatch) Echo relly not at exit + I Test (Quit) Echo At quit -- error + I TestRc (NoMatch) Echo relly not at quit # + I Test (x xterm) Echo xterm is in path + I TestRc (NoMatch) Echo xterm is not in path + I Test (x plouf) Echo plouf is in path + I TestRc (NoMatch) Echo plouf is not in path + I Test (x $[HOME]/.fvwm) Echo $[HOME]/.fvwm is traversable + I Test (!x $[HOME]/.uuuuuuuuuuu) Echo $[HOME]/.uuuuuuuuuu is not traversable + I Test (x) Echo Test (x) True error (NoMatch) + I TestRc (NoMatch) Echo Test (x) True error (Match) + I TestRc (Error) Echo Test (x) gives error + I Test (x ) Echo Test (x) True error (NoMatch) + I TestRc (NoMatch) Echo Test (x) True error (Match) + I TestRc (Error) Echo Test (x) gives error # + I Test (r /root) Echo Outch /root is readable + I Test (!r $[HOME]) Echo Outch $[HOME] is not readable + I Test (r) Echo Test (r) True error (NoMatch) + I TestRc (NoMatch) Echo Test (r) True error (Match) + I TestRc (Error) Echo Test (r) gives error + I Test (r ) Echo Test (r) True error (NoMatch) + I TestRc (NoMatch) Echo Test (r) True error (Match) + I TestRc (Error) Echo Test (r ) gives error # + I Test (w /root) Echo Outch /root is writable + I Test (!w $[HOME]) Echo Outch $[HOME] is not writable + I Test (w) Echo Test (r) True error (NoMatch) + I TestRc (NoMatch) Echo Test (w) True error (Match) + I TestRc (Error) Echo Test (w) gives error + I Test (w ) Echo Test (w) True error (NoMatch) + I TestRc (NoMatch) Echo Test (w) True error (Match) + I TestRc (Error) Echo Test (w ) gives error # + I Test (!f $[HOME]) Echo Outch $[HOME] is does not exist + I Test (f $[HOME]/uuuuuuuuuu) Echo Outch $[HOME]/uuuuuuuuuuu exists + I Test (f) Echo Test (r) True error (NoMatch) + I TestRc (NoMatch) Echo Test (f) True error (Match) + I TestRc (Error) Echo Test (f) gives error + I Test (f ) Echo Test (f) True error (NoMatch) + I TestRc (NoMatch) Echo Test (f) True error (Match) + I TestRc (Error) Echo Test (f ) gives error # + I Test (i test.png) Echo test.png is in imagepath + I TestRc (NoMatch) Echo test.png is not in path + I TestRc (Error) Echo Test (i test.png) true error + I Test (i plouf) Echo plouf is in imagepath + I TestRc (NoMatch) Echo plouf is not in path + I Test (i /tmp/test.png) Echo /tmp/test.png is in imagepath + I TestRc (NoMatch) Echo /tmp/test.png is not in imagepath -- true error? + I TestRc (Error) Echo Test (i /tmp/test.png) true error + I Test (i /tmp/uuuu) Echo /tmp/uuuu is in imagepath + I TestRc (NoMatch) Echo /tmp/uuuu is not in imagepath + I TestRc (Error) Echo Test (i /tmp/uuuu) true error + I Test (i) Echo Test (i) True error (NoMatch) + I TestRc (NoMatch) Echo Test (i) True error (Match) + I TestRc (Error) Echo Test (i) gives error + I Test (i ) Echo Test (i) True error (NoMatch) + I TestRc (NoMatch) Echo Test (i) True error (Match) + I TestRc (Error) Echo Test (i) gives error AddTest "Test ModuleConfig" ModuleConfig-Func AddToFunc ModuleConfig-Func + I DestroyModuleConfig dummymodule + I *dummymodule + I *dummymodule + I *dummymodule ÖLq- ö.qljüpßi+123 + I *dummymodule1fooqmnld Ä"§k + I *dummymodule1p o q#köpiü + I *dummymodule1wqwq lkjöö 13 + I *dummymodule1r 13r g3w + I *dummymodule2r 13r g3w + I *dummymodule2r 13r g3w + I *dummymodule2 121 32 + I *dummymodule2 qw 124 + I *xFvwmIconBox: MaxIconSize 48x48 + I *xFvwmPager: WindowBorderWidth 1 + I *xFvwmIconBox: Max*IconSize 48x48 + I *xFvwmPager: Windo:wBor:derWidth 1 AddTest "Test DestroyModuleConfig" DestroyModuleConfig-Func AddToFunc DestroyModuleConfig-Func + I DestroyModuleConfig + I DestroyModuleConfig + I DestroyModuleConfig dummymodule1 + I DestroyModuleConfig dummymodule1 + I DestroyModuleConfig dummymod* + I DestroyModuleConfig dummymod* + I *dummymodule + I *dummymodule + I *dummymodule ÖLq- ö.qljüpßi+123 + I *dummymodule1fooqmnld Ä"§k + I *dummymodule1p o q#köpiü + I *dummymodule1wqwq lkjöö 13 + I *dummymodule1r 13r g3w + I *dummymodule2r 13r g3w + I *dummymodule2r 13r g3w + I *dummymodule2 121 32 + I *dummymodule2 qw 124 + I DestroyModuleConfig * + I DestroyModuleConfig xFvwmButtons* + I DestroyModuleConfig xFvwmForm: Fore + I DestroyModuleConfig xFvwmIconBox: Max* AddTest "Test KillModule" KillModule-Func AddToFunc KillModule-Func # First try no name: + I KillModule + I KillModule # Now try a module that doesn't exist + I KillModule NoSuchModule # Now create a module and kill it twice: + I Module FvwmBanner + I KillModule FvwmBanner + I KillModule FvwmBanner # Need some tests using module aliased and the : syntax # Module command already tested. # ModulePath tested near end since it hurts... AddTest "Test ModuleSynchronous" ModuleSynchronous-Func AddToFunc ModuleSynchronous-Func + I ModuleSynchronous FvwmBanner + I KillModule FvwmBanner + I ModuleSynchronous Timeout 1 FvwmBanner + I KillModule FvwmBanner + I ModuleSynchronous Expect Nothing Timeout 0 FvwmBanner + I KillModule FvwmBanner AddTest "Test ModuleTimeout" ModuleTimeout-Func AddToFunc ModuleTimeout-Func + I ModuleTimeout 0 + I ModuleTimeout + I ModuleTimeout Junk + I ModuleTimeout 01111111111111111 + I ModuleTimeout 2e222 + I ModuleTimeout 30 AddTest "Test SendToModule" SendToModule-Func AddToFunc SendToModule-Func + I SendToModule + I SendToModule + I SendToModule FvwmBanner .-, q-l ,j + I SendToModule FvwmBanner .-, q-l ,j # Quit is tested later, for obvious reasons. # QuitScreen isn't tested at all. # QuitSession isn't tested at all. # Need a restart test AddTest "Test SaveSession" SaveSession-Func AddToFunc SaveSession-Func + I SaveSession # SaveQuitSession isn't tested. # Ending ManPage Order # start Module tests. Might make sense to put these in another file: AddTest "Test FvwmBanner" FvwmBanner-Func AddToFunc FvwmBanner-Func + I *FvwmBannerTimeout 10 + I *FvwmBannerTimeout 1000 + I *FvwmBannerTimeout 9182743120348908713204 + I Module + I Module + I Module FvwmBanner + I Module FvwmBanner + I Module FvwmBanner # I disabled all of these since they are mostly tested above and # lots of them have random targets, making them unpredictable. # # ShortHand Function for next test: # DestroyFunc EchoDo # AddToFunc EchoDo # + I AddToFunc AllFunctionsNoParams-Func I Echo Doing $0 # + I AddToFunc AllFunctionsNoParams-Func I $0 # AddTest "Test AllFunctionsNoParams" AllFunctionsNoParams-Func # AddToFunc AllFunctionsNoParams-Func # EchoDo AddButtonStyle # EchoDo AddTitleStyle # EchoDo AddToDecor # EchoDo AddToFunc # EchoDo AddToMenu # EchoDo AnimatedMove # EchoDo Beep # EchoDo BorderStyle # EchoDo ButtonStyle # EchoDo ChangeDecor # EchoDo ClickTime # EchoDo Close # EchoDo ColorLimit # EchoDo ColormapFocus # EchoDo Current # EchoDo CursorMove # EchoDo CursorStyle # EchoDo Delete # EchoDo Desk # EchoDo DeskTopSize # EchoDo Destroy # EchoDo DestroyDecor # EchoDo DestroyFunc # EchoDo DestroyMenu # EchoDo DestroyModuleConfig # EchoDo Echo # EchoDo EdgeResistance # EchoDo EdgeScroll # EchoDo Exec # EchoDo ExecUseShell # EchoDo FlipFocus # EchoDo Focus # EchoDo Function # EchoDo GlobalOpts # EchoDo GotoPage # EchoDo HilightColor # EchoDo IconFont # EchoDo Iconify # EchoDo IconPath # EchoDo Key # EchoDo KillModule # EchoDo Lower # EchoDo Maximize # EchoDo Menu # EchoDo MenuStyle # EchoDo Module # EchoDo ModulePath # EchoDo Move # EchoDo MoveToPage # EchoDo Nop # EchoDo Next # EchoDo None # EchoDo OpaqueMoveSize # EchoDo PipeRead # EchoDo PixmapPath # EchoDo Popup # EchoDo Prev # EchoDo Raise # EchoDo RaiseLower # EchoDo Read # EchoDo Recapture # EchoDo Refresh # EchoDo RefreshWindow # EchoDo Resize # EchoDo SendToModule # EchoDo SetAnimation # EchoDo SetMenuDelay # EchoDo SetEnv # EchoDo Scroll # EchoDo Stick # EchoDo Style # EchoDo Title # EchoDo TitleStyle # EchoDo TitleStyle # EchoDo UpdateDecor # EchoDo WarpToWindow # #Log "Test hang" # #Wait # EchoDo MoveToDesk # EchoDo WindowFont # EchoDo WindowId # EchoDo WindowList # EchoDo WindowShade # EchoDo XORvalue AddTest "Test ModulePath" ModulePath-Func AddToFunc ModulePath-Func # the proper config does not have ModulePath, this overwrites a good default # This is near the end because it kills module execution. + I ModulePath + I ModulePath + I ModulePath $HOME/bin/fvwm2:/usr/local/libexec/fvwm/2.1.2 + I ModulePath /usr/local/libexec/fvwm/2.1.2:/nonexisT/FOO/bar:$HOME/bin/fvwm2 + I ModulePath /usr/local/libexec/fvwm/2.1.2:/nonexisT/FOO/bar:$HOME/bin/fvwm2 + I ModulePath $HOME/bin/fvwm2 + I ModulePath +:+:+ + I ModulePath $HOME/bin/fvwm2:/usr/local/libexec/fvwm/2.1.2:/nonexist/foo/bar + I ModulePath $HOME/bin/fvwm2:/usr/local/libexec/fvwm/2.1.2:/nonexist/foo/bar + I ModulePath + I ModulePath $HOME/bin/fvwm2:/usr/local/libexec/fvwm/2.3.22:/opt/public/src/fvwm/2.3.22:/home/olivier/local/opt/fvwm/libexec/2.5.7 AddTest "Test Cleanup" Cleanup-Func AddToFunc Cleanup-Func + I All (window1) destroy # Old [] syntax tested intentionally + I All [window2] destroy + I All (window3) destroy + I All (window4) destroy + I All (window5) destroy + I All (window6) destroy + I All (window_iconic) destroy + I All (window_shaded) destroy + I beep + I Echo ------------ ok ------------ + I TestQuitFunc # + I quit poesfj apäuofw ük-lnlöiooüp. ..a,sjdms.,x-, DestroyFunc PurifyInit AddToFunc PurifyInit + I ImagePath /tmp + I mouse 1 1 a close + I mouse 1 2 a Maximize + I mouse 1 t a move + I mouse 2 t a lower + I mouse 3 t a raiselower + I Exec xterm -geometry 10x5+0-0 -T window0 -n window0 -e sleep 1000 + I Wait window0 # + I CreateWindows-Func # + I Menu TestMenu # Now Display the tests: AddToFunc InitFunction + I ImagePath /tmp + I mouse 1 1 a close + I mouse 1 2 a Maximize # + I mouse 1 3 a Stick # + I mouse 1 4 a WindowShade + I mouse 1 t a move + I mouse 2 t a lower + I mouse 3 t a raiselower + I Exec xterm -geometry 10x5+0-0 -T window0 -n window0 -e sleep 1000 + I Wait window0 + I Menu TestMenu # ... and bind it to a button Mouse 1 r a Menu TestMenu Log "After Menu-Prompt, Done."