Skip to content
167 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 <!-- What it is doing; when it isn't running, why and how to fix it (src/runner/diagnosis.rs). -->
57 <div class="diagnosis" id="runner-diagnosis" aria-live="polite">
58 <span class="dot" id="runner-dot" aria-hidden="true"></span>
59 <span class="diagnosis-text">
60 <strong id="runner-title">Runner</strong>
61 <span class="muted" id="runner-cause"></span>
62 <span id="runner-fix"></span>
63 <span class="buttons" id="runner-actions"></span>
64 <!-- Sandboxed: each kind of job it runs, Linux and Windows, on its own line. -->
65 <ul class="capabilities" id="runner-capabilities" hidden></ul>
66 </span>
67 <button type="button" id="runner-toggle">Stop</button>
68 </div>
69 <label class="setting">
70 <span><strong>How jobs run</strong><span class="muted" id="runner-backend-note">&nbsp;</span></span>
71 <select id="runnerBackend">
72 <option value="sandboxed">Sandboxed (recommended)</option>
73 <option value="docker">In Docker</option>
74 <option value="host">Directly on this computer</option>
75 </select>
76 </label>
77 <label class="setting">
78 <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>
79 <select id="runnerWorkspace"></select>
80 </label>
81 <div class="setting">
82 <span><strong id="runner-machine">This computer</strong><span class="muted" id="runner-version">&nbsp;</span></span>
83 <span class="buttons"><button type="button" id="runner-view">View on g1t</button></span>
84 </div>
85 <details class="log">
86 <summary>Recent log</summary>
87 <pre id="runner-log">Nothing yet.</pre>
88 <button type="button" id="runner-open-log">Open the whole log</button>
89 </details>
90 </section>
91
92 <section aria-labelledby="notifications-heading">
93 <h2 id="notifications-heading">Notifications</h2>
94 <label class="setting">
95 <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>
96 <input type="checkbox" role="switch" id="notifications" />
97 </label>
98 <label class="setting">
99 <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>
100 <input type="checkbox" role="switch" id="flash" />
101 </label>
102 <label class="setting">
103 <span><strong>Show a badge on the icon</strong><span class="muted">How many things are waiting for you.</span></span>
104 <input type="checkbox" role="switch" id="badge" />
105 </label>
106 </section>
107
108 <section aria-labelledby="window-heading">
109 <h2 id="window-heading">Window</h2>
110 <label class="setting">
111 <span
112 ><strong>Use the system's title bar</strong
113 ><span class="muted" id="system-title-bar-note">In place of g1t's own, with the menu bar under it.</span></span
114 >
115 <input type="checkbox" role="switch" id="systemTitleBar" />
116 </label>
117 <div class="setting" id="restart-row" hidden>
118 <span><strong>Restart to change the title bar</strong><span class="muted">g1t opens again where you were.</span></span>
119 <button type="button" id="restart-app" class="primary">Restart now</button>
120 </div>
121 <label class="setting">
122 <span><strong>Zoom</strong><span class="muted" id="zoom-note">The View menu changes it too.</span></span>
123 <select id="zoom">
124 <option value="0.67">67%</option>
125 <option value="0.75">75%</option>
126 <option value="0.8">80%</option>
127 <option value="0.9">90%</option>
128 <option value="1">100%</option>
129 <option value="1.1">110%</option>
130 <option value="1.25">125%</option>
131 <option value="1.5">150%</option>
132 <option value="1.75">175%</option>
133 <option value="2">200%</option>
134 </select>
135 </label>
136 </section>
137
138 <section aria-labelledby="updates-heading">
139 <h2 id="updates-heading">Updates</h2>
140 <label class="setting">
141 <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>
142 <input type="checkbox" role="switch" id="autoUpdate" />
143 </label>
144 <div class="setting" id="updates-row">
145 <span><strong id="version">g1t</strong><span class="muted" id="update-status" aria-live="polite">&nbsp;</span></span>
146 <span class="buttons">
147 <button type="button" id="restart" class="primary" hidden>Restart now</button>
148 <button type="button" id="check">Check for updates</button>
149 </span>
150 </div>
151 </section>
152
153 <section aria-labelledby="server-heading">
154 <h2 id="server-heading">Server</h2>
155 <div class="setting">
156 <span><strong id="server">g1t.sh</strong><span class="muted">The g1t this app opens. Change it if you run g1t yourself.</span></span>
157 <button type="button" id="change-server">Change…</button>
158 </div>
159 </section>
160
161 <p class="error" id="error" role="alert" hidden></p>
162 <p class="muted small foot"><a href="https://docs.g1t.sh/guides/desktop/">About the desktop app</a></p>
163 </main>
164 </div>
165 <script src="settings.js"></script>
166 </body>
167</html>