Added functionality to limit the number of processes used for bachground services.

Wed, 21 Jun 2017 19:40:59 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 21 Jun 2017 19:40:59 +0200
changeset 5762
76ef5f340007
parent 5761
f9e1e4e50b33
child 5763
e2d839b69ff3

Added functionality to limit the number of processes used for bachground services.

APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheck.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Plugins.CheckerPlugins.SyntaxChecker.jsCheckSyntax.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Utilities.BackgroundClient.html file | annotate | diff | comparison | revisions
Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py file | annotate | diff | comparison | revisions
Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheck.py file | annotate | diff | comparison | revisions
Plugins/CheckerPlugins/SyntaxChecker/jsCheckSyntax.py file | annotate | diff | comparison | revisions
Plugins/CheckerPlugins/Tabnanny/Tabnanny.py file | annotate | diff | comparison | revisions
Preferences/ConfigurationPages/ApplicationPage.py file | annotate | diff | comparison | revisions
Preferences/ConfigurationPages/ApplicationPage.ui file | annotate | diff | comparison | revisions
Preferences/__init__.py file | annotate | diff | comparison | revisions
Utilities/BackgroundClient.py file | annotate | diff | comparison | revisions
Utilities/BackgroundService.py file | annotate | diff | comparison | revisions
changelog file | annotate | diff | comparison | revisions
i18n/eric6_cs.ts file | annotate | diff | comparison | revisions
i18n/eric6_de.qm file | annotate | diff | comparison | revisions
i18n/eric6_de.ts file | annotate | diff | comparison | revisions
i18n/eric6_empty.ts file | annotate | diff | comparison | revisions
i18n/eric6_en.ts file | annotate | diff | comparison | revisions
i18n/eric6_es.ts file | annotate | diff | comparison | revisions
i18n/eric6_fr.ts file | annotate | diff | comparison | revisions
i18n/eric6_it.ts file | annotate | diff | comparison | revisions
i18n/eric6_pt.ts file | annotate | diff | comparison | revisions
i18n/eric6_ru.ts file | annotate | diff | comparison | revisions
i18n/eric6_tr.ts file | annotate | diff | comparison | revisions
i18n/eric6_zh_CN.ts file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric6.api	Tue Jun 20 14:45:35 2017 +0200
+++ b/APIs/Python3/eric6.api	Wed Jun 21 19:40:59 2017 +0200
@@ -3936,7 +3936,7 @@
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleAddBuiltinIgnoreDialog.CodeStyleAddBuiltinIgnoreDialog?1(parent=None)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.CodeStyleCheckerReport.error_args?4(line_number, offset, code, check, *args)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.CodeStyleCheckerReport?1(options)
-eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.codeStyleBatchCheck?4(argumentsList, send, fx, cancelled)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.codeStyleBatchCheck?4(argumentsList, send, fx, cancelled, maxProcesses=0)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.codeStyleCheck?4(filename, source, args)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.extractLineFlags?4(line, startComment=")
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.ignoreCode?4(code, lineFlags)
@@ -4203,7 +4203,7 @@
 eric6.Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheck.initBatchService?4()
 eric6.Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheck.initService?4()
 eric6.Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheck.normalizeCode?4(codestring)
-eric6.Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheck.syntaxAndPyflakesBatchCheck?4(argumentsList, send, fx, cancelled)
+eric6.Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheck.syntaxAndPyflakesBatchCheck?4(argumentsList, send, fx, cancelled, maxProcesses=0)
 eric6.Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheck.syntaxAndPyflakesCheck?4(filename, codestring, checkFlakes=True, ignoreStarImportWarnings=False)
 eric6.Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheck.worker?4(inputQueue, outputQueue)
 eric6.Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheckService.SyntaxCheckService.addLanguage?4(lang, env, path, module, getArgs, getExt, callback, onError)
@@ -4237,7 +4237,7 @@
 eric6.Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheckerDialog.SyntaxCheckerDialog?1(parent=None)
 eric6.Plugins.CheckerPlugins.SyntaxChecker.jsCheckSyntax.initBatchService?4()
 eric6.Plugins.CheckerPlugins.SyntaxChecker.jsCheckSyntax.initService?4()
-eric6.Plugins.CheckerPlugins.SyntaxChecker.jsCheckSyntax.jsSyntaxBatchCheck?4(argumentsList, send, fx, cancelled)
+eric6.Plugins.CheckerPlugins.SyntaxChecker.jsCheckSyntax.jsSyntaxBatchCheck?4(argumentsList, send, fx, cancelled, maxProcesses=0)
 eric6.Plugins.CheckerPlugins.SyntaxChecker.jsCheckSyntax.jsSyntaxCheck?4(file, codestring)
 eric6.Plugins.CheckerPlugins.SyntaxChecker.jsCheckSyntax.normalizeCode?4(codestring)
 eric6.Plugins.CheckerPlugins.SyntaxChecker.jsCheckSyntax.worker?4(inputQueue, outputQueue)
@@ -4252,7 +4252,7 @@
 eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.Whitespace.not_equal_witness?4(other)
 eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.Whitespace.not_less_witness?4(other)
 eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.Whitespace?1(ws)
-eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.batchCheck?4(argumentsList, send, fx, cancelled)
+eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.batchCheck?4(argumentsList, send, fx, cancelled, maxProcesses=0)
 eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.check?4(file, text="")
 eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.format_witnesses?4(w)
 eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.initBatchService?4()
@@ -8933,7 +8933,7 @@
 eric6.Utilities.AutoSaver.AutoSaver?1(parent, save)
 eric6.Utilities.BackgroundClient.BackgroundClient.backgroundClient?7
 eric6.Utilities.BackgroundClient.BackgroundClient.run?4()
-eric6.Utilities.BackgroundClient.BackgroundClient?1(host, port)
+eric6.Utilities.BackgroundClient.BackgroundClient?1(host, port, maxProcs)
 eric6.Utilities.BackgroundService.BackgroundService.batchJobDone?7
 eric6.Utilities.BackgroundService.BackgroundService.enqueueRequest?4(fx, lang, fn, data)
 eric6.Utilities.BackgroundService.BackgroundService.on_disconnectSocket?4(lang)
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html	Tue Jun 20 14:45:35 2017 +0200
+++ b/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html	Wed Jun 21 19:40:59 2017 +0200
@@ -167,23 +167,25 @@
 <hr /><hr />
 <a NAME="codeStyleBatchCheck" ID="codeStyleBatchCheck"></a>
 <h2>codeStyleBatchCheck</h2>
-<b>codeStyleBatchCheck</b>(<i>argumentsList, send, fx, cancelled</i>)
+<b>codeStyleBatchCheck</b>(<i>argumentsList, send, fx, cancelled, maxProcesses=0</i>)
 <p>
     Module function to check code style for a batch of files.
 </p><dl>
-<dt><i>argumentsList</i></dt>
+<dt><i>argumentsList</i> (list)</dt>
 <dd>
 list of arguments tuples as given for codeStyleCheck
-</dd><dt><i>send</i></dt>
+</dd><dt><i>send</i> (func)</dt>
 <dd>
-reference to send function (function)
-</dd><dt><i>fx</i></dt>
+reference to send function
+</dd><dt><i>fx</i> (str)</dt>
 <dd>
-registered service name (string)
-</dd><dt><i>cancelled</i></dt>
+registered service name
+</dd><dt><i>cancelled</i> (func)</dt>
 <dd>
 reference to function checking for a cancellation
-        (function)
+</dd><dt><i>maxProcesses</i> (int)</dt>
+<dd>
+number of processes to be used
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/Documentation/Source/eric6.Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheck.html	Tue Jun 20 14:45:35 2017 +0200
+++ b/Documentation/Source/eric6.Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheck.html	Wed Jun 21 19:40:59 2017 +0200
@@ -166,24 +166,26 @@
 <hr /><hr />
 <a NAME="syntaxAndPyflakesBatchCheck" ID="syntaxAndPyflakesBatchCheck"></a>
 <h2>syntaxAndPyflakesBatchCheck</h2>
-<b>syntaxAndPyflakesBatchCheck</b>(<i>argumentsList, send, fx, cancelled</i>)
+<b>syntaxAndPyflakesBatchCheck</b>(<i>argumentsList, send, fx, cancelled, maxProcesses=0</i>)
 <p>
     Module function to check syntax for a batch of files.
 </p><dl>
-<dt><i>argumentsList</i></dt>
+<dt><i>argumentsList</i> (list)</dt>
 <dd>
 list of arguments tuples as given for
         syntaxAndPyflakesCheck
-</dd><dt><i>send</i></dt>
+</dd><dt><i>send</i> (func)</dt>
 <dd>
-reference to send function (function)
-</dd><dt><i>fx</i></dt>
+reference to send function
+</dd><dt><i>fx</i> (str)</dt>
 <dd>
-registered service name (string)
-</dd><dt><i>cancelled</i></dt>
+registered service name
+</dd><dt><i>cancelled</i> (func)</dt>
 <dd>
 reference to function checking for a cancellation
-        (function)
+</dd><dt><i>maxProcesses</i> (int)</dt>
+<dd>
+number of processes to be used
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/Documentation/Source/eric6.Plugins.CheckerPlugins.SyntaxChecker.jsCheckSyntax.html	Tue Jun 20 14:45:35 2017 +0200
+++ b/Documentation/Source/eric6.Plugins.CheckerPlugins.SyntaxChecker.jsCheckSyntax.html	Wed Jun 21 19:40:59 2017 +0200
@@ -109,24 +109,25 @@
 <hr /><hr />
 <a NAME="jsSyntaxBatchCheck" ID="jsSyntaxBatchCheck"></a>
 <h2>jsSyntaxBatchCheck</h2>
-<b>jsSyntaxBatchCheck</b>(<i>argumentsList, send, fx, cancelled</i>)
+<b>jsSyntaxBatchCheck</b>(<i>argumentsList, send, fx, cancelled, maxProcesses=0</i>)
 <p>
     Module function to check syntax for a batch of files.
 </p><dl>
-<dt><i>argumentsList</i></dt>
+<dt><i>argumentsList</i> (list)</dt>
 <dd>
-list of arguments tuples as given for
-        syntaxAndPyflakesCheck
-</dd><dt><i>send</i></dt>
+list of arguments tuples as given for jsSyntaxCheck
+</dd><dt><i>send</i> (func)</dt>
 <dd>
-reference to send function (function)
-</dd><dt><i>fx</i></dt>
+reference to send function
+</dd><dt><i>fx</i> (str)</dt>
 <dd>
-registered service name (string)
-</dd><dt><i>cancelled</i></dt>
+registered service name
+</dd><dt><i>cancelled</i> (func)</dt>
 <dd>
 reference to function checking for a cancellation
-        (function)
+</dd><dt><i>maxProcesses</i> (int)</dt>
+<dd>
+number of processes to be used
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/Documentation/Source/eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html	Tue Jun 20 14:45:35 2017 +0200
+++ b/Documentation/Source/eric6.Plugins.CheckerPlugins.Tabnanny.Tabnanny.html	Wed Jun 21 19:40:59 2017 +0200
@@ -351,23 +351,25 @@
 <hr /><hr />
 <a NAME="batchCheck" ID="batchCheck"></a>
 <h2>batchCheck</h2>
-<b>batchCheck</b>(<i>argumentsList, send, fx, cancelled</i>)
+<b>batchCheck</b>(<i>argumentsList, send, fx, cancelled, maxProcesses=0</i>)
 <p>
     Module function to check a batch of files for whitespace related problems.
 </p><dl>
-<dt><i>argumentsList</i></dt>
+<dt><i>argumentsList</i> (list)</dt>
 <dd>
 list of arguments tuples as given for check
-</dd><dt><i>send</i></dt>
+</dd><dt><i>send</i> (func)</dt>
 <dd>
-reference to send function (function)
-</dd><dt><i>fx</i></dt>
+reference to send function
+</dd><dt><i>fx</i> (str)</dt>
 <dd>
-registered service name (string)
-</dd><dt><i>cancelled</i></dt>
+registered service name
+</dd><dt><i>cancelled</i> (func)</dt>
 <dd>
 reference to function checking for a cancellation
-        (function)
+</dd><dt><i>maxProcesses</i> (int)</dt>
+<dd>
+number of processes to be used
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/Documentation/Source/eric6.Utilities.BackgroundClient.html	Tue Jun 20 14:45:35 2017 +0200
+++ b/Documentation/Source/eric6.Utilities.BackgroundClient.html	Wed Jun 21 19:40:59 2017 +0200
@@ -86,16 +86,20 @@
 </table>
 <a NAME="BackgroundClient.__init__" ID="BackgroundClient.__init__"></a>
 <h4>BackgroundClient (Constructor)</h4>
-<b>BackgroundClient</b>(<i>host, port</i>)
+<b>BackgroundClient</b>(<i>host, port, maxProcs</i>)
 <p>
         Constructor of the BackgroundClient class.
 </p><dl>
-<dt><i>host</i></dt>
+<dt><i>host</i> (str)</dt>
 <dd>
 ip address the background service is listening
-</dd><dt><i>port</i></dt>
+</dd><dt><i>port</i> (int)</dt>
 <dd>
 port of the background service
+</dd><dt><i>maxProcs</i> (int)</dt>
+<dd>
+maximum number of CPUs (processes) to use
+            (0 = determined automatically)
 </dd>
 </dl><a NAME="BackgroundClient.__cancelled" ID="BackgroundClient.__cancelled"></a>
 <h4>BackgroundClient.__cancelled</h4>
--- a/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py	Tue Jun 20 14:45:35 2017 +0200
+++ b/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py	Wed Jun 21 19:40:59 2017 +0200
@@ -151,22 +151,31 @@
     return __checkCodeStyle(filename, source, args)
 
 
-def codeStyleBatchCheck(argumentsList, send, fx, cancelled):
+def codeStyleBatchCheck(argumentsList, send, fx, cancelled, maxProcesses=0):
     """
     Module function to check code style for a batch of files.
     
     @param argumentsList list of arguments tuples as given for codeStyleCheck
-    @param send reference to send function (function)
-    @param fx registered service name (string)
+    @type list
+    @param send reference to send function
+    @type func
+    @param fx registered service name
+    @type str
     @param cancelled reference to function checking for a cancellation
-        (function)
+    @type func
+    @param maxProcesses number of processes to be used
+    @type int
     """
-    try:
-        NumberOfProcesses = multiprocessing.cpu_count()
-        if NumberOfProcesses >= 1:
-            NumberOfProcesses -= 1
-    except NotImplementedError:
-        NumberOfProcesses = 1
+    if maxProcesses == 0:
+        # determine based on CPU count
+        try:
+            NumberOfProcesses = multiprocessing.cpu_count()
+            if NumberOfProcesses >= 1:
+                NumberOfProcesses -= 1
+        except NotImplementedError:
+            NumberOfProcesses = 1
+    else:
+        NumberOfProcesses = maxProcesses
 
     # Create queues
     taskQueue = multiprocessing.Queue()
--- a/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheck.py	Tue Jun 20 14:45:35 2017 +0200
+++ b/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheck.py	Wed Jun 21 19:40:59 2017 +0200
@@ -118,23 +118,33 @@
                                     ignoreStarImportWarnings)
 
 
