SlideShare a Scribd company logo
1 of 36
Download to read offline
static void




Adapting GNOME
                                                 _f_do_barnacle_install_properties(GObjectClass
                                                                                 *gobject_class)
                                                                                                {
                                                                           GParamSpec *pspec;




Applications to
                                                                      /* Party code attribute */
                                      pspec = g_param_spec_uint64 (F_DO_BARNACLE_CODE,
                                                                             "Barnacle code.",
                                                                              "Barnacle code",
                                                                                             0,
                                                                              G_MAXUINT64,




Maemo Fremantle
                                                               G_MAXUINT64 /* default value
                                                                                             */,
                                                                     G_PARAM_READABLE |
                                                                     G_PARAM_WRITABLE |
                                                                       G_PARAM_PRIVATE);

                                                  g_object_class_install_property (gobject_class,

                                                             F_DO_BARNACLE_PROP_CODE,




Joaquim Rocha       (jrocha on IRC)
jrocha@igalia.com
whoami

●   GTK+ && Hildon && Python developer

●   Igalian since 2008

●   Part of Hildon Input Methods project


Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
What porting means?
What porting means
●   Before Fremantle:
    ●   Make an application RUN in Maemo


●   After Fremantle:
    ●   ADAPT an application to Maemo


Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
Why bothering?

●   Your application gets better
●   Your users get happier
●   Your fingers too!




Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
GNOME Applications

●   Coding will be easier – it is GTK+!
●   Lots of interesting applications waiting to be ported!
●   If you're a GNOME user, you may have your common
    applications available to you.



Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
Root view / Sub view
Root view / sub view philosophy
●   Applications are stacks of windows

●   The root window is the base
    ●   E.g.: List of emails

●   Actions that break the usage flow, will be sub views:
    ●   E.g.: Reading an email

Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
Root View                                       Sub View




              This means: no GTKPaned!


Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
Black Chapter
I L !
FA
What to do with this!?
Divide and Conquer
When a box is tapped,
                          a dialog appears...



Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
Use a GtkToggle button or a
HildonPickerButton
Replaced the GtkSpinButtons by
HildonEntries and not by
HildonPickerButtons because the
changes are shown immediately in
the image.




                                   Assign the numeric GtkInputMode
Text is the focus here, so, instead of a
GtkNotebook, the style properties are in a
GtkDialog launched from the text properties
HildonAppMenu
GtkSpinButtons are replaced by
HildonPickerButtons with a
TouchSelectorEntry assigned
HildonAppMenu
HildonAppMenu
●   Really different from a GtkMenu!!

●   Do not stuff it: Keep a low number of items

●   Use filters to display HOW contents are shown, not
    WHICH contents are shown


Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
How to keep a low number of menu items?




                 DRY: Don't Repeat Yourself



Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
Choose the most used/important menus and sub-
menus from the menu bar.

Pages can be chosen using gestures, so, no need for
Next/Previous menus.
The status bar and toolbar are not used in EOG
for Maemo, so, no menus are needed.

The Zoom In / Zoom Out functionalities are
accomplished by using the Increase / Decrease
hard-keys.
Following the Hildon Interface
                     Guidelines
●   HIG says: don't show menu items that are insensitive
●   Here's a helpful tip:
    ●   Connect a callback to the “show” signal of each
        HildonAppMenu item
    ●   The callback shows/hides the item according to its
        “sensitive” property



Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
EOG with no images loaded




EOG with an image loaded
Migrating Preferences Dialogs
Preferences Dialogs
●   Dialogs with a GtkNotebook to group different kinds of
    preferences

●   Tabs' labels define groups' names




                   Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
How to migrate it to Fremantle?
●   Use a HildonPannableArea

●   Add a GtkVBox with ALL the preferences groups and
    use a GtkLabel above each one, identifying it




                  Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
Where to go from here?
●   Maemo 5 Developer Guide:

    http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide


●   Maemo 5 API Reference:

    http://maemo.org/api_refs/5.0/5.0-final/hildon/


                          Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
Questions?
Thank you!

More Related Content

Viewers also liked

Brochure & order form central europe b2 c e-commerce report 2011_by ystats.com
Brochure & order form central europe b2 c e-commerce report 2011_by ystats.comBrochure & order form central europe b2 c e-commerce report 2011_by ystats.com
Brochure & order form central europe b2 c e-commerce report 2011_by ystats.com
yStats.com
 
Dfcs docs important 04112015
Dfcs docs important 04112015Dfcs docs important 04112015
Dfcs docs important 04112015
screaminc
 
Commercial Properties
Commercial PropertiesCommercial Properties
Commercial Properties
marktaglieber
 
Campaña Miguel Ángel Mancera. ESCOMI
Campaña Miguel Ángel Mancera. ESCOMI Campaña Miguel Ángel Mancera. ESCOMI
Campaña Miguel Ángel Mancera. ESCOMI
Melissa Jiménez
 
Bf2dohijo2012
Bf2dohijo2012Bf2dohijo2012
Bf2dohijo2012
otepsn
 
Nivelacion, topografia
Nivelacion, topografiaNivelacion, topografia
Nivelacion, topografia
UdC
 

Viewers also liked (14)

Brochure & order form central europe b2 c e-commerce report 2011_by ystats.com
Brochure & order form central europe b2 c e-commerce report 2011_by ystats.comBrochure & order form central europe b2 c e-commerce report 2011_by ystats.com
Brochure & order form central europe b2 c e-commerce report 2011_by ystats.com
 
Dfcs docs important 04112015
Dfcs docs important 04112015Dfcs docs important 04112015
Dfcs docs important 04112015
 
Commercial Properties
Commercial PropertiesCommercial Properties
Commercial Properties
 
Periódico Cámara en Acción Agosto 2015
Periódico Cámara en Acción Agosto 2015Periódico Cámara en Acción Agosto 2015
Periódico Cámara en Acción Agosto 2015
 
Campaña Miguel Ángel Mancera. ESCOMI
Campaña Miguel Ángel Mancera. ESCOMI Campaña Miguel Ángel Mancera. ESCOMI
Campaña Miguel Ángel Mancera. ESCOMI
 
Dream Hotels Of The World Part 1
Dream Hotels Of The World Part 1Dream Hotels Of The World Part 1
Dream Hotels Of The World Part 1
 
STATE WISE LIST OF ASSOCIATIONS WHO HAVE NOT FURNISHED MANDATORY ANNUAL RETUR...
STATE WISE LIST OF ASSOCIATIONS WHO HAVE NOT FURNISHED MANDATORY ANNUAL RETUR...STATE WISE LIST OF ASSOCIATIONS WHO HAVE NOT FURNISHED MANDATORY ANNUAL RETUR...
STATE WISE LIST OF ASSOCIATIONS WHO HAVE NOT FURNISHED MANDATORY ANNUAL RETUR...
 
Mexico presentation3
Mexico presentation3Mexico presentation3
Mexico presentation3
 
Rust, el nuevo lenguaje de Mozilla
Rust, el nuevo lenguaje de MozillaRust, el nuevo lenguaje de Mozilla
Rust, el nuevo lenguaje de Mozilla
 
Business organization as a inforamtion system
Business organization as a inforamtion systemBusiness organization as a inforamtion system
Business organization as a inforamtion system
 
Lodos de la empresa comestibles la rosa
Lodos de la empresa comestibles la rosaLodos de la empresa comestibles la rosa
Lodos de la empresa comestibles la rosa
 
Bf2dohijo2012
Bf2dohijo2012Bf2dohijo2012
Bf2dohijo2012
 
The scrum events athens agile meetup
The scrum events athens agile meetupThe scrum events athens agile meetup
The scrum events athens agile meetup
 
Nivelacion, topografia
Nivelacion, topografiaNivelacion, topografia
Nivelacion, topografia
 

Similar to Adapting GNOME Applications to Maemo Fremantle

Grilo: Integrating Multimedia Content in Applications (ELCE 2010)
Grilo: Integrating Multimedia Content in Applications (ELCE 2010)Grilo: Integrating Multimedia Content in Applications (ELCE 2010)
Grilo: Integrating Multimedia Content in Applications (ELCE 2010)
Igalia
 
Grilo: Easing integration of multimedia content in applications (LinuxTag 2010)
Grilo: Easing integration of multimedia content in applications (LinuxTag 2010)Grilo: Easing integration of multimedia content in applications (LinuxTag 2010)
Grilo: Easing integration of multimedia content in applications (LinuxTag 2010)
Igalia
 

Similar to Adapting GNOME Applications to Maemo Fremantle (20)

Modest Maemo Summit 09
Modest Maemo Summit 09Modest Maemo Summit 09
Modest Maemo Summit 09
 
Making the GNOME 3.0 desktop accessible: building accessibility into GNOME Sh...
Making the GNOME 3.0 desktop accessible: building accessibility into GNOME Sh...Making the GNOME 3.0 desktop accessible: building accessibility into GNOME Sh...
Making the GNOME 3.0 desktop accessible: building accessibility into GNOME Sh...
 
Grilo: Feeding applications with multimedia content (GUADEC 2010)
Grilo: Feeding applications with multimedia content (GUADEC 2010)Grilo: Feeding applications with multimedia content (GUADEC 2010)
Grilo: Feeding applications with multimedia content (GUADEC 2010)
 
Grilo: Integrating Multimedia Content in Applications (ELCE 2010)
Grilo: Integrating Multimedia Content in Applications (ELCE 2010)Grilo: Integrating Multimedia Content in Applications (ELCE 2010)
Grilo: Integrating Multimedia Content in Applications (ELCE 2010)
 
Grilo: Easing integration of multimedia content in applications (LinuxTag 2010)
Grilo: Easing integration of multimedia content in applications (LinuxTag 2010)Grilo: Easing integration of multimedia content in applications (LinuxTag 2010)
Grilo: Easing integration of multimedia content in applications (LinuxTag 2010)
 
OCRFeeder LinuxTag 2011
OCRFeeder LinuxTag 2011OCRFeeder LinuxTag 2011
OCRFeeder LinuxTag 2011
 
Building Chromium on an Embedded Platform using Ozone-Wayland Layer (GENIVI 1...
Building Chromium on an Embedded Platform using Ozone-Wayland Layer (GENIVI 1...Building Chromium on an Embedded Platform using Ozone-Wayland Layer (GENIVI 1...
Building Chromium on an Embedded Platform using Ozone-Wayland Layer (GENIVI 1...
 
Grilo
GriloGrilo
Grilo
 
Servo and GStreamer (GStreamer Conference 2018)
Servo and GStreamer (GStreamer Conference 2018)Servo and GStreamer (GStreamer Conference 2018)
Servo and GStreamer (GStreamer Conference 2018)
 
Hildon 2.2: the Hildon toolkit for Fremantle
Hildon 2.2: the Hildon toolkit for FremantleHildon 2.2: the Hildon toolkit for Fremantle
Hildon 2.2: the Hildon toolkit for Fremantle
 
State of WebKit/Safari (This.JavaScript - State of Browsers 2018)
State of WebKit/Safari (This.JavaScript - State of Browsers 2018)State of WebKit/Safari (This.JavaScript - State of Browsers 2018)
State of WebKit/Safari (This.JavaScript - State of Browsers 2018)
 
WPE: Current Status and Future (Web Engines Hackfest 2018)
WPE: Current Status and Future (Web Engines Hackfest 2018)WPE: Current Status and Future (Web Engines Hackfest 2018)
WPE: Current Status and Future (Web Engines Hackfest 2018)
 
Writing multimedia applications with Grilo
Writing multimedia applications with GriloWriting multimedia applications with Grilo
Writing multimedia applications with Grilo
 
Writing multimedia applications with Grilo (GUADEC 2013)
Writing multimedia applications with Grilo (GUADEC 2013)Writing multimedia applications with Grilo (GUADEC 2013)
Writing multimedia applications with Grilo (GUADEC 2013)
 
Day4
Day4Day4
Day4
 
Day4
Day4Day4
Day4
 
Eugenia
EugeniaEugenia
Eugenia
 
BSidesROC 2016 - Jaime Geiger - Android Application Function Hooking With Xposed
BSidesROC 2016 - Jaime Geiger - Android Application Function Hooking With XposedBSidesROC 2016 - Jaime Geiger - Android Application Function Hooking With Xposed
BSidesROC 2016 - Jaime Geiger - Android Application Function Hooking With Xposed
 
Develop Android app using Golang
Develop Android app using GolangDevelop Android app using Golang
Develop Android app using Golang
 
Golang workshop
Golang workshopGolang workshop
Golang workshop
 

More from Joaquim Rocha (7)

Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to Django
 
Introducción a Django
Introducción a DjangoIntroducción a Django
Introducción a Django
 
Ocrfeeder
OcrfeederOcrfeeder
Ocrfeeder
 
Django introduction
Django introductionDjango introduction
Django introduction
 
Python introduction
Python introductionPython introduction
Python introduction
 
Hands On The New Hildon
Hands On The New HildonHands On The New Hildon
Hands On The New Hildon
 
Django Intro
Django IntroDjango Intro
Django Intro
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Adapting GNOME Applications to Maemo Fremantle

  • 1. static void Adapting GNOME _f_do_barnacle_install_properties(GObjectClass *gobject_class) { GParamSpec *pspec; Applications to /* Party code attribute */ pspec = g_param_spec_uint64 (F_DO_BARNACLE_CODE, "Barnacle code.", "Barnacle code", 0, G_MAXUINT64, Maemo Fremantle G_MAXUINT64 /* default value */, G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_PRIVATE); g_object_class_install_property (gobject_class, F_DO_BARNACLE_PROP_CODE, Joaquim Rocha (jrocha on IRC) jrocha@igalia.com
  • 2. whoami ● GTK+ && Hildon && Python developer ● Igalian since 2008 ● Part of Hildon Input Methods project Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  • 4. What porting means ● Before Fremantle: ● Make an application RUN in Maemo ● After Fremantle: ● ADAPT an application to Maemo Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  • 5. Why bothering? ● Your application gets better ● Your users get happier ● Your fingers too! Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  • 6. GNOME Applications ● Coding will be easier – it is GTK+! ● Lots of interesting applications waiting to be ported! ● If you're a GNOME user, you may have your common applications available to you. Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  • 7. Root view / Sub view
  • 8. Root view / sub view philosophy ● Applications are stacks of windows ● The root window is the base ● E.g.: List of emails ● Actions that break the usage flow, will be sub views: ● E.g.: Reading an email Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  • 9. Root View Sub View This means: no GTKPaned! Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  • 11.
  • 13.
  • 14.
  • 15. What to do with this!?
  • 17. When a box is tapped, a dialog appears... Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  • 18.
  • 19. Use a GtkToggle button or a HildonPickerButton
  • 20. Replaced the GtkSpinButtons by HildonEntries and not by HildonPickerButtons because the changes are shown immediately in the image. Assign the numeric GtkInputMode
  • 21. Text is the focus here, so, instead of a GtkNotebook, the style properties are in a GtkDialog launched from the text properties HildonAppMenu
  • 22. GtkSpinButtons are replaced by HildonPickerButtons with a TouchSelectorEntry assigned
  • 24. HildonAppMenu ● Really different from a GtkMenu!! ● Do not stuff it: Keep a low number of items ● Use filters to display HOW contents are shown, not WHICH contents are shown Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  • 25. How to keep a low number of menu items? DRY: Don't Repeat Yourself Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  • 26. Choose the most used/important menus and sub- menus from the menu bar. Pages can be chosen using gestures, so, no need for Next/Previous menus.
  • 27. The status bar and toolbar are not used in EOG for Maemo, so, no menus are needed. The Zoom In / Zoom Out functionalities are accomplished by using the Increase / Decrease hard-keys.
  • 28. Following the Hildon Interface Guidelines ● HIG says: don't show menu items that are insensitive ● Here's a helpful tip: ● Connect a callback to the “show” signal of each HildonAppMenu item ● The callback shows/hides the item according to its “sensitive” property Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  • 29. EOG with no images loaded EOG with an image loaded
  • 31. Preferences Dialogs ● Dialogs with a GtkNotebook to group different kinds of preferences ● Tabs' labels define groups' names Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  • 32. How to migrate it to Fremantle? ● Use a HildonPannableArea ● Add a GtkVBox with ALL the preferences groups and use a GtkLabel above each one, identifying it Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  • 33.
  • 34. Where to go from here? ● Maemo 5 Developer Guide: http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide ● Maemo 5 API Reference: http://maemo.org/api_refs/5.0/5.0-final/hildon/ Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>