# Preferences

Use the menu item `iCab > Preferences` to configure many aspects of the browser.

### General

Home page, Search page
  Home page and search page are two redefined web sites which can be opened very fast using certain menu items of toolbar buttons in the browser window. These sites can be also loaded automatically whenever you open a new window or tab. The home page is usually used for a web site you often visit as start of your browsing session, the search page is usually the web site of your favorite search engine. Of course you can configure any web site you like for both options.
Default programs
  In this panel you can define the default web browser the default E-Mail app, the default FTP app etc. These settings are global settings of the macOS, not specific settings of iCab.
Source code
  iCab is able to show the source code of a web site (using the menu item `View > Source code`). iCab can show the source code itself and offers two ways to to do this: it can either show the source exactly as defined by the web site, or by colorizing the HTML tags. And the source code can be opened in an external text editor (the one that is configured as default text editor).
Address suggestions
  While entering a web address or search term into the address field iCab can list suggestions for addresses and search terms. Picking one of the suggestions can speed up everything, because you don't need to type in the whole address or search term. The settings for the address suggestions can be used to tell icab from where the suggestions should come from and how many suggestions should be listed from these sources.
Handoff
  The Handoff feature of the macOS makes it possible to start a browsing session on one computer, iPad or iPhone and continue it on another computer or device. iCab supports this feature when enabled for windows and tabs, so you can take over all the tabs and windows in icab on another Mac or on iCab Mobile on iPhone and iPad. When taking over a session from another computer or device on this computer, you can configure if the windows and tabs of the other computer or device should replace the existing tabs and windows or they should be opened in addition to the existing windows.

### Windows

In this section you can configure everything that is related to tabs and windows.

New window/tab shows
  This option defines what is shown in all newly created windows or tabs. The window can be empty or show the home page, the search page, the favorites (the content of the favorites folder of the bookmarks).
At App launch
  This option defines what is show after the App was launched. The default setting would be to load the "Last Session (restore all Tabs)", which makes sure that al windows and Tabs are restored which were open when the App was quit the last time. But it is also possible to open just the home page, the search page, the favorites or nothing at all.
Activating the App
  In case there's no window open when the App is activated, this option defines if and what the App should open in this case.
Other App opens page in iCab
  If another App opens a web page in iCab, this page can be opened in the current window or Tab, or in a new tab or window.
Options for windows/tabs
  The option to prefer tabs over windows has the effect that whenever a web site tries to open a new window, the App will open a new Tab instead. Also the keyboard shortcuts to open new windows or tabs will then use the shorter ones for the Tabs. Also the option to open windows or tabs in the background will affect how windows and tabs open and will assign the shorter keyboard shortcuts for your preferred ways to open windows/tabs. The shortcuts that are currently assigned to the different ways to open new windows or tabs are also listed here. These shortcuts can be used on web sites when opening links, but also when opening bookmarks from the bookmarks menu or window,
Confirmation required
  In case many windows or Tabs will be opened or closed at once, the App can ask the user first to get a conformation. This can help against accidentally closing a window with lots of Tabs or opening a whole folder of bookmarks.
Window components
  The status bar in the browser window can be switched on or off. Switching it off leaves more room for the web site. Switching it on provides additional information about the destination of the link the mouse cursor is pointing to. The status bar also gives easy access to certain modules.
Session files
  The "Session" feature allows to save the current session (all windows and tabs in its current state) into a file, and by loading this file later again to restore all the windows and tabs again. When loading a session file it is possible to replace all existing Tabs and window with the new session that is being loaded, or to load the session in addition to the existing windows and tabs (which mean the existing windows and Tabs are kept open)

### Bookmarks

In this section you can config everthing related to the Bookmarks, the History and the Reading List.

Bookmarks
  All bookmarks are accessible in the "Bookmarks" menu and can be opened by selecting its menu item. If you want to have the ability to open all the bookmarks of a certain folder (submenu) at once., you can add a menu item "Open as Tabs" into all sub menus of the bookmarks menu. This menu item will open all the bookmarks that are located in this folder (submenu) at once as Tabs. The option to show the "favorites toolbar" will show a special toolbar in each browser window where all the favorite bookmarks are directly available.
WebDAV
  The bookmarks can be optionally saved on a WebDAV server. This can be useful if you use multiple Macs and want to have the same bookmarks on all computers. iCab will automatically load or update the bookmarks from the WebDAV server when enabled and also store all changes of the bookmarks on the WebDAV server. This feature requires to enter the full URL for the bookmarks file where if should be located on the WebDAV server.

  An alternative way to sync the bookmarks would be to use the iCloud Sync (see the iCloud settings).

History
  While surfing the web iCab keeps a history of visited web sites. This history can be automatically deleted when quitting the App. You can also configure how many web sites should be stored in the history at most, and how many days. As soon as any of these limits is reached, icab deletes the oldes entries of the history. There's also a button to delete the history immediately.
Reading List
  The reading list is a special type of bookmarks list, where bookmarks are only stored temporarily until they're read. The reading list can be stored locally only, but also optionally linked with a Pocket or Instapaper account. If the reading list is used with these third party services, you also need to login into the account. Normally the reading list only keeps its bookmarks until they are read, but you can configure how many read bookmarks should be kept.

