Stufe 3 (#764): Avalonia-Fenster entfernt
- Views, ViewModels, Controls, Converters, Styles, Services, Desktop-i18n, Schriften und App.axaml raus; Avalonia- und Mvvm-Pakete raus - ClawdDotNet ohne Schalter: Manager starten (unter systemd ueber den Dienst, nie doppelt) und WebUI oeffnen (LauncherRun) - bis die Huelle kommt - Instanzen laufen immer kopflos; instanceWindows wird gelesen, nicht mehr ausgewertet; die Kette 'Fenster nach vorn holen' ist entfernt - Telegram-Anmeldung nur noch ueber die WebUI (tote Dialog-Rueckrufe raus) - systemd-Vorlagen im Linux-Paket; Oberflaechen-Leitfaden ins Archiv Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
8ec7896417
commit
6d81693041
@@ -164,25 +164,6 @@ internal static class ManagerEndpoints
|
||||
};
|
||||
});
|
||||
|
||||
// Der Wechsel, wie E-M2 ihn meint: Alle laufen, eine kommt nach vorn. Frueher
|
||||
// hiess "Instanz wechseln", dass sich der laufende Prozess herunterfaehrt und mit
|
||||
// einer anderen Instanz neu startet - wer wechselte, beendete zwangslaeufig die
|
||||
// Instanz, aus der heraus er es tat.
|
||||
verwaltung.MapPost("/instanzen/{id}/fenster", async (
|
||||
string id, ManagerCore manager, InstanceRegistry registry, CancellationToken ct) =>
|
||||
{
|
||||
if (Find(registry, id) is not { } instanz)
|
||||
return Results.NotFound(new OutcomeDto(false, $"Es gibt keine Instanz '{id}'."));
|
||||
|
||||
return await manager.FocusInstanceAsync(instanz.Directory, ct)
|
||||
? Results.Ok(new OutcomeDto(true, $"Fenster von '{instanz.Name}' nach vorn geholt."))
|
||||
: Results.Json(
|
||||
new OutcomeDto(false,
|
||||
$"Instanz '{instanz.Name}' hat kein Fenster nach vorn zu holen — "
|
||||
+ "sie läuft nicht oder läuft kopflos."),
|
||||
statusCode: StatusCodes.Status409Conflict);
|
||||
});
|
||||
|
||||
verwaltung.MapPost("/instanzen/{id}/stop", async (
|
||||
string id, ManagerCore manager, InstanceRegistry registry, CancellationToken ct) =>
|
||||
{
|
||||
|
||||
@@ -781,7 +781,6 @@
|
||||
"instances.selectActive": "Als aktiv wählen",
|
||||
"instances.start": "Starten",
|
||||
"instances.stop": "Beenden",
|
||||
"instances.bringToFront": "Fenster nach vorn",
|
||||
"instances.createTitle": "Neue Instanz anlegen",
|
||||
"instances.instanceOfflineError": "Die Instanz ist nicht erreichbar.",
|
||||
"instances.noInstanceActiveError": "Keine Instanz aktiv. Unter 'Instanzen' starten oder auswählen.",
|
||||
|
||||
@@ -781,7 +781,6 @@
|
||||
"instances.selectActive": "Select as active",
|
||||
"instances.start": "Start",
|
||||
"instances.stop": "Stop",
|
||||
"instances.bringToFront": "Bring window to front",
|
||||
"instances.createTitle": "Create New Instance",
|
||||
"instances.instanceOfflineError": "The instance is not reachable.",
|
||||
"instances.noInstanceActiveError": "No instance is active. Start or select one under 'Instances'.",
|
||||
|
||||
@@ -176,19 +176,7 @@ async function ladeInstanzen(istHintergrund = false) {
|
||||
erstelleElement("span", { text: " " + t("instances.stop") })
|
||||
);
|
||||
|
||||
const fensterBtn = erstelleElement(
|
||||
"button",
|
||||
{
|
||||
klasse: "schaltflaeche flach klein",
|
||||
disabled: !istLaufend,
|
||||
title: t("instances.bringToFront"),
|
||||
onclick: () => holeFensterNachVorn(instanz)
|
||||
},
|
||||
erstelleIcon(PFADE.fenster, 14),
|
||||
erstelleElement("span", { text: " " + t("instances.bringToFront") })
|
||||
);
|
||||
|
||||
fussAktionen.append(waehlenBtn, startenBtn, anhaltenBtn, fensterBtn);
|
||||
fussAktionen.append(waehlenBtn, startenBtn, anhaltenBtn);
|
||||
|
||||
const karte = erstelleKarte(instanz.name, [dl, fussAktionen], {
|
||||
aktionen: karteKopfAktionen,
|
||||
@@ -336,17 +324,6 @@ function oeffneSicherheitsStoppDialog(instanz) {
|
||||
modal.oeffnen();
|
||||
}
|
||||
|
||||
async function holeFensterNachVorn(instanz) {
|
||||
try {
|
||||
const antwort = await api(`/verwaltung/instanzen/${encodeURIComponent(instanz.id)}/fenster`, {
|
||||
method: "POST"
|
||||
});
|
||||
zeigeMeldung(antwort?.meldung || `Brought '${instanz.name}' to front.`, "info");
|
||||
} catch (err) {
|
||||
zeigeMeldung(`Window focus failed: ${err.message}`, "warnung");
|
||||
}
|
||||
}
|
||||
|
||||
function oeffneNeueInstanzDialog() {
|
||||
const formular = erstelleElement("form", {
|
||||
klasse: "formular-raster",
|
||||
|
||||
Reference in New Issue
Block a user