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
m
m (See Also)
Line 75: Line 75:
 
= See Also =  
 
= See Also =  
 
* How to update Eclipse to Rawhide (Alpha versions of Eclipse on Fedora). [https://coffeeorientedprogramming.wordpress.com/2015/07/27/how-to-update-eclipse-to-bleeding-edge-rawhide/ Eclipse to Rawhide]
 
* How to update Eclipse to Rawhide (Alpha versions of Eclipse on Fedora). [https://coffeeorientedprogramming.wordpress.com/2015/07/27/how-to-update-eclipse-to-bleeding-edge-rawhide/ Eclipse to Rawhide]
 +
* Introduction to bash scripting [http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html Bash for Beginners Guide]

Revision as of 10:27, 30 July 2015

SWT Gtk Development

  1. Atk Development SWT/Devel/Gtk/Atk
  2. Compiling various versions of Gtk SWT/Devel/Gtk/Compiling_Gtk



Launching Eclipse with SWT source code

To test SWT snippets, it's useful to launch a child Eclipse with your patch to see how it looks and feels. To do so, under run-configurations, right click on "Eclipse Application" and select "new".

Eclipse Application

Common Troubleshooting

Often Eclipse won't launch with various errors. Below are common steps to troubleshoot.

  • API Baseline: Make sure API Base line is set. If you updated Eclipse (e.g Luna to Mars), you may need to re-create the baseline.
  • Enable Execution Environments: Make sure that relevant Execution Environments are enabled. (1.5, 1.6 etc..)
Eclipse Execution Environments
  • Target Platform: Make sure to have an Target Platform set. Try re-creating it with Default for running platform.
  • Validate Plugins: In the run-time configuration for a Child Eclipse, under the 'Plug-ins' tab, instead of launching all plugins, try to select only SWT and it's binaries. Try to Validate the setup to see if there are missing dependencies.
  • re-create new run-time configuration: Often after updating Eclipse version, I have to create new "Eclipse Application" run time configurations for the child Eclipse to launch propertly

Tips

  • Choice of child Eclipse Workspace: Instead of using a blank workspace, copy your exiting workspace, append '-runtime' and use that for your child Eclipse.



Patch Submission guidelines

When submitting patches, you should consider the following:

General Checklist

  • Your patches should compile/build on both Gtk2 and Gtk3.

Also keep in mind

  • Avoid refactoring code in the same patch as a bug-fix. Instead split it up into two commits. [1]
  • Please avoid removing white spaces in the same commit as a bugfix. [2]
  • Your code should follow SWT code style. See the code in other widgets for guidance. [3]
  • Avoid introducing methods that are only called once. But if you see the same code many times, it makes sense to add a method for it.
  • When removing code that calls internal functions, check that those functions are actually still called else where. Avoid leaving dead methods in the code.
  1. This makes it easier to rollback broken commits and avoids merge conflicts.
  2. Reviewing patches that consist of a lot of white space removal and a few actual code changes is tedious and causes merge conflicts. Instead submit white space removal in a separate patch.
  3. E.g use '!=' instead of '>' for bit checks. (TODO, add wiki page on SWT code style)



Wayland Development

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

Then you can press Ctrl+Alt+F2 to get back to your original session.

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

See Also

Back to the top