### Web Pages

In this section you can define which content and permissions a web site is allowed to have.

Web Content
  Here you can configure which technology (JavaScript, Java, Plugins etc.) a web site is allowed to use.

  In general you can use the Tab key to jump between the text fields of a web page. But it is also possible to jump between links and text fields.

  In case "loading web sites can be delayed" and you're opening multiple Tabs at once, then iCab will only load the active (visible) tab immediately, all other Tabs are only loaded when these are activated and made visible.

Audio/Video playback
  The option to "stop audio/video playback in the background" makes sure that only the active window or Tabs can play audio or video content. As soon as the active window/tab is brought to the background, the audio/video playback will stop automatically.

  You can also configure that audio or video playback must be started manually by the user, so web pages can't di this automatically themselves.

User-defined StyleSheets
  You can configure your own user-defined StyleSheet files, which you can activate or deactivate at any time using the menu `View > User-defined StyleSheets`. These StyleSheet allow to manipulate and change the layout of web sites. Please note: this feature requires some knowledge about HTML and CSS.
Font size
  This option allows to define the minimum font size that should be used for the web site content.
Text encoding
  Each web page uses a certain text encoding to encode language-specific characters. A common encoding is UTF-8, but there are also many others in use. Normally a web page tells the web browser which encoding is used, so the browser can automatically use the correct encoding. In case a web page doesn't do this, iCab uses the encoding that is configured as default encoding. So in case a web site shows wrong characters you can try to find another default encoding which will decode thise characters correctly.
Sound when page loaded
  iCab can play a sound whenever a web page has finished loading. this can be especially useful for blind users.

### Network

Cookies
  It is possible to allow web sites to set cookie or to block all cookies. Cookies can be also deleted automatically when quitting the App. If you need more control over cookies, you can use the filters feature where you can block cookies based on the domain and web addresses.
Web Storages
  Web sites can not only data in the browser using Cookies, there are also other types of storages available (web storages, databases, caches etc.). These can be optionally cleared as well when quitting the App.
Browser ID
  Many web sites provide different versions of their pages for different browsers and operating systems. Not all of these page version do provide the same information and might not work in all browsers. Therefore iCab can report a false Browser ID to the web site so the web site assumes that iCab is another browser. This can help on some web sites to get other content or a working version of the page.
User-defined IDs
  In case the predefined Browser IDs of iCab do not include a certain ID you need, you can define your own IDs. These IDs can be selected for the default Browser ID just like any of the predefined ones.
Site-specific IDs
  In case you regularly visit several web sites which require a different Browser ID, you can define site-specific Browser IDs. These IDs will be used only on those sites where the URL matches the URL filter that is defined for this special ID. You can use wildcard characters (*, ?, [abc]) in order to match more than a single URL with one filter.

### iCloud

Several files of iCab can be synchronized with other instances of iCab (Mac) and iCab Mobile (iPad and iPhone) via iCloud. This means each change on one computer or device will be automatically available on the other computers and devices.

When syncing data, it's always the newest copy of all the computers and devices which is made available for all others, so the older versions of these files will be overwritten. This is the normal behavior of a synchronization.

In case you have different data stored on the differen computers and devices, and you do not want to loose any of the data, you can enable the "Merge" option before enabling the sync for this data type. Then iCab will first load the existing data from the iCloud, merges it with the local data and then saves the combined data back to the iCloud, which will then copied to all the other devices normally. iCab will then automatically switch off the "merge" option for this data type so that the normal syncing behavior can take place.

### Searching

Search Suggestions
  While entering text in the address or search field iCab can make suggestions for search terms by asking a search engine for popular matching search terms. Here you can configure which search engine iCab should use to ask for suggestions.
Search Engines
  In this list iCab stores all the search engines which can be used when starting a web search from within the address or search field in the browser window. You can assign a "key" character for each search engine, which can be used in the address field to select a search engine for the search (by entering the key character, followed by a space character, followed by the search term).

  When defining an entry for a new search engine, you can use the character string "%@" as a replacement for the search term. This string will be automatically replaced by the search term when actually doing a search. If the string "%@" is mussing in the URL, then iCab will just append the search term at the end of the URL.

Default Search Engine
  Use this menu to select the default search engine which is used whenever no search engine is explicitly selected for the search.

### Downloads

In the download settings you can configure the default settings for all new downloads. These can be still changed when manually creating a download, if individual downloads need different settings.

The following general settings are available:

Download Folder
  All downloads will be stored in this folder. By default iCab uses the standard "Downloads" folder of the macOS.
When Download has finished
  These options control what iCab is doing after a download has finished successfully. The Download entry in the downloads window can be automatically removed (but not in case the download could not be finished because of an error), so only unfinished downloads are listed. Also when the very last Download finishes the Downloads window can be automatically closed. And iCab can play a sound to inform about finished downloads.
At App Launch
  This option controls if and when the Downloads window will be opened after the App was launched. For example the Downloads window can be opened if there are unfinished downloads as a notification to the user.

