Desktop-Icon (Uhr) verschwindet nach jedem Neustart

(DE) System, Installation, Konfiguration, Hardware, Treiber, Netzwerk, Virtualisierung, etc.
(EN) System, Installation, Configuration, Hardware, Drivers, Network, Virtualisation, etc.
Antworten
Benutzeravatar
DonLucio
Beiträge: 950
Registriert: So 29. Dez 2013, 01:14
Wohnort: Hamburg
Kontaktdaten:

Desktop-Icon (Uhr) verschwindet nach jedem Neustart

Beitrag von DonLucio »

Ich habe noch das alte Systemuhr-Objekt im Einsatz. Es ist einfach eine kreisrunde Uhr mit analogen Zeigern in einem rechteckigen dünnen Rahmen. Alle Farben lassen sich frei wählen, ebenso die Größe. Ich habe mir dieses Objekt auf 168 Pixel im Quadrat konfiguriert, hübsch gelb eingefärbt und oben rechts auf meinen Bidlschirm (Desktop) gesetzt.

Problem ist leider: Nach jedem eCS-Neustart ist die Uhr an den unteren Bildschirmrand gerutscht. Trotz ordnungsgemäßem Shutdown zuvor kann sich das eCS offenbar nicht die Pixel-Position meines Uhr-Objekts merken. Alle anderen Objekte auf meinem Desktop haben ihre korrekte (vorige) Position, nur nicht die Uhr.

VIelleicht liegt es daran, dass ich mir dieses Uhr-Objekt selbst gebastelt habe (weil es nicht mehr zum eCS-Lieferumfang gehört). Im Jahre 2006 hat mir Andreas (aschn) zu diesem Zweck mal ein Rexx-Skript erstellt, das im Kern ein SysCreateObject() enthält und auch prima funktioniert.

Ich habe also zwei Fragen:
(1) Wie kann ich verhindern, dass die Screen-Position des Uhr-Objekts verlorengehen?
(2) Ersatzweise: Wie kann ich (mittels eines Rexx-Skripts im Startup-Ordner) das Uhr-Objekt ansprechen, um ihm selbst wieder seine korrekte Screen-Position zu verpassen? Dazu müßte ich den Setup-String für das WP_Clock-Object kennen bzw. den Parameter, der seine Screen-Position beschreibt.

Ich hab auch schon mal in der os2sys.ini geschaut, dort gibt es einen Key "PM_Workplace:ClockPos", jedoch mit einem 36-Byte-langen Binär-Wert, den ich nicht aufschlüsseln kann.

Weiß jemand mehr?

Danke,
Don Lucio.
Benutzeravatar
wilfried
Beiträge: 667
Registriert: Mo 23. Dez 2013, 18:26
Wohnort: Barsinghausen
Kontaktdaten:

Beitrag von wilfried »

- Hast Du das Uhren-Objekt schonmal vor dem herunterfahren geschlossen? Falls nicht, ausprobieren.
- Hast Du das Programmobjekt der Uhr in den Startup-Folder gelegt?
- Der Objektname wird doch beim Syscreateobject mitgegeben
z.B.
call SysCreateObject 'WPProgram',objecttext,'<WP_DESKTOP>','OBJECTID='||object_id||';EXENAME='||ScriptFile||';TITLE='||ObjectText||';ICONFILE='||weathericon||';','Update'

Unter dem Inhalt von object_id sollte das Objekt später ansprechbar sein.
Benutzeravatar
wilfried
Beiträge: 667
Registriert: Mo 23. Dez 2013, 18:26
Wohnort: Barsinghausen
Kontaktdaten:

Beitrag von wilfried »

wilfried » Do 20. Nov 2014, 15:54 hat geschrieben:- Hast Du das Uhren-Objekt schonmal vor dem herunterfahren geschlossen? Falls nicht, ausprobieren.
- Hast Du das Programmobjekt der Uhr in den Startup-Folder gelegt?
Habs ausprobiert, so klappt es.
Benutzeravatar
aschn
Beiträge: 1363
Registriert: Mi 25. Dez 2013, 22:47

Beitrag von aschn »

