win-api > linux

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

win-api > linux

Beitrag von delikanli_19_82 »

hallo leute,

ich brauche eigentlich generel eine übersicht an möglichkeiten unter linux, die sich mit dem umfang des win-api mehr oder weniger vergleichen lassen. ich meine nicht einfach so was wie "gtk.org" oder sowas.

sondern einen richtigen übersicht, wie:

win-api linux
element_a entspricht element_x


im moment brauche ich linux-varianten für:

SetParent und SetWindowPos

mfg

kurt
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: win-api > linux

Beitrag von ts-soft »

Da wirst Du nicht viel Glück haben, Linux und Windows funktionieren total unterschiedlich.
Das GUI System ist anders, das EventSystem ist anders usw., wirst Dich also mit GTK, Gnome usw.
auseinandersetzen müssen.
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
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Re: win-api > linux

Beitrag von delikanli_19_82 »

Das ist mir schon klar. ich will ja nur wissen, wie man manche dinge, die unter windows umgesetzt, wie es eben unter linux umgesetzt wird.

also eher eine konzeptsache.

wie kann man unter linux(gtk) einen borderless-window in den mutterfenster reinholen und während der laufzeit durch klick
auf ein button außerhalb des fensters verschieben, wie als würde man das ganze unter win mit setparent machen?

und dann gibt es noch die frage, wie kann man ein fenster unter linux dazu bringen, das es zwar auf maus und gar
tastatur-ereignisse reagiert, aber dessen mutterfenster dennoch fokusiert bleibt. also in vordergrund bleibt.

ich muss das in erfahrung bringen, um eine eigene lösung für ein popup-menü zu basteln, das letztendlich auf borderless-window aufbaut.

mfg

kurt
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: win-api > linux

Beitrag von TomS »

SetParent gibt's nicht (hab's zumindest nicht auf gtk.org gefunden).
Das einzige was in die Richtung gehen könnte wäre: http://www.gtk.org/api/2.6/gtk/GtkWindo ... nsient-for

SetWindowPos gibt's auch nicht, zumindest nicht so wie unter Windows (man kann keine Koordinaten angeben).
Aber da du ja ein PopupMenü erstellen möchtest, kannst du den Befehl doch gebrauchen.
Man kann nämlich die aktuelle Mausposition verwenden: http://www.gtk.org/api/2.6/gtk/GtkWindo ... t-position

Gültige Konstanten für diese Funktion stehen hier: http://www.gtk.org/api/2.6/gtk/gtk-Stan ... owPosition
#GTK_WIN_POS_MOUSE sollte das Richtige für dich sein.

Wie das alles geht, was du willst wird dir sicherlich keiner raussuchen (außer er verfolgt das gleiche Ziel).

Such mal bei Google nach
site:gtk.org "set window position"
So bin ich zur Fenster-Befehlsübersicht gekommen.
Von da aus einfach mit Firefox Suchfunktion (Strg+F) nach position und nach parent gesucht. Tadaaa.
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Re: win-api > linux

Beitrag von delikanli_19_82 »

klingt viel versprechend.

auf der Seite ist mir noch etwas aufgefallen.

WindowType: GTK_WINDOW_TOPLEVEL und *_POPUP.

Wenn außerhalb der Dekokram, *_POPUP sich von *_WINDOW nicht unterscheidet, ist es dann möglich, das man in ihm
jede erdenkliche Widget einbinden kann? oder ist es doch nur zur zwecken der "allgemeinen" menüführung konsipiert?

mfg

kurt
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: win-api > linux

Beitrag von TomS »

Woher weißt du, dass *_Popup das gleiche ist wie *_Window?
Hast du die beiden Strukturen verglichen?

Und was soll das hier sein? WindowType: GTK_WINDOW_TOPLEVEL und *_POPUP.

GTK_Window_Toplevel ist eine Style-Konstante.
Die dazu passende (fiktive) PB-Konstante: #PB_Window_AlwayOnTop

*_Popup ist der Pointer (Handle) zu einem Popup-Fenster, welches du vorher erstellen musst.

So hab ich das zumindest verstanden (bin ja kein Linux User)
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Re: win-api > linux

Beitrag von delikanli_19_82 »

hallo TomS, hab das ja sehr spät gestern verfasst. ist mir auch aufgefallen.

für mich hast sich das längst geklärt und habe nun eine brauchbare lösung etapliert.

mfg

kurt
Antworten