Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "SWT/Devel/Gtk"

< SWT‎ | Devel
(Wayland development)
(Testing)
Line 32: Line 32:
 
== Testing ==
 
== Testing ==
 
* [[SWT/Devel/Gtk/JUnitTests | SWT JUnit tests]]
 
* [[SWT/Devel/Gtk/JUnitTests | SWT JUnit tests]]
* [[SWT/Devel/Gtk/platformTests | Platform (jFace) Tests for SWT developers ]]
+
* [[SWT/Devel/Gtk/platformTests | Platform UI/JFace tests for SWT developers]]
  
 
== Uploading your patch ==
 
== Uploading your patch ==

Revision as of 15:50, 22 August 2018

Getting started

If you are new to or want to learn SWT-GTK development, please see the comprehensive SWT-GTK development guide

SWT-GTK development articles

GTK compilation

SWT JNI compilation and os_custom development

GTK CSS

Debugging

Accessibility

Equinox launcher

Coding

Testing

Uploading your patch

Miscellaneous

Wayland specific development articles

Wayland (wiki) is a rendering engine, intended to be a replacement for X Window System (wiki).

Launching Wayland

In Fedora 21+, you can run things on Wayland. There are several ways:

Log into GNOME Wayland

Log out and then on the logon screen, click on the gear icon and select "Gnome Wayland". See example screenshot. At the time of writing (2015.07.21) things like drag and drop and copy and paste did not work. So using Gnome-Wayland full time is difficult.

Launch Gnome Wayland in other Virtual Console

Alternatively, you can press Ctl+Alt+F3 etc.. to launch a virtual console. You login with your own user. Then run Gnome Wayland via:

   gnome-session --session gnome-wayland

Kill unresponsive Wayland session

You may find sometimes that Wayland with GNOME becomes unresponsive. In this case, switch back to your original virtual terminal (using Ctlr + Alt + F[1,2,3,4...]).

Running the following command will give you the PID of the process that needs to be killed in order to end the GNOME Wayland session:

  ps aux | grep <TTY_NUMBER> | grep "gnome-session --session gnome-wayland" | grep -v dbus | awk '{print $2}'                # where <TTY_NUMBER> is the tty Wayland is running on (i.e. tty[1,2,3,4...])

You can then kill it using:

 sudo kill PID               # where PID is the PID of process found from the step above

To make this a bit easier I have written a script that does this all in one step.

 export PID="$(ps aux | grep $1 | grep "gnome-session --session gnome-wayland" | grep -v dbus | awk '{print $2}')"
 kill $PID

Simply run the script using:

 kill_gnome_wayland <TTY_NUMBER>            # where <TTY_NUMBER> is the tty Wayland is running on (i.e. tty[1,2,3,4...])

Note: to kill the process you may/may not need to use sudo.

How to identify if your app runs on Wayland as backend

Wayland has a notion of XWayland. This is so that you can run Gtk2 apps on Wayland. Since Wayland and X applications look almost the same, it's tricky to tell them appart.

There are several ways to tell.

  • Launch Gtk Inspector. Under "General" tab, look under "Gdk Backend".
  • Launch looking glass "lg", top left click on "Windows" Tab, then click on one of the appliactions in the list, inspect 'Gtype'. E.g
           Gtype:MetaWindowX11          # X11
           Gtype:MetaWindowWayland      # Wayland


Useful Eclipse wiki pages

These are pages mostly for special interest.

Further reading beyond this wiki

Back to the top