DonLucio » Do 20. Nov 2014, 15:37 hat geschrieben: Ich hab auch schon mal in der os2sys.ini geschaut, dort gibt es einen Key "PM_Workplace:ClockPos", jedoch mit einem 36-Byte-langen Binär-Wert, den ich nicht aufschlüsseln kann.
Das ist normal. Das sind die Presentation Parameters im Binärformat für Größe und Position (evtl. noch Farben und Schriften) und nur mit entsprechenden Funktionen (REXX-Funktion dafür existiert nicht) les- und schreibbar.
DonLucio » Do 20. Nov 2014, 15:37 hat geschrieben: Nach jedem eCS-Neustart ist die Uhr an den unteren Bildschirmrand gerutscht.
Das würd ich auf keinen Fall so hinnehmen. Das ist nicht normal. Anscheinend sind Deine Inis defekt oder sie werden nicht mehr richtig gesichert.

1. Welche eCS-Version mit welcher eWP-Version hast Du installiert? Abhilfe könnte die letzte XWP-Version mit den richtigen XShutdown-Einstellungen des Desktops bringen. Evtl. kannst Du das aber auch schon bei Deiner eWP-Version auf vernünftige Werte einstellen. Welche Werte hast Du dort eingestellt? Sinnvoll ist "New method: use XWorkplace INI routines".

2. Bereinige die Inis. Ich hatte neulichlich 8 Blöcke und hab sie wieder auf 2 reduzieren können. Je größer die Inis werden, umso fehleranfälliger werden sie. Je mehr man löschen lässt, umso größer wird die Wahrscheinlichkeit, dass man die fehlerhafte Stelle damit behebt. (Ich hatte in den letzten Jahren 2x damit Erfolg.)
Andreas Schnellbacher
Benutzeravatar
DonLucio
Beiträge: 950
Registriert: So 29. Dez 2013, 01:14
Wohnort: Hamburg
Kontaktdaten:

Beitrag von DonLucio »

@Wilfried, @Andreas:
Danke für eure Hinweise, die letztlich geholfen haben, das Problem zu lösen. Obgleich ich nicht ganz schlau aus der Wirkungsweise werde.

Icon vor dem Runterfahren beenden:
Geht bei mir nicht per Hand, da ich die Titelleiste weg-konfiguriert habe.
Ich habe dann versucht, per Rexx-Skript (SysDestroyObject("<WP_CLOCK>") ) das Icon zwangsweise zu beenden, was mit Return=1 geklappt hat. Danach war beim Neustart das Icon am richtigen Platz. Habe inzwischen mehrere Shutdown/Reboot-Zyjklen gefahren: Es scheint stabil zu sein.

Warum aber mein selbstgebasteltes SysDestroyObject() eine "sauberere" Art des Beendens des Icon ist (also mit Merken seiner Position), verglichen mit dem normalen Shutdown, ist mir nicht klar. Aber ich nehm's mal so hin. Auf jeden Fall: Danke für eure Hilfe, ein unbedeutendes, aber nerviges Problem ist mir jetzt vom Hals.

Mal am Rande eine andere Frage (bitte nicht lachen): Was ist eigentlich eWP und xWP? Hab ich schon öfter hier gelesen, kann ich aber nix mit anfangen. Ich hab nur Standard eCS 2.1 installiert, und da gibt es ein eCenter (diese WinXP-ähnliche Leiste am unteren bzw. oberen Bildschirmrand).
Ich vermute mal: xWP ist dieses Zusatz-Tool, das ich unter dem Namen xWorkPlace kenne, aber eWP?

Gruß,
Don Lucio.
Benutzeravatar
wilfried
Beiträge: 667
Registriert: Mo 23. Dez 2013, 18:26
Wohnort: Barsinghausen
Kontaktdaten:

Beitrag von wilfried »

DonLucio » Fr 21. Nov 2014, 14:51 hat geschrieben: Geht bei mir nicht per Hand, da ich die Titelleiste weg-konfiguriert habe.

