Eigenen Display Manager & Window Manager für X11

  • Halli, Hallö, Hallöle,

    Ich habe ein kleines vorhaben. Und zwar möchte ich eine LCARS Shell für ein Linux zusammen tippseln.

    Diese soll den Display Manager (LogIn-Screen) als auch den Window-Manager (Desktop) bilden.

    Leider fiel es mir schwer entsprechende Dokumentationen auf zu treiben welche mich in die Materie einführen würden. Darum wollte ich mal nachfragen ob da jemand Erfahrungen hat!

    Ich brauch einfach mal etwas Starthilfe in diesen Thema! Wenn mir jemand einen Crashkurs geben könnte währe ich sehr dankbar.

    Ich habe auch dies bezüglich häufig von 'Qt' gelesen welches die Arbeit vereinfachen soll. Ich kenne Qt bereits und würde es möglicher weise begrüßen wenn dies der Fall währe!
    Wenn jedoch die Meinung herrscht, dass es ohne Qt besser währe, könnte ich auch darauf verzichten.

  • Danke. Ja auf den 2/3 Seiten bin ich aber schon gewesen.

    Durch die beiden Seiten von wegen Window Manager werde ich mich auch mal durcharbeiten und mal sehen, wie weit ich mein Vorhaben damit umsetzen kann.

    Jedoch geht die Seite, welche über den Display Manager schreibt, nicht weit genug in die Tiefe um mein Vorhaben vernümftig zu verwirklichen.


  • Sowas ähnliches hat schon mal jemand hier gemacht:
    Sturm95 Desktopumgebung

    Vielleicht enthält der Thread ja Infos, die für dich hilfreich sind :)

    Naja, das Problem ist bei Sturm95 ja ein ganz anderes. Wenn ich Zugirff auf den Code hette, wehre die Sache schon einfacher.

    Würde mir aber auch nichts bringen, da Sturm95 in FreeBASIC geschrieben ist.

  • Interessant. Spontan hatte ich mir aber gedacht: Sowas muss es doch schon geben. Aber dem ist tatsächlich nicht wirklich so, es gab Themes und andere Versuche, die Projekte liegen aber seit Jahren brach. Beim Googeln habe ich zumindest eins gefunden, dass für Raspi so Programmflächen bereitstellt. Vor allem via Touch, wofür ja das Serien Lcars auch "entwickelt" ist. Ich glaube auch nur dort kann es seine Stärken ausspielen, bei Mausbedienung wird einfach sehr viel Raum für Buttons und Deko verschwendet.

    Hast du irgendwie einen Dummy mal erstellt? Mich als alter Taskleisten/Startmenü Veteran würde mich interessieren, wie du den Desktop überhaupt konzeptuell umsetzen möchtest. Gerade die Themes waren so eher an den Haaren herbeigezogen. In der Serie wirkt das alles immer sehr Baumstrukturmäßig, was mich an gruselige Nokia Bedienung am Ende von Symbian errinnert.

    Zudem bräuchte man eigentlich auch Spracheingabe. :P


  • Interessant. Spontan hatte ich mir aber gedacht: Sowas muss es doch schon geben. Aber dem ist tatsächlich nicht wirklich so, es gab Themes und andere Versuche, die Projekte liegen aber seit Jahren brach. Beim Googeln habe ich zumindest eins gefunden, dass für Raspi so Programmflächen bereitstellt. Vor allem via Touch, wofür ja das Serien Lcars auch "entwickelt" ist. Ich glaube auch nur dort kann es seine Stärken ausspielen, bei Mausbedienung wird einfach sehr viel Raum für Buttons und Deko verschwendet.

    Hast du irgendwie einen Dummy mal erstellt? Mich als alter Taskleisten/Startmenü Veteran würde mich interessieren, wie du den Desktop überhaupt konzeptuell umsetzen möchtest. Gerade die Themes waren so eher an den Haaren herbeigezogen. In der Serie wirkt das alles immer sehr Baumstrukturmäßig, was mich an gruselige Nokia Bedienung am Ende von Symbian errinnert.

    Zudem bräuchte man eigentlich auch Spracheingabe. :P


    Einen Entwurf vom System hab ich noch nicht. Jedoch habe ich bereits klare Vorstellungen für das spätere Layout.

    Darum ist der Begriff "Window Manager" etwas absurd, denn ich habe vor das Multiwindow-System raus zu schmeißen. (Oder gar nicht erst ein zu bauen)
    Stattdessen soll es auf jedem "screen" blos ein "Window" geben. Ähnlich wie bei Android oder im Windows 10 Tapletmodus.

    Gründe dafür sind zum Beispiel, dass sich das System mit Touch besser bedienen lässt und außerdem LCARS sowieso keine Überlappungen vorsieht.

    Für Eingaben soll eine Display-Tastatur zur verfügung stehen. Diese schiebt das obrige Fenster kleiner um auch hier einer Überlappung zu endgehen. Sollte sich die Geometrie des Fensters nicht anpassen lassen, muss das Fenster doch gescrollt werden.

    Das durschschalten der Fenster soll mittels Schaltflächen am unterem Bildschirmrand möglich sein.
    Diese "Bar" ist mit einer Taskleiste vergleichbar.

    Aber wie schon gesagt. Das Problem liegt in der Umsetzung.

  • Es wird auch niemand freiwillig deine Arbeit tun. Wenn du konkrete Fragen hast, kannst du diese ja gerne stellen. Im Moment liest sich das aber eher wie: "Hey, lebt mir doch mal vor, wie man das macht und ich mach dann nach".

  • Es gibt keinen Grund gleich unfreundlich zu werden. Ich möchte nicht, dass jemand meine Arbeit macht aber gewisse Hilfe benötige ich halt schon. Immerhin habe ich so etwas noch nie zuvor programmiert!

    Mein Gedanke war einfach, dass mir jemand helfen könte, der das schon einmal gemacht hat.

    Ich habe absolut keine Ahnung wie ich das Projekt umsetzen soll und die bisherigen Dokumentationen beantworten meine Fragen auch nicht wirklich.

    Da gewünscht, werde ich nacher mal mein Problem in viele kleine Fragen aufstaffeln.

  • Hier war doch niemand unfreundlich zu dir. Denke nicht, dass man hier wirklich jemanden findet, der schon mal einen Display Manager bzw Windows Manager für X11 alleine programmiert hat und dir da auf Anhieb ohne konkrete Fragen helfen kann.
    Dass du dein Problem in konkrete kleine Fragen aufteilen möchtest, ist schon mal ein guter Anfang, da findet sich noch eher jemand, der zufällig das konkrete Problem schon mal hatte :)

  • Die Arbeit mit X11 ist recht unschön, freundlich ausgedrückt. Ich kann dir empfehlen, dir den Code von simplen WMs anzuschauen, und daraus zu lernen. Diverse Dokumentationen und Tutorials zu X11 widersprechen sich teilweise. Ich bin mit meinem WM einen anderen Weg gegangen:
    - Das Fenster raussuchen, welches du mit deinem WM dekorieren magst
    - Dessen Fensterdekoration ausschalten
    - Eigenes Fenster mit den entsprechenden Abmessungen erstellen
    - Das eigentliche Programm läuft als "Child"-Fenster. Füge das Child des Fensters, welches du eben entfernt hast, deinem Fenster hinzu
    Hat den Vorteil, dass du theoretisch jedes Fenster mit anderen Dekorationen versehen kannst, sowie die Möglichkeit, gleichzeitig 2 WMs laufen zu lassen.
    ;)


  • Ich bin mit meinem WM einen anderen Weg gegangen:
    - Das Fenster raussuchen, welches du mit deinem WM dekorieren magst
    - Dessen Fensterdekoration ausschalten
    - Eigenes Fenster mit den entsprechenden Abmessungen erstellen
    - Das eigentliche Programm läuft als "Child"-Fenster. Füge das Child des Fensters, welches du eben entfernt hast, deinem Fenster hinzu

    Bis auf das "Berauben" eines fremden Fenster-Managers ist das auch das übliche Grundkonzept eines WMs, der eigene Dekorationen zeichnet.
    Das wäre in diesem Fall nicht mal nötig, da maximal ein Fenster gleichzeitig angezeigt werden soll und die Dekoration auch rundherum auf dem Root-Window gezeichnet werden kann.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!