release blend 2.0.0
This commit is contained in:
parent
4e4bdd33d2
commit
37d4a6155e
36 changed files with 2557 additions and 458 deletions
49
blend-settings/src/pages/containers.html
Normal file
49
blend-settings/src/pages/containers.html
Normal file
|
@ -0,0 +1,49 @@
|
|||
<div class="container-fluid d-flex justify-content-center">
|
||||
<div class="col-12 col-lg-10 col-xl-8 mx-auto">
|
||||
<strong class="mb-0">Containers</strong>
|
||||
<p>You can install any app from any of the supported distributions (Arch, Fedora, and Ubuntu). Any apps you install in them will appear as regular applications on your system, and so will any binaries. In case a binary is common between two containers, the binary from the most recently created container will be exported. You can override this by rearranging (dragging) the containers below to select the priority that should be assigned to each container.</p>
|
||||
<div class="list-group mb-5 shadow" id="container-list">
|
||||
<div class="list-group-item">
|
||||
<div class="row align-items-center">
|
||||
<div class="col">
|
||||
<strong class="mb-0">Loading list of containers.</strong>
|
||||
<p class="text-muted mb-0">You'll find a list of all the containers here.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid d-flex justify-content-center">
|
||||
<div class="col-12 col-lg-10 col-xl-8 mx-auto">
|
||||
<strong class="mb-0">Create new container</strong>
|
||||
<form onsubmit="create_container(); return false">
|
||||
<div class="form-group row">
|
||||
<label for="inputContainerName" class="col-sm-3 col-form-label">Container name</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="inputContainerName" placeholder="Container name" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="inputContainerDistro" class="col-sm-3 col-form-label">Distribution</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control" id="inputContainerDistro">
|
||||
<option selected>Arch</option>
|
||||
<option>Fedora Rawhide</option>
|
||||
<option>Ubuntu 22.04</option>
|
||||
<option>Ubuntu 22.10</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<button type="submit" id="publish-button" class="btn btn-primary">Create container</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Import generic page JS. -->
|
||||
<script src="internal/js/generic_page.js"></script>
|
||||
|
||||
<!-- Import containers JS. -->
|
||||
<script src="internal/js/containers.js"></script>
|
64
blend-settings/src/pages/overlay.html
Normal file
64
blend-settings/src/pages/overlay.html
Normal file
|
@ -0,0 +1,64 @@
|
|||
<div class="container-fluid d-flex justify-content-center">
|
||||
<div class="col-12 col-lg-10 col-xl-8 mx-auto">
|
||||
<strong class="mb-0">System Settings</strong>
|
||||
<br><br>
|
||||
<div class="list-group mb-5 shadow">
|
||||
<div class="list-group-item">
|
||||
<div class="row align-items-center">
|
||||
<div class="col">
|
||||
<strong class="mb-0">Disable automatic state creation</strong>
|
||||
<p class="text-muted mb-0">blendOS creates copies of apps and config every 6 hours (and keeps the
|
||||
last two).</p>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<div class="form-check form-switch align-middle">
|
||||
<input class="form-check-input align-middle" type="checkbox" role="switch"
|
||||
id="automatic-state-toggle">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-group-item">
|
||||
<div class="row align-items-center">
|
||||
<div class="col">
|
||||
<strong class="mb-0">Save current state</strong>
|
||||
<p class="text-muted mb-0">Create a copy of the current system state, including apps and config.</p>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<div class="form-check form-switch align-middle">
|
||||
<button type="button" id="save-state-btn" onclick="save_state()" class="btn btn-success">Save state</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-group-item">
|
||||
<div class="row align-items-center">
|
||||
<div class="col">
|
||||
<strong class="mb-0">Rollback</strong>
|
||||
<p class="text-muted mb-0">Rollback to the most recent state on the next boot. (note: this is irreversible)
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<div class="form-check form-switch align-middle">
|
||||
<button type="button" class="btn btn-danger" onclick="rollback()" id="rollback-btn">Rollback</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid d-flex justify-content-center">
|
||||
<div class="col-12 col-lg-10 col-xl-8 mx-auto">
|
||||
<p>
|
||||
You can install packages just like you would on a regular Arch system, or install them in containers.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Import generic page JS. -->
|
||||
<script src="internal/js/generic_page.js"></script>
|
||||
|
||||
<!-- Import overlay JS. -->
|
||||
<script src="internal/js/overlay.js"></script>
|
110
blend-settings/src/pages/terminal.html
Normal file
110
blend-settings/src/pages/terminal.html
Normal file
|
@ -0,0 +1,110 @@
|
|||
<html>
|
||||
|
||||
<head>
|
||||
<link rel="stylesheet" href="../../node_modules/xterm/css/xterm.css" />
|
||||
<style>
|
||||
html,
|
||||
body,
|
||||
#term {
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background-color: #242430;
|
||||
}
|
||||
|
||||
.xterm {
|
||||
padding: 30px !important;
|
||||
}
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar-track {
|
||||
background-color: rgb(36, 36, 48);
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
background-color: rgb(36, 36, 48);
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar-thumb {
|
||||
background-color: rgb(61, 61, 74);
|
||||
border-radius: 10px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body style="height: 100%;">
|
||||
<div id="term" style="height: 100%; width: 100%;"></div>
|
||||
<script>
|
||||
var os = require("os");
|
||||
var pty = require("node-pty");
|
||||
var xterm = require("xterm");
|
||||
var ipc = require("electron").ipcRenderer;
|
||||
var { FitAddon } = require("xterm-addon-fit");
|
||||
|
||||
const fit = new FitAddon();
|
||||
|
||||
var once;
|
||||
|
||||
function create_term() {
|
||||
ipc.removeAllListeners('terminal.reset')
|
||||
ipc.removeAllListeners('terminal.keystroke')
|
||||
ipc.removeAllListeners('terminal.incomingData')
|
||||
ipc.removeAllListeners('title')
|
||||
|
||||
ipc.on("terminal.reset", (event, data) => {
|
||||
document.getElementById('term').innerHTML = ''
|
||||
create_term()
|
||||
});
|
||||
|
||||
var term = new xterm.Terminal({
|
||||
fontSize: 14,
|
||||
experimentalCharAtlas: 'dynamic',
|
||||
theme: {
|
||||
background: '#242430'
|
||||
}
|
||||
});
|
||||
|
||||
once = true
|
||||
|
||||
term.loadAddon(fit)
|
||||
|
||||
var term_e = document.getElementById('term');
|
||||
term.open(term_e);
|
||||
fit.fit()
|
||||
|
||||
ipc.on("terminal.incomingData", (event, data) => {
|
||||
term.write(data);
|
||||
});
|
||||
|
||||
ipc.on("title", (event, title) => {
|
||||
document.title = title;
|
||||
});
|
||||
|
||||
window.addEventListener('beforeunload', (event) => {
|
||||
term.dispose()
|
||||
})
|
||||
|
||||
window.onresize = function () {
|
||||
fit.fit();
|
||||
term.resize(term.cols, term.rows)
|
||||
ipc.send("terminal.resize", [term.cols, term.rows])
|
||||
};
|
||||
|
||||
term.onData(e => {
|
||||
ipc.send("terminal.keystroke", e);
|
||||
});
|
||||
}
|
||||
|
||||
ipc.on("terminal.reset", (event) => create_term)
|
||||
create_term()
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue