Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
customHaloSpecs
Last updated at 5:57 am UTC on 16 July 2018
The method #customHaloSpecs defines how custom halos (HaloMorphs) look like. This defines a custom theme.

You may choose the custom theme in the preferences browser.

PreferenceBrowser_choose_haloTheme.png

Clicking on the 'custom' button actually does


 Preferences installCustomHaloSpecs
	"Install an alternative set of halos, as customized by the user"
	"Preferences installCustomHaloSpecs"
	self installHaloTheme: #customHaloSpecs


The method #customHaloSpecs defines which handles are displayed in the HaloMorph.

A simple example of a Custom halo


To create you own custom halo selection of handles and layout evaluate the following in a Workspace.

 Preferences editCustomHalos

Then edit the method to for example (a minimal solution)

 customHaloSpecs
 	"Intended for you to modify to suit your personal preference.  What is implemented in the default here is just a skeleton; 
        in comment at the bottom of this method are some useful lines you may wish to paste in to the main body here, 
        possibly modifying positions, colors, etc.."
 	^ #(
 	(addDismissHandle:  left		top			(red		muchLighter)		'Halo-Dismiss')
 	(addGrowHandle:	    right		bottom			(yellow)				'Halo-Scale')
 	(addScaleHandle:		right		bottom		(lightOrange)				'Halo-Scale')
 	(addDupHandle:			right		top		(green)					'Halo-Dup')	
 	(addRecolorHandle:		left			bottom	(green muchLighter lighter)		'Halo-Recolor')
	)

Choose "accept" and evaluate in the Workspace:

 Preferences installCustomHaloSpecs


To check which specs are installed do evaluate

 Preferences haloSpecifications

The above may be done as well through Preferences halo.


Possible options for custom halos


customHaloSpecs
"Intended for you to modify to suit your personal preference. What is implemented in the default here is just a skeleton; in comment at the bottom of this method are some useful lines you may wish to paste in to the main body here, possibly modifying positions, colors, etc..
Note that in this example, we include:
Dismiss handle, at top-left
Menu handle, at top-right
Resize handle, at bottom-right
Rotate handle, at bottom-left
Drag handle, at top-center
Recolor handle, at left-center. (this one is NOT part of the standard formulary –
it is included here to illustrate how to
add non-standard halos)
Note that the optional handles for specialized morphs, such as Sketch, Text, PasteUp, are also included"

^ #(
(addDismissHandle: left top (red muchLighter) 'Halo-Dismiss')
(addMenuHandle: right top (red) 'Halo-Menu')
(addDragHandle: center top (brown) 'Halo-Drag')
(addGrowHandle: right bottom (yellow) 'Halo-Scale')
(addScaleHandle: right bottom (lightOrange) 'Halo-Scale')

(addRecolorHandle: left center (green muchLighter lighter) 'Halo-Recolor')

(addPaintBgdHandle: right center (lightGray) 'Halo-Paint')
(addRepaintHandle: right center (lightGray) 'Halo-Paint')
(addFontSizeHandle: leftCenter bottom (lightGreen) 'Halo-FontSize')
(addFontStyleHandle: center bottom (lightRed) 'Halo-FontStyle')
(addFontEmphHandle: rightCenter bottom (lightBrown darker) 'Halo-FontEmph')
(addRotateHandle: left bottom (blue) 'Halo-Rot')

(addDebugHandle: right topCenter (blue veryMuchLighter) 'Halo-Debug')
(addPoohHandle: right center (white) 'Halo-Pooh')


)

" Other useful handles...

selector horiz vert color info icon key
——— —— ———– ——————————- —————

(addTileHandle: left bottomCenter (lightBrown) 'Halo-Tile')
(addViewHandle: left center (cyan) 'Halo-View')
(addGrabHandle: center top (black) 'Halo-Grab')
(addDragHandle: rightCenter top (brown) 'Halo-Drag')
(addDupHandle: right top (green) 'Halo-Dup')
(addHelpHandle: center bottom (lightBlue) 'Halo-Help')
(addFewerHandlesHandle: left topCenter (paleBuff) 'Halo-FewerHandles')
(addPaintBgdHandle: right center (lightGray) 'Halo-Paint')
(addRepaintHandle: right center (lightGray) 'Halo-Paint')
"




See also How to change the size of the halos, HaloSpec