Seite 1 von 2
SetMenuItemState unter Ubuntu? [gelöst]
Verfasst: 10.12.2010 14:41
von Kukulkan
Hallo,
wenn ich mit
SetMenuItemState() einen Haken an's Menü machen möchte, dann sieht man das nicht (Ubuntu 10.04 LTS 32Bit). Hab schon verschiedene Themes getestet, kein Erfolg. Wenn ich mit
GetMenuItemState() abfrage, dann kommt der richtige Wert. Nur kann es der Nutzer nicht sehen. Was mache ich falsch?
PureBasic 4.51 (Linux - x86) auf Ubuntu 10.04 LTS
Mein Testcode:
Code: Alles auswählen
#frmMain = 0
#MenuBar_0 = 0
#menuCompMax = 2
#menuCompStrong = 3
#menuCompMedium = 4
#menuCompLight = 5
#menuCompNo = 6
If OpenWindow(#frmMain, 306, 151, 517, 380, "Test", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
If CreateMenu(#MenuBar_0, WindowID(#frmMain))
MenuTitle("Test")
OpenSubMenu("Compression-Level")
MenuItem(#menuCompMax, "maximum compression")
MenuItem(#menuCompStrong, "strong")
MenuItem(#menuCompMedium, "medium")
MenuItem(#menuCompLight, "light")
MenuItem(#menuCompNo, "no compression")
CloseSubMenu()
EndIf
EndIf
SetMenuItemState(#MenuBar_0, #menuCompStrong, 1) ; set "strong" as default
Repeat
Event.l = WaitWindowEvent()
Until Event.l = #PB_Event_CloseWindow
CloseWindow(#frmMain)
End
Hier sollte "strong" ausgewählt sein. Ist es aber nicht... Unter Windows klappt es. Woran liegt es?
Kukulkan
Re: SetMenuItemState unter Ubuntu?
Verfasst: 10.12.2010 15:38
von Vera
Hallo,
kann leider nicht mit suchen helfen, denn unter Suse 11.1 wird strong wie gewünscht markiert (PB 4.50 u. 4.51).
Dann liegt es weniger am Code, als an Ubuntu.
Gruß ~ Vera
Re: SetMenuItemState unter Ubuntu?
Verfasst: 10.12.2010 16:08
von shadow
Hallo,
bei Ubuntu 10.04 wird noch Gnome verwendet, also sollte es eigentlich gehen. Ich prüfe es mal nach sobald ich zu Hause bin

Re: SetMenuItemState unter Ubuntu?
Verfasst: 10.12.2010 16:08
von ts-soft
Console öffnen:
gconf-editor eingeben (kein Sudo erforderlich)
/desktop/gnome/interface/menus_have_icons abhaken.
Gruß
Thomas
Re: SetMenuItemState unter Ubuntu?
Verfasst: 10.12.2010 16:25
von Kukulkan
Hallo ts-soft,
ja, das hat tatsächlich geholfen.
Jetzt stellen sich mir aber ein paar Fragen:
- Wie um alles in der Welt soll man da als Linux-Neuling drauf kommen
- Und warum ist das nicht ein Default? Das betrifft doch sicher auch andere Anwendungen, oder?
- Kann ich das aus meiner Anwendung heraus testen oder gar setzen?
Kukulkan
Re: SetMenuItemState unter Ubuntu? [gelöst]
Verfasst: 10.12.2010 16:39
von shadow
Super, wär ich auf die schnelle auch nicht drauf gekommen
Wie um alles in der Welt soll man da als Linux-Neuling drauf kommen
Naja, als Entwickler sollte man sich mit seinem System auskennen. Die Linux-Leute haben auch ihre Schwierigkeiten wenn sie das erste Mal unter Windows entwickeln. Also, einfach weitermachen und deinen Erfahrungsschatz erweitern
Und warum ist das nicht ein Default? Das betrifft doch sicher auch andere Anwendungen, oder?
Eine gute Frage - aber alles ist doch Einstellungssache. Ich meine ein frisch installiertes Windows ist auch nicht gleich komfortabel solange du es nicht an deine eigenen Bedürfnisse angepasst hast.
Kann ich das aus meiner Anwendung heraus testen oder gar setzen?
Jap, unter *nix-Systemen kannst du sogut wie alles in einer Konfigurationsdatei anpassen. Du musst nur noch rausfinden wo sich diese für den gconf-editor befindet (meist in /etc/ oder in deinem Homes-Verzeichnis [bestimmt versteckt, also mit einem . vor dem Dateinamen, anzeigen lassen mit "ls -al"]). Und da du keine Admin-rechte brauchst ist das ganz einfach von deiner Anwendung heraus zu realisieren...
Grüße
Re: SetMenuItemState unter Ubuntu?
Verfasst: 10.12.2010 16:42
von ts-soft
Kukulkan hat geschrieben:Jetzt stellen sich mir aber ein paar Fragen:
- Wie um alles in der Welt soll man da als Linux-Neuling drauf kommen
Linux-Neulinge benötigen das nicht
Kukulkan hat geschrieben:
- Und warum ist das nicht ein Default? Das betrifft doch sicher auch andere Anwendungen, oder?
Weil das Gegenteil Default ist, warum auch immer

Das betrifft eigentlich alle Anwendungen.
Kukulkan hat geschrieben:
- Kann ich das aus meiner Anwendung heraus testen oder gar setzen?
Testen kann man das mit Sicherheit, weiß aber im moment nicht welche Datei dafür zuständig ist.
Setzen sollte man es in keinem Fall. Das sollte
nur der User machen!!!
Gruß
Thomas
Re: SetMenuItemState unter Ubuntu? [gelöst]
Verfasst: 10.12.2010 17:00
von Kukulkan
Ok, ich verstehe.
Unter Ubuntu 10.04 LTS ist es also per Default üblich, dass Gnome-Anwendungen in deren Menü's die Haken (oder Icons) nicht anzeigen. Und niemand stört sich dran...
Ok, jetzt weiss ich, warum Linux den Durchbruch auf dem Desktop bisher nicht geschafft hat

Die Einstellung zu sagen "ist doch Toll weil man alles frei konfigurieren kann", ist typische Entwickler-Sicht. Aber die Endanwender(!) wollen ein System, dass sich per default Sinnvoll verhält. Darum der Erfolg von Apple (iTunes, iPhone, iPad etc.). Ja, man fühlt sich gegängelt, aber es macht per default das, was es soll. Ich mag Apple nicht, aber das haben Sie dort kapiert *seufz*
Da ich die Anwendung an viele Personen per Download ausliefern möchte, ist es schon wichtig zu wissen, dass viele Ubuntu-Anwender danach meine Hotline anrufen werden. Das ist ärgerlich, aber nur schwer zu umgehen. Mal sehen ob ich da was Sinnvolles einbauen kann um dem Nutzer zumindest zu helfen...
Danke trotzdem,
Kukulkan
Re: SetMenuItemState unter Ubuntu? [gelöst]
Verfasst: 10.12.2010 17:09
von shadow
Hi,
das habe ich gerade gefunden:
The readwrite source ~/.gconf is where user settings are normally written.
Quelle:
http://projects.gnome.org/gconf/
Frag doch einfach mit einer Nachricht, ob du das ändern darfst, und dann tust du es nach Bestätigung durch den Anwender.
Re: SetMenuItemState unter Ubuntu? [gelöst]
Verfasst: 10.12.2010 17:16
von ts-soft
Ok, jetzt weiss ich, warum Linux den Durchbruch auf dem Desktop bisher nicht geschafft hat...
Dann verstehe ich aber nicht, warum Windows der große Durchbruch gelungen ist, dort sind doch über 80% der
Default-Einstellungen falsch. Mich graust vor jeder Windows-Neuinstallation, dauert jedes mal Wochen bis alles
wieder rund läuft, so wie ich es mag.
Das Problem mit den Icons im Menü ist ja nur ein kleines, die nächste Ubuntu Version nutzt per Default
Unity, da sieht man gar kein mit PB erzeugtes Menü mehr, auch das der IDE ist weg
Ich hoffe mal, das PB-TEAM wird sich da noch was einfallen lassen, weil man kann die User ja nicht zwingen
den Default Desktopmanager zu wechseln. Vielleicht ändert sich ja auch an Unity noch was, die bisherige
Version in der Netbook-Edition ist mit PB jedenfalls nicht nutzbar.
Gruß
Thomas
// edit
%gconf.xml hat geschrieben:<gconf>
<entry name="icon_theme" mtime="1287089987" type="string">
<stringvalue>gnome</stringvalue>
</entry>
<entry name="gtk_theme" mtime="1287089987" type="string">
<stringvalue>Clearlooks</stringvalue>
</entry>
<entry name="menus_have_icons" mtime="1286717800" type="bool" value="true"/>
</gconf>