[Risolto] Caricamento layout salvato su i3 VM non riuscito

Configurazione e uso di desktop e window manager alternativi, quali Enlightenment (E17), FVWM, Fluxbox, OpenBox e altri.
Scrivi risposta
Avatar utente
vioma
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1485
Iscrizione: lunedì 9 febbraio 2009, 0:31
Desktop: xfce, i3
Distribuzione: Xubuntu 22.04.1 LTS
Località: Catania

[Risolto] Caricamento layout salvato su i3 VM non riuscito

Messaggio da vioma »

Utilizzo ormai da anni i3 stabilmente per la produttività su Xubuntu, in questo momento su Xubuntu 22.04.
Premetto che non sono un informatico, volevo far partire in automatico determinate impostazione di layout in quanto ho monitor 4K in cui tengo aperte parecchie finestre e, sinceramente, ad ogni avvio è molto scocciante sistemarle secondo le mie esigenze.
Ho seguito la guida ufficiale di i3, riesco a salvare la configurazione, ma non riesco a caricarla.
Questo è il file .jason che ho salvato (ho fatto una prova sistemando 3 terminali):
workspace-1.txt
(2.48 KiB) Scaricato 15 volte
Quando tento di caricarlo mi da questo errore:

Codice: Seleziona tutto

i3-msg "workspace 1:Terminali; append_layout /home/xub2204/workspace-1.json"
ERROR: parse error: client cancelled parse via callback return value
          116503\\-1075048615$"        }     ],     "type": "con" }  {
                     (right here) ------^

[{"success":true},{"success":false,"error":"parse error: client cancelled parse via callback return value\n          116503\\\\-1075048615$\"        }     ],     \"type\": \"con\" }  {\n                     (right here) ------^\n"}]
Ho capito che uno dei problemi sono le righe commentate, ma non capisco quali sono, generlmente in bash si commenta con il cancelletto, qui non ne vedo.

Edit: ho tolto tutti i commenti e anche le virgole finali, ma mi da sempre errore.
Questo è il nuovo file json:

Codice: Seleziona tutto

 vim:ts=4:sw=4:et
{
    "border": "normal"
    "current_border_width": 2
    "floating": "auto_off"
    "geometry": {
       "height": 387
       "width": 576
       "x": 0
       "y": 0
    }
    "marks": []
    "name": "Terminale - xub2204@xub2204-Precision-M6800: ~"
    "percent": 0.5
    "swallows": [
       {
       "class": "^Xfce4\\-terminal$"
        "instance": "^xfce4\\-terminal$"
        "machine": "^xub2204\\-Precision\\-M6800$"
        "title": "^Terminale\\ \\-\\ xub2204\\@xub2204\\-Precision\\-M6800\\:\\ \\~$"
        "window_role": "^xfce4\\-terminal\\-1727116503\\-1075048615$"
       }
    ]
    "type": "con"
}

{
     splitv split container with 2 children
    "border": "normal"
    "floating": "auto_off"
    "layout": "splitv"
    "marks": []
    "percent": 0.5
    "type": "con"
    "nodes": [
        {
            "border": "normal"
            "current_border_width": 2
            "floating": "auto_off"
            "geometry": {
               "height": 387
               "width": 576
               "x": 0
               "y": 0
            }
            "marks": []
            "name": "Terminale - xub2204@xub2204-Precision-M6800: ~"
            "percent": 0.5
            "swallows": [
               {
                "class": "^Xfce4\\-terminal$"
                "instance": "^xfce4\\-terminal$"
                "machine": "^xub2204\\-Precision\\-M6800$"
                "title": "^Terminale\\ \\-\\ xub2204\\@xub2204\\-Precision\\-M6800\\:\\ \\~$"
                "window_role": "^xfce4\\-terminal\\-1727127276\\-3210136538$"
               }
            ]
            "type": "con"
        }
        {
            "border": "normal"
            "current_border_width": 2
            "floating": "auto_off"
            "geometry": {
               "height": 387
               "width": 576
               "x": 0
               "y": 0
            }
            "marks": []
            "name": "Terminale - xub2204@xub2204-Precision-M6800: ~"
            "percent": 0.5
            "swallows": [
               {
                "class": "^Xfce4\\-terminal$"
                "instance": "^xfce4\\-terminal$"
                "machine": "^xub2204\\-Precision\\-M6800$"
                "title": "^Terminale\\ \\-\\ xub2204\\@xub2204\\-Precision\\-M6800\\:\\ \\~$"
                "window_role": "^xfce4\\-terminal\\-1727127276\\-3721216962$"
               }
            ]
            "type": "con"
        }
    ]
}
e l'errore riportato sul terminale

Codice: Seleziona tutto

ERROR: Could not parse "/home/xub2204/workspace-1.json" as JSON.
[{"success":true},{"success":false,"error":"Could not parse \"/home/xub2204/workspace-1.json\" as JSON."}]
Edit: togliendo il commento e la virgola solo davanti "class", mi monta le finestre associate alle classi. Debbo capire ancora come fare per fargli aprire le varie applicazioni.
Questo è il nuovo listato:

Codice: Seleziona tutto

// vim:ts=4:sw=4:et
{
    "border": "normal",
    "current_border_width": 2,
    "floating": "auto_off",
    "geometry": {
       "height": 387,
       "width": 576,
       "x": 0,
       "y": 0
    },
    "marks": [],
    "name": "Terminale - xub2204@xub2204-Precision-M6800: ~",
    "percent": 0.5,
    "swallows": [
       {
       "class": "^Xfce4\\-terminal$"
       // "instance": "^xfce4\\-terminal$"
       // "machine": "^xub2204\\-Precision\\-M6800$",
       // "title": "^Terminale\\ \\-\\ xub2204\\@xub2204\\-Precision\\-M6800\\:\\ \\~$",
       // "window_role": "^xfce4\\-terminal\\-1727182325\\-1770571470$"
       }
    ],
    "type": "con"
}

{
    // splitv split container with 2 children
    "border": "normal",
    "floating": "auto_off",
    "layout": "splitv",
    "marks": [],
    "percent": 0.5,
    "type": "con",
    "nodes": [
        {
            "border": "normal",
            "current_border_width": 2,
            "floating": "auto_off",
            "geometry": {
               "height": 387,
               "width": 576,
               "x": 0,
               "y": 0
            },
            "marks": [],
            "name": "Terminale - xub2204@xub2204-Precision-M6800: ~",
            "percent": 0.5,
            "swallows": [
               {
               "class": "^Xfce4\\-terminal$"
               // "instance": "^xfce4\\-terminal$"
               // "machine": "^xub2204\\-Precision\\-M6800$",
               // "title": "^Terminale\\ \\-\\ xub2204\\@xub2204\\-Precision\\-M6800\\:\\ \\~$",
               // "window_role": "^xfce4\\-terminal\\-1727182326\\-3732377195$"
               }
            ],
            "type": "con"
        },
        {
            "border": "normal",
            "current_border_width": 2,
            "floating": "auto_off",
            "geometry": {
               "height": 426,
               "width": 925,
               "x": 0,
               "y": 0
            },
            "marks": [],
            "name": "Calcolatrice",
            "percent": 0.5,
            "swallows": [
               {
               "class": "^Mate\\-calc$"
               // "instance": "^mate\\-calc$"
               // "machine": "^xub2204\\-Precision\\-M6800$",
               // "title": "^Calcolatrice$",
               // "window_role": "^mate\\-calc$"
               }
            ],
            "type": "con"
        }
    ]
}
Edit: diciamo che sono riuscito nell'intento di aprire le finestre sistemate a mio piacimento nel desktop assegnato, ma senza le applicazioni. Avendo assegnato le classi ad ogni riquadro, se apro le applicazioni assegnate, manualmente o tramite file .config di i3, le varie applicazioni vengono aperte nelle sezioni loro assegnate.
Allo script di cui sopra, posso mettere l'istruzione che apre il layout e le varie applicazioni assegnate, dentro il .config di i3.
Riferito al listato di cui sopra posto le istruzioni che mi aprono due terminali e una calcolatrice, ovviamente è solo un esempio.

Codice: Seleziona tutto

exec --no-startup-id "i3-msg 'workspace 1:Terminali; append_layout /home/xub2204/workspace-1.json'"
		exec --no-startup-id i3-msg 'workspace 1:Terminali; exec xfce4-terminal'
		exec --no-startup-id i3-msg 'workspace 1:Terminali; exec xfce4-terminal'
		exec --no-startup-id i3-msg 'workspace 1:Terminali; exec mate-calc'
Per cercare di adattare il listato alle mie esigenze ho bisogno di un aiuto in un altra sezione del forum.
Intanto metto risolto.
Scrivi risposta

Ritorna a “Altri ambienti desktop e window manager”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti