├── copyright.txt
├── preferencesOverride.plist
├── README.markdown
├── scripts.js
├── userInterface.plist
└── design.css
/copyright.txt:
--------------------------------------------------------------------------------
1 | This style is a modified and stripped down version of
2 | the "Simplified" theme developed by "Cowboy" Ben Alman
3 | (http://benalman.com/). It is copyright to him.
4 |
5 | The color scheme has been adapted to use the scheme
6 | "Solarized" by Ethan Schoonover.
7 | (http://ethanschoonover.com/solarized)
8 |
--------------------------------------------------------------------------------
/preferencesOverride.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Nickname Format
6 |
7 | Nickname Format Fixed Width
8 | 0
9 | Timestamp Format
10 |
11 | Indent Wrapped Messages
12 |
13 | Override Setting
14 |
15 | New Value
16 |
17 |
18 | Override Channel Font
19 |
20 | Font Name
21 |
22 | Font Size
23 | 0
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/README.markdown:
--------------------------------------------------------------------------------
1 | Textual-Solarized is a Textual IRC style for OSX. You can find Textual at http://www.codeux.com/textual/ or on the App Store.
2 |
3 | I have derived this from the Simplified Dark theme bundled with Textual and have applied some of the Solarized color scheme (http://ethanschoonover.com/solarized) to it.
4 |
5 | 
6 |
7 | Installation
8 | ============
9 | Checkout this git repo into ~/Library/Application Support/Textual/Styles in a sub-folder and it will be an available option in the Textual preferences pane.
10 |
11 | cd ~/Library/Containers/com.codeux.irc.textual/Data/Library/Application\ Support/Textual\ IRC/Styles/
12 | git clone https://github.com/excid3/textual-solarized.git
13 |
--------------------------------------------------------------------------------
/scripts.js:
--------------------------------------------------------------------------------
1 | // Mechanism to pull in additional CSS or JavaScript files
2 |
3 | // Textual.include_js("jquery.min.js");
4 | // Textual.include_css("more_theme.css");
5 |
6 |
7 | // Function called when new message from IRC has been posted to display
8 |
9 | // Textual.newMessagePostedToDisplay = function(lineNumber)
10 | // {
11 | // var newLine = document.getElementById("line" + lineNumber);
12 | // }
13 |
14 |
15 | // Functions called for contextual menus used within WebView
16 | // DO NOT change without knowledge of what to do.
17 | // Safe to remove from source code if not needed.
18 |
19 | // Textual.on_url = function() { app.setUrl(event.target.innerHTML); }
20 | // Textual.on_addr = function() { app.setAddr(event.target.innerHTML); }
21 | // Textual.on_chname = function() { app.setChan(event.target.innerHTML); }
22 | // Textual.on_ct_nick: function() { app.setNick(event.target.innerHTML); }
23 | // Textual.on_nick = function() { app.setNick(event.target.parentNode.parentNode.getAttribute('nick')); }
--------------------------------------------------------------------------------
/userInterface.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Underlying Window Color
6 | #000
7 | Server List
8 |
9 | Text Font Style
10 | Lucida Grande
11 | Text Font Size
12 | 11
13 | Background Color
14 | #1c1c1c
15 | Highlight Color
16 | #007f00
17 | New Private Message Color
18 | #699fcf
19 | Unread Color
20 | #699fcf
21 | Active Color
22 | #808080
23 | Inactive Color
24 | #ccc
25 | Active Color (Selected)
26 | #cfbc99
27 | Inactive Color (Selected)
28 | #eee
29 | Gradient
30 |
31 | Top Color
32 | #3f3e4c
33 | Bottom Color
34 | #201f27
35 | Top Line Color
36 | #3f3e4c
37 | Bottom Line Color
38 | #3f3e4c
39 |
40 |
41 | Member List
42 |
43 | Text Font Style
44 | Lucida Grande
45 | Text Font Size
46 | 11
47 | Background Color
48 | #1c1c1c
49 | Text Color
50 | #808080
51 | Op Text Color
52 | #dedede
53 | Text Color (Selected)
54 | #cfbc99
55 | Gradient
56 |
57 | Top Color
58 | #3f3e4c
59 | Bottom Color
60 | #201f27
61 | Top Line Color
62 | #3f3e4c
63 | Bottom Line Color
64 | #3f3e4c
65 |
66 |
67 | Input Box
68 |
69 | Text Font Style
70 |
71 | Text Font Size
72 | 0
73 | Background Color
74 | #1c1c1c
75 | Text Color
76 | #e4e4e4
77 |
78 |
79 |
80 |
--------------------------------------------------------------------------------
/design.css:
--------------------------------------------------------------------------------
1 | /* Basic Body Structure */
2 |
3 | * {
4 | margin: 0;
5 | padding: 0;
6 | font-size: 100%;
7 | word-wrap: break-word;
8 | }
9 |
10 | body {
11 | color: #666;
12 | height: 100%;
13 | z-index: 100;
14 | font-size: 12px;
15 | overflow: hidden;
16 | overflow-y: visible;
17 | background-color: #1c1c1c;
18 | font-family: "Lucida Grande";
19 | }
20 |
21 | body div#body_home {
22 | left: 0;
23 | right: 0;
24 | bottom: 0;
25 | z-index: 100;
26 | max-height: 97.5%;
27 | position: absolute;
28 | }
29 |
30 | body div#body_home div {
31 | margin-top: -1px;
32 | }
33 |
34 | body div#body_home p {
35 | clear: both;
36 | position: relative;
37 | }
38 |
39 | /* Time */
40 |
41 | body .time {
42 | color: #666;
43 | text-indent: 0;
44 | word-wrap: normal;
45 | white-space: nowrap
46 | display: inline-block;
47 | }
48 |
49 | /* Links */
50 |
51 | a {
52 | color: #0087ff;
53 | border-color: #0087ff;
54 | text-decoration: none;
55 | border-bottom: dotted 1px;
56 | }
57 |
58 | a:hover {
59 | color: #00afaf;
60 | border-color: #00afaf;
61 | }
62 |
63 | /* Topic Bar */
64 |
65 | #topic_bar {
66 | top: 0;
67 | left: 0;
68 | right: 0;
69 | color: #93a1a1;
70 | z-index: 400;
71 | opacity: 0.95;
72 | font-size: 9px;
73 | position: fixed;
74 | background: #262626;
75 | padding: 2px 0.5em 3px;
76 | border-bottom: 1px solid #1c1c1c;
77 | -webkit-box-shadow: 0 1px 5px #1c1c1c;
78 | }
79 |
80 | #topic_bar a {
81 | color: #0087ff;
82 | border-color: #0087ff;
83 | }
84 |
85 | #topic_bar a:hover {
86 | color: #00afaf;
87 | border-color: #00afaf;
88 | }
89 |
90 | /* Images */
91 |
92 | body a img {
93 | border: 0;
94 | }
95 |
96 | body img {
97 | display: block;
98 | max-width: 95%;
99 | padding-top: 5px;
100 | padding-left: 8px;
101 | padding-bottom: 5px;
102 | }
103 |
104 | /* Remember Line */
105 |
106 | div[id=mark] {
107 | position: relative;
108 | z-index: 295;
109 | margin-top: -1px;
110 | border-bottom: 1px dashed;
111 | border-color: #444;
112 | -webkit-transition: 0.2s linear;
113 | }
114 |
115 | /* NOTICE/CTCP/WALLOPS */
116 |
117 | body div[type=notice],
118 | body div[type=ctcp],
119 | body div[type=wallops] {
120 | color: #f00;
121 | z-index: 191;
122 | background: #400;
123 | position: relative;
124 | padding: 2px 5px 2px 5px;
125 | border-top: 1px solid #811;
126 | border-bottom: 1px solid #811;
127 | }
128 |
129 | body div[type=notice] .sender {
130 | color: #f00;
131 | font-weight: 700;
132 | }
133 |
134 | /* PRIVMSG */
135 |
136 | body div[type=privmsg][highlight=false] {
137 | padding: 3px 5px 3px 5px;
138 | }
139 |
140 | body div[type=privmsg][highlight=true],
141 | body div[type=action][highlight=true] {
142 | font-weight: normal;
143 | padding: 2px 5px 2px 5px;
144 | border-top: 1px solid #988C00;
145 | border-bottom: 1px solid #988C00;
146 | background-color: #362C00 !important;
147 | }
148 |
149 | body div[type=privmsg] .message {
150 | color: #aaa;
151 | }
152 |
153 | body div[type=privmsg] p[type=myself] .message {
154 | color: #e4e4e4;
155 | }
156 |
157 | body div[type=privmsg] .sender {
158 | font-weight: 700;
159 | }
160 |
161 | /* ACTION */
162 |
163 | body div[type=action] {
164 | padding: 3px 5px 3px 5px;
165 | }
166 |
167 | body div[type=action] .message {
168 | color: #aaa;
169 | }
170 |
171 | body div[type=action] .sender {
172 | font-weight: 700;
173 | }
174 |
175 | body div[type=action] p[type=myself] .sender,
176 | body div[type=action] p[type=myself] .message {
177 | color: #B52CF6;
178 | }
179 |
180 | body div[type=action] .sender:before {
181 | content: "\2022";
182 | margin-right: 0.4em;
183 | }
184 |
185 | body div[type=action] .sender:after {
186 | content: "";
187 | }
188 |
189 | /* REPLY/SYSTEM/ERROR/DEBUG/INVITE */
190 |
191 | body div[type=invite],
192 | body div[type=reply],
193 | body div[type=system],
194 | body div[type=error],
195 | body div[type=error_reply],
196 | body div[type=debug_send],
197 | body div[type=debug_receive] {
198 | color: #777;
199 | z-index: 190;
200 | background: #222;
201 | position: relative;
202 | padding: 2px 5px 2px 5px;
203 | border-top: 1px solid #444;
204 | border-bottom: 1px solid #444;
205 | }
206 |
207 | /* GENERAL EVENT */
208 |
209 | body div[type=join],
210 | body div[type=part],
211 | body div[type=kick],
212 | body div[type=quit],
213 | body div[type=kill],
214 | body div[type=nick],
215 | body div[type=mode],
216 | body div[type=website],
217 | body div[type=topic] {
218 | padding: 3px 5px 3px 5px;
219 | color: #666;
220 | }
221 |
222 | body div[type=join] .message:before {
223 | content: "→";
224 | color: #0c0;
225 | margin-right: 3px;
226 | }
227 |
228 | body div[type=kick] .message:before,
229 | body div[type=part] .message:before,
230 | body div[type=quit] .message:before {
231 | content: "←";
232 | color: #e00;
233 | margin-right: 3px;
234 | }
235 |
236 | body div[type=nick] .message:before {
237 | content:"•";
238 | color: #0c0;
239 | margin-right: 3px;
240 | }
241 |
242 | /* Nickname Colors */
243 |
244 | body .inline_nickname {
245 | font-weight: 700;
246 | }
247 |
248 | body div[type=privmsg] .sender[type=myself],
249 | body div[type=action] .sender[type=myself] {
250 | color: #B8DFFF;
251 | }
252 |
253 | body .sender[type=normal][colornumber='0'],
254 | body .inline_nickname[colornumber='0'] {
255 | color: red;
256 | }
257 |
258 | body .sender[type=normal][colornumber='1'],
259 | body .inline_nickname[colornumber='1'] {
260 | color: #636aff;
261 | }
262 |
263 | body .sender[type=normal][colornumber='2'],
264 | body .inline_nickname[colornumber='2'] {
265 | color: #00BA00;
266 | }
267 |
268 | body .sender[type=normal][colornumber='3'],
269 | body .inline_nickname[colornumber='3'] {
270 | color: #C083F2;
271 | }
272 |
273 | body .sender[type=normal][colornumber='4'],
274 | body .inline_nickname[colornumber='4'] {
275 | color: #4DEDF0;
276 | }
277 |
278 | body .sender[type=normal][colornumber='5'],
279 | body .inline_nickname[colornumber='5'] {
280 | color: #E422B2;
281 | }
282 |
283 | body .sender[type=normal][colornumber='6'],
284 | body .inline_nickname[colornumber='6'] {
285 | color: #EAE87E;
286 | }
287 |
288 | body .sender[type=normal][colornumber='7'],
289 | body .inline_nickname[colornumber='7'] {
290 | color: #B8DFFF;
291 | }
292 |
293 | body .sender[type=normal][colornumber='8'],
294 | body .inline_nickname[colornumber='8'] {
295 | color: #75A1FB;
296 | }
297 |
298 | body .sender[type=normal][colornumber='9'],
299 | body .inline_nickname[colornumber='9'] {
300 | color: #97C74B;
301 | }
302 |
303 | body .sender[type=normal][colornumber='10'],
304 | body .inline_nickname[colornumber='10'] {
305 | color: #A5EAC4;
306 | }
307 |
308 | body .sender[type=normal][colornumber='11'],
309 | body .inline_nickname[colornumber='11'] {
310 | color: #FFA6A0;
311 | }
312 |
313 | body .sender[type=normal][colornumber='12'],
314 | body .inline_nickname[colornumber='12'] {
315 | color: #8E67E7;
316 | }
317 |
318 | body .sender[type=normal][colornumber='13'],
319 | body .inline_nickname[colornumber='13'] {
320 | color: #FFBB58;
321 | }
322 |
323 | body .sender[type=normal][colornumber='14'],
324 | body .inline_nickname[colornumber='14'] {
325 | color: #EDD7AD;
326 | }
327 |
328 | body .sender[type=normal][colornumber='15'],
329 | body .inline_nickname[colornumber='15'] {
330 | color: #FF1676;
331 | }
332 |
333 | body .sender[type=normal][colornumber='16'],
334 | body .inline_nickname[colornumber='16'] {
335 | color: red;
336 | }
337 |
338 | body .sender[type=normal][colornumber='17'],
339 | body .inline_nickname[colornumber='17'] {
340 | color: #636aff;
341 | }
342 |
343 | body .sender[type=normal][colornumber='18'],
344 | body .inline_nickname[colornumber='18'] {
345 | color: #00BA00;
346 | }
347 |
348 | body .sender[type=normal][colornumber='19'],
349 | body .inline_nickname[colornumber='19'] {
350 | color: #C083F2;
351 | }
352 |
353 | body .sender[type=normal][colornumber='20'],
354 | body .inline_nickname[colornumber='20'] {
355 | color: #4DEDF0;
356 | }
357 |
358 | body .sender[type=normal][colornumber='21'],
359 | body .inline_nickname[colornumber='21'] {
360 | color: #E422B2;
361 | }
362 |
363 | body .sender[type=normal][colornumber='22'],
364 | body .inline_nickname[colornumber='22'] {
365 | color: #EAE87E;
366 | }
367 |
368 | body .sender[type=normal][colornumber='23'],
369 | body .inline_nickname[colornumber='23'] {
370 | color: #B8DFFF;
371 | }
372 |
373 | body .sender[type=normal][colornumber='24'],
374 | body .inline_nickname[colornumber='24'] {
375 | color: #75A1FB;
376 | }
377 |
378 | body .sender[type=normal][colornumber='25'],
379 | body .inline_nickname[colornumber='25'] {
380 | color: #97C74B;
381 | }
382 |
383 | body .sender[type=normal][colornumber='26'],
384 | body .inline_nickname[colornumber='26'] {
385 | color: #A5EAC4;
386 | }
387 |
388 | body .sender[type=normal][colornumber='27'],
389 | body .inline_nickname[colornumber='27'] {
390 | color: #FFA6A0;
391 | }
392 |
393 | body .sender[type=normal][colornumber='28'],
394 | body .inline_nickname[colornumber='28'] {
395 | color: #8E67E7;
396 | }
397 |
398 | body .sender[type=normal][colornumber='29'],
399 | body .inline_nickname[colornumber='29'] {
400 | color: #FFBB58;
401 | }
402 |
403 | body .sender[type=normal][colornumber='30'],
404 | body .inline_nickname[colornumber='30'] {
405 | color: #EDD7AD;
406 | }
407 |
408 | /* mIRC Color Codes */
409 |
410 | /* DEVELOPERS DO NOT MODIFY ANY OF THE BELOW MENTIONED CSS ELEMENTS
411 | THESE ELEMENTS MUST BE PRESERVED TO MATCH STATIC DEFENITIONS IN THE
412 | TEXTUAL SOURCE CODE. — DO NOT MODIFY OR DELETE! */
413 |
414 | .effect[color-number='0'] { color: #ffffff; }
415 | .effect[color-number='1'] { color: #000000; }
416 | .effect[color-number='2'] { color: #000088; }
417 | .effect[color-number='3'] { color: #008800; }
418 | .effect[color-number='4'] { color: #ff0000; }
419 | .effect[color-number='5'] { color: #880000; }
420 | .effect[color-number='6'] { color: #880088; }
421 | .effect[color-number='7'] { color: #ff8800; }
422 | .effect[color-number='8'] { color: #ffff00; }
423 | .effect[color-number='9'] { color: #00ff00; }
424 | .effect[color-number='10'] { color: #008888; }
425 | .effect[color-number='11'] { color: #00ffff; }
426 | .effect[color-number='12'] { color: #0000ff; }
427 | .effect[color-number='13'] { color: #ff00ff; }
428 | .effect[color-number='14'] { color: #888888; }
429 | .effect[color-number='15'] { color: #cccccc; }
430 |
431 | .effect[bgcolor-number='0'] { background-color: #ffffff; }
432 | .effect[bgcolor-number='1'] { background-color: #000000; }
433 | .effect[bgcolor-number='2'] { background-color: #000088; }
434 | .effect[bgcolor-number='3'] { background-color: #008800; }
435 | .effect[bgcolor-number='4'] { background-color: #ff0000; }
436 | .effect[bgcolor-number='5'] { background-color: #880000; }
437 | .effect[bgcolor-number='6'] { background-color: #880088; }
438 | .effect[bgcolor-number='7'] { background-color: #ff8800; }
439 | .effect[bgcolor-number='8'] { background-color: #ffff00; }
440 | .effect[bgcolor-number='9'] { background-color: #00ff00; }
441 | .effect[bgcolor-number='10'] { background-color: #008888; }
442 | .effect[bgcolor-number='11'] { background-color: #00ffff; }
443 | .effect[bgcolor-number='12'] { background-color: #0000ff; }
444 | .effect[bgcolor-number='13'] { background-color: #ff00ff; }
445 | .effect[bgcolor-number='14'] { background-color: #888888; }
446 | .effect[bgcolor-number='15'] { background-color: #cccccc; }
447 |
--------------------------------------------------------------------------------