SetMenuItemState unter Ubuntu? [gelöst]

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

SetMenuItemState unter Ubuntu? [gelöst]

Beitrag 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
Zuletzt geändert von Kukulkan am 10.12.2010 16:25, insgesamt 1-mal geändert.
Benutzeravatar
Vera
Beiträge: 928
Registriert: 18.03.2009 14:47
Computerausstattung: Win XP SP2, Suse 11.1
Wohnort: Essen

Re: SetMenuItemState unter Ubuntu?

Beitrag 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
°
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\
Benutzeravatar
shadow
Beiträge: 189
Registriert: 23.03.2005 17:52
Wohnort: Lübeck

Re: SetMenuItemState unter Ubuntu?

Beitrag 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 :wink:
ThinkPad T61 (in Gedenken) | PureBasic 4.61 B1 (32) | Windows 7 (32SP1) | ArchLinux (32) | Syllable (32)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: SetMenuItemState unter Ubuntu?

Beitrag von ts-soft »

Console öffnen:
gconf-editor eingeben (kein Sudo erforderlich)
/desktop/gnome/interface/menus_have_icons abhaken.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Re: SetMenuItemState unter Ubuntu?

Beitrag von Kukulkan »

Hallo ts-soft,

ja, das hat tatsächlich geholfen. :allright:

Jetzt stellen sich mir aber ein paar Fragen:
- Wie um alles in der Welt soll man da als Linux-Neuling drauf kommen :shock:
- 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
Benutzeravatar
shadow
Beiträge: 189
Registriert: 23.03.2005 17:52
Wohnort: Lübeck

Re: SetMenuItemState unter Ubuntu? [gelöst]

Beitrag von shadow »

Super, wär ich auf die schnelle auch nicht drauf gekommen :allright:
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 :wink:
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
ThinkPad T61 (in Gedenken) | PureBasic 4.61 B1 (32) | Windows 7 (32SP1) | ArchLinux (32) | Syllable (32)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: SetMenuItemState unter Ubuntu?

Beitrag 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 :shock:
Linux-Neulinge benötigen das nicht :mrgreen:
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 :mrgreen: 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Re: SetMenuItemState unter Ubuntu? [gelöst]

Beitrag 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... :freak:

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
Benutzeravatar
shadow
Beiträge: 189
Registriert: 23.03.2005 17:52
Wohnort: Lübeck

Re: SetMenuItemState unter Ubuntu? [gelöst]

Beitrag 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.
ThinkPad T61 (in Gedenken) | PureBasic 4.61 B1 (32) | Windows 7 (32SP1) | ArchLinux (32) | Syllable (32)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: SetMenuItemState unter Ubuntu? [gelöst]

Beitrag 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 :mrgreen:

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>
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten