Skip to content

Commit db5c21f

Browse files
Stabilize GNOME IME layout tray sync
1 parent e108871 commit db5c21f

12 files changed

Lines changed: 114 additions & 36 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "lay"
3-
version = "0.1.242"
3+
version = "0.1.243"
44
edition = "2021"
55
description = "Alpha Double Shift RU/EN layout rescue for Linux desktops"
66
license = "MIT"

VERSIONING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ number from `git rev-list`.
1313

1414
Current publication branch version:
1515

16-
- `0.1.242`
16+
- `0.1.243`
1717

1818
Do not rely on commit counts. Before publishing or pushing, run the bump script
1919
or verify the version fields manually.

dev-reload.sh

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,8 @@ LAY_GJS_CACHE="$HOME/.cache/lay"
1111
GNOME_VER=$(gnome-shell --version 2>/dev/null | grep -oP '\d+' | head -1)
1212
echo "GNOME Shell $GNOME_VER"
1313

14-
# Обновляем файлы (на случай если не симлинк)
15-
mkdir -p "$DST"
16-
mkdir -p "$LAY_GJS_CACHE"
17-
for js in "$SRC"/*.js; do
18-
cp -f "$js" "$DST/$(basename "$js")" 2>/dev/null || \
19-
ln -sf "$js" "$DST/$(basename "$js")"
20-
name="$(basename "$js")"
21-
if [ "$name" != "extension.js" ] && [ "$name" != "lay-impl.js" ]; then
22-
cp -f "$js" "$LAY_GJS_CACHE/$name" 2>/dev/null || true
23-
fi
24-
done
25-
cp -f "$SRC/metadata.json" "$DST/metadata.json" 2>/dev/null || true
26-
27-
if gnome-extensions help reload >/dev/null 2>&1; then
28-
echo "→ gnome-extensions reload"
29-
gnome-extensions reload "$UUID"
30-
else
31-
echo "→ gnome-extensions reload недоступен: disable + enable"
32-
gnome-extensions disable "$UUID"
33-
sleep 1
34-
gnome-extensions enable "$UUID"
35-
fi
14+
echo "→ sync GNOME extension runtime"
15+
"$(cd "$(dirname "$0")" && pwd)/scripts/check-gnome-extension-runtime.sh" --fix --reload
3616

3717
sleep 2
3818
systemctl --user restart lay-daemon
@@ -49,4 +29,5 @@ if [ -n "$LOADED_VERSION" ]; then
4929
else
5030
echo "⚠ не удалось проверить загруженную версию extension через DBus"
5131
fi
32+
"$(cd "$(dirname "$0")" && pwd)/scripts/check-gnome-extension-runtime.sh"
5233
echo "✓ готово"

extension/lay@radislabus-star.github.io/lay-impl.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1177,7 +1177,7 @@ class LayIndicator extends PanelMenu.Button {
11771177

11781178
_refreshLayout() {
11791179
try {
1180-
const isRu = this._mgr.currentSource?.id === 'ru';
1180+
const isRu = currentLayoutKind() === 'ru';
11811181
this._label.text = isRu ? 'RU' : 'EN';
11821182
} catch(e) { this._label.text = '--'; }
11831183
}

extension/lay@radislabus-star.github.io/metadata.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"uuid": "lay@radislabus-star.github.io",
33
"name": "Lay Layout Switcher",
4-
"version": 242,
5-
"version-name": "0.1.242",
4+
"version": 243,
5+
"version-name": "0.1.243",
66
"description": "Alpha GNOME Shell extension для lay-daemon. Показывает EN/RU в трее, переключает раскладку по клику. Минимальный DBus bridge для layout activation и fallback text insert.",
77
"shell-version": ["45", "46", "47", "50"],
88
"url": "https://github.com/radislabus-star/lay-public"

extension/lay@radislabus-star.github.io/prefs.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import Gtk from 'gi://Gtk';
66
import {ExtensionPreferences} from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js';
77

88
const CONFIG_PATH = GLib.get_home_dir() + '/.config/lay/config.json';
9-
const APP_VERSION = '0.1.242';
9+
const APP_VERSION = '0.1.243';
1010
const APP_RELEASE_DATE = '2026-06-19';
1111
const APP_URL = 'https://github.com/radislabus-star/lay-public';
1212
const APP_ICON_NAME = 'input-keyboard-symbolic';

extension/lay@radislabus-star.github.io/settings.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import GLib from 'gi://GLib';
44
import Gtk from 'gi://Gtk';
55

66
const CONFIG_PATH = GLib.get_home_dir() + '/.config/lay/config.json';
7-
const APP_VERSION = '0.1.242';
7+
const APP_VERSION = '0.1.243';
88
const APP_RELEASE_DATE = '2026-06-19';
99
const APP_URL = 'https://github.com/radislabus-star/lay-public';
1010
const APP_ICON_NAME = 'input-keyboard-symbolic';

extension/lay@radislabus-star.github.io/tray_support.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ export const STATS_PATH = GLib.get_home_dir() + '/.local/share/lay/stats.json';
66
export const RECENT_ACTIONS_PATH = GLib.get_home_dir() + '/.local/share/lay/recent_actions.jsonl';
77
export const PROJECT_DIR = GLib.get_home_dir() + '/projects/lay';
88
export const UPDATE_LOG_PATH = GLib.get_home_dir() + '/.local/state/lay/update.log';
9-
export const APP_VERSION = '0.1.242';
9+
export const APP_VERSION = '0.1.243';
1010
export const APP_DESCRIPTION = 'Альфа: RU/EN-переключатель по двойному Shift и помощь при наборе';
1111
export const APP_RELEASE_DATE = '2026-06-19';
1212
export const APP_LICENSE = 'MIT';

scripts/check-architecture.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,10 @@ assert_no_import src/bin/lay_daemon.rs \
406406
"LayConfig" \
407407
"lay-daemon root must not own config access or startup loading; use config_runtime/startup_runtime"
408408

409+
assert_no_import extension/lay@radislabus-star.github.io/dbus_service.js \
410+
"Gio.Subprocess.new(['ibus'" \
411+
"GNOME DBus service must not spawn ibus; use IBus.Bus or daemon layout controller"
412+
409413
assert_no_import src/llm.rs \
410414
"ureq::" \
411415
"llm.rs must stay a deterministic arbiter facade; model transport belongs in llm_backend"

0 commit comments

Comments
 (0)