Thank you guys for the screenshots and tips!
oxpal:
I've seen many times this colored pane headers stuff in tutorials, but didn't know that in the Preferences there is a switch for that, thanks.
Jeff:
Thanks for sharing your thoughts here.
There is a download button in the Edit/Colors window, and it works, but the schemes are old.
I recommend to try the flat schemes in qLib library (
http://qlab.github.io/qLib/ [qlab.github.io] ), there is a flat bright (qLibProFlat.hcs) and a flat dark (qLibProFlat.hcs) in the config folder. I used the dark one as a starting point, and will share later.
Here is my main desk file:
fullscreen -1
playbarshown 1
playbar 2
shelf 0
menubar 2
statusbar 0
radial menu set main
root {
split 0.711458 H {
split 0.483962 V {
split 0.433382 H {
tabs 0 0 {
pane panetab7 -a 0 -l 1 -H /obj/ -T OBJ -m neteditor
pane panetab18 -a 0 -l 2 -H /mat/ -T VOP -m neteditor
}
tabs 0 1 {
pane panetab1 -a 0 -l 0 -H /obj/ -T OBJ -m sceneview
pane panetab3 -a 0 -l 10 -H /obj/ -T OBJ -m iprviewer
pane panetab4 -a 0 -l 10 -H /img/comp1/ -T COP2 -m imageview
}
}
split 0.210102 H L {
tabs 0 1 {
pane panetab16 -a 0 -l 10 -H /obj/ -T OBJ -m treecontrol
pane panetab14 -a 0 -l 0 -H /obj/ -T OBJ -m neteditor
}
tabs 0 1 {
pane panetab10 -a 0 -l 2 -H /mat/ -T VOP -m neteditor
pane panetab2 -a 0 -l 10 -H /obj/ -T OBJ -m chaneditor
pane panetab9 -a 0 -l 10 -H /obj/ -T OBJ -m materialpalette
pane panetab6 -a 0 -l 0 -H /obj/ -T OBJ -m datatree
pane panetab11 -a 0 -l 10 -H /obj/ -T OBJ -m details
pane panetab13 -a 0 -l 10 -H /ch/ -T CHOPNET -m channelview
pane panetab17 -a 0 -l 0 -H /obj/ -T OBJ -m perfmon
pane panetab15 -a 0 -l 10 -H /out/ -T ROP -m renderview
}
}
}
split 0.484259 V {
tabs 0 1 {
pane panetab5 -a 0 -l 1 -H /obj/ -T OBJ -m parmeditor
pane copy_of_panetab5_1 -a 0 -l 0 -H /out/ -T ROP -m parmeditor
pane panetab19 -a 0 -l 0 -H /obj/ -T OBJ -m helpbrowser
}
tabs 0 0 {
pane panetab12 -a 1 -l 2 -H /mat/ -T VOP -m parmeditor
pane panetab8 -a 0 -l 2 -H /mat/ -T VOP -m parmeditor
}
}
}
}
shelfdock -o 1 -l icon -G 0.50 add shelf_set_3
networkeditor -p '{\n "shop:listmode":"0",\n "obj:listmode":"0",\n "sop:listmode":"0",\n "ch:listmode":"0",\n "cop2:listmode":"0",\n "out:listmode":"0",\n "showchilddep":"0",\n "showdep":"0",\n "perfstatname":"Time",\n "showperfstats":"1",\n "grouplistsplit":"0.75",\n "showtree":"0",\n "showtypesidebar":"0",\n "showparmdialogmax":"1",\n "treesplit":"0.25",\n "palettesize":"150 150",\n "typesidebarsplit":"0.25",\n "palettemode":"0",\n "showgrouplist":"0",\n "backgroundimagebrightness":"1.0",\n "backgroundimageediting":"0",\n "gridystep":"1.0",\n "gridmode":"0",\n "showtimedep":"0",\n "overviewbounds":"0.000000 0.000000 177.000000 127.800000",\n "overviewmode":"2",\n "palettecolors":"",\n "showmenu":"1",\n "gridxstep":"2.0",\n "showparmdialog":"0"\n}\n' panetab7
netcolumns -c display,xray,select,origin,capture,bone -n OBJ panetab7
netcolumns -c display,render,template,selectabletemplate,highlight,unload,bypass,lock -n SOP panetab7
netcolumns -c delscript,comment -n PART panetab7
netcolumns -c display,render,template,bypass -n POP panetab7
netcolumns -c delscript,comment -n CHOPNET panetab7
netcolumns -c display,export,audio,bypass,lock -n CHOP panetab7
netcolumns -c startrender,bypass,lock -n ROP panetab7
netcolumns -c delscript,comment -n SHOP panetab7
netcolumns -c display,render,template,bypass -n COP2 panetab7
netcolumns -c delscript,comment -n IMG panetab7
netcolumns -c delscript,comment,input -n VOP panetab7
netcolumns -c delscript,comment -n VOPNET panetab7
netcolumns -c delscript,comment -n DOP panetab7
netcolumns -c delscript,comment -n MGR panetab7
netcolumns -c delscript,comment -n DIR panetab7
networkeditor -p '{\n "showchilddep":"1",\n "showdep":"0",\n "perfstatname":"Time",\n "showperfstats":"1",\n "grouplistsplit":"0.75",\n "showtree":"0",\n "showtypesidebar":"0",\n "showparmdialogmax":"1",\n "treesplit":"0.25",\n "palettesize":"150 150",\n "typesidebarsplit":"0.25",\n "palettemode":"0",\n "showgrouplist":"0",\n "backgroundimagebrightness":"1.0",\n "backgroundimageediting":"0",\n "gridystep":"1.0",\n "gridmode":"0",\n "overviewbounds":"0.000000 0.000000 177.000000 127.800000",\n "overviewmode":"2",\n "palettecolors":"",\n "showmenu":"1",\n "gridxstep":"2.0",\n "showparmdialog":"0"\n}\n' panetab18
netcolumns -c display,xray,select,origin,capture,bone -n OBJ panetab18
netcolumns -c display,render,template,selectabletemplate,highlight,unload,bypass,lock -n SOP panetab18
netcolumns -c delscript,comment -n PART panetab18
netcolumns -c display,render,template,bypass -n POP panetab18
netcolumns -c delscript,comment -n CHOPNET panetab18
netcolumns -c display,export,audio,bypass,lock -n CHOP panetab18
netcolumns -c startrender,bypass,lock -n ROP panetab18
netcolumns -c delscript,comment -n SHOP panetab18
netcolumns -c display,render,template,bypass -n COP2 panetab18
netcolumns -c delscript,comment -n IMG panetab18
netcolumns -c delscript,comment,input -n VOP panetab18
netcolumns -c delscript,comment -n VOPNET panetab18
netcolumns -c delscript,comment -n DOP panetab18
netcolumns -c delscript,comment -n MGR panetab18
netcolumns -c delscript,comment -n DIR panetab18
viewerstow -x open -b stow -l open -m hide -c hide -d open 1_sciVfx_Multi.panetab1.world
vieweroption -a 2 1_sciVfx_Multi.panetab1.world
viewlayout -s 2 1_sciVfx_Multi.panetab1.world
viewtype -t ortho_right 1_sciVfx_Multi.panetab1.world.`vpname("1_sciVfx_Multi.panetab1.world",4)`
viewtype -t ortho_front 1_sciVfx_Multi.panetab1.world.`vpname("1_sciVfx_Multi.panetab1.world",3)`
viewtype -t ortho_top 1_sciVfx_Multi.panetab1.world.`vpname("1_sciVfx_Multi.panetab1.world",1)`
viewtype -t perspective 1_sciVfx_Multi.panetab1.world.`vpname("1_sciVfx_Multi.panetab1.world",2)`
iprview -t 0.1 -l 0 -e 1 -u 1 panetab3
treecontrol -a 0 -h 0 -i 1 -f 0 -O 0 -S 0 -D 0 -P 0 -H 0 -V 0 -C 0 -I 0 -R 0 panetab16
networkeditor -p '{\n "showchilddep":"1",\n "showdep":"0",\n "perfstatname":"Time",\n "showperfstats":"1",\n "grouplistsplit":"0.75",\n "showtree":"0",\n "showtypesidebar":"0",\n "showparmdialogmax":"1",\n "treesplit":"0.25",\n "palettesize":"150 150",\n "typesidebarsplit":"0.25",\n "palettemode":"0",\n "showgrouplist":"0",\n "backgroundimagebrightness":"1.0",\n "backgroundimageediting":"0",\n "gridystep":"1.0",\n "gridmode":"0",\n "overviewbounds":"0.000000 0.000000 44.514908 68.100000",\n "overviewmode":"2",\n "palettecolors":"",\n "showmenu":"1",\n "gridxstep":"2.0",\n "showparmdialog":"0"\n}\n' panetab14
netcolumns -c display,xray,select,origin,capture,bone -n OBJ panetab14
netcolumns -c display,render,template,selectabletemplate,highlight,unload,bypass,lock -n SOP panetab14
netcolumns -c delscript,comment -n PART panetab14
netcolumns -c display,render,template,bypass -n POP panetab14
netcolumns -c delscript,comment -n CHOPNET panetab14
netcolumns -c display,export,audio,bypass,lock -n CHOP panetab14
netcolumns -c startrender,bypass,lock -n ROP panetab14
netcolumns -c delscript,comment -n SHOP panetab14
netcolumns -c display,render,template,bypass -n COP2 panetab14
netcolumns -c delscript,comment -n IMG panetab14
netcolumns -c delscript,comment,input -n VOP panetab14
netcolumns -c delscript,comment -n VOPNET panetab14
netcolumns -c delscript,comment -n DOP panetab14
netcolumns -c delscript,comment -n MGR panetab14
netcolumns -c delscript,comment -n DIR panetab14
networkeditor -p '{\n "cop2:listmode":"0",\n "ch:listmode":"0",\n "obj:listmode":"0",\n "shop:listmode":"0",\n "sop:listmode":"0",\n "vop:listmode":"0",\n "showchilddep":"1",\n "showdep":"0",\n "perfstatname":"Time",\n "showperfstats":"1",\n "grouplistsplit":"0.75",\n "showtree":"0",\n "showtypesidebar":"0",\n "showparmdialogmax":"1",\n "treesplit":"0.25",\n "palettesize":"150 150",\n "typesidebarsplit":"0.25",\n "palettemode":"0",\n "showgrouplist":"0",\n "backgroundimagebrightness":"1.0",\n "backgroundimageediting":"0",\n "gridystep":"1.0",\n "gridmode":"0",\n "showtimedep":"0",\n "overviewbounds":"0.000000 0.000000 516.648045 172.849162",\n "img:listmode":"0",\n "overviewmode":"2",\n "palettecolors":"",\n "showmenu":"1",\n "gridxstep":"2.0",\n "showparmdialog":"0"\n}\n' panetab10
netcolumns -c display,xray,select,origin,capture,bone -n OBJ panetab10
netcolumns -c display,render,template,selectabletemplate,highlight,unload,bypass,lock -n SOP panetab10
netcolumns -c delscript,comment -n PART panetab10
netcolumns -c display,render,template,bypass -n POP panetab10
netcolumns -c delscript,comment -n CHOPNET panetab10
netcolumns -c display,export,audio,bypass,lock -n CHOP panetab10
netcolumns -c startrender,bypass,lock -n ROP panetab10
netcolumns -c delscript,comment -n SHOP panetab10
netcolumns -c display,render,template,bypass -n COP2 panetab10
netcolumns -c delscript,comment -n IMG panetab10
netcolumns -c delscript,comment,input -n VOP panetab10
netcolumns -c delscript,comment -n VOPNET panetab10
netcolumns -c delscript,comment -n DOP panetab10
netcolumns -c delscript,comment -n MGR panetab10
netcolumns -c delscript,comment -n DIR panetab10
datatree -p "Material Style Sheets" -D "{ \"use_full_shop_paths\":false } " panetab6
chopview -a 0 -c "" -k 1 -m 1 -b 1 -e 1 -f 0 -g 0 -H 1 -i 0 -j 1 -l 0 -n 1 -V 0 -y 0 -B 0 -s 0 -S 0.034375 -u 0 -v 0 -h -10 310 -r -1.5 1.5 panetab13
performance -c on -d on -f on -g off -k on -m off -n on -o on -t off -v on -y on -u on -e off -r absolute -w tree panetab17
ropview -c 1 panetab15
parmeditor -T 0.25 -w 0 panetab5
parmeditor -T 0.25 -w 0 copy_of_panetab5_1
helpbrowser panetab19
parmeditor -T 0.25 -w 0 panetab12
parmeditor -T 0.25 -w 0 panetab8
Now I use numbers at the beginning of the names to order the desktops and have a permanent shortcut for them.
The top part of the screen is the selection slot 1 for high level nodes, the bottom is for the VOP+ it's parameters (scene view pinned to aviod jumping) with slot 2. I set the backslash (changed the original Alt+\) to easily maximize the parameters for high level or for low level nodes, and switch back.
I also set some other easily accessible shortcuts for the UI stuff like the shelf hide/show command, which is Ctrl+Alt+Tab (kind of a high level Tab menu). So I use shelf tools, but just unhide when I need it. Lots of shortcut options are in the Hotkeys editor. It's easy to set up without searching by the command name: just click with Shift+Ctrl+Alt on almost any UI element (works with the shelf and other stow bars!) and click on >green circle with + sign< then the shortcut and apply/accept. That's all
![](/static/djangobb_forum/img/smilies/smile.png)
The Houdini Creation Desk is a great idea, clean and useful.
Use your favourite raw text editor on one of the .desk files to see what is actually captured when you save a desktop. Pretty interesting…
I tried it now. Luckily on Linux the KWrite text editor automatically offers a file comparison when the opened file has changed. Lot to learn, I created my desk with the UI, I think there are additional opportunities with file tweaking…
arctor:
This isn't a competition and for rigging it can be better with this scheme/layout, but I'm more a look-dev/lighter guy, that's why I prefer dark/flat schemes. Also good example, because the node layout is important for rigging.
cpb:
Your UI seems aviation grade. At right there is the engine and systems instrument panel
![](/static/djangobb_forum/img/smilies/wink.png)
Is it Linux?
Paq:
Not offtopic, I mentioned that we spend more time with VFX software than with humans, so all forms of Houdini & other related sw are welcome here.
Two additional things which I didn't mention in my first post:
- Fullscreen:
There is a discussion how to hide all the UI elements of the OS and have just Houdini in front of you, work without fancy icons and use the full screenspace:
https://www.sidefx.com/forum/topic/53236/ [
www.sidefx.com]
Luckily Vux shared his script there, anybody can put this on the shelf and create a shortcut. So it's easy to set F11 for fullscreen mode as it's default with many other apps, even in MPlay.
How to:
- Right click on an empy shelf area: New Tool…
- Options tab: Name/Label: Fullscreen or whatever
- Script tab: paste Vix's script
- Hotkeys tab: Global -> Edit
- Click on >green circle with + sign< then F11 or whatever
- Accept, Accept
- Custom cursor:
I modified the original cursor definition file and put it in the same subfolder in the user prefs:
Original: $HFS/houdini/config/Cursors/CursorMapping
Modified: $HOUDINI_USER_PREF_DIR/config/Cursors/CursorMapping
While Houdini uses own cursors, even if I set a crosshair at OS level, it switches back to arrow, which wasn't ok for me. Finally I found this solution, which is better than the native OS cursor use, you can define different cursors for many functions with this file
![](/static/djangobb_forum/img/smilies/smile.png)
That was one of the last things with the newer Maya versions when I decided to migrate… The first let's say ten versions used the OS cursor, which was ok for me, but in a version few years ago they introduced a hard coded/burned in custom ugly arrow. I didn't find any way to get a rid of it… I really don't like when developers put concrete boundaries around the user.
Maybe the main reason why I sticked with Maya was the better UI… things have changed, now I think Houdini has better and more customizable UI than Maya.
Here is my actual CursorMapping file (bit crosshair maniac):
# CursorMapping
#
# This file lists the mouse cursor information for Houdini.
#
# Each mouse cursor is defined as a triplet of lines:
# <cursorName>.file := <filename of image in Cursors directory> ;
# <cursorName>.x := <x coordinate of hotspot location> ;
# <cursorName>.y := <y coordinate of hotspot location> ;
#
# If the file is the .cursor format, then the hotspot location is ignored since
# it already includes hotspot information within. Otherwise, the hotspot
# location is relative to the TOP LEFT corner of the image. If an image is
# supplied and the hotspot coordinates are either negative or missing, then
# the hotspot location will default to the center of the image.
#
##############################################################################
# TODO:
# - For all new style cursors (.svg), we need to specify hotspots for them
# - For all used cursors, we need to have new style cursors for it
#
##############################################################################
# View tool cursors
DM_viewDolly.file := crosshair_toggle.svg; # RMB (dolly)
DM_viewDolly.x := 11;
DM_viewDolly.y := 11;
DM_viewRx.file := tilt.svg; # Alt+LMB (rotate in X)
DM_viewRx.x := 11;
DM_viewRx.y := 11;
DM_viewRy.file := swivel.svg; # Alt+LMB (rotate in Y)
DM_viewRy.x := 11;
DM_viewRy.y := 11;
DM_viewRz.file := roll.svg; # Ctrl+LMB (roll)
DM_viewRz.x := 11;
DM_viewRz.y := 11;
DM_viewScroll.file := crosshair_toggle.svg; # MMB (pan)
DM_viewScroll.x := 11;
DM_viewScroll.y := 11;
DM_viewTumble.file := crosshair_toggle.svg; # LMB (tumble)
DM_viewTumble.x := 11;
DM_viewTumble.y := 11;
DM_viewZoom.file := zoom.svg; # Alt+RMB (zoom)
DM_viewZoom.x := 11;
DM_viewZoom.y := 11;
hand.file := crosshair_toggle.svg; # Default view cursor
hand.x := 11;
hand.y := 11;
# Arrow cursors
iris.file := crosshair.svg; # default arrow cursor
iris.x := 11;
iris.y := 11;
arrowAll.file := resize_all.svg; # Resizing
arrowAll.x := 11;
arrowAll.y := 11;
arrowDiag.file := resize_diagonal.svg; # Diagonal resizing
arrowDiag.x := 11;
arrowDiag.y := 11;
arrowD1.file := arrowD1.cursor; # Selector arrow
arrowD2.file := white.svg; # Dragging handle
arrowD2.x := 7;
arrowD2.y := 2;
arrowAllDiagonal.file := arrowAllDiagonal.cursor; # unused
arrow.file := arrow.cursor; # unused
arrow_brush.file := brush.svg; # new unused
arrow_brush.x := 11;
arrow_brush.y := 11;
arrow_brush2.file := brush2.svg; # new unused
arrow_brush2.x := 11;
arrow_brush2.y := 11;
arrow_move.file := move.svg; # new unused
ibeam.file := white_ibeam.svg; # For text fields.
ibeam.x := 16;
ibeam.y := 16;
# Selection
select_white_replace.file := crosshair.svg; # Default selection mode
select_white_replace.x := 11;
select_white_replace.y := 11;
select_white_add.file := crosshair_add.svg; # Add to selection
select_white_add.x := 11;
select_white_add.y := 11;
select_white_remove.file := crosshair_remove.svg; # Remove to selection
select_white_remove.x := 11;
select_white_remove.y := 11;
select_white_toggle.file := crosshair_toggle.svg; # Toggle selection
select_white_toggle.x := 11;
select_white_toggle.y := 11;
select_black_replace.file := crosshair.svg; # Default selection mode
select_black_replace.x := 11;
select_black_replace.y := 11;
select_black_add.file := crosshair_add.svg; # Add to selection
select_black_add.x := 11;
select_black_add.y := 11;
select_black_remove.file := crosshair_remove.svg; # Remove to selection
select_black_remove.x := 11;
select_black_remove.y := 11;
select_black_toggle.file := crosshair_toggle.svg; # Toggle selection
select_black_toggle.x := 11;
select_black_toggle.y := 11;
select_laser_replace.file := crosshair.svg; # Laser select default
select_laser_replace.x := 11;
select_laser_replace.y := 11;
select_laser_add.file := crosshair_add.svg; # Laser select add
select_laser_add.x := 11;
select_laser_add.y := 11;
select_laser_remove.file := crosshair_remove.svg; # Laser select remove
select_laser_remove.x := 11;
select_laser_remove.y := 11;
select_laser_toggle.file := crosshair_toggle.svg; # Laser select toggle
select_laser_toggle.x := 11;
select_laser_toggle.y := 11;
# Handle locate cursors
handle_locate.file := crosshair.svg;
handle_locate.x := 11;
handle_locate.y := 11;
handle_locate_x.file := crosshair.svg;
handle_locate_x.x := 11;
handle_locate_x.y := 11;
handle_locate_y.file := crosshair.svg;
handle_locate_y.x := 11;
handle_locate_y.y := 11;
handle_locate_z.file := crosshair.svg;
handle_locate_z.x := 11;
handle_locate_z.y := 11;
handle_locate_xy.file := crosshair.svg;
handle_locate_xy.x := 11;
handle_locate_xy.y := 11;
handle_locate_yz.file := crosshair.svg;
handle_locate_yz.x := 11;
handle_locate_yz.y := 11;
handle_locate_xz.file := crosshair.svg;
handle_locate_xz.x := 11;
handle_locate_xz.y := 11;
handle_locate_xyz.file := crosshair.svg;
handle_locate_xyz.x := 11;
handle_locate_xyz.y := 11;
handle_locate_u.file := crosshair.svg;
handle_locate_u.x := 11;
handle_locate_u.y := 11;
handle_locate_v.file := crosshair.svg;
handle_locate_v.x := 11;
handle_locate_v.y := 11;
handle_locate_w.file := crosshair.svg;
handle_locate_w.x := 11;
handle_locate_w.y := 11;
handle_locate_uv.file := crosshair.svg;
handle_locate_uv.x := 11;
handle_locate_uv.y := 11;
# Splitter cursors (should be black to be consistent with Windows)
arrowRight.file := resize_right.svg; # Move splitter right
arrowRight.x := 11;
arrowRight.y := 11;
arrowUp.file := resize_up.svg; # Move splitter up
arrowUp.x := 11;
arrowUp.y := 11;
arrowLeft.file := resize_left.svg; # Move splitter left
arrowLeft.x := 11;
arrowLeft.y := 11;
arrowDown.file := resize_down.svg; # Move splitter down
arrowDown.x := 11;
arrowDown.y := 11;
arrowUpDown.file := resize_v.svg; # Move splitter up/down
arrowUpDown.x := 11;
arrowUpDown.y := 11;
arrowLeftRight.file := resize_h.svg; # Move splitter left/right
arrowLeftRight.x := 11;
arrowLeftRight.y := 11;
arrowNE.file := resize_ne.svg;
arrowNE.x := 11;
arrowNE.y := 11;
arrowNW.file := resize_nw.svg;
arrowNW.x := 11;
arrowNW.y := 11;
arrowSE.file := resize_se.svg;
arrowSE.x := 11;
arrowSE.y := 11;
arrowSW.file := resize_sw.svg;
arrowSW.x := 11;
arrowSW.y := 11;
arrowNWSE.file := resize_nwse.svg;
arrowNWSE.x := 11;
arrowNWSE.y := 11;
arrowSWNE.file := resize_swne.svg;
arrowSWNE.x := 11;
arrowSWNE.y := 11;
swapLeftRight.file := swap_h.svg; # Swap panes horizontally
swapLeftRight.x := 7;
swapLeftRight.y := 2;
swapUpDown.file := swap_v.svg; # Swap panes vertically
swapUpDown.x := 7;
swapUpDown.y := 2;
# Other generic cursors
cross.file := crosshair.svg; # Draw tool
cross.x := 11;
cross.y := 11;
X.file := do_not.svg; # Action is invalid
# (COPs uses for delete)
busy.file := wait.svg; # Hourglass on Windows
interruptable.file := wait2.svg; # Arrow with hourglass
interruptable.x := 2;
interruptable.y := 0;
dragdropOn.file := drag_drop.svg; # DnD allowed
dragdropOn.x := 1;
dragdropOn.y := 0;
dragdropOff.file := drag_nodrop.svg; # DnD not allowed
dragdropOff.x := 1;
dragdropOff.y := 0;
question.file := question.cursor; # unused
cut.file := cut.svg; # unused
cut.x := 5;
cut.y := 10;
# COP viewer related
handpoint.file := point.svg; # Start tab move
handpoint.x := 7;
handpoint.y := 2;
select.file := select.cursor; # Cursor mouseover on handle
# Misc other unused cursors
metal.file := metal.svg; # new unused
metal.x := 7;
metal.y := 2;
chili.file := chili.svg; # new unused
chili.x := 6;
chili.y := 3;
wire.file := wire.svg; # new unused
wire.x := 7;
wire.y := 2;
zoomin.file := zoom_in.svg; # new unused
zoomout.file := zoom_out.svg; # new unused
smallBusy.file := smallBusy.cursor; # unused
cornerBL.file := cornerBL.cursor; # unused
cornerBR.file := cornerBR.cursor; # unused
cornerTL.file := cornerTL.cursor; # unused
cornerTR.file := cornerTR.cursor; # unused