@adiontaegerron/claude-multi-terminal 1.0.3 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +3 -1
- package/README.md +32 -1
- package/index.html +42 -37
- package/main.js +16 -12
- package/package.json +1 -1
- package/renderer.js +811 -15
- package/style.css +236 -90
package/style.css
CHANGED
@@ -32,19 +32,24 @@ body {
|
|
32
32
|
border-radius: 4px;
|
33
33
|
cursor: pointer;
|
34
34
|
font-size: 14px;
|
35
|
+
margin-right: 10px;
|
35
36
|
}
|
36
37
|
|
37
38
|
#new-terminal-btn:hover {
|
38
39
|
background-color: #1177bb;
|
39
40
|
}
|
40
41
|
|
41
|
-
|
42
|
-
|
42
|
+
/* Extended Toolbar */
|
43
|
+
#toolbar-extended {
|
44
|
+
background-color: #1e1e1e;
|
45
|
+
padding: 12px 15px;
|
46
|
+
border-bottom: 1px solid #444;
|
43
47
|
display: flex;
|
44
|
-
|
48
|
+
flex-direction: column;
|
49
|
+
gap: 12px;
|
45
50
|
}
|
46
51
|
|
47
|
-
/* Terminals Area -
|
52
|
+
/* Terminals Area - Full Width */
|
48
53
|
#terminals-area {
|
49
54
|
flex: 1;
|
50
55
|
background-color: #252526;
|
@@ -137,80 +142,73 @@ body {
|
|
137
142
|
cursor: text;
|
138
143
|
}
|
139
144
|
|
140
|
-
/*
|
141
|
-
|
142
|
-
width: 400px;
|
143
|
-
background-color: #1e1e1e;
|
144
|
-
border-left: 1px solid #444;
|
145
|
+
/* Control Rows */
|
146
|
+
.controls-row {
|
145
147
|
display: flex;
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
.chat-header {
|
150
|
-
padding: 15px;
|
151
|
-
background-color: #252526;
|
152
|
-
border-bottom: 1px solid #444;
|
148
|
+
gap: 20px;
|
149
|
+
align-items: stretch;
|
150
|
+
margin-bottom: 10px;
|
153
151
|
}
|
154
152
|
|
155
|
-
|
156
|
-
|
157
|
-
font-size: 18px;
|
158
|
-
color: #cccccc;
|
159
|
-
}
|
160
|
-
|
161
|
-
#chat-messages {
|
153
|
+
/* Control Sections - 50/50 Split */
|
154
|
+
.control-section {
|
162
155
|
flex: 1;
|
163
|
-
padding: 15px;
|
164
|
-
overflow-y: auto;
|
165
|
-
display: flex;
|
166
|
-
flex-direction: column;
|
167
|
-
gap: 10px;
|
168
|
-
}
|
169
|
-
|
170
|
-
.chat-message {
|
171
156
|
display: flex;
|
172
157
|
flex-direction: column;
|
173
|
-
gap:
|
174
|
-
background-color:
|
175
|
-
padding:
|
158
|
+
gap: 8px;
|
159
|
+
background-color: transparent;
|
160
|
+
padding: 12px;
|
176
161
|
border-radius: 6px;
|
162
|
+
border: 1px solid #3e3e42;
|
177
163
|
}
|
178
164
|
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
.message-text {
|
186
|
-
color: #cccccc;
|
187
|
-
font-size: 14px;
|
188
|
-
line-height: 1.5;
|
189
|
-
white-space: pre-wrap;
|
165
|
+
/* Input Row */
|
166
|
+
.input-row {
|
167
|
+
display: flex;
|
168
|
+
gap: 12px;
|
169
|
+
align-items: flex-end;
|
170
|
+
width: 100%;
|
190
171
|
}
|
191
172
|
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
173
|
+
/* Input Wrapper */
|
174
|
+
.input-wrapper {
|
175
|
+
flex: 1;
|
176
|
+
position: relative;
|
196
177
|
}
|
197
178
|
|
198
179
|
/* Terminal Selection */
|
199
|
-
#terminal-selector {
|
200
|
-
margin-bottom: 15px;
|
201
|
-
}
|
202
|
-
|
203
|
-
#terminal-selector label {
|
180
|
+
#terminal-selector > label {
|
204
181
|
display: block;
|
205
|
-
font-size:
|
182
|
+
font-size: 13px;
|
206
183
|
color: #cccccc;
|
207
184
|
margin-bottom: 8px;
|
185
|
+
font-weight: 500;
|
208
186
|
}
|
209
187
|
|
210
188
|
#terminal-checkboxes {
|
211
189
|
display: flex;
|
212
|
-
flex-direction:
|
213
|
-
|
190
|
+
flex-direction: row;
|
191
|
+
flex-wrap: wrap;
|
192
|
+
gap: 8px 15px;
|
193
|
+
max-height: 80px;
|
194
|
+
overflow-y: auto;
|
195
|
+
padding-right: 5px;
|
196
|
+
}
|
197
|
+
|
198
|
+
.terminal-checkbox-label {
|
199
|
+
font-size: 13px !important;
|
200
|
+
padding: 3px 8px;
|
201
|
+
display: flex;
|
202
|
+
align-items: center;
|
203
|
+
gap: 6px;
|
204
|
+
white-space: nowrap;
|
205
|
+
background-color: rgba(255, 255, 255, 0.05);
|
206
|
+
border-radius: 4px;
|
207
|
+
transition: background-color 0.2s;
|
208
|
+
}
|
209
|
+
|
210
|
+
.terminal-checkbox-label:hover {
|
211
|
+
background-color: rgba(255, 255, 255, 0.1);
|
214
212
|
}
|
215
213
|
|
216
214
|
.terminal-checkbox-label {
|
@@ -232,25 +230,42 @@ body {
|
|
232
230
|
cursor: pointer;
|
233
231
|
}
|
234
232
|
|
235
|
-
/*
|
233
|
+
/* Default Prompt Section */
|
236
234
|
#default-prompt-section {
|
237
|
-
|
235
|
+
position: relative;
|
238
236
|
}
|
239
237
|
|
240
238
|
.collapsible-header {
|
241
239
|
display: flex;
|
242
240
|
align-items: center;
|
243
|
-
gap:
|
241
|
+
gap: 6px;
|
244
242
|
cursor: pointer;
|
245
243
|
user-select: none;
|
246
|
-
padding:
|
247
|
-
background-color:
|
248
|
-
border-radius:
|
244
|
+
padding: 0;
|
245
|
+
background-color: transparent;
|
246
|
+
border-radius: 3px;
|
249
247
|
margin-bottom: 8px;
|
248
|
+
font-size: 13px;
|
249
|
+
color: #cccccc;
|
250
|
+
font-weight: 500;
|
250
251
|
}
|
251
252
|
|
252
253
|
.collapsible-header:hover {
|
253
|
-
|
254
|
+
color: #ffffff;
|
255
|
+
}
|
256
|
+
|
257
|
+
.collapse-toggle {
|
258
|
+
background: none;
|
259
|
+
border: none;
|
260
|
+
color: #cccccc;
|
261
|
+
font-size: 10px;
|
262
|
+
cursor: pointer;
|
263
|
+
padding: 0;
|
264
|
+
transition: transform 0.2s;
|
265
|
+
}
|
266
|
+
|
267
|
+
.collapsible-header:hover .collapse-toggle {
|
268
|
+
color: #ffffff;
|
254
269
|
}
|
255
270
|
|
256
271
|
.collapse-toggle {
|
@@ -268,14 +283,15 @@ body {
|
|
268
283
|
|
269
284
|
#default-prompt-text {
|
270
285
|
width: 100%;
|
271
|
-
min-height:
|
286
|
+
min-height: 60px;
|
287
|
+
max-height: 120px;
|
272
288
|
background-color: #3c3c3c;
|
273
289
|
border: 1px solid #555;
|
274
290
|
color: white;
|
275
291
|
padding: 8px;
|
276
292
|
border-radius: 4px;
|
277
293
|
font-family: 'Consolas', 'Courier New', monospace;
|
278
|
-
font-size:
|
294
|
+
font-size: 12px;
|
279
295
|
resize: vertical;
|
280
296
|
margin-bottom: 8px;
|
281
297
|
}
|
@@ -289,43 +305,106 @@ body {
|
|
289
305
|
display: flex;
|
290
306
|
align-items: center;
|
291
307
|
gap: 8px;
|
292
|
-
font-size:
|
308
|
+
font-size: 12px;
|
293
309
|
color: #cccccc;
|
310
|
+
padding: 3px 0;
|
294
311
|
}
|
295
312
|
|
296
|
-
/*
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
313
|
+
/* Removed - Mode selector is now integrated into input area */
|
314
|
+
|
315
|
+
/* Input Overlay for Syntax Highlighting */
|
316
|
+
.input-overlay {
|
317
|
+
position: absolute;
|
318
|
+
top: 0;
|
319
|
+
left: 0;
|
320
|
+
right: 0;
|
321
|
+
min-height: 80px;
|
322
|
+
max-height: 200px;
|
323
|
+
padding: 10px 12px;
|
324
|
+
border-radius: 4px;
|
325
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
326
|
+
font-size: 14px;
|
327
|
+
line-height: 1.5;
|
328
|
+
color: transparent;
|
329
|
+
background: transparent;
|
330
|
+
pointer-events: none;
|
331
|
+
z-index: 1;
|
332
|
+
white-space: pre-wrap;
|
333
|
+
word-wrap: break-word;
|
334
|
+
overflow: hidden;
|
301
335
|
}
|
302
336
|
|
337
|
+
/* Chat Input - Full Width */
|
303
338
|
#chat-input {
|
339
|
+
position: relative;
|
340
|
+
z-index: 2;
|
304
341
|
width: 100%;
|
305
342
|
min-height: 80px;
|
343
|
+
max-height: 200px;
|
306
344
|
background-color: #3c3c3c;
|
307
345
|
border: 1px solid #555;
|
308
346
|
color: white;
|
309
|
-
padding:
|
347
|
+
padding: 10px 12px;
|
310
348
|
border-radius: 4px;
|
311
349
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
312
350
|
font-size: 14px;
|
313
351
|
resize: vertical;
|
352
|
+
line-height: 1.5;
|
314
353
|
}
|
315
354
|
|
316
355
|
#chat-input:focus {
|
317
356
|
outline: none;
|
318
357
|
border-color: #0e639c;
|
358
|
+
box-shadow: 0 0 0 2px rgba(14, 99, 156, 0.2);
|
359
|
+
}
|
360
|
+
|
361
|
+
/* Syntax highlighting styles */
|
362
|
+
.highlight-terminal {
|
363
|
+
color: #4CAF50;
|
364
|
+
}
|
365
|
+
|
366
|
+
.highlight-command {
|
367
|
+
color: #FF9800;
|
368
|
+
}
|
369
|
+
|
370
|
+
/* Plan Mode Row */
|
371
|
+
.plan-mode-row {
|
372
|
+
margin-bottom: 8px;
|
373
|
+
}
|
374
|
+
|
375
|
+
/* Plan Mode Option */
|
376
|
+
.plan-mode-option {
|
377
|
+
display: flex;
|
378
|
+
align-items: center;
|
379
|
+
gap: 8px;
|
380
|
+
font-size: 14px;
|
381
|
+
color: #cccccc;
|
382
|
+
cursor: pointer;
|
383
|
+
padding: 4px 0;
|
384
|
+
}
|
385
|
+
|
386
|
+
.plan-mode-option:hover {
|
387
|
+
color: #ffffff;
|
388
|
+
}
|
389
|
+
|
390
|
+
.plan-mode-option input[type="checkbox"] {
|
391
|
+
width: 16px;
|
392
|
+
height: 16px;
|
393
|
+
cursor: pointer;
|
319
394
|
}
|
320
395
|
|
321
396
|
#send-message-btn {
|
322
397
|
background-color: #0e639c;
|
323
398
|
color: white;
|
324
399
|
border: none;
|
325
|
-
padding:
|
400
|
+
padding: 12px 24px;
|
326
401
|
border-radius: 4px;
|
327
402
|
cursor: pointer;
|
328
403
|
font-size: 14px;
|
404
|
+
font-weight: 500;
|
405
|
+
height: fit-content;
|
406
|
+
white-space: nowrap;
|
407
|
+
transition: background-color 0.2s ease;
|
329
408
|
align-self: flex-end;
|
330
409
|
}
|
331
410
|
|
@@ -334,36 +413,46 @@ body {
|
|
334
413
|
}
|
335
414
|
|
336
415
|
/* Responsive adjustments */
|
337
|
-
@media (max-width: 1200px) {
|
338
|
-
#chat-sidebar {
|
339
|
-
width: 350px;
|
340
|
-
}
|
341
|
-
}
|
342
|
-
|
343
416
|
@media (max-width: 1000px) {
|
344
417
|
#terminals-container {
|
345
418
|
grid-template-columns: 1fr;
|
346
419
|
}
|
420
|
+
|
421
|
+
.controls-row {
|
422
|
+
flex-direction: column;
|
423
|
+
gap: 10px;
|
424
|
+
}
|
425
|
+
|
426
|
+
.controls-row > div {
|
427
|
+
width: 100%;
|
428
|
+
}
|
347
429
|
}
|
348
430
|
|
349
431
|
@media (max-width: 768px) {
|
350
|
-
#
|
351
|
-
|
432
|
+
#terminals-container {
|
433
|
+
grid-template-columns: 1fr;
|
352
434
|
}
|
353
435
|
|
354
|
-
#
|
355
|
-
|
436
|
+
#toolbar-extended {
|
437
|
+
padding: 10px;
|
356
438
|
}
|
357
439
|
|
358
|
-
#
|
440
|
+
#default-prompt-text {
|
359
441
|
width: 100%;
|
360
|
-
height: 300px;
|
361
|
-
border-left: none;
|
362
|
-
border-top: 1px solid #444;
|
363
442
|
}
|
364
443
|
|
365
|
-
#
|
366
|
-
|
444
|
+
#chat-input {
|
445
|
+
min-height: 60px;
|
446
|
+
}
|
447
|
+
|
448
|
+
.input-row {
|
449
|
+
flex-direction: column;
|
450
|
+
align-items: stretch;
|
451
|
+
}
|
452
|
+
|
453
|
+
#send-message-btn {
|
454
|
+
align-self: stretch;
|
455
|
+
padding: 10px;
|
367
456
|
}
|
368
457
|
}
|
369
458
|
|
@@ -384,4 +473,61 @@ body {
|
|
384
473
|
|
385
474
|
::-webkit-scrollbar-thumb:hover {
|
386
475
|
background: #555;
|
476
|
+
}
|
477
|
+
|
478
|
+
/* Command Dropdown */
|
479
|
+
.command-dropdown {
|
480
|
+
position: absolute;
|
481
|
+
top: 100%;
|
482
|
+
left: 0;
|
483
|
+
right: 0;
|
484
|
+
background-color: #2d2d30;
|
485
|
+
border: 1px solid #555;
|
486
|
+
border-radius: 4px;
|
487
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
|
488
|
+
z-index: 1000;
|
489
|
+
max-height: 200px;
|
490
|
+
overflow-y: auto;
|
491
|
+
margin-top: 4px;
|
492
|
+
}
|
493
|
+
|
494
|
+
.command-list {
|
495
|
+
padding: 4px 0;
|
496
|
+
}
|
497
|
+
|
498
|
+
.command-option {
|
499
|
+
display: flex;
|
500
|
+
flex-direction: column;
|
501
|
+
padding: 8px 12px;
|
502
|
+
cursor: pointer;
|
503
|
+
border-bottom: 1px solid #3e3e42;
|
504
|
+
transition: background-color 0.15s ease;
|
505
|
+
}
|
506
|
+
|
507
|
+
.command-option:last-child {
|
508
|
+
border-bottom: none;
|
509
|
+
}
|
510
|
+
|
511
|
+
.command-option:hover,
|
512
|
+
.command-option.selected {
|
513
|
+
background-color: #094771;
|
514
|
+
}
|
515
|
+
|
516
|
+
.command-name {
|
517
|
+
font-size: 14px;
|
518
|
+
font-weight: 500;
|
519
|
+
color: #ffffff;
|
520
|
+
margin-bottom: 2px;
|
521
|
+
}
|
522
|
+
|
523
|
+
.command-description {
|
524
|
+
font-size: 12px;
|
525
|
+
color: #cccccc;
|
526
|
+
font-style: italic;
|
527
|
+
}
|
528
|
+
|
529
|
+
.command-syntax {
|
530
|
+
font-size: 11px;
|
531
|
+
color: #999;
|
532
|
+
font-family: 'Consolas', 'Courier New', monospace;
|
387
533
|
}
|