Using Commands
The Command Button allows you to create and run shell commands (other programs) from Tiled.
You may setup as many commands as you like. This is useful if you edit maps for multiple games and you want to set up a command for each game. Or you could setup multiple commands for the same game that load different checkpoints or configurations.
Editing Commands
The ‘Edit Commands’ dialog contains a list of commands. Each command has several properties:
- Name
The name of the command as it will be shown in the drop down list, so you can easily identify it.
- Executable
The executable to run. It should either be a full path or the name of an executable in the system PATH.
- Arguments
The arguments for running the executable.
- Working directory
The path to the working directory.
- Shortcut
A custom key sequence to trigger the command. You can use ‘Clear’ to reset the shortcut.
- Show output in Console view
If this is enabled, then the output (stdout and stderr) of this command will be displayed in the Console. You can find the Console in View > Views and Toolbars > Console.
- Save map before executing
If this is enabled, then the current map will be saved before executing the command.
- Enabled
A quick way to disable commands and remove them from the drop down list. The default command is the first enabled command.
Note that if the executable or any of its arguments contain spaces, these parts need to be quoted.
Substituted Variables
In the executable, arguments and working directory fields, you can use the following variables:
%mapfile
the full path of the current file (either map or tileset).
%mappath
the path in which the current file is located.
%projectpath
the path in which the current project is located.
%objectclass
the class of the currently selected object, if any (also available as
%objecttype
for compatibility with Tiled < 1.9).%objectid
the ID of the currently selected object, if any.
%layername
the name of the currently selected layer.
%tileid
a comma-separated list with the IDs of the selected tiles, if any.
%worldfile
the full path of the world the current map is part of, if any.
For the working directory field, you can additionally use the following variable:
%executablepath
the path to the executable.
Example Commands
Launching a custom game called “mygame” with a -loadmap parameter and the mapfile:
mygame -loadmap %mapfile
On Mac, remember that Apps are folders, so you need to run the actual
executable from within the Contents/MacOS
folder:
/Applications/TextEdit.app/Contents/MacOS/TextEdit %mapfile
Or use open
(and note the quotes since one of the arguments contains
spaces):
open -a "/Applications/CoronaSDK/Corona Simulator.app" /Users/user/Desktop/project/main.lua
Some systems also have a command to open files in the appropriate program:
OSX:
open %mapfile
GNOME systems like Ubuntu:
gnome-open %mapfile
FreeDesktop.org standard:
xdg-open %mapfile