There are additional settings that are used for the "Site Download" feature where iCab can download web pages including sub pages and embedded resources:

Format
  Use the Format setting to either store all files as individual files in the downloads folder or by saving everything into a ZIP archive..
Source
  The "Source" option defines where the files must be located in order to be downloaded. The files can either be located on the same "domain" as the start page, in the same "Folder" or these files can be located within the whole web (no limits).
Max. Depth, Number Files, Traffic
  You can also set some limits like the number of files and the amount of data that will be downloaded at most, and the number of links that will be followed measured from the start page (the link depth). If you keep one of these fields empty, there's no limit for this option.
Embedded Files, Linked Files
  It's possible to tell iCab to load or not to load certain file types. Many common file types (images, video, audio files, etc.) can be directly checked/unchecked. iCab can distinguish between files that are embedded in the web page (like images which are directly displayed in the web page) or linked files.
Include/Exclude File Extensions
  You can also provide a comma-separated list of file extensions for files that must be downloaded (include extensions) or which must not be downloaded (exclude extensions).
Include/Exclude Domains
  And you can define domain names if you want to explicitly exclude files from these domains, or if you want to make sure that the files are only coming from certain domains.

### Security

International Domain Names (IDN)
  International Domain Names (IDN) are domain names which can contain language-specific letters and glyphs. But many languages have certain letters which look very similar or even identical to letters of other languages, this can lead to confusion or even abused from criminals. The Option `only display 'safe' IDNs` can be used to make sure that IDNs with such misleading characters are no longer shown in their misleading form.
Malware/Phishing Warnings
  iCab is able to warn the user before visiting web sites which can be dangerous because they try to steal passwords (Phishing) or which provide malicious software (Malware). iCab uses a service from Google for this feature. Google provides a large database of all the known Malware and Phishing sites, so iCab can search this database each time a new web site is opened. Using the database is done anonymously, so Google does not get any information about which web sites you're visiting. The database consists of "hash" values for all Phishing and Malware sites and is stored on your Mac locally (it's also updated regularly), so iCab can also check locally on your Mac if the URL (or its "hash" value) the user is about to visit is in this database.
Certificates
  All the certificates which are required to check secure and encrypted web sites are stored and managed by the "Keychain Manager" App of the macOS. The "Keychain manager" can be launched directly from within the settings.

  In case you visit web sites where the macOS is unable to check the validity of the certificates (for example for self-signed certificates, expired certificates, or otherwise invalid or untrusted certificates) iCab will display a warning. This warning includes the reason for the problem and the options to visit the page nevertheless, or to stop and not visiting the page. In both cases the user can decide to make this decision permanent, so in the future the warning will be omitted and the page will be visited or blocked automatically, or future visits would present the same warning again.

  If the warning will be answered with a permanent decision, the button `Edit Trusted Domains` can be used to change this decision again.

  The option `Auto-block untrusted Certificates` can be used to automatically block all of these warnings about certificates so that iCab will never visit these web pages and never show any warning anymore.

### Kiosk

The Kiosk mode is a special mode where icab blocks access to the rest of the system, hides the menu bar and the browser is always covering the whole screen. This mode is especially meant for public information terminals where the user should be able to get certain information but should not be able to get access to other programs and the system.

General
  It is possible to disable the keyboard shortcut to enable the kiosk mode. This can be useful to prevent that the kiosk mode is accidentally enabled.

  The macOS provides several system-wide keyboard shortcuts to force-quit Apps, to activate the "Exposé" feature etc. Because these shortcuts can be used to get access to the system or switch to other Apps, you can disable these shortcuts for the Kiosk mode as well.

  In case the Kiosk does not have a real keyboard but the user should nevertheless be able to enter text, you can enable the "virtual keyboard" for the Kiosk. This will add a menu item to the browser toolbar which can be used to open a virtual keyboard.

  The mose cursor can be hidden, in case it is not needed (for example if the Kiosk has a touch screen for user input).

  It is possible to add a button `End Session` into the browser toolbar. This button can be used by the user to explicitly end the session of the user. This will load the Kiosk Homepage again and deletes all private data (Cookies, Caches, etc) if the private mode for the Kiosk is enabled as well.

Browser Toolbars
  The status bar and the favorites toolbar can be enabled or disabled for the Kiosk independently of the normal mode.
Kiosk Homepage
  The Kiosk Homepage will be loaded after the Kiosk is activated and also each time a session is ended (either manually by the user or automatically after a certain time, see below)
Kiosk Options
  The Kiosk Homepage can be loaded automatically after a certain time of inactivity. This is useful if a Kiosk user should always start with the Kiosk Homepage. Even if a user doesn't end the session manually, iCab can nevertheless go back to the Homepage when using the idle timer. It's even possible to enforce a certain time span after which the homepage is loaded, regardless if the App is in use.

  The "Private Mode" for the kiosk controls wether all the private date (cookies, caches, etc) will be deleted whenever the homepage is loaded.

Filters
  YOu can provide a list or URLs (wildcard characters are allowed) which limit the web sites that can be visited in the Kiosk. Only the URLs which match the filters from the list can be visited is this feature is enabled.