Skip to content

Commit 54b39de

Browse files
authored
Merge pull request #41 from xscriptor/dev
improve xglass and themes add product icon letter and number on xt
2 parents 2c3ac3b + d5c4ec6 commit 54b39de

File tree

17 files changed

+8024
-202
lines changed

17 files changed

+8024
-202
lines changed

ROADMAP.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
## Phase 1 · Repository foundation (already done) <!-- phase:foundation -->
22

3-
- [ ] Consolidate monorepo structure with packages in `extensions/`, `themes/`, and `ui-mods/` (#5)
4-
- [ ] Publish root documentation: `README.md`, `CONTRIBUTING.md`, `SECURITY.md`, `CODE_OF_CONDUCT.md`, `SUPPORT.md`, `CHANGELOG.md` (#6)
5-
- [ ] Normalize package `README.md` files to GitHub-compatible HTML format (#7)
6-
- [ ] Define initial visual identity and previews in `assets/` and theme folders (#8)
7-
- [ ] Keep per-package licensing strategy (`MIT` for tooling and dedicated licenses for themes) (#9)
3+
- [/] Consolidate monorepo structure with packages in `extensions/`, `themes/`, and `ui-mods/` (#5)
4+
- [/] Publish root documentation: `README.md`, `CONTRIBUTING.md`, `SECURITY.md`, `CODE_OF_CONDUCT.md`, `SUPPORT.md`, `CHANGELOG.md` (#6)
5+
- [/] Normalize package `README.md` files to GitHub-compatible HTML format (#7)
6+
- [/] Define initial visual identity and previews in `assets/` and theme folders (#8)
7+
- [/] Keep per-package licensing strategy (`MIT` for tooling and dedicated licenses for themes) (#9)
88

99
## Phase 2 · Governance and automation <!-- phase:automation -->
1010

extensions/xglass/CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,16 @@
33
All important modifications to this VSCode theme collection will be documented in this file.
44

55
---
6+
## [1.1.0] - 2026-04-01
7+
### Added
8+
- Input clamping helpers for safer alpha and step handling
9+
10+
### Fixed
11+
- Linux X11 dependency check now validates `xprop` availability correctly
12+
- Linux commands now show a clearer install hint when `xprop` is missing
13+
- Command behavior now normalizes invalid config values before applying opacity
14+
- Documentation now matches actual defaults (`Enable` uses alpha 200)
15+
616
## [1.0.2]
717
. Minimum update: documentation
818

extensions/xglass/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ sudo pacman -S xorg-xprop
6767
</ol>
6868

6969
<ul>
70-
<li><strong>xglass: Enable Transparency Mode</strong>: sets alpha to <code>150</code>.</li>
70+
<li><strong>xglass: Enable Transparency Mode</strong>: sets alpha to <code>200</code>.</li>
7171
<li><strong>xglass: + transparency</strong>: increases transparency.</li>
7272
<li><strong>xglass: - transparency</strong>: decreases transparency.</li>
7373
<li><strong>xglass: full transparency</strong>: minimum alpha.</li>
@@ -125,7 +125,7 @@ sudo pacman -S xorg-xprop
125125

126126
<h2 id="installation">Installation</h2>
127127
<ul>
128-
<li>Install from VSIX: <code>code --install-extension xglass-1.0.2.vsix</code></li>
128+
<li>Install from VSIX: <code>code --install-extension xglass-1.1.0.vsix</code></li>
129129
<li>Or search for <strong>XGlass</strong> in the Extensions view.</li>
130130
</ul>
131131

extensions/xglass/extension.js

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
const { workspace, window, commands } = require('vscode');
22

3+
function clampAlpha(value) {
4+
const n = Number(value);
5+
if (!Number.isFinite(n)) return 200;
6+
if (n < 1) return 1;
7+
if (n > 255) return 255;
8+
return Math.round(n);
9+
}
10+
11+
function clampStep(value) {
12+
const n = Number(value);
13+
if (!Number.isFinite(n) || n < 1) return 10;
14+
if (n > 100) return 100;
15+
return Math.round(n);
16+
}
17+
318
function activate(context) {
419
const config = () => workspace.getConfiguration('xglass');
520

@@ -27,8 +42,7 @@ function activate(context) {
2742

2843
setAlpha = async (alpha) => {
2944
try {
30-
if (alpha < 1) alpha = 1;
31-
else if (alpha > 255) alpha = 255;
45+
alpha = clampAlpha(alpha);
3246

3347
await ensureWinReady();
3448

@@ -46,16 +60,16 @@ function activate(context) {
4660
} else if (process.platform === 'linux') {
4761
const cp = require('child_process');
4862

49-
// Verify xprop (X11). .
50-
try {
51-
cp.spawnSync('which', ['xprop'], { stdio: 'ignore' });
52-
} catch {
53-
setAlpha = () => window.showErrorMessage('xglass Error: xprop not found (X11 only).');
63+
// Verify xprop (X11).
64+
const xpropCheck = cp.spawnSync('which', ['xprop'], { stdio: 'ignore' });
65+
const hasXprop = xpropCheck.status === 0;
66+
if (!hasXprop) {
67+
setAlpha = () => window.showErrorMessage('xglass Error: xprop not found (X11 only). Install x11-utils/xorg-x11-utils.');
5468
}
5569

5670
// show if is wayland
5771
if (process.env.XDG_SESSION_TYPE === 'wayland') {
58-
console.warn('xglass: Wayland session detected not supported.');
72+
console.warn('xglass: Wayland session detected - not supported.');
5973
}
6074

6175
// obtain code window
@@ -90,10 +104,10 @@ function activate(context) {
90104
}
91105
};
92106

107+
if (hasXprop) {
93108
setAlpha = (alpha) => {
94109
try {
95-
if (alpha < 1) alpha = 1;
96-
else if (alpha > 255) alpha = 255;
110+
alpha = clampAlpha(alpha);
97111

98112
const ids = getCodeWindowIds();
99113
if (!ids.length) {
@@ -120,23 +134,24 @@ function activate(context) {
120134
window.showErrorMessage(`xglass Error (linux): ${err.message || err}`);
121135
}
122136
};
137+
}
123138
}
124139

125140

126141
console.log('xglass VSC active');
127142

128143
// ---- Commands (trigger activation) ----
129144
context.subscriptions.push(commands.registerCommand('xglass.enable', () => {
130-
setAlpha(200); // activate and set alpha=200
145+
setAlpha(200);
131146
}));
132147

133148
context.subscriptions.push(commands.registerCommand('xglass.increase', () => {
134-
const alpha = config().get('alpha') - config().get('step');
149+
const alpha = clampAlpha(config().get('alpha')) - clampStep(config().get('step'));
135150
setAlpha(alpha);
136151
}));
137152

138153
context.subscriptions.push(commands.registerCommand('xglass.decrease', () => {
139-
const alpha = config().get('alpha') + config().get('step');
154+
const alpha = clampAlpha(config().get('alpha')) + clampStep(config().get('step'));
140155
setAlpha(alpha);
141156
}));
142157

extensions/xglass/package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "xglass",
33
"displayName": "Xglass",
44
"description": "Make of glass your editor",
5-
"version": "1.0.3",
5+
"version": "1.1.0",
66
"publisher": "xscriptor",
77
"license": "MIT",
88
"engines": {
@@ -34,11 +34,15 @@
3434
"xglass.alpha": {
3535
"type": "integer",
3636
"default": 200,
37+
"minimum": 1,
38+
"maximum": 255,
3739
"description": "Transparency level [1-255]"
3840
},
3941
"xglass.step": {
4042
"type": "integer",
4143
"default": 10,
44+
"minimum": 1,
45+
"maximum": 100,
4246
"description": "Increment of alpha"
4347
}
4448
}

themes/x-dark-colors/CHANGELOG.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,23 @@
1-
# Changelog — Xscriptor Themes
1+
# Changelog — X Dark Colors
22

33
All important modifications to this VSCode theme collection will be documented in this file.
44

55
---
6+
## [1.2.0] - 2026-04-01
7+
### Added
8+
- Enhanced visual hierarchy with bracket pair guides and sticky scroll support
9+
- Colorful border combinations using palette-specific accent colors
10+
- Terminal command decorations with city-themed color palettes
11+
12+
### Changed
13+
- Improved contrast and accessibility for all UI elements
14+
- Enhanced border styling using palette combinations instead of monochromatic colors
15+
- Updated inlay hints and panel styling for better code readability
16+
17+
### Fixed
18+
- Corrected invisible borders in Milan and other themes using palette accent colors
19+
- Improved bracket pair highlighting with distinct colors per nesting level
20+
621
## [1.1.0] - 2026-01-18
722
### Added
823
- 8 new city-themed color palettes:

themes/x-dark-colors/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "x-dark-colors",
33
"displayName": "X Dark Colors",
44
"description": "X Dark Colors Collection themes",
5-
"version": "1.1.0",
5+
"version": "1.2.0",
66
"publisher": "xscriptor",
77
"license": "SEE LICENSE IN LICENSE",
88
"engines": {

themes/x-dark-colors/themes/x-milan.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"type": "dark",
55
"colors": {
66
"activityBar.background": "#0a0a0a",
7-
"activityBar.border": "#2b2b2b",
7+
"activityBar.border": "#FF2C6D",
88
"activityBar.foreground": "#dadada",
99
"activityBar.inactiveForeground": "#FFE900",
1010
"activityBarBadge.background": "#FFE900",
@@ -51,7 +51,7 @@
5151
"diffEditor.insertedTextBackground": "#00FF5E19",
5252
"diffEditor.removedTextBackground": "#FF2C6D19",
5353
"dropdown.background": "#000000",
54-
"dropdown.border": "#2b2b2b",
54+
"dropdown.border": "#00E0FF",
5555
"dropdown.foreground": "#8b888f",
5656
"dropdown.listBackground": "#000000",
5757
"editor.background": "#000000",
@@ -95,7 +95,7 @@
9595
"editorGroup.focusedEmptyBorder": "#191919",
9696
"editorGroupHeader.noTabsBackground": "#000000",
9797
"editorGroupHeader.tabsBackground": "#000000",
98-
"editorGroupHeader.tabsBorder": "#000000",
98+
"editorGroupHeader.tabsBorder": "#FFE900",
9999
"editorGutter.addedBackground": "#00FF5E",
100100
"editorGutter.background": "#000000",
101101
"editorGutter.deletedBackground": "#FF2C6D",
@@ -216,7 +216,7 @@
216216
"notificationsInfoIcon.foreground": "#00E0FF",
217217
"notificationsWarningIcon.foreground": "#FF7A00",
218218
"panel.background": "#000000",
219-
"panel.border": "#2b2b2b",
219+
"panel.border": "#FF7A00",
220220
"panelTitle.activeBorder": "#FFE900",
221221
"panelTitle.activeForeground": "#FFE900",
222222
"panelTitle.inactiveForeground": "#8b888f",
@@ -262,14 +262,14 @@
262262
"settings.textInputBorder": "#000000",
263263
"settings.textInputForeground": "#f7f1ff",
264264
"sideBar.background": "#000000",
265-
"sideBar.border": "#2b2b2b",
265+
"sideBar.border": "#FF2C6D",
266266
"sideBar.dropBackground": "#191919bf",
267267
"sideBar.foreground": "#8b888f",
268268
"sideBarSectionHeader.background": "#000000",
269269
"sideBarSectionHeader.foreground": "#69676c",
270270
"sideBarTitle.foreground": "#525053",
271271
"statusBar.background": "#000000",
272-
"statusBar.border": "#2b2b2b",
272+
"statusBar.border": "#FF2C6D",
273273
"statusBar.debuggingBackground": "#000000",
274274
"statusBar.debuggingBorder": "#2b2b2b",
275275
"statusBar.debuggingForeground": "#a8a8a8",
@@ -322,7 +322,7 @@
322322
"tab.activeBorder": "#FFE900",
323323
"tab.activeForeground": "#FFE900",
324324
"tab.activeModifiedBorder": "#525053",
325-
"tab.border": "#000000",
325+
"tab.border": "#FF7A00",
326326
"tab.hoverBackground": "#000000",
327327
"tab.hoverBorder": "#525053",
328328
"tab.inactiveBackground": "#000000",

themes/xscriptor-themes/CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,26 @@
33
All important modifications to this VSCode theme collection will be documented in this file.
44

55
---
6+
## [1.1.1] - 2026-04-02
7+
### Fixed
8+
- Tokio theme: Fixed tab bar background color to match tab panel color (#191919 instead of #0a0a0a)
9+
- Tokio & X themes: Refined tab styling with transparent borders and golden icon colors
10+
11+
## [1.1.0] - 2026-04-01
12+
### Added
13+
- Enhanced visual hierarchy with bracket pair guides (6 nesting levels) using palette colors
14+
- Modern UI features: sticky scroll, inlay hints, terminal command decorations
15+
- Colorful border combinations using theme palette definitions for improved visual consistency
16+
17+
### Changed
18+
- Improved contrast and readability across all themes
19+
- Enhanced terminal decorations with theme-specific color combinations
20+
- Updated bracket pair highlighting for better code navigation
21+
22+
### Fixed
23+
- Corrected invisible borders to use palette-based colors
24+
- Improved UI consistency across all interface elements
25+
626
## [1.0.8] - 2025-12-31
727
- Update docs.
828
- Update package.json.

themes/xscriptor-themes/README.md

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,35 @@
5454
</ol>
5555

5656
<pre><code>{
57-
"workbench.iconTheme": "xscriptor-icons"
57+
"workbench.iconTheme": "x-icons"
58+
}
59+
</code></pre>
60+
61+
<h3>Enable Product Icon Theme</h3>
62+
<ol>
63+
<li>Open Command Palette (<code>Ctrl+Shift+P</code> or <code>Cmd+Shift+P</code>).</li>
64+
<li>Run <code>Preferences: Product Icon Theme</code>.</li>
65+
<li>Select one variant:</li>
66+
</ol>
67+
68+
<ul>
69+
<li><code>Xscriptor Product Icons</code> (glyph variant)</li>
70+
<li><code>Xscriptor Product Icons Text (1 Letter)</code></li>
71+
<li><code>Xscriptor Product Icons Numbers</code></li>
72+
</ul>
73+
74+
<pre><code>{
75+
"workbench.productIconTheme": "xscriptor-product-icons"
76+
}
77+
</code></pre>
78+
79+
<pre><code>{
80+
"workbench.productIconTheme": "xscriptor-product-icons-text"
81+
}
82+
</code></pre>
83+
84+
<pre><code>{
85+
"workbench.productIconTheme": "xscriptor-product-icons-numbers"
5886
}
5987
</code></pre>
6088

@@ -66,7 +94,7 @@
6694
</ol>
6795

6896
<p>Terminal install (VSIX):</p>
69-
<pre><code>code --install-extension xscriptor-themes-1.0.8.vsix</code></pre>
97+
<pre><code>code --install-extension xscriptor-themes-1.1.0.vsix</code></pre>
7098

7199
<h2>References</h2>
72100
<ul>

0 commit comments

Comments
 (0)