Warum aber mein selbstgebasteltes SysDestroyObject() eine "sauberere" Art des Beendens des Icon ist (also mit Merken seiner Position), verglichen mit dem normalen Shutdown, ist mir nicht klar.
Ein Klick mit der rechten Maustaste hilft da weiter. Unter "Enstellungen > Anzeigen > Titelleiste anzeigen" kann man sich die Titelleiste wiederherstellen und dann auch per WPS beenden.
Warum kann sich das System beim runterfahren die aktuellen Einstellungen nicht merken? Ich bin kein Insider, vermutlich liegt es daran das in der Shutdown-Phase die INI-Dateien nicht mehr aktualisiert werden können.
Benutzeravatar
aschn
Beiträge: 1363
Registriert: Mi 25. Dez 2013, 22:47

Beitrag von aschn »

Lutz, ich würde meinen Rat wirklich ernst nehmen.

Mit SysDestroyObject löschst Du Dateisystem- und virtuelle Objekte. Das Schließen in REXX geht nur mit Zusatzfunktionen oder z.B. mit pgmcntrl.exe (pgmcn###.zip). Das gibt's bei Hobbes oder direkt bei Christian.

Wenn bei Dir die Uhr anschließend nicht gelöscht ist, bestätigt das nur, dass die Inis nicht mehr richtig gesichert werden.

XWP ist XWorkplace und eWP (oder neumodischer: eWPS) ist die abgespekte Light-Version, die bei eCS dabei ist.
Andreas Schnellbacher
Benutzeravatar
DonLucio
Beiträge: 950
Registriert: So 29. Dez 2013, 01:14
Wohnort: Hamburg
Kontaktdaten:

Beitrag von DonLucio »

Hallo Andreas,
aschn » Fr 21. Nov 2014, 17:45 hat geschrieben:Lutz, ich würde meinen Rat wirklich ernst nehmen.
Du meinst den Rat mit INI aufräumen?
Hab ich gemacht (mit CleanINI). Aber schon davor war das Problem eigentlich gelöst durch das Killen des Objekts (SysDestroyObject()). Jedenfalls war danach die Uhr wieder an ihrem korrekten Platz (nach erneutem SysCreateObject()).
aschn » Fr 21. Nov 2014, 17:45 hat geschrieben:Das Schließen in REXX geht nur mit Zusatzfunktionen oder z.B. mit pgmcntrl.exe
Es geht auch mit einem Dreizeiler in VXRexx (ein Programm, dessen Verschwinden ich nicht aufhören werde, zu beklagen).
aschn » Fr 21. Nov 2014, 17:45 hat geschrieben:XWP ist XWorkplace und eWP (oder neumodischer: eWPS) ist die abgespekte Light-Version, die bei eCS dabei ist.
Aha, danke.

Gruß,
Don Lucio.
Benutzeravatar
aschn
Beiträge: 1363
Registriert: Mi 25. Dez 2013, 22:47

Beitrag von aschn »

DonLucio » Sa 22. Nov 2014, 01:00 hat geschrieben: Du meinst den Rat mit INI aufräumen?
Hab ich gemacht (mit CleanINI).
Dann ist ja OK. Meine Inis habe übrigens folgende Größe: OS2.INI: 3 kB, OS2SYS.INI: 250 kB.
DonLucio » Sa 22. Nov 2014, 01:00 hat geschrieben: Aber schon davor war das Problem eigentlich gelöst durch das Killen des Objekts (SysDestroyObject()).
Jedenfalls war danach die Uhr wieder an ihrem korrekten Platz (nach erneutem SysCreateObject()).
Du meinst Löschen und nicht Killen. Das wär wieder etwas anderes.
DonLucio » Sa 22. Nov 2014, 01:00 hat geschrieben:
aschn » Fr 21. Nov 2014, 17:45 hat geschrieben:Das Schließen in REXX geht nur mit Zusatzfunktionen oder z.B. mit pgmcntrl.exe
Es geht auch mit einem Dreizeiler in VXRexx (ein Programm, dessen Verschwinden ich nicht aufhören werde, zu beklagen).
Klar. Ich find nur meistens die Funktionen von PGMCNTRL viel komfortabler.
Andreas Schnellbacher
Antworten