-def syntaxAndPyflakesBatchCheck(argumentsList, send, fx, cancelled):
+def syntaxAndPyflakesBatchCheck(argumentsList, send, fx, cancelled,
+                                maxProcesses=0):
     """
     Module function to check syntax for a batch of files.
     
     @param argumentsList list of arguments tuples as given for
         syntaxAndPyflakesCheck
-    @param send reference to send function (function)
-    @param fx registered service name (string)
+    @type list
+    @param send reference to send function
+    @type func
+    @param fx registered service name
+    @type str
     @param cancelled reference to function checking for a cancellation
-        (function)
+    @type func
+    @param maxProcesses number of processes to be used
+    @type int
     """
-    try:
-        NumberOfProcesses = multiprocessing.cpu_count()
-        if NumberOfProcesses >= 1:
-            NumberOfProcesses -= 1
-    except NotImplementedError:
-        NumberOfProcesses = 1
+    if maxProcesses == 0:
+        # determine based on CPU count
+        try:
+            NumberOfProcesses = multiprocessing.cpu_count()
+            if NumberOfProcesses >= 1:
+                NumberOfProcesses -= 1
+        except NotImplementedError:
+            NumberOfProcesses = 1
+    else:
+        NumberOfProcesses = maxProcesses
 
     # Create queues
     taskQueue = multiprocessing.Queue()
--- a/Plugins/CheckerPlugins/SyntaxChecker/jsCheckSyntax.py	Tue Jun 20 14:45:35 2017 +0200
+++ b/Plugins/CheckerPlugins/SyntaxChecker/jsCheckSyntax.py	Wed Jun 21 19:40:59 2017 +0200
@@ -78,23 +78,31 @@
     return __jsSyntaxCheck(file, codestring)
 
 
