X-Dock is a new dock application for the Amiga. It is part of the Enhancer Software package for AmigaOS.
The application allows single or multiple docks to be created and placed on the Workbench Screen with each containing icons for applications, scripts or even directories (drawers).
Docks can be customised in visual look and appearance by the user with orientation, position, different colours, transparency levels, rounded corners, highlighted edges and label fonts.
When a dock is locked, the dock cannot be changed and icons cannot be added.
The dock can be locked or unlocked by using the Lock checkbox option in the menu. Once unlocked, icons can be dragged and dropped over the dock to add them or alternatively the buttons tab in the X-Dock Preferences can be used to manage the icons on the dock. This includes adding, removing and arrange the order of icons as well as adding separators between icon groups.
If a dock is locked and an icon from the Workbench is dragged and dropped over an icon on the dock, the dock application will try to open or process that file associated with the Workbench icon. For example if you have a text document you wish to open to edit, then you could drag it and drop it over the MultiEdit icon. MultiEdit will then open and automatically load that document file.
If borders unlock option is activated in the X-Dock Preferences Misc tab then holding down the Ctrl key will temporarily unlock the current dock. The border will be highlighted red to signify that it is unlocked and upon release of the Ctrl key, the dock will resume to it's former locked state.
Dock Icon Dragging
Whilst the dock is in unlock mode, hover the mouse pointer over the icon you wish to move to a new location on the dock so that it is highlighted. Hold down the Shift key and the mouse pointer will change to a hand icon. Keep the Shift key depressed and click the left mouse button (but do not release). Move the mouse pointer to the new location that you wish the icon to be moved to and release the Shift key and left mouse button. The dock will be redrawn with the icon in the new location.
X-Dock can handles the following ARexx commands on it's ARexx message port:
(where n = the instance number of the targeted X-Dock)
NAME return name of the program "X-Dock"
VERSION return version number "0.33 (10.04.2016)"
ABOUT open About window
SAVE save the currents X-Dock settings
UNDO undo last change
REDO redo last change
HIDE hide the X-Dock (only Dragbar is visible)
SHOW show the hiddent X-Dock
IDENTIFY identify the X-Dock by bringing it to front and by blinking twice his buttons
HORIZONTAL make the X-Dock horizontally oriented
VERTICAL make the X-Dock vertically oriented
ICONIFY iconify X-Dock
MOVE_WINDOW x y move X-Dock window to x,y coordinates
CLOSE close this X-Dock
QUIT quit all running X-Dock
HIDE_DRAGBAR hide the drag area if displayed
SHOW_DRAGBAR show the drag area if hidden
LOCK lock X-Dock
UNLOCK unlock X-Dock
HIDE_LABEL hide the labels below the buttons
SHOW_LABEL show the labels below the buttons
ACTIVATE activate the X-Dock window
TOFRONT bring X-Dock window to the front (call ACTIVATE to activate it)
TOBACK send X-Dock window behind others
DELETE_XDOCK delete the corresponding X-Dock
REMOVE_ALL remove all buttons
OPEN n open X-Dock n (if not opened)
NEW creates a new empty X-Dock
RINGHIO_ON turns ON the Ringhio notifications
RINGHIO_OFF turns OFF the Ringhio notifications
MOVE a b move button at position a to position b
ADD [index_num program_name] icon_name program_label start_mode icon_selected_name"
Add a program at specified index. index_num and program_name are both required.
Add MultiEdit at the fifth position with .info as button picture in WB start mode and a dummy selected icon (not needed in .info mode):
ADD "5 SYS:Utilities/MultiEdit/MultiEdit.info MultiEdit WB DUMMY"
Add a Separator at fourth position:
ADD "4 Separator"
Remove the specified index button:
The following example with remove the second element of the dock:
See X-Dock.rx for a ARexx sample.
XDock ARexx port can too be addressed by using the CLI:
rx 'ADDRESS XDock ADD 4 Separator' rx 'ADDRESS XDock REMOVE 4' rx 'ADDRESS XDock save'