Skip to content
170 linesCodeBlameRaw
1<!doctype html>
2<!--
3 The desktop app's settings, in a window of their own: opened from the
4 menu, the tray, or the site's account menu (src/settings.rs). Each
5 change is kept as soon as it is made; there is nothing to save.
6-->
7<html lang="en">
8 <head>
9 <meta charset="utf-8" />
10 <meta name="viewport" content="width=device-width, initial-scale=1" />
11 <meta name="color-scheme" content="dark" />
12 <title>g1t settings</title>
13 <link rel="stylesheet" href="settings.css" />
14 </head>
15 <body>
16 <!-- Its title bar, when g1t draws its own (src/frame.rs): drag it to move the window. -->
17 <header class="titlebar" id="titlebar" hidden>
18 <span>Settings</span>
19 <button type="button" id="close-window" class="caption" aria-label="Close" title="Close" tabindex="-1">
20 <svg viewBox="0 0 16 16" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" aria-hidden="true">
21 <line x1="4" y1="4" x2="12" y2="12" />
22 <line x1="12" y1="4" x2="4" y2="12" />
23 </svg>
24 </button>
25 </header>
26 <div class="page">
27 <main>
28 <h1>Settings</h1>
29 <p class="muted lede">For the desktop app on this computer. Your account's settings, notifications included, are on g1t itself.</p>
30
31 <section aria-labelledby="general-heading">
32 <h2 id="general-heading">Starting and closing</h2>
33 <label class="setting">
34 <span><strong>Open g1t when you sign in</strong><span class="muted" id="open-at-login-note">g1t starts with your computer.</span></span>
35 <input type="checkbox" role="switch" id="openAtLogin" />
36 </label>
37 <label class="setting">
38 <span><strong>Start in the tray</strong><span class="muted" id="start-hidden-note">Opened at sign-in, g1t waits in the tray without opening its window.</span></span>
39 <input type="checkbox" role="switch" id="startHidden" />
40 </label>
41 <label class="setting">
42 <span><strong>Keep g1t running when the window closes</strong><span class="muted">It stays in the tray for notifications. Turned off, closing the window quits.</span></span>
43 <input type="checkbox" role="switch" id="closeToTray" />
44 </label>
45 </section>
46
47 <section aria-labelledby="runner-heading" id="runner-section">
48 <h2 id="runner-heading">Runner</h2>
49 <label class="setting">
50 <span
51 ><strong>Run jobs on this computer while g1t is open</strong
52 ><span class="muted">Your workspace's <code>runs-on: self-hosted</code> jobs run here, at no cost, while g1t is open.</span></span
53 >
54 <input type="checkbox" role="switch" id="runner" />
55 </label>
56 <!--
57 What affects the whole runner (signed out, no workspace, turned off,
58 the sandbox down): why, and how to fix it (src/runner/diagnosis.rs).
59 Hidden when the cards below say it all.
60 -->
61 <div class="diagnosis" id="runner-diagnosis" role="status" aria-live="polite" hidden>
62 <span class="dot" id="runner-dot" aria-hidden="true"></span>
63 <span class="diagnosis-text">
64 <strong id="runner-title">Runner</strong>
65 <span class="muted" id="runner-cause"></span>
66 <span id="runner-fix"></span>
67 <span class="buttons" id="runner-actions"></span>
68 </span>
69 </div>
70 <!-- Sandboxed: each kind of job it runs, a card of its own, started and stopped on its own. -->
71 <div class="kinds" id="runner-kinds" role="list" aria-label="Kinds of job this computer runs" hidden></div>
72 <label class="setting">
73 <span><strong>How jobs run</strong><span class="muted" id="runner-backend-note">&nbsp;</span></span>
74 <select id="runnerBackend">
75 <option value="sandboxed">Sandboxed (recommended)</option>
76 <option value="docker">In Docker</option>
77 <option value="host">Directly on this computer</option>
78 </select>
79 </label>
80 <label class="setting">
81 <span><strong>Workspace</strong><span class="muted" id="runner-workspace-note">The workspace whose jobs it runs. Only a workspace's owners can add runners to it.</span></span>
82 <select id="runnerWorkspace"></select>
83 </label>
84 <div class="setting">
85 <span><strong id="runner-machine">This computer</strong><span class="muted" id="runner-version">&nbsp;</span></span>
86 <span class="buttons"><button type="button" id="runner-view">View on g1t</button></span>
87 </div>
88 <details class="log">
89 <summary>Recent log</summary>
90 <pre id="runner-log">Nothing yet.</pre>
91 <button type="button" id="runner-open-log">Open the whole log</button>
92 </details>
93 </section>
94
95 <section aria-labelledby="notifications-heading">
96 <h2 id="notifications-heading">Notifications</h2>
97 <label class="setting">
98 <span><strong>Show notifications</strong><span class="muted">From your system, for what needs you while g1t is behind another window. Which things notify you is set on g1t.</span></span>
99 <input type="checkbox" role="switch" id="notifications" />
100 </label>
101 <label class="setting">
102 <span><strong id="flash-label">Flash the taskbar icon</strong><span class="muted">When a notification arrives and the window is not in front.</span></span>
103 <input type="checkbox" role="switch" id="flash" />
104 </label>
105 <label class="setting">
106 <span><strong>Show a badge on the icon</strong><span class="muted">How many things are waiting for you.</span></span>
107 <input type="checkbox" role="switch" id="badge" />
108 </label>
109 </section>
110
111 <section aria-labelledby="window-heading">
112 <h2 id="window-heading">Window</h2>
113 <label class="setting">
114 <span
115 ><strong>Use the system's title bar</strong
116 ><span class="muted" id="system-title-bar-note">In place of g1t's own, with the menu bar under it.</span></span
117 >
118 <input type="checkbox" role="switch" id="systemTitleBar" />
119 </label>
120 <div class="setting" id="restart-row" hidden>
121 <span><strong>Restart to change the title bar</strong><span class="muted">g1t opens again where you were.</span></span>
122 <button type="button" id="restart-app" class="primary">Restart now</button>
123 </div>
124 <label class="setting">
125 <span><strong>Zoom</strong><span class="muted" id="zoom-note">The View menu changes it too.</span></span>
126 <select id="zoom">
127 <option value="0.67">67%</option>
128 <option value="0.75">75%</option>
129 <option value="0.8">80%</option>
130 <option value="0.9">90%</option>
131 <option value="1">100%</option>
132 <option value="1.1">110%</option>
133 <option value="1.25">125%</option>
134 <option value="1.5">150%</option>
135 <option value="1.75">175%</option>
136 <option value="2">200%</option>
137 </select>
138 </label>
139 </section>
140
141 <section aria-labelledby="updates-heading">
142 <h2 id="updates-heading">Updates</h2>
143 <label class="setting">
144 <span><strong>Download updates by themselves</strong><span class="muted">Each one installs when you restart or quit g1t, never in the middle of something.</span></span>
145 <input type="checkbox" role="switch" id="autoUpdate" />
146 </label>
147 <div class="setting" id="updates-row">
148 <span><strong id="version">g1t</strong><span class="muted" id="update-status" aria-live="polite">&nbsp;</span></span>
149 <span class="buttons">
150 <button type="button" id="restart" class="primary" hidden>Restart now</button>
151 <button type="button" id="check">Check for updates</button>
152 </span>
153 </div>
154 </section>
155
156 <section aria-labelledby="server-heading">
157 <h2 id="server-heading">Server</h2>
158 <div class="setting">
159 <span><strong id="server">g1t.sh</strong><span class="muted">The g1t this app opens. Change it if you run g1t yourself.</span></span>
160 <button type="button" id="change-server">Change…</button>
161 </div>
162 </section>
163
164 <p class="error" id="error" role="alert" hidden></p>
165 <p class="muted small foot"><a href="https://docs.g1t.sh/guides/desktop/">About the desktop app</a></p>
166 </main>
167 </div>
168 <script src="settings.js"></script>
169 </body>
170</html>