Compare commits

...

3 Commits

Author SHA1 Message Date
E44 ffb9f21ea5 bump version to v0.0.19 2026-01-19 21:37:51 +01:00
E44 c44f009eaf chore(control): add custom website support with another chromium window 2026-01-19 21:37:43 +01:00
E44 541b626be2 chore(nixos): add screen to nixos 2026-01-19 21:09:28 +01:00
4 changed files with 18 additions and 11 deletions
@@ -51,6 +51,11 @@ export async function show_html(ip: string, html: string): Promise<void> {
await request_display(ip, '/showHTML', options); await request_display(ip, '/showHTML', options);
} }
export async function show_website(ip: string, url: string): Promise<void> {
const command = `screen -dmS custom_website chromium-browser --user-data-dir=$(mktemp -d) --start-fullscreen --app="${url}"`;
await run_shell_command(ip, command);
}
export async function get_file_data( export async function get_file_data(
ip: string, ip: string,
path: string path: string
@@ -21,7 +21,7 @@
show_blackscreen, show_blackscreen,
shutdown, shutdown,
startup, startup,
show_html show_website
} from '$lib/ts/api_handler'; } from '$lib/ts/api_handler';
import { import {
get_display_by_id, get_display_by_id,
@@ -44,7 +44,7 @@
let popup_content: PopupContent = $state({ let popup_content: PopupContent = $state({
open: false, open: false,
snippet: null, snippet: null,
title: '', title: ''
}); });
let current_text = $state(''); let current_text = $state('');
@@ -79,7 +79,7 @@
snippet: website_popup, snippet: website_popup,
title: 'Webseite Anzeigen', title: 'Webseite Anzeigen',
window_class: 'w-xl', window_class: 'w-xl',
title_icon: Globe, title_icon: Globe
}; };
}; };
@@ -102,7 +102,7 @@
open: true, open: true,
snippet: ask_shutdown_popup, snippet: ask_shutdown_popup,
title: 'Bildschirm Herunterfahren', title: 'Bildschirm Herunterfahren',
title_icon: PowerOff, title_icon: PowerOff
}; };
} }
@@ -110,7 +110,10 @@
popup_content.open = false; popup_content.open = false;
await run_on_all_selected_displays((d) => { await run_on_all_selected_displays((d) => {
shutdown(d.ip); // no await here because we want to be fast shutdown(d.ip); // no await here because we want to be fast
db.displays.update(d.id, { status: 'app_offline', preview: { currently_updating: false, url: null} }); db.displays.update(d.id, {
status: 'app_offline',
preview: { currently_updating: false, url: null }
});
}, false); }, false);
} }
@@ -143,9 +146,7 @@
async function send_website() { async function send_website() {
popup_content.open = false; popup_content.open = false;
await run_on_all_selected_displays((d) => await run_on_all_selected_displays((d) => show_website(d.ip, website_url));
show_html(d.ip, `<iframe src="${website_url}"></iframe>`)
);
} }
</script> </script>
+1
View File
@@ -95,6 +95,7 @@
xreader xreader
tree tree
jq jq
screen
# Libraries # Libraries
imagemagick imagemagick
+1 -1
View File
@@ -1 +1 @@
v0.0.18 v0.0.19