From bda84c4b6c5606d179905ce9f16ade566efe7cb2 Mon Sep 17 00:00:00 2001
From: Jonathan Wilkes <jon.w.wilkes@gmail.com>
Date: Fri, 1 Feb 2019 23:42:23 -0500
Subject: [PATCH] hack to change default patch fontsize to 12, css fixes,
 dialog focus fixes

---
 .../org.puredata.pd-l2ork.default.plist       |   2 +-
 .../org.puredata.pd-l2ork.light.plist         |   2 +-
 packages/linux_make/default.settings          |   1 +
 packages/linux_make/light.settings            |   1 +
 packages/win32_inno/pd-settings-light.reg     |   2 +-
 packages/win32_inno/pd-settings.reg           |   2 +-
 pd/nw/css/c64.css                             |   5 +
 pd/nw/css/default.css                         |  11 +-
 pd/nw/css/extended.css                        |   5 +
 pd/nw/css/footgun.css                         |   5 +
 pd/nw/css/inverted.css                        |   5 +
 pd/nw/css/solarized.css                       |   5 +
 pd/nw/css/solarized_inverted.css              |   5 +
 pd/nw/css/strongbad.css                       |   5 +
 pd/nw/css/subdued.css                         |   5 +
 pd/nw/css/vanilla.css                         |   5 +
 pd/nw/css/vanilla_inverted.css                |   5 +
 pd/nw/dialog_prefs.html                       | 109 ++++++++++--------
 pd/nw/pdgui.js                                |  10 +-
 19 files changed, 135 insertions(+), 55 deletions(-)

diff --git a/packages/darwin_app/org.puredata.pd-l2ork.default.plist b/packages/darwin_app/org.puredata.pd-l2ork.default.plist
index d9c49f88a..12451f57f 100644
--- a/packages/darwin_app/org.puredata.pd-l2ork.default.plist
+++ b/packages/darwin_app/org.puredata.pd-l2ork.default.plist
@@ -5,7 +5,7 @@
 	<key>defeatrt</key>
 	<string>0</string>
 	<key>flags</key>
-	<string>-helppath ~/Library/Pd-l2ork -helppath /Library/Pd-l2ork</string>
+	<string>-font-size 12 -helppath ~/Library/Pd-l2ork -helppath /Library/Pd-l2ork</string>
 	<key>loadlib1</key>
 	<string>libdir</string>
 	<key>loadlib2</key>
diff --git a/packages/darwin_app/org.puredata.pd-l2ork.light.plist b/packages/darwin_app/org.puredata.pd-l2ork.light.plist
index 3844a60a0..e56c38d22 100644
--- a/packages/darwin_app/org.puredata.pd-l2ork.light.plist
+++ b/packages/darwin_app/org.puredata.pd-l2ork.light.plist
@@ -5,7 +5,7 @@
 	<key>defeatrt</key>
 	<string>0</string>
 	<key>flags</key>
-	<string>-helppath ~/Library/Pd-l2ork -helppath /Library/Pd-l2ork</string>
+	<string>-font-size 12 -helppath ~/Library/Pd-l2ork -helppath /Library/Pd-l2ork</string>
 	<key>loadlib1</key>
 	<string>libdir</string>
 	<key>loadlib2</key>
diff --git a/packages/linux_make/default.settings b/packages/linux_make/default.settings
index f5077065b..772d49e76 100644
--- a/packages/linux_make/default.settings
+++ b/packages/linux_make/default.settings
@@ -1,6 +1,7 @@
 standardpath: 1
 verbose: 0
 defeatrt: 0
+flags: -font-size 12
 loadlib1: libdir
 loadlib2: Gem
 loadlib3: cyclone
diff --git a/packages/linux_make/light.settings b/packages/linux_make/light.settings
index 26c84749d..d2b1add63 100644
--- a/packages/linux_make/light.settings
+++ b/packages/linux_make/light.settings
@@ -7,3 +7,4 @@ nloadlib: 2
 path1: ~/pd-l2ork-externals
 path2: /usr/lib/pd-l2ork/extra/pddp
 npath: 2
