Windows: Zuverlässiges Entfernen von Titelleisten von Fenstern

  • Also, ich habe mich jetzt dem Wahnsinn hingegeben, auf einigen meiner Desktops unter Linux alle Titelleisten und Fensterrahmen zu entfernen. Das geht Desktop-spezifisch, und erfüllt damit meinen Anspruch auf Tiled + Stacked Hybridbetrieb. Sinn dahinter ist, das auf manchen Desktops keine Fenster verschoben werden, die sind alle fix gekachelt. Und Titelleisten und Rahmen sind da einfach sinnlose Pixelfresser, also hab ich's entfernt, um mehr Platz für echte Inhalte zu haben. Unter Linux habe ich das mit der Software [devilspie(1)] erledigt. Bissl kompliziert, aber funktioniert.

    Jetzt suche ich etwas ähnliches für Windows. Bisher probiert habe ich NirSoft's [WinExplorer]. Mit dem kann man schon Mal die Fenstereigenschaften WS_DLGFRAME und WS_BORDER von einzelnen Fenstern entfernen. Danach braucht es nur eine Veränderung des Fensters (z.B. Vergrößern), damit die Änderung sichtbar wird. Die Eigenschaft WS_THICKFRAME (Fensterrahmen) kann man leider nicht gut killen, weil da der Handler für's Resize drauf ist, aber zumindest die Titelleiste wäre weg:

    Pixel sparen...

    Problem: Das funktioniert nur für wenige Programme zuverlässig, wie z.B. für notepad.exe oder Firefox. Andere Programme stellen ihre Titelleisten selbsttätig wieder her, wenn man im Programm ein paar Sachen durchklickt, so z.B. Hexchat. Wieder andere wie z.B. puTTY haben die genannten Fenstereigenschaften zwar als beschreibbare Optionen drin, aber wenn man sie rausnimmt, wird die Modifikation einfach nicht angewendet. Die Titelleisten bleiben also bestehen.

    Frage: Gibt es eine Software, mit der man zuverlässig die Titelleisten sämtlicher bzw. lieber selektiv einzelner Fenster entfernen kann? Im Prinzip wie WinExplorer, nur funktionierend. ;)

    Für Fenster die sich dann trotz WS_THICKFRAME nicht mehr "grapschen" lassen sind dank Alt+Space,m* und Alt+Space,s* auch kein Thema, man kann's so ja mit der Tastatur verschieben und vergrößern/-kleinern. Dank Windows Layout Manager mit Snapping geht das super, und der kann das Layout auch gleich speichern, wenn's einmal eingerichtet ist.

    Falls jemand sowas kennt, ich würde mich drüber freuen. Hab im Netz selber nichts außer WinExplorer finden können, aber so manche Powertools muß man ja auch erst auf irgendwelchen Russenseiten ausgraben...

    *Auf Deutschen Systemen Alt+Space,v* und Alt+Space,g, danke Microsoft... :bonk:

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Nachtrag: Mehrere Tools verwendet, keines schafft es. Also habe ich mir einfach den aktuellen puTTY 0.74 Quelltext gekrallt, und habe mich da drin heute Mal mit einem Bierchen neben mir am Tisch aufgeführt wie eine Wildsau. Tatsächlich konnte ich den Teil finden, der die GUI des Terminalfensters aufbaut, und mit ein bißchen unsauberem Rumgehacke (Doku dazu kann ich ggf. morgen veröffentlichen, so es denn jemanden juckt) ist es mir gelungen, die Titelleisten der puTTY Fenster wegzureißen.

    Wichtigster Part war, das per Win32 API mit int winmode = WS_OVERLAPPEDWINDOW | WS_VSCROLL; definierte Styling in window.c zu int winmode = WS_POPUPWINDOW | WS_THICKFRAME | WS_VISIBLE | WS_CLIPCHILDREN; zu modifizieren. Zu diesem Thema gibt's zig Tipps und Tricks von unzähligen C/C++ Hackern, und 95% davon funktionieren einfach gar nicht. Aber dieser hier tut es. Eventuell füge ich noch WS_VSCROLL hinzu, dann kommt das eigentliche Terminal beim Ertzeugen des Fensters dem Original am nächsten; Ansonsten taucht die vertikale Scrollleiste nämlich erst nach einer Größenveränderung des Fensters auf..

    Dann noch ein paar simple Hacks, um die Windows XP Kompatibilität der neuesten puTTY Version wiederherzustellen, mit Visual Studio 2015 runterkompilieren und fertig ist das Spacesaver puTTY ohne jedwede Titelleisten:

    puTTY SSH Terminals mit GUI Modifikation, das sind die Terminals links (Klicken zum Vergrößern)

    Vorbild hierfür war mein per [devilspie(1)]-Skripten modifizierter Linux Terminal Desktop, der noch ein klein wenig extremer getrimmt ist:

    Linux Vorbild, die Fensteranordung ist etwas anders (Klicken zum Vergrößern)

    Die Terminalfenster schiebe ich per Rechtsklick auf das Fenster unten in der Taskleiste und Klick auf "Move" per Tastatur in die korrekten Positionen, erstelle dann mit [Windows Layout Manager] von Stefan Didak ein enstprechendes Profil, sodaß es später per Mausklick wiederhergestellt werden kann - Fenstergrößen und -positionen. Das Windowsnapping um das alles zu erleichtern wird von NTWind's [WindowSpace] übernommen - angelehnt an Gnome und Xfce4, welche mir hier unter Linux und UNIX als Vorbilder dienten.

    Gestartet werden die Terminals über ein .bat Skript mit Autologin. In Summe drei Klicks um den gesamten Desktop so wie er da auf XP x64 aussieht wiederherzustellen. Jetzt hat nur noch X-Chat Titelleisten, die ich wohl nie wegbekommen werden. X-Chat für Windows kompilieren ist nämlich ein veritabler Alptraum...

    Aber... wo ein Wille, da ein Weg. Schaut recht fein säuberlich wie ein richtiger hybrid tiled Desktop aus, schön langsam aber sicher.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"