@glassnote/client 2.4.12 → 2.4.13
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/main.js +22 -0
- package/package.json +2 -2
package/main.js
CHANGED
|
@@ -561,6 +561,7 @@ app.whenReady().then(() => {
|
|
|
561
561
|
correccionesDeGeometria = 0;
|
|
562
562
|
fijarGeometria();
|
|
563
563
|
}
|
|
564
|
+
reafirmarAlwaysOnTop();
|
|
564
565
|
aplicarPassthrough({ forzar: true });
|
|
565
566
|
});
|
|
566
567
|
|
|
@@ -770,6 +771,27 @@ const REEMISION_QUIETO_MS = 400;
|
|
|
770
771
|
// main, sin tocar lo que el renderer cree: cuando el cursor vuelve a entrar se reaplica
|
|
771
772
|
// su decision tal cual, y desde ahi los eventos reales —que si llegan con la ventana
|
|
772
773
|
// clickeable— lo ponen al dia.
|
|
774
|
+
// El "siempre encima" se vuelve a pedir en cada show, y no alcanza con pedirlo una vez al
|
|
775
|
+
// arrancar. Electron guarda el nivel de z-order como un estado suyo y solo baja a la API
|
|
776
|
+
// del sistema cuando ESE estado cambia: si Windows le saca el TOPMOST a la ventana por su
|
|
777
|
+
// cuenta, para Electron sigue estando arriba —isAlwaysOnTop() devuelve true— y no vuelve a
|
|
778
|
+
// pedirlo nunca. De ahi el false y despues el true: es la unica forma de forzar que se
|
|
779
|
+
// reemita.
|
|
780
|
+
//
|
|
781
|
+
// Antes esto no se notaba porque cada glass entraba con show(), que ademas de mostrar
|
|
782
|
+
// ACTIVA la ventana, y activarla la sube igual. Al pasar a showInactive() —para no robarle
|
|
783
|
+
// el teclado a lo que estes haciendo— se muestra sin activar, y con eso quedo a la vista
|
|
784
|
+
// que el alwaysOnTop no se estaba reponiendo.
|
|
785
|
+
//
|
|
786
|
+
// En Linux no se toca: ahi el "arriba de todo" es _NET_WM_STATE_ABOVE y quitarlo y ponerlo
|
|
787
|
+
// invita al gestor de ventanas a recolocar la ventana, que es justo lo que costo domar.
|
|
788
|
+
function reafirmarAlwaysOnTop() {
|
|
789
|
+
if (!mainWindow || mainWindow.isDestroyed()) return;
|
|
790
|
+
if (process.platform === 'linux') return;
|
|
791
|
+
mainWindow.setAlwaysOnTop(false);
|
|
792
|
+
mainWindow.setAlwaysOnTop(true, 'screen-saver');
|
|
793
|
+
}
|
|
794
|
+
|
|
773
795
|
function aplicarPassthrough({ forzar = false } = {}) {
|
|
774
796
|
if (!mainWindow || mainWindow.isDestroyed()) return;
|
|
775
797
|
const ignorar = passthroughPedidoPorRenderer || cursorFueraDeLaVentana;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@glassnote/client",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.13",
|
|
4
4
|
"description": "GlassNote — cliente de escritorio de notas superpuestas. Se instala con npx, sin instaladores nativos ni firmas.",
|
|
5
5
|
"main": "main.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"url": "git+ssh://git@intermarkec/intermarkec/glassnote-electron.git"
|
|
75
75
|
},
|
|
76
76
|
"dependencies": {
|
|
77
|
-
"@glassnote/renderer": "2.0.
|
|
77
|
+
"@glassnote/renderer": "2.0.12",
|
|
78
78
|
"cors": "^2.8.5",
|
|
79
79
|
"electron": "^29.4.6",
|
|
80
80
|
"express": "^4.18.2",
|