+flags: -font-size 12
diff --git a/packages/win32_inno/pd-settings-light.reg b/packages/win32_inno/pd-settings-light.reg
index 483722c20..b33e4ff2b 100644
--- a/packages/win32_inno/pd-settings-light.reg
+++ b/packages/win32_inno/pd-settings-light.reg
@@ -1,7 +1,7 @@
 Windows Registry Editor Version 5.00
 
 [HKEY_LOCAL_MACHINE\SOFTWARE\Pd-extended]
-"flags"=""
+"flags"="-font-size 12"
 "loadlib1"="libdir"
 "loadlib2"="pddp"
 "nloadlib"=2
diff --git a/packages/win32_inno/pd-settings.reg b/packages/win32_inno/pd-settings.reg
index fa5b9a768..d4383bf89 100755
--- a/packages/win32_inno/pd-settings.reg
+++ b/packages/win32_inno/pd-settings.reg
@@ -1,7 +1,7 @@
 Windows Registry Editor Version 5.00
 
 [HKEY_LOCAL_MACHINE\SOFTWARE\Pd-extended]
-"flags"=""
+"flags"="-font-size 12"
 "loadlib1"="libdir"
 "loadlib2"="Gem"
 "loadlib3"="cyclone"
diff --git a/pd/nw/css/c64.css b/pd/nw/css/c64.css
index eedb26343..abb0cc816 100644
--- a/pd/nw/css/c64.css
+++ b/pd/nw/css/c64.css
@@ -619,6 +619,11 @@ div.y2 {
     color: #a49aea;
 }
 
+/* Sample rate input */
+input[name="rate"] {
+    width: 4em;
+}
+
 #prefs_buttons {
     display: table;
     height: 10vh;