-def jsSyntaxBatchCheck(argumentsList, send, fx, cancelled):
+def jsSyntaxBatchCheck(argumentsList, send, fx, cancelled, maxProcesses=0):
     """
     Module function to check syntax for a batch of files.
     
-    @param argumentsList list of arguments tuples as given for
-        syntaxAndPyflakesCheck
-    @param send reference to send function (function)
-    @param fx registered service name (string)
+    @param argumentsList list of arguments tuples as given for jsSyntaxCheck
+    @type list
+    @param send reference to send function
+    @type func
+    @param fx registered service name
+    @type str
     @param cancelled reference to function checking for a cancellation
-        (function)
+    @type func
+    @param maxProcesses number of processes to be used
+    @type int
     """
-    try:
-        NumberOfProcesses = multiprocessing.cpu_count()
-        if NumberOfProcesses >= 1:
-            NumberOfProcesses -= 1
-    except NotImplementedError:
-        NumberOfProcesses = 1
+    if maxProcesses == 0:
+        # determine based on CPU count
+        try:
+            NumberOfProcesses = multiprocessing.cpu_count()
+            if NumberOfProcesses >= 1:
+                NumberOfProcesses -= 1
+        except NotImplementedError:
+            NumberOfProcesses = 1
+    else:
+        NumberOfProcesses = maxProcesses
 
     # Create queues
     taskQueue = multiprocessing.Queue()
--- a/Plugins/CheckerPlugins/Tabnanny/Tabnanny.py	Tue Jun 20 14:45:35 2017 +0200
+++ b/Plugins/CheckerPlugins/Tabnanny/Tabnanny.py	Wed Jun 21 19:40:59 2017 +0200
@@ -135,22 +135,31 @@
     return __check(file, text)
 
 
-def batchCheck(argumentsList, send, fx, cancelled):
+def batchCheck(argumentsList, send, fx, cancelled, maxProcesses=0):
     """
     Module function to check a batch of files for whitespace related problems.
     
     @param argumentsList list of arguments tuples as given for check
-    @param send reference to send function (function)
-    @param fx registered service name (string)
+    @type list
+    @param send reference to send function
+    @type func
+    @param fx registered service name
+    @type str
     @param cancelled reference to function checking for a cancellation
-        (function)
+    @type func
+    @param maxProcesses number of processes to be used
+    @type int
     """
-    try:
-        NumberOfProcesses = multiprocessing.cpu_count()
-        if NumberOfProcesses >= 1:
-            NumberOfProcesses -= 1
-    except NotImplementedError:
-        NumberOfProcesses = 1
+    if maxProcesses == 0:
+        # determine based on CPU count
+        try:
+            NumberOfProcesses = multiprocessing.cpu_count()
+            if NumberOfProcesses >= 1:
+                NumberOfProcesses -= 1
+        except NotImplementedError:
+            NumberOfProcesses = 1
+    else:
+        NumberOfProcesses = maxProcesses
 
     # Create queues
     taskQueue = multiprocessing.Queue()
--- a/Preferences/ConfigurationPages/ApplicationPage.py	Tue Jun 20 14:45:35 2017 +0200
+++ b/Preferences/ConfigurationPages/ApplicationPage.py	Wed Jun 21 19:40:59 2017 +0200
@@ -27,6 +27,14 @@
         self.setupUi(self)
         self.setObjectName("ApplicationPage")
         
+        self.backgroundServicesLabel.setText(self.tr(
+            "eric is using background services for certain things like"
+            " syntax checks or code style checks. Per default the number"
+            " of processes to use for these checks is determined"
+            " automatically based on the number of CPUs. Please note, that"
+            " this is an advanced setting."
+        ))
+        
         # set initial values
         self.singleApplicationCheckBox.setChecked(
             Preferences.getUI("SingleApplicationMode"))
@@ -70,6 +78,9 @@
         self.intervalSpinBox.setValue(
             Preferences.getUI("KeyboardInputInterval"))
         
+        self.backgroundServicesSpinBox.setValue(
+            Preferences.getUI("BackgroundServiceProcesses"))
+    
     def save(self):
         """
         Public slot to save the Application configuration.
@@ -121,7 +132,11 @@
         Preferences.setUI(
             "KeyboardInputInterval",
             self.intervalSpinBox.value())
-    
+        
+        Preferences.setUI(
+            "BackgroundServiceProcesses",
+            self.backgroundServicesSpinBox.value())
+
 
 def create(dlg):
     """
--- a/Preferences/ConfigurationPages/ApplicationPage.ui	Tue Jun 20 14:45:35 2017 +0200
+++ b/Preferences/ConfigurationPages/ApplicationPage.ui	Wed Jun 21 19:40:59 2017 +0200
@@ -7,10 +7,10 @@
     <x>0</x>
     <y>0</y>
     <width>591</width>
-    <height>719</height>
+    <height>989</height>
    </rect>
   </property>
-  <layout class="QVBoxLayout" name="verticalLayout_3">
+  <layout class="QVBoxLayout" name="verticalLayout_4">
    <item>
     <widget class="QLabel" name="headerLabel">
      <property name="text">
@@ -236,17 +236,7 @@
       <string>Keyboard Input Interval</string>
      </property>
      <layout class="QGridLayout" name="gridLayout">
-      <item row="0" column="0" colspan="2">
-       <widget class="QLabel" name="label">
-        <property name="text">
-         <string>&lt;b&gt;Note&lt;/b&gt;: Enter a value of 0 to use the system default value.</string>
-        </property>
-        <property name="wordWrap">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
+      <item row="0" column="0">
        <widget class="QSpinBox" name="intervalSpinBox">
         <property name="toolTip">
          <string>Enter the keyboard input interval, '0' for default</string>
@@ -254,6 +244,9 @@
         <property name="alignment">
          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
         </property>
+        <property name="specialValueText">
+         <string>System Default</string>
+        </property>
         <property name="suffix">
          <string> ms</string>
         </property>
@@ -265,7 +258,7 @@
         </property>
        </widget>
       </item>
-      <item row="1" column="1">
+      <item row="0" column="1">
        <spacer name="horizontalSpacer">
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
@@ -282,6 +275,59 @@
     </widget>
    </item>
    <item>
+    <widget class="QGroupBox" name="groupBox_6">
+     <property name="title">
+      <string>Background Services</string>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout_3">
+      <item>
+       <widget class="QLabel" name="backgroundServicesLabel">
+        <property name="text">
+         <string/>
+        </property>
+        <property name="wordWrap">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <layout class="QHBoxLayout" name="horizontalLayout">
+        <item>
+         <widget class="QLabel" name="label">
+          <property name="text">
+           <string>max. Processes:</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QSpinBox" name="backgroundServicesSpinBox">
+          <property name="alignment">
+           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+          </property>
+          <property name="specialValueText">
+           <string>Automatic</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_2">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>40</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+       </layout>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
     <spacer>
      <property name="orientation">
       <enum>Qt::Vertical</enum>
