Menu
File
New
Create a new empty action list. The logo will appear.
Open
Open a previously saved action list.
Save
Save changes to the current action list.
Save As
Save the current action list with a specified name.
Export
As droplet…
Creates a desktop droplet. It sits on your desktop and you can drag and drop any amount of image files and folders on it to batch process them.
Quit
Quit Phatch.
Recent
Recently opened files
Edit
Add
If you add an action you will only see the most commonly used features. You can add an action by pressing the 'Add' button or by double clicking an action.
There are many more actions available which you can access by pressing the top-right button 'Select'. This will open a list of categories. 'All' will show you all actions and for example if we select 'colours' :
If you choose 'all', you will get all the actions. In this case you can filter the actions by typing some characters in the search box at the top left. For example to see all actions related to gray, you select 'all' top-right and type 'gray' top-left:
Remove
Remove an action.
Enable
Enable an action. When an action is enabled it shows the logo of the action.
Disable
Disable an action. When an action is disabled it shows an X mark.
Up
Move the action up.
Down
Move the action down.
View
Droplet
Shows a droplet which is always on top of the other windows in the form of the Phatch logo. Any number of files or folders can be dragged and dropped on the droplet.
Show Description
Shows or hides a text field above the action list where you can enter a description.
Expand All
Expand all actions. This has no influence on the execution of the action list. The only purpose of expanding or collapsing actions is to have a better overview.
Collapse All
Collapse all actions.
Tools
Execute
Shows the dialog for executing the action list. The execute dialog box can also be started by dragging and dropping photos on the droplet or action list.
Browse Folder/Files
Browse for folders or files depending on which source is selected.
Source
Choose if you want to select a folder or only certain file(s) from a folder.
Types
You can select any of the given types. The default types are the ones that Phatch can read or write. Other types are read-only. If you choose read-only types, you need to specify the type explicitly in the save option. ("<type>" is in that case not valid.) The best is to choose the default types, which you can restore by pressing the "Default Types" button. For information about all the supported file types, see the features page.
Options
Stop for errors
If this is set, there will be a dialog showing up when error occurs which let you skip the problematic image or abort the process.
Check images first (recommended)
If this is set, Phatch will first check quickly if there are not any images that it can not handle. In most of the cases such images are invalid and it is better to exclude them from the process.
Overwrite existing images
If this is set Phatch will overwrite any existing images without any warning. The best is to leave this on. However if you are batching a huge amount of pictures and you want to pause Phatch, you can cancel Phatch and restart it later. In that case turn off this option, so that Phatch resumes with the images it didn't process yet.
Create missing folders (recommended)
If this is set and Phatch needs to save an image in a not existing folder, it will create the folder automatically.
Include all subfolders
If this is set, Phatch will include recursively all subfolders.
Image Inspector
With the image inspector you can explore exif and iptc tags of an image. There is a seperate page with more information.
Show Log
In case any error occurred, you can open the log window with this command. In case you think this is related to a bug of Phatch, copy and paste the contents on the bug report on launchpad.
Python Shell
If you are familiar with python, you will be happy to discover that Phatch was written in python. In order to let you explore Phatch in a pythonic way a python shell is provided. It offers autocompletion and introspection into its python variables and source code. This is Open Source live! Phatch is always looking for contributors. If you are interested, contact me.
When you use the Python shell, the Phatch application gets locked. You need to type 'unlock' in the Python shell to be able to use the Phatch application again.
Help
Translate Phatch
Translate Phatch in your own language.
Write an Action Plugin
Show a quick python template to get you started.
# -*- coding: UTF-8 -*- # Phatch recommends SPE (http://pythonide.stani.be) for editing python files. # Always import this (other imports in method Action.init): from core import models from core.translation import _t # Declare constants here (remove this line, for demonstration only) CHOICES = [_t('Sorry'),_t('Image')] #Use any PIL function you need def foo(image,dpi,horizontal): #process image with pil #(...) return image class Action(models.Action): label = _t('Label') author = 'Author' email = 'info@email.com' version = '0.1' tags = [_t('tag')] __doc__ = _t('Description') def __init__(self): fields = models.Fields() fields[_t('Boolean')] = models.BooleanField(True) fields[_t('String')] = models.CharField('hello world') fields[_t('Choice')] = models.ChoiceField(CHOICES[0], CHOICES) fields[_t('Colour')] = models.ColourField('#FFFFFF') fields[_t('Resolution')]= models.DpiField('<dpi>') fields[_t('File')] = models.FileField('/home/images/logo.jpg') fields[_t('Filename')] = models.FileNameField('<filename>') fields[_t('In')] = models.FilePathField('<folder>') #folder fields[_t('Float')] = models.FloatField(3.14) fields[_t('As')] = models.ImageTypeField('<type>')#png, jpg fields[_t('As')] = models.ImageReadTypeField('<type>')#png, jpg fields[_t('As')] = models.ImageWriteTypeField('<type>')#png, jpg fields[_t('Mode')] = models.ImageModeField('<mode>')#png, jpg fields[_t('Resample')] = models.ImageResampleField(_t('bicubic')) fields[_t('Integer')] = models.IntegerField(-4) fields[_t('Integer+')] = models.PositiveIntegerField(0) fields[_t('Integer+0')] = models.PositiveNoneZeroIntegerField(0) fields[_t('Horizontal')]= models.PixelField('5%') #accepts %,cm, inch fields[_t('Slider')] = models.SliderField(60,1,100) super(Action,self).__init__(fields) def import_modules(self): global Image import Image def apply(self,photo,setting,cache): #get info (always get this) info = photo.get_info() #in case you use PixelField you can get width, height & dpi ... #... from photo (use new_*) width, height = info['new_size'] dpi = info['new_dpi'] #... or from user input (see actions/image_size.py) dpi = self.get_field_value('Resolution',info) horizontal = self.get_field_size('Horizontal Offset',info, width,dpi) #collect parameters parameters = { 'dpi' : dpi, 'horizontal' : horizontal, } #manipulate layer (always return) return self.apply_to_current_layer_image(photo,foo,**parameters) icon = 'ART_TIP'
About
Show Credits and License. In case you contributed to Phatch (e.g. translations) and your name is not there, please let me know and you will be added to the list.
Action List
Drag and Drop
You can rearrange the order of actions by dragging and dropping them. You can drag and drop an amount of files or folders to batch process them, just like with the droplet.
Enable/Disable
You can toggle an action by double clicking its label.
Context Menu
By right clicking you can open the context menu, which is basically the same as the Edit menu.