diff --git a/pd/nw/css/default.css b/pd/nw/css/default.css
index 5be0c8a93..086442532 100644
--- a/pd/nw/css/default.css
+++ b/pd/nw/css/default.css
@@ -193,7 +193,7 @@ mark.console_find_highlighted {
     width: 100%;
     height: 1em;
     padding: 0.2em;
-    padding-left:8px;
+    padding-left: 8px;
     background: silver;
     position: fixed;
     bottom: 0;
@@ -556,11 +556,11 @@ legend {
 /* Iemgui dialog */
 
 input[type="text"]{
-    width:3em;
+    width: 3em;
 }
 
 input[type="number"]{
-    width:3em;
+    width: 3em;
 }
 
 label {
@@ -744,6 +744,11 @@ div.y2 {
     padding-top: 8px;
 }
 
+/* Sample rate input */
+input[name="rate"] {
+    width: 4em;
+}
+
 #prefs_buttons {
     display: table;
     height: 10vh;
diff --git a/pd/nw/css/extended.css b/pd/nw/css/extended.css
index d3b33791e..9149fdc54 100644
--- a/pd/nw/css/extended.css
+++ b/pd/nw/css/extended.css
@@ -593,6 +593,11 @@ div.y2 {
     padding-top: 8px;
 }
 
+/* Sample rate input */
+input[name="rate"] {
+    width: 4em;
+}
+
 #prefs_buttons {
     display: table;
     height: 10vh;
diff --git a/pd/nw/css/footgun.css b/pd/nw/css/footgun.css
index d3cb2f1f7..a24f8bfbe 100644
--- a/pd/nw/css/footgun.css
+++ b/pd/nw/css/footgun.css
@@ -750,6 +750,11 @@ div.y2 {
     padding-top: 8px;
 }
 
+/* Sample rate input */
+input[name="rate"] {
+    width: 4em;
+}
+
 #prefs_buttons {
     display: table;
     height: 10vh;
diff --git a/pd/nw/css/inverted.css b/pd/nw/css/inverted.css
index b75f4883f..cfd662a75 100644
--- a/pd/nw/css/inverted.css
+++ b/pd/nw/css/inverted.css
@@ -632,6 +632,11 @@ div.y2 {
     padding-top: 8px;
 }
 
+/* Sample rate input */
+input[name="rate"] {
+    width: 4em;
+}
+
 #prefs_buttons {
     display: table;
     height: 10vh;
diff --git a/pd/nw/css/solarized.css b/pd/nw/css/solarized.css
index 44ddaf238..3b2e4b836 100644
--- a/pd/nw/css/solarized.css
+++ b/pd/nw/css/solarized.css
@@ -623,6 +623,11 @@ div.y2 {
     padding-top: 8px;
 }
 
+/* Sample rate input */
+input[name="rate"] {
+    width: 4em;
+}
+
 #prefs_buttons {
     display: table;
     height: 10vh;
diff --git a/pd/nw/css/solarized_inverted.css b/pd/nw/css/solarized_inverted.css
index 90a58cfd7..63a64fb06 100644
--- a/pd/nw/css/solarized_inverted.css
+++ b/pd/nw/css/solarized_inverted.css
@@ -624,6 +624,11 @@ div.y2 {
     padding-top: 8px;
 }
 
+/* Sample rate input */
+input[name="rate"] {
+    width: 4em;
+}
+
 #prefs_buttons {
     display: table;
     height: 10vh;
diff --git a/pd/nw/css/strongbad.css b/pd/nw/css/strongbad.css
index 45b9708c5..dbc601349 100644
--- a/pd/nw/css/strongbad.css
+++ b/pd/nw/css/strongbad.css
@@ -605,6 +605,11 @@ div.y2 {
     padding-top: 8px;
 }
 
+/* Sample rate input */
+input[name="rate"] {
+    width: 4em;
+}
+
 #prefs_buttons {
     display: table;
     height: 10vh;
diff --git a/pd/nw/css/subdued.css b/pd/nw/css/subdued.css
index 78af8f5c9..5a364bbc1 100644
--- a/pd/nw/css/subdued.css
+++ b/pd/nw/css/subdued.css
@@ -608,6 +608,11 @@ div.y2 {
     padding-top: 8px;
 }
 
+/* Sample rate input */
+input[name="rate"] {
+    width: 4em;
+}
+
 #prefs_buttons {
     display: table;
     height: 10vh;
diff --git a/pd/nw/css/vanilla.css b/pd/nw/css/vanilla.css
index 66a4323d1..e8bf4f7a3 100644
--- a/pd/nw/css/vanilla.css
+++ b/pd/nw/css/vanilla.css
@@ -593,6 +593,11 @@ div.y2 {
     padding-top: 8px;
 }
 
+/* Sample rate input */
+input[name="rate"] {
+    width: 4em;
+}
+
 #prefs_buttons {
     display: table;
     height: 10vh;
diff --git a/pd/nw/css/vanilla_inverted.css b/pd/nw/css/vanilla_inverted.css
index 710255f07..ee1268623 100644
--- a/pd/nw/css/vanilla_inverted.css
+++ b/pd/nw/css/vanilla_inverted.css
@@ -611,6 +611,11 @@ div.y2 {
     padding-top: 8px;
 }
 
+/* Sample rate input */
+input[name="rate"] {
+    width: 4em;
+}
+
 #prefs_buttons {
     display: table;
     height: 10vh;
diff --git a/pd/nw/dialog_prefs.html b/pd/nw/dialog_prefs.html
index 00c13be49..245376117 100644
--- a/pd/nw/dialog_prefs.html
+++ b/pd/nw/dialog_prefs.html
@@ -40,57 +40,72 @@
         </label>
 
         <div class="tab1">
-          <div class="tab_settings">
-            <label data-i18n="[title]prefs.audio.api_tt">
-              <span data-i18n="prefs.audio.api"></span>
-              <select id="audio_api" onchange="change_api(this);">
-              </select>
-            </label>
-          </div>
-          <div class="tab_settings">
-            <label data-i18n="[title]prefs.audio.sr_tt">
-              <span data-i18n="prefs.audio.sr"></span>
-              <input type="text"
-                     id="rate"
-                     name="rate"
-                     onchange="attr_change(this);">
-            </label>
-          </div>
-          <div class="tab_settings">
-            <label data-i18n="[title]prefs.audio.blocksize_tt">
-              <span data-i18n="prefs.audio.blocksize"></span>
-              <select id="blocksize"
-                      onchange="attr_change(this);">
-                <option value="64">64</option>
-                <option value="128">128</option>
-                <option value="256">256</option>
-                <option value="512">512</option>
-                <option value="1024">1024</option>
-                <option value="2048">2048</option>
-              </select>
-            </label>
-            <label data-i18n="[title]prefs.audio.advance_tt">
-              <span data-i18n="prefs.audio.advance"></span>
-              <input type="text"
-                     id="advance"
-                     name="advance"
-                     onchange="attr_change(this);">
-            </label>
-          </div>
-          <div class="tab_settings">
-            <span id="callback_container" class="hidden">
-              <label data-i18n="[title]prefs.audio.callback_tt">
+          <table class="tab_settings">
+            <tr data-i18n="[title]prefs.audio.api_tt">
+              <td>
+                <span data-i18n="prefs.audio.api"></span>
+              </td>
+              <td>
+                <select id="audio_api" onchange="change_api(this);">
+                </select>
+              </td>
+            </tr>
+            <tr data-i18n="[title]prefs.audio.sr_tt">
+              <td>
+                <span data-i18n="prefs.audio.sr"></span>
+              </td>
+              <td>
+                <input type="text"
+                       id="rate"
+                       name="rate"
+                       onchange="attr_change(this);">
+              </td>
+            </tr>
+            <tr data-i18n="[title]prefs.audio.blocksize_tt">
+              <td>
+                <span data-i18n="prefs.audio.blocksize"></span>
+              </td>
+              <td>
+                <select id="blocksize"
+                        onchange="attr_change(this);">
+                  <option value="64">64</option>
+                  <option value="128">128</option>
+                  <option value="256">256</option>
+                  <option value="512">512</option>
+                  <option value="1024">1024</option>
+                  <option value="2048">2048</option>
+                </select>
+              </td>
+            <tr data-i18n="[title]prefs.audio.advance_tt">
+              <td>
+                <span data-i18n="prefs.audio.advance"></span>
+              </td>
+              <td>
+                <input type="text"
+                       id="advance"
+                       name="advance"
+                       onchange="attr_change(this);">
+              </td>
+            </tr>
+            <tr id="callback_container" class="hidden"
+                data-i18n="[title]prefs.audio.callback_tt">
+              <td>
                 <span data-i18n="prefs.audio.callback"></span>
+              </td>
+              <td>
                 <input type="checkbox" id="callback" name="callback">
-              </label>
-            </span>
-            <span id="multi_dev_container" class="hidden">
-              <label data-i18n="[title]prefs.audio.callback_tt">
+              </td>
+            </tr>
+            <tr id="multi_dev_container" class="hidden"
+                data-i18n="[title]prefs.audio.callback_tt">
+              <td>
                 <span data-i18n="prefs.audio.callback"></span>
+              </td>
+              <td>
                 <input type="checkbox" id="multi-dev" name="multi-dev">
-              </label>
-            </span>
-          </div>
+              </td>
+            </tr>
+          </table>
           <table class="tab_settings">
             <tr>
               <td data-i18n="[title]prefs.audio.input_title_tt">
diff --git a/pd/nw/pdgui.js b/pd/nw/pdgui.js
index 2e961d984..7f61f4db0 100644
--- a/pd/nw/pdgui.js
+++ b/pd/nw/pdgui.js
@@ -5240,9 +5240,13 @@ function gui_text_dialog(did, width, height, font_size) {
         font_size);
 }
 
+function dialog_raise(did) {
+    dialogwin[did].focus();
+}
+
 function gui_text_dialog_raise(did) {
     if (dialogwin[did]) {
-        dialogwin[did].focus();
+        dialog_raise(did);
     }
 }
 
@@ -5285,6 +5289,8 @@ function gui_pd_dsp(state) {
 function open_prefs() {
     if (!dialogwin["prefs"]) {
         create_window("prefs", "prefs", 370, 470, 0, 0, null);
+    } else {
+        dialog_raise("prefs");
     }
 }
 
@@ -5293,6 +5299,8 @@ exports.open_prefs = open_prefs;
 function open_search() {
     if (!dialogwin["search"]) {
         create_window("search", "search", 300, 400, 20, 20, null);
+    } else {
+        dialog_raise("search");
     }
 }
 
-- 
GitLab