--- a/Preferences/__init__.py	Tue Jun 20 14:45:35 2017 +0200
+++ b/Preferences/__init__.py	Wed Jun 21 19:40:59 2017 +0200
@@ -125,7 +125,8 @@
     
     # defaults for the UI settings
     uiDefaults = {
-        "KeyboardInputInterval": 0,    # 0 = use system default
+        "KeyboardInputInterval": 0,         # 0 = use system default
+        "BackgroundServiceProcesses": 0,    # 0 = max. CPUs minus one
         "Language": "System",
         "Style": "System",
         "StyleSheet": "",
@@ -1859,7 +1860,8 @@
                  "ProxyPort/Http", "ProxyPort/Https", "ProxyPort/Ftp",
                  "ProxyType/Ftp", "OpenOnStartup",
                  "PerformVersionCheck", "RecentNumber", "NotificationTimeout",
-                 "SidebarDelay", "KeyboardInputInterval"]:
+                 "SidebarDelay", "KeyboardInputInterval",
+                 "BackgroundServiceProcesses"]:
         return int(prefClass.settings.value(
             "UI/" + key, prefClass.uiDefaults[key]))
     elif key in ["ProxyPassword/Http", "ProxyPassword/Https",
--- a/Utilities/BackgroundClient.py	Tue Jun 20 14:45:35 2017 +0200
+++ b/Utilities/BackgroundClient.py	Wed Jun 21 19:40:59 2017 +0200
@@ -29,12 +29,17 @@
     """
     Class implementing the main part of the background client.
     """
-    def __init__(self, host, port):
+    def __init__(self, host, port, maxProcs):
         """
         Constructor of the BackgroundClient class.
         
         @param host ip address the background service is listening
+        @type str
         @param port port of the background service
+        @type int
+        @param maxProcs maximum number of CPUs (processes) to use
+            (0 = determined automatically)
+        @type int
         """
         self.services = {}
         self.batchServices = {}
@@ -42,6 +47,7 @@
         self.connection = socket.create_connection((host, port))
         ver = b'Python2' if sys.version_info[0] == 2 else b'Python3'
         self.connection.sendall(ver)
+        self.__maxProcs = maxProcs
 
     def __initClientService(self, fn, path, module):
         """
@@ -155,7 +161,12 @@
                 elif fx.startswith("batch_"):
                     callback = self.batchServices.get(fx)
                     if callback:
-                        callback(data, self.__send, fx, self.__cancelled)
+                        try:
+                            callback(data, self.__send, fx, self.__cancelled,
+                                     maxProcesses=self.__maxProcs)
+                        except TypeError:
+                            # for backward compatibility
+                            callback(data, self.__send, fx, self.__cancelled)
                         ret = "__DONE__"
                     else:
                         ret = 'Unknown batch service.'
@@ -183,12 +194,12 @@
         self.connection.close()
 
 if __name__ == '__main__':
-    if len(sys.argv) != 3:
-        print('Host and port parameters are missing. Abort.')
+    if len(sys.argv) != 4:
+        print('Host, port and max. processes parameters are missing. Abort.')
         sys.exit(1)
     
-    host, port = sys.argv[1:]
-    backgroundClient = BackgroundClient(host, int(port))
+    host, port, maxProcs = sys.argv[1:]
+    backgroundClient = BackgroundClient(host, int(port), int(maxProcs))
     # Start the main loop
     backgroundClient.run()
 
--- a/Utilities/BackgroundService.py	Tue Jun 20 14:45:35 2017 +0200
+++ b/Utilities/BackgroundService.py	Wed Jun 21 19:40:59 2017 +0200
@@ -93,7 +93,8 @@
             "Utilities", "BackgroundClient.py")
         proc = QProcess()
         proc.setProcessChannelMode(QProcess.ForwardedChannels)
-        args = [backgroundClient, self.hostAddress, str(port)]
+        args = [backgroundClient, self.hostAddress, str(port),
+                str(Preferences.getUI("BackgroundServiceProcesses"))]
         proc.start(interpreter, args)
         if not proc.waitForStarted(10000):
             proc = None
--- a/changelog	Tue Jun 20 14:45:35 2017 +0200
+++ b/changelog	Wed Jun 21 19:40:59 2017 +0200
@@ -2,6 +2,9 @@
 ----------
 Version 17.06:
 - bug fixes
+- Background Services
+  -- added functionality to limit the number of processes used for bachground
+     services
 - Checkers
   -- extended the source documentation checker to check for raised/documented
      exceptions and defined/documented signals
--- a/i18n/eric6_cs.ts	Tue Jun 20 14:45:35 2017 +0200
+++ b/i18n/eric6_cs.ts	Wed Jun 21 19:40:59 2017 +0200
@@ -1393,16 +1393,11 @@
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="242"/>
-        <source>&lt;b&gt;Note&lt;/b&gt;: Enter a value of 0 to use the system default value.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="252"/>
         <source>Enter the keyboard input interval, &apos;0&apos; for default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="258"/>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="251"/>
         <source> ms</source>
         <translation type="unfinished"> ms</translation>
     </message>
@@ -1426,6 +1421,31 @@
         <source>Enable Crash Session</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="248"/>
+        <source>System Default</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="280"/>
+        <source>Background Services</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="298"/>
+        <source>max. Processes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="308"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.py" line="30"/>
+        <source>eric is using background services for certain things like syntax checks or code style checks. Per default the number of processes to use for these checks is determined automatically based on the number of CPUs. Please note, that this is an advanced setting.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AuthenticationDialog</name>
@@ -1478,37 +1498,37 @@
 <context>
     <name>BackgroundService</name>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="128"/>
+        <location filename="../Utilities/BackgroundService.py" line="129"/>
         <source>{0} not configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>Restart background client?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="208"/>
+        <location filename="../Utilities/BackgroundService.py" line="209"/>
         <source>An error in Erics background client stopped the service.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="419"/>
+        <location filename="../Utilities/BackgroundService.py" line="420"/>
         <source>Erics background client disconnected because of an unknown reason.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>Background client disconnected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>&lt;p&gt;The background client for &lt;b&gt;{0}&lt;/b&gt; has stopped due to an exception. It&apos;s used by various plug-ins like the different checkers.&lt;/p&gt;&lt;p&gt;Select&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Yes&apos;&lt;/b&gt; to restart the client, but abort the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Retry&apos;&lt;/b&gt; to restart the client and the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;No&apos;&lt;/b&gt; to leave the client off.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Note: The client can be restarted by opening and accepting the preferences dialog or reloading/changing the project.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>The background client for &lt;b&gt;{0}&lt;/b&gt; disconnected because of an unknown reason.&lt;br&gt;Should it be restarted?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -40843,27 +40863,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../Preferences/__init__.py" line="1551"/>
+        <location filename="../Preferences/__init__.py" line="1552"/>
         <source>Export Preferences</source>
         <translation>Předvolby exportu</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Import Preferences</source>
         <translation>Předvolby importu</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select Python{0} Interpreter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select the Python{0} interpreter to be used:</source>
         <translation type="unfinished"></translation>
     </message>
Binary file i18n/eric6_de.qm has changed
--- a/i18n/eric6_de.ts	Tue Jun 20 14:45:35 2017 +0200
+++ b/i18n/eric6_de.ts	Wed Jun 21 19:40:59 2017 +0200
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1" language="de">
+<!DOCTYPE TS><TS version="2.0" language="de" sourcelanguage="">
 <context>
     <name>AboutDialog</name>
     <message>
@@ -1337,16 +1336,11 @@
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="242"/>
-        <source>&lt;b&gt;Note&lt;/b&gt;: Enter a value of 0 to use the system default value.</source>
-        <translation>&lt;b&gt;Hinweis&lt;/b&gt;: Gib einen Wert von o ein, um den Systemstandardwert zu verwenden.</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="252"/>
         <source>Enter the keyboard input interval, &apos;0&apos; for default</source>
         <translation>Gib das Tastatureingabeintervall ein, &apos;0&apos; für Standardwert</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="258"/>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="251"/>
         <source> ms</source>
         <translation> ms</translation>
     </message>
@@ -1370,6 +1364,31 @@
         <source>Enable Crash Session</source>
         <translation>Absturzsitzung aktivieren</translation>
     </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="248"/>
+        <source>System Default</source>
+        <translation>Standardwert</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="280"/>
+        <source>Background Services</source>
+        <translation>Hintergrunddienste</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="298"/>
+        <source>max. Processes:</source>
+        <translation>max. Prozesse:</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="308"/>
+        <source>Automatic</source>
+        <translation>Automatisch</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.py" line="30"/>
+        <source>eric is using background services for certain things like syntax checks or code style checks. Per default the number of processes to use for these checks is determined automatically based on the number of CPUs. Please note, that this is an advanced setting.</source>
+        <translation>eric verwendet Hintergrunddienste für verschiedene Dinge wie z.B. Syntaxprüfungen oder Codestilprüfungen. Standardmäßig wird die Anzahl der für diese Prüfungen zu startenden Prozesse automatisch basierend auf der Anzahl verfügbarer Prozessorkernen ermittelt. Bitte beachten, dass dies ein Einstellung für Fortgeschrittene ist.</translation>
+    </message>
 </context>
 <context>
     <name>AuthenticationDialog</name>
@@ -1422,37 +1441,37 @@
 <context>
     <name>BackgroundService</name>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="128"/>
+        <location filename="../Utilities/BackgroundService.py" line="129"/>
         <source>{0} not configured.</source>
         <translation>{0} nicht konfiguriert.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>Restart background client?</source>
         <translation>Hintergrund Client neu starten?</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>Background client disconnected.</source>
         <translation>Hintergrund Client wurde getrennt.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="419"/>
+        <location filename="../Utilities/BackgroundService.py" line="420"/>
         <source>Erics background client disconnected because of an unknown reason.</source>
         <translation>Die Verbindung zu Erics Hintergund Client wurde aus unbekanntem Grund getrennt.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="208"/>
+        <location filename="../Utilities/BackgroundService.py" line="209"/>
         <source>An error in Erics background client stopped the service.</source>
         <translation>Ein Fehler im Eric Hintergrunddienst hat den Dienst beendet.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>&lt;p&gt;The background client for &lt;b&gt;{0}&lt;/b&gt; has stopped due to an exception. It&apos;s used by various plug-ins like the different checkers.&lt;/p&gt;&lt;p&gt;Select&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Yes&apos;&lt;/b&gt; to restart the client, but abort the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Retry&apos;&lt;/b&gt; to restart the client and the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;No&apos;&lt;/b&gt; to leave the client off.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Note: The client can be restarted by opening and accepting the preferences dialog or reloading/changing the project.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der Hintergund Client für &lt;b&gt;{0}&lt;/b&gt; wurde durch eine Exception gestoppt. Er wird für verschiedene Plugins, wie z.B. die Checker, verwendet.&lt;/p&gt;&lt;p&gt;Wähle:&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Ja&apos;&lt;/b&gt;, um den Client aber nicht den letzten Job neu zu starten&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Wiederholen&apos;&lt;/b&gt;, um den Client und letzten Job neu zu starten&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Nein&apos;&lt;/b&gt;, um den Client nicht neu zu starten.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Hinweis: Der Client kann immer wieder gestartet werden, indem der Einstellungsdialog mit Ok geschlossen wird oder durch das Neuladen/ Wechseln des Projektes.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>The background client for &lt;b&gt;{0}&lt;/b&gt; disconnected because of an unknown reason.&lt;br&gt;Should it be restarted?</source>
         <translation>Die Verbindung zum Hintergund Client für &lt;b&gt;{0}&lt;/b&gt; wurde aus unbekanntem Grund getrennt.&lt;br&gt;Soll er neu gestartet werden?</translation>
     </message>
@@ -1938,8 +1957,8 @@
     </message>
     <message>
         <location filename="../Helpviewer/Bookmarks/BookmarksMenu.py" line="145"/>
-        <source>Open in New &amp;Tab	Ctrl+LMB</source>
-        <translation>In neuem &amp;Register öffnen	Strg+LMK</translation>
+        <source>Open in New &amp;Tab<byte value="x9"/>Ctrl+LMB</source>
+        <translation>In neuem &amp;Register öffnen<byte value="x9"/>Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="163"/>
@@ -1948,8 +1967,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="166"/>
-        <source>Open in New Tab	Ctrl+LMB</source>
-        <translation>In neuem Register öffnen	Strg+LMK</translation>
+        <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source>
+        <translation>In neuem Register öffnen<byte value="x9"/>Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="169"/>
@@ -2037,8 +2056,8 @@
     </message>
     <message>
         <location filename="../Helpviewer/Bookmarks/BookmarksToolBar.py" line="93"/>
-        <source>Open in New &amp;Tab	Ctrl+LMB</source>
-        <translation>In neuem &amp;Register öffnen	Strg+LMK</translation>
+        <source>Open in New &amp;Tab<byte value="x9"/>Ctrl+LMB</source>
+        <translation>In neuem &amp;Register öffnen<byte value="x9"/>Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="87"/>
@@ -2047,8 +2066,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="90"/>
-        <source>Open in New Tab	Ctrl+LMB</source>
-        <translation>In neuem Register öffnen	Strg+LMK</translation>
+        <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source>
+        <translation>In neuem Register öffnen<byte value="x9"/>Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="93"/>
@@ -17194,8 +17213,8 @@
     </message>
     <message>
         <location filename="../Helpviewer/HelpBrowserWV.py" line="1219"/>
-        <source>Open Link in New Tab	Ctrl+LMB</source>
-        <translation>Link in neuem Fenster öffnen	Strg+LMK</translation>
+        <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
+        <translation>Link in neuem Fenster öffnen<byte value="x9"/>Strg+LMK</translation>
     </message>
     <message>
         <location filename="../Helpviewer/HelpBrowserWV.py" line="1292"/>
@@ -39933,27 +39952,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../Preferences/__init__.py" line="1551"/>
+        <location filename="../Preferences/__init__.py" line="1552"/>
         <source>Export Preferences</source>
         <translation>Einstellungen exportieren</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Import Preferences</source>
         <translation>Einstellungen importieren</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation>Properties-Dateien (*.ini);;Alle Dateien (*)</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select Python{0} Interpreter</source>
         <translation>Wähle den Python{0}-Interpreter</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select the Python{0} interpreter to be used:</source>
         <translation>Wähle den zu verwendenden Python{0}-Interpreter aus:</translation>
     </message>
@@ -70072,8 +70091,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/WebBrowserView.py" line="598"/>
-        <source>Open Link in New Tab	Ctrl+LMB</source>
-        <translation>Link in neuem Fenster öffnen	Strg+LMK</translation>
+        <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
+        <translation>Link in neuem Fenster öffnen<byte value="x9"/>Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/WebBrowserView.py" line="602"/>
--- a/i18n/eric6_empty.ts	Tue Jun 20 14:45:35 2017 +0200
+++ b/i18n/eric6_empty.ts	Wed Jun 21 19:40:59 2017 +0200
@@ -1320,16 +1320,11 @@
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="242"/>
-        <source>&lt;b&gt;Note&lt;/b&gt;: Enter a value of 0 to use the system default value.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="252"/>
         <source>Enter the keyboard input interval, &apos;0&apos; for default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="258"/>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="251"/>
         <source> ms</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1353,6 +1348,31 @@
         <source>Enable Crash Session</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="248"/>
+        <source>System Default</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="280"/>
+        <source>Background Services</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="298"/>
+        <source>max. Processes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="308"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.py" line="30"/>
+        <source>eric is using background services for certain things like syntax checks or code style checks. Per default the number of processes to use for these checks is determined automatically based on the number of CPUs. Please note, that this is an advanced setting.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AuthenticationDialog</name>
@@ -1405,37 +1425,37 @@
 <context>
     <name>BackgroundService</name>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="128"/>
+        <location filename="../Utilities/BackgroundService.py" line="129"/>
         <source>{0} not configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>Restart background client?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>&lt;p&gt;The background client for &lt;b&gt;{0}&lt;/b&gt; has stopped due to an exception. It&apos;s used by various plug-ins like the different checkers.&lt;/p&gt;&lt;p&gt;Select&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Yes&apos;&lt;/b&gt; to restart the client, but abort the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Retry&apos;&lt;/b&gt; to restart the client and the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;No&apos;&lt;/b&gt; to leave the client off.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Note: The client can be restarted by opening and accepting the preferences dialog or reloading/changing the project.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="208"/>
+        <location filename="../Utilities/BackgroundService.py" line="209"/>
         <source>An error in Erics background client stopped the service.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="419"/>
+        <location filename="../Utilities/BackgroundService.py" line="420"/>
         <source>Erics background client disconnected because of an unknown reason.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>Background client disconnected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>The background client for &lt;b&gt;{0}&lt;/b&gt; disconnected because of an unknown reason.&lt;br&gt;Should it be restarted?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -39726,27 +39746,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../Preferences/__init__.py" line="1551"/>
+        <location filename="../Preferences/__init__.py" line="1552"/>
         <source>Export Preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Import Preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select Python{0} Interpreter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select the Python{0} interpreter to be used:</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_en.ts	Tue Jun 20 14:45:35 2017 +0200
+++ b/i18n/eric6_en.ts	Wed Jun 21 19:40:59 2017 +0200
@@ -1320,16 +1320,11 @@
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="242"/>
-        <source>&lt;b&gt;Note&lt;/b&gt;: Enter a value of 0 to use the system default value.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="252"/>
         <source>Enter the keyboard input interval, &apos;0&apos; for default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="258"/>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="251"/>
         <source> ms</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1353,6 +1348,31 @@
         <source>Enable Crash Session</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="248"/>
+        <source>System Default</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="280"/>
+        <source>Background Services</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="298"/>
+        <source>max. Processes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="308"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.py" line="30"/>
+        <source>eric is using background services for certain things like syntax checks or code style checks. Per default the number of processes to use for these checks is determined automatically based on the number of CPUs. Please note, that this is an advanced setting.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AuthenticationDialog</name>
@@ -1405,37 +1425,37 @@
 <context>
     <name>BackgroundService</name>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="128"/>
+        <location filename="../Utilities/BackgroundService.py" line="129"/>
         <source>{0} not configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>Restart background client?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="208"/>
+        <location filename="../Utilities/BackgroundService.py" line="209"/>
         <source>An error in Erics background client stopped the service.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="419"/>
+        <location filename="../Utilities/BackgroundService.py" line="420"/>
         <source>Erics background client disconnected because of an unknown reason.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>Background client disconnected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>&lt;p&gt;The background client for &lt;b&gt;{0}&lt;/b&gt; has stopped due to an exception. It&apos;s used by various plug-ins like the different checkers.&lt;/p&gt;&lt;p&gt;Select&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Yes&apos;&lt;/b&gt; to restart the client, but abort the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Retry&apos;&lt;/b&gt; to restart the client and the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;No&apos;&lt;/b&gt; to leave the client off.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Note: The client can be restarted by opening and accepting the preferences dialog or reloading/changing the project.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>The background client for &lt;b&gt;{0}&lt;/b&gt; disconnected because of an unknown reason.&lt;br&gt;Should it be restarted?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -39765,27 +39785,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../Preferences/__init__.py" line="1551"/>
+        <location filename="../Preferences/__init__.py" line="1552"/>
         <source>Export Preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Import Preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select Python{0} Interpreter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select the Python{0} interpreter to be used:</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_es.ts	Tue Jun 20 14:45:35 2017 +0200
+++ b/i18n/eric6_es.ts	Wed Jun 21 19:40:59 2017 +0200
@@ -1333,16 +1333,11 @@
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="242"/>
-        <source>&lt;b&gt;Note&lt;/b&gt;: Enter a value of 0 to use the system default value.</source>
-        <translation>&lt;b&gt;Nota&lt;/b&gt;: Introducir un valor de 0 para utilizar el valor por defecto del systema.</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="252"/>
         <source>Enter the keyboard input interval, &apos;0&apos; for default</source>
         <translation>Introducir el intervalod e input de teclado, &apos;0&apos; para valor por defecto</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="258"/>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="251"/>
         <source> ms</source>
         <translation>ms</translation>
     </message>
@@ -1366,6 +1361,31 @@
         <source>Enable Crash Session</source>
         <translation>Habilitar Sesión Perdida</translation>
     </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="248"/>
+        <source>System Default</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="280"/>
+        <source>Background Services</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="298"/>
+        <source>max. Processes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="308"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.py" line="30"/>
+        <source>eric is using background services for certain things like syntax checks or code style checks. Per default the number of processes to use for these checks is determined automatically based on the number of CPUs. Please note, that this is an advanced setting.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AuthenticationDialog</name>
@@ -1418,37 +1438,37 @@
 <context>
     <name>BackgroundService</name>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="128"/>
+        <location filename="../Utilities/BackgroundService.py" line="129"/>
         <source>{0} not configured.</source>
         <translation>{0} no configurado.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>Restart background client?</source>
         <translation>¿Reiniciar cliente en background?</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>Background client disconnected.</source>
         <translation>Cliente en background desconectado.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="419"/>
+        <location filename="../Utilities/BackgroundService.py" line="420"/>
         <source>Erics background client disconnected because of an unknown reason.</source>
         <translation>El cliente en background de Eric ha desconectado debido a una razón desconocida.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="208"/>
+        <location filename="../Utilities/BackgroundService.py" line="209"/>
         <source>An error in Erics background client stopped the service.</source>
         <translation>Un error en el cliente en background de Eric ha detenido el servicio.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>&lt;p&gt;The background client for &lt;b&gt;{0}&lt;/b&gt; has stopped due to an exception. It&apos;s used by various plug-ins like the different checkers.&lt;/p&gt;&lt;p&gt;Select&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Yes&apos;&lt;/b&gt; to restart the client, but abort the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Retry&apos;&lt;/b&gt; to restart the client and the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;No&apos;&lt;/b&gt; to leave the client off.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Note: The client can be restarted by opening and accepting the preferences dialog or reloading/changing the project.&lt;/p&gt;</source>
         <translation>&lt;p&gt;El cliente en background para &lt;b&gt;{0}&lt;/b&gt; se ha detenido debido a una excepción. Éste es utilizado por varios plug-ins como los distintos comprobadores.&lt;/p&gt;&lt;p&gt;Seleccionar&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Si&apos;&lt;/b&gt; para reiniciar el cliente, abortando el último trabajo&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Reintentar&apos;&lt;/b&gt; para reiniciar el cliente y el último trabajo&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;No&apos;&lt;/b&gt; para dejar el cliente sin iniciar.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Nota: El cliente se puede reiniciar abriendo y aceptando el diálogo de preferencias o recargando/cambiando el proyecto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>The background client for &lt;b&gt;{0}&lt;/b&gt; disconnected because of an unknown reason.&lt;br&gt;Should it be restarted?</source>
         <translation>El cliente en background para &lt;b&gt;{0}&lt;/b&gt; ha desconectado por razón desconocida.&lt;br&gt;¿Reiniciarlo?</translation>
     </message>
@@ -39924,27 +39944,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../Preferences/__init__.py" line="1551"/>
+        <location filename="../Preferences/__init__.py" line="1552"/>
         <source>Export Preferences</source>
         <translation>Exportar Preferencias</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Import Preferences</source>
         <translation>Importar Preferencias</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation>Archivo de Propiedades (*.ini);;Todos los archivos (*)</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select Python{0} Interpreter</source>
         <translation>Seleccionar intérprete de Python{0}</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select the Python{0} interpreter to be used:</source>
         <translation>Seleccionar el intérprete de Python{0} a utilizar:</translation>
     </message>
--- a/i18n/eric6_fr.ts	Tue Jun 20 14:45:35 2017 +0200
+++ b/i18n/eric6_fr.ts	Wed Jun 21 19:40:59 2017 +0200
@@ -1400,16 +1400,11 @@
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="242"/>
-        <source>&lt;b&gt;Note&lt;/b&gt;: Enter a value of 0 to use the system default value.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="252"/>
         <source>Enter the keyboard input interval, &apos;0&apos; for default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="258"/>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="251"/>
         <source> ms</source>
         <translation type="unfinished"> ms</translation>
     </message>
@@ -1433,6 +1428,31 @@
         <source>Enable Crash Session</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="248"/>
+        <source>System Default</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="280"/>
+        <source>Background Services</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="298"/>
+        <source>max. Processes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="308"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.py" line="30"/>
+        <source>eric is using background services for certain things like syntax checks or code style checks. Per default the number of processes to use for these checks is determined automatically based on the number of CPUs. Please note, that this is an advanced setting.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AuthenticationDialog</name>
@@ -1485,37 +1505,37 @@
 <context>
     <name>BackgroundService</name>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="128"/>
+        <location filename="../Utilities/BackgroundService.py" line="129"/>
         <source>{0} not configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>Restart background client?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="208"/>
+        <location filename="../Utilities/BackgroundService.py" line="209"/>
         <source>An error in Erics background client stopped the service.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="419"/>
+        <location filename="../Utilities/BackgroundService.py" line="420"/>
         <source>Erics background client disconnected because of an unknown reason.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>Background client disconnected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>&lt;p&gt;The background client for &lt;b&gt;{0}&lt;/b&gt; has stopped due to an exception. It&apos;s used by various plug-ins like the different checkers.&lt;/p&gt;&lt;p&gt;Select&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Yes&apos;&lt;/b&gt; to restart the client, but abort the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Retry&apos;&lt;/b&gt; to restart the client and the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;No&apos;&lt;/b&gt; to leave the client off.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Note: The client can be restarted by opening and accepting the preferences dialog or reloading/changing the project.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>The background client for &lt;b&gt;{0}&lt;/b&gt; disconnected because of an unknown reason.&lt;br&gt;Should it be restarted?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -40624,27 +40644,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../Preferences/__init__.py" line="1551"/>
+        <location filename="../Preferences/__init__.py" line="1552"/>
         <source>Export Preferences</source>
         <translation>Export des préférences</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Import Preferences</source>
         <translation>Import des préférences</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select Python{0} Interpreter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select the Python{0} interpreter to be used:</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_it.ts	Tue Jun 20 14:45:35 2017 +0200
+++ b/i18n/eric6_it.ts	Wed Jun 21 19:40:59 2017 +0200
@@ -1398,16 +1398,11 @@
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="242"/>
-        <source>&lt;b&gt;Note&lt;/b&gt;: Enter a value of 0 to use the system default value.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="252"/>
         <source>Enter the keyboard input interval, &apos;0&apos; for default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="258"/>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="251"/>
         <source> ms</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1431,6 +1426,31 @@
         <source>Enable Crash Session</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="248"/>
+        <source>System Default</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="280"/>
+        <source>Background Services</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="298"/>
+        <source>max. Processes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="308"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.py" line="30"/>
+        <source>eric is using background services for certain things like syntax checks or code style checks. Per default the number of processes to use for these checks is determined automatically based on the number of CPUs. Please note, that this is an advanced setting.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AuthenticationDialog</name>
@@ -1483,37 +1503,37 @@
 <context>
     <name>BackgroundService</name>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="128"/>
+        <location filename="../Utilities/BackgroundService.py" line="129"/>
         <source>{0} not configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>Restart background client?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="208"/>
+        <location filename="../Utilities/BackgroundService.py" line="209"/>
         <source>An error in Erics background client stopped the service.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="419"/>
+        <location filename="../Utilities/BackgroundService.py" line="420"/>
         <source>Erics background client disconnected because of an unknown reason.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>Background client disconnected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>&lt;p&gt;The background client for &lt;b&gt;{0}&lt;/b&gt; has stopped due to an exception. It&apos;s used by various plug-ins like the different checkers.&lt;/p&gt;&lt;p&gt;Select&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Yes&apos;&lt;/b&gt; to restart the client, but abort the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Retry&apos;&lt;/b&gt; to restart the client and the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;No&apos;&lt;/b&gt; to leave the client off.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Note: The client can be restarted by opening and accepting the preferences dialog or reloading/changing the project.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>The background client for &lt;b&gt;{0}&lt;/b&gt; disconnected because of an unknown reason.&lt;br&gt;Should it be restarted?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -41083,27 +41103,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../Preferences/__init__.py" line="1551"/>
+        <location filename="../Preferences/__init__.py" line="1552"/>
         <source>Export Preferences</source>
         <translation>Esporta Preferenze</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Import Preferences</source>
         <translation>Importa Preferenze</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation>File proprietà (*.ini);;Tutti i file(*)</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select Python{0} Interpreter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select the Python{0} interpreter to be used:</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_pt.ts	Tue Jun 20 14:45:35 2017 +0200
+++ b/i18n/eric6_pt.ts	Wed Jun 21 19:40:59 2017 +0200
@@ -1403,16 +1403,11 @@
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="242"/>
-        <source>&lt;b&gt;Note&lt;/b&gt;: Enter a value of 0 to use the system default value.</source>
-        <translation>&lt;b&gt;Nota&lt;/b&gt;: Introduzir &apos;0&apos; para usar o valor padrãodo sistema.</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="252"/>
         <source>Enter the keyboard input interval, &apos;0&apos; for default</source>
         <translation>Introduzir o intervalo de entrada do teclado, &apos;0&apos; para padrão</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="258"/>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="251"/>
         <source> ms</source>
         <translation> ms</translation>
     </message>
@@ -1436,6 +1431,31 @@
         <source>Enable Crash Session</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="248"/>
+        <source>System Default</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="280"/>
+        <source>Background Services</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="298"/>
+        <source>max. Processes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="308"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.py" line="30"/>
+        <source>eric is using background services for certain things like syntax checks or code style checks. Per default the number of processes to use for these checks is determined automatically based on the number of CPUs. Please note, that this is an advanced setting.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AuthenticationDialog</name>
@@ -1488,32 +1508,32 @@
 <context>
     <name>BackgroundService</name>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="128"/>
+        <location filename="../Utilities/BackgroundService.py" line="129"/>
         <source>{0} not configured.</source>
         <translation>{0} sem configurar.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>Restart background client?</source>
         <translation>Reiniciar cliente de fundo?</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>&lt;p&gt;The background client for &lt;b&gt;{0}&lt;/b&gt; has stopped due to an exception. It&apos;s used by various plug-ins like the different checkers.&lt;/p&gt;&lt;p&gt;Select&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Yes&apos;&lt;/b&gt; to restart the client, but abort the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Retry&apos;&lt;/b&gt; to restart the client and the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;No&apos;&lt;/b&gt; to leave the client off.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Note: The client can be restarted by opening and accepting the preferences dialog or reloading/changing the project.&lt;/p&gt;</source>
         <translation>&lt;p&gt;O cliente de fundo para &lt;b&gt;{0}&lt;/b&gt; parou devido a uma exceção. Usa-se por varios complementos tais como os diferentes verificadores.&lt;/p&gt;&lt;p&gt;Selecionar&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Sim&apos;&lt;/b&gt; para reiniciar o cliente mas abandona o último trabalho&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Reintentar&apos;&lt;/b&gt; para reiniciar o cliente e o último trabalho&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Não&apos;&lt;/b&gt; para deixar o cliente apagado.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Nota: O cliente pode reiniciar-se abrindo e confirmando a caixa de diálogo de preferências ou recarregando/alterando o projeto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="208"/>
+        <location filename="../Utilities/BackgroundService.py" line="209"/>
         <source>An error in Erics background client stopped the service.</source>
         <translation>Um erro no cliente de fundo de Eric parou o serviço.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="419"/>
+        <location filename="../Utilities/BackgroundService.py" line="420"/>
         <source>Erics background client disconnected because of an unknown reason.</source>
         <translation>Cliente de fundo de Eric desconectou-se por motivo desconhecido.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>Background client disconnected.</source>
         <translation>Cliente de fundo desconectado.</translation>
     </message>
@@ -1523,7 +1543,7 @@
         <translation type="obsolete">O cliente de fundo para &lt;b&gt;{0}&lt;/b&gt; desconectou-se por um motivo desconhecido.&lt;br&gt;Deverá ser reiniciado?</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>The background client for &lt;b&gt;{0}&lt;/b&gt; disconnected because of an unknown reason.&lt;br&gt;Should it be restarted?</source>
         <translation>Cliente de fundo para &lt;b&gt;{0}&lt;/b&gt; desconetou-se por um motivo desconhecido. &lt;br&gt;Deveria reiniciar-se?</translation>
     </message>
@@ -41218,27 +41238,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../Preferences/__init__.py" line="1551"/>
+        <location filename="../Preferences/__init__.py" line="1552"/>
         <source>Export Preferences</source>
         <translation>Exportar Preferências</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Import Preferences</source>
         <translation>Importar Preferências</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation>Ficheiro de Propriedades (*.ini);;Ficheiros Todos (*)</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select Python{0} Interpreter</source>
         <translation>Selecionar intérprete de Python{0}</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select the Python{0} interpreter to be used:</source>
         <translation>Selecionar o intérprete de Python{0} a usar:</translation>
     </message>
--- a/i18n/eric6_ru.ts	Tue Jun 20 14:45:35 2017 +0200
+++ b/i18n/eric6_ru.ts	Wed Jun 21 19:40:59 2017 +0200
@@ -1333,16 +1333,11 @@
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="242"/>
-        <source>&lt;b&gt;Note&lt;/b&gt;: Enter a value of 0 to use the system default value.</source>
-        <translation>&lt;b&gt;Примечание&lt;/b&gt;: Задайте 0, чтобы использовать значение по умолчанию.</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="252"/>
         <source>Enter the keyboard input interval, &apos;0&apos; for default</source>
         <translation>Задайте интервал ввода клавиатуры, &apos;0&apos; - по умолчанию</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="258"/>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="251"/>
         <source> ms</source>
         <translation> мсек</translation>
     </message>
@@ -1366,6 +1361,31 @@
         <source>Enable Crash Session</source>
         <translation>Разрешить crash-сессии</translation>
     </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="248"/>
+        <source>System Default</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="280"/>
+        <source>Background Services</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="298"/>
+        <source>max. Processes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="308"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.py" line="30"/>
+        <source>eric is using background services for certain things like syntax checks or code style checks. Per default the number of processes to use for these checks is determined automatically based on the number of CPUs. Please note, that this is an advanced setting.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AuthenticationDialog</name>
@@ -1418,37 +1438,37 @@
 <context>
     <name>BackgroundService</name>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="128"/>
+        <location filename="../Utilities/BackgroundService.py" line="129"/>
         <source>{0} not configured.</source>
         <translation>{0} не сконфигурирован.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>Restart background client?</source>
         <translation>Перезапустить клиента в фоновом режиме?</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="208"/>
+        <location filename="../Utilities/BackgroundService.py" line="209"/>
         <source>An error in Erics background client stopped the service.</source>
         <translation>Ошибка фонового клиента остановила сервис.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="419"/>
+        <location filename="../Utilities/BackgroundService.py" line="420"/>
         <source>Erics background client disconnected because of an unknown reason.</source>
         <translation>Фоновый клиент прервал соединение по неизвестной причине.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>Background client disconnected.</source>
         <translation>Соединение фонового клиента прервано.</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>&lt;p&gt;The background client for &lt;b&gt;{0}&lt;/b&gt; has stopped due to an exception. It&apos;s used by various plug-ins like the different checkers.&lt;/p&gt;&lt;p&gt;Select&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Yes&apos;&lt;/b&gt; to restart the client, but abort the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Retry&apos;&lt;/b&gt; to restart the client and the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;No&apos;&lt;/b&gt; to leave the client off.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Note: The client can be restarted by opening and accepting the preferences dialog or reloading/changing the project.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Фоновый клиент &lt;b&gt;{0}&lt;/b&gt; прекратил выполнение из-за ошибки. Этот клиент необходим для работы различных плагинов.&lt;/p&gt;&lt;p&gt;Выберите &lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Да&apos;&lt;/b&gt; чтобы перезапустить его и отменить последнее задание &lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Повторить&apos;&lt;/b&gt; чтобы перезапустить его и последнее задание &lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Нет&apos;&lt;/b&gt; чтобы не перезапускать клиента.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Заметьте: Клиента можно перезапустить, открыв и сохранив диалог настроек или закрыв и снова открыв текущий проект.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>The background client for &lt;b&gt;{0}&lt;/b&gt; disconnected because of an unknown reason.&lt;br&gt;Should it be restarted?</source>
         <translation>Соединение фонового клиента &lt;b&gt;{0}&lt;/b&gt; прервано по неизвестной причине.&lt;br&gt;Перезапустить клиента?</translation>
     </message>
@@ -40020,27 +40040,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../Preferences/__init__.py" line="1551"/>
+        <location filename="../Preferences/__init__.py" line="1552"/>
         <source>Export Preferences</source>
         <translation>Экспорт предпочтений</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Import Preferences</source>
         <translation>Импорт предпочтений</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation>Файлы свойств (*.ini);;Все файлы (*)</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select Python{0} Interpreter</source>
         <translation>Задайте интерпретатор Python{0}</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select the Python{0} interpreter to be used:</source>
         <translation>Задайте интерпретатор Python{0}:</translation>
     </message>
--- a/i18n/eric6_tr.ts	Tue Jun 20 14:45:35 2017 +0200
+++ b/i18n/eric6_tr.ts	Wed Jun 21 19:40:59 2017 +0200
@@ -1394,16 +1394,11 @@
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="242"/>
-        <source>&lt;b&gt;Note&lt;/b&gt;: Enter a value of 0 to use the system default value.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="252"/>
         <source>Enter the keyboard input interval, &apos;0&apos; for default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="258"/>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="251"/>
         <source> ms</source>
         <translation type="unfinished">ms</translation>
     </message>
@@ -1427,6 +1422,31 @@
         <source>Enable Crash Session</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="248"/>
+        <source>System Default</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="280"/>
+        <source>Background Services</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="298"/>
+        <source>max. Processes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="308"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.py" line="30"/>
+        <source>eric is using background services for certain things like syntax checks or code style checks. Per default the number of processes to use for these checks is determined automatically based on the number of CPUs. Please note, that this is an advanced setting.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AuthenticationDialog</name>
@@ -1479,37 +1499,37 @@
 <context>
     <name>BackgroundService</name>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="128"/>
+        <location filename="../Utilities/BackgroundService.py" line="129"/>
         <source>{0} not configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>Restart background client?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="208"/>
+        <location filename="../Utilities/BackgroundService.py" line="209"/>
         <source>An error in Erics background client stopped the service.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="419"/>
+        <location filename="../Utilities/BackgroundService.py" line="420"/>
         <source>Erics background client disconnected because of an unknown reason.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>Background client disconnected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>&lt;p&gt;The background client for &lt;b&gt;{0}&lt;/b&gt; has stopped due to an exception. It&apos;s used by various plug-ins like the different checkers.&lt;/p&gt;&lt;p&gt;Select&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Yes&apos;&lt;/b&gt; to restart the client, but abort the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Retry&apos;&lt;/b&gt; to restart the client and the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;No&apos;&lt;/b&gt; to leave the client off.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Note: The client can be restarted by opening and accepting the preferences dialog or reloading/changing the project.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>The background client for &lt;b&gt;{0}&lt;/b&gt; disconnected because of an unknown reason.&lt;br&gt;Should it be restarted?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -40674,27 +40694,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../Preferences/__init__.py" line="1551"/>
+        <location filename="../Preferences/__init__.py" line="1552"/>
         <source>Export Preferences</source>
         <translation>Seçenekleri Dışa Aktar</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Import Preferences</source>
         <translation>Seçenekleri İçe Aktar</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select Python{0} Interpreter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select the Python{0} interpreter to be used:</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_zh_CN.ts	Tue Jun 20 14:45:35 2017 +0200
+++ b/i18n/eric6_zh_CN.ts	Wed Jun 21 19:40:59 2017 +0200
@@ -1399,16 +1399,11 @@
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="242"/>
-        <source>&lt;b&gt;Note&lt;/b&gt;: Enter a value of 0 to use the system default value.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="252"/>
         <source>Enter the keyboard input interval, &apos;0&apos; for default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="258"/>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="251"/>
         <source> ms</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1432,6 +1427,31 @@
         <source>Enable Crash Session</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="248"/>
+        <source>System Default</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="280"/>
+        <source>Background Services</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="298"/>
+        <source>max. Processes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="308"/>
+        <source>Automatic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.py" line="30"/>
+        <source>eric is using background services for certain things like syntax checks or code style checks. Per default the number of processes to use for these checks is determined automatically based on the number of CPUs. Please note, that this is an advanced setting.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AuthenticationDialog</name>
@@ -1484,27 +1504,27 @@
 <context>
     <name>BackgroundService</name>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="128"/>
+        <location filename="../Utilities/BackgroundService.py" line="129"/>
         <source>{0} not configured.</source>
         <translation>{0} 未被配置。</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>Restart background client?</source>
         <translation>重启后台客户端?</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="208"/>
+        <location filename="../Utilities/BackgroundService.py" line="209"/>
         <source>An error in Erics background client stopped the service.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="419"/>
+        <location filename="../Utilities/BackgroundService.py" line="420"/>
         <source>Erics background client disconnected because of an unknown reason.</source>
         <translation>Erics 后台客户端因未知原因断开连接。</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>Background client disconnected.</source>
         <translation>后台客户端已断开连接。</translation>
     </message>
@@ -1514,12 +1534,12 @@
         <translation type="obsolete">&lt;b&gt;{0}&lt;/b&gt; 的后台客户端因为一个未知的原因断开了链接。&lt;br&gt;是否应当重新启动它?</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="182"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>&lt;p&gt;The background client for &lt;b&gt;{0}&lt;/b&gt; has stopped due to an exception. It&apos;s used by various plug-ins like the different checkers.&lt;/p&gt;&lt;p&gt;Select&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Yes&apos;&lt;/b&gt; to restart the client, but abort the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Retry&apos;&lt;/b&gt; to restart the client and the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;No&apos;&lt;/b&gt; to leave the client off.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Note: The client can be restarted by opening and accepting the preferences dialog or reloading/changing the project.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="425"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>The background client for &lt;b&gt;{0}&lt;/b&gt; disconnected because of an unknown reason.&lt;br&gt;Should it be restarted?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -40671,27 +40691,27 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../Preferences/__init__.py" line="1551"/>
+        <location filename="../Preferences/__init__.py" line="1552"/>
         <source>Export Preferences</source>
         <translation>导出首选项</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Import Preferences</source>
         <translation>导入首选项</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1579"/>
+        <location filename="../Preferences/__init__.py" line="1580"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation>属性文件 (*.ini);;所有文件 (*)</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select Python{0} Interpreter</source>
         <translation>选择 Python{0} 解释器</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1681"/>
+        <location filename="../Preferences/__init__.py" line="1682"/>
         <source>Select the Python{0} interpreter to be used:</source>
         <translation>选择要使用的 Python{0} 解释器:</translation>
     </message>

eric ide

mercurial