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): 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"}]
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"
}
]
}
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."}]
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"
}
]
}
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'
Intanto metto risolto.