Related Pages
Here is a list of all related documentation pages:

Ecore | Ecore Library Public API Calls
The Ecore Main Loop |
The Enlightened Property Library | The Enlightened Property Library (Ecore_Config) is an abstraction from the complexities of writing your own configuration
X Window System | The Ecore library includes a wrapper for handling the X window system
Ector |
Edje | Edje Graphical Design Library
Edje Lua scripting |
Eet | Eet Data Handling Library Public API Calls
Nested structures and Eet Data Descriptors | We've seen already a simple example of how to use Eet Data Descriptors to handle our structures, but it didn't show how this works when you have structures inside other structures
Advanced use of Eet Data Descriptors | A real life example is usually the best way to see how things are used, but they also involve a lot more code than what needs to be shown, so instead of going that way, we'll be borrowing some pieces from one in the following example
Eeze | Eeze Device Library
Efreet |
Eina |
Eina_Accessor usage |
Eina_Accessor usage example |
Basic array usage |
Basic array usage example |
Removing array elements |
Basic array usage example |
Benchmark Tutorial | The Benchmark module allows you to write easily benchmarks framework to a project for timing critical parts and detecting slow parts of code
Binary Share Tutorial |
Eina Debug |
Error Tutorial |
eina_file_example_01_page |
eina_file_example_01 |
Eina_Hash in action |
Hash table in action |
Different types of tables | This example shows two more types of hash tables that can be created using Eina_Hash
Eina inline array usage |
eina_inarray_01.c |
Eina inline array of strings |
eina_inarray_02.c |
Eina inline array insert, sort and search |
eina_inarray_03.c |
Eina_Inlist basic usage |
Eina_Inlist advanced usage - lists and inlists |
Eina_Inlist advanced usage - multi-inlists |
eina_inlist_01.c Eina_Inlist basic usage source |
eina_inlist_02.c Eina_Inlist advanced usage - lists and inlists source |
eina_inlist_03.c Eina_Inlist advanced usage - multi-inlists source |
Eina_Iterator usage |
Eina_Iterator usage |
Adding elements to Eina_List |
Adding elements to Eina_List example |
Sorting Eina_List elements |
Sorting Eina_List elements example |
Reordering Eina_List elements |
Reordering Eina_List elements example |
Eina_List and memory allocation |
Eina_List and memory allocation example |
Log Tutorial |
eina_magic_example_01_page |
Eina_Magic |
Sparse Matrix Tutorial | to be written..
QuadTree Tutorial | to be written..
eina_simple_xml_parser_example_01_page |
eina_simple_xml_parser_example_01 |
Eina String example |
Eina_Strbuf example |
eina_stringshare_example_01_page |
eina_stringshare_example_01 |
eina_tiler_example_01 |
eina_tmpstr_ppage | Eina tmpstr is intended for being able to conveniently pass strings back to a calling parent without having to use single static buffers (which don't work with multiple threads or when returning multiple times as parameters to a single function
UStringshare Tutorial | to be written..
Eina_Value usage |
eina_value_01.c |
Eina_Value struct usage |
eina_value_02.c |
Eina value custom type example |
eina_value_03.c |
Eio |
Eldbus |
Authors |
Elua library (BETA) |
Embryo | Embryo Library
Brief Introduction to Small | This section describes the basics of Small, as compiled and interpreted with Embryo
Available Calls | Embryo provides a minimal set of native calls that can be used within any Embryo script
Emotion |
Eolian |
Eolian Auxiliary Library (BETA) |
EPhysics |
Ethumb |
Client-Server Thumbnailing Tutorial |
Evas Textblock Style Options | This page describes how to style text in an Evas Text Block
Evas |
Evas filters reference |
Evil |
Elementary |
Infrastructure list | Elementary is mostly composed of widgets, but it also contains some infrastructure modules that facilitate the use of widgets
Widget list | Here is a list of the widgets and some images to give you an idea of what they are:
Containers List | Elementary is about displaying its widgets in a nice layout, for this purpose it provides a number of containers
Threading | You may use threads with EFL, but only in specific ways
pkgconfig |
Eina Examples | Examples:
Ecore Examples | Here is a page with some Ecore examples explained:
ecore_time - Differences between time functions | This example shows the difference between calling ecore_time_get(), ecore_loop_time_get() and ecore_time_unix_get()
ecore timers - Scheduled events |
ecore idle state - Idlers, enterers and exiters | This example demonstrates how to manage the idle state of the main loop
ecore_job - Queuing tasks | This example shows how an Ecore_Job can be added, how it can be deleted, and that they always execute in the added order
Handling events example | This example shows the simplest possible way to register a handler for an ecore event, this way we can focus on the important aspects
ecore events and handlers - Setup and use | This example shows how to create a new type of event, setup some event handlers to it, fire the event and have the callbacks called
ecore fd handlers - Monitoring file descriptors |
ecore poller - Repetitive polling tasks |
Ecore_Con - DNS lookup | This is a very simple example that shows how to make a simple DNS lookup using ecore_con_lookup()
Ecore_Con_Url - downloading a file | This is a simple example that shows how to download a file using Ecore_Con_Url
Ecore_Con_Url - Managing cookies | This example shows how to use an Ecore_Con_Url and enable it to receive/send cookies
Ecore_Con_Url - customizing a request | This is a simple example that shows how to make a custom request using Ecore_Con_Url
Ecore_Con - Creating a server | In this example we are going to create a server that listens for connections from clients through a TCP port
Ecore_Con - Creating a client | Following the same idea as the Ecore_Con - Creating a server , this example will demonstrate how to create a client that connects to a specified server through a TCP port
tutorial_ecore_pipe_gstreamer_example | Here is an example that uses the pipe wrapper with a Gstreamer pipeline
tutorial_ecore_pipe_simple_example |
Ecore animator example |
Ecore_Thread - API overview | Working with threads is hard
Ecore Evas Callbacks |
Ecore_Evas window size hints | On this example, we show you how to deal with `Ecore_Evas` window size hints, which are implemented per Evas engine
Ecore Evas Object example |
Ecore Evas basics example |
Ecore_Evas buffer example | Between the Evas examples, there is one in which one creates a canvas bound to the Evas buffer engine and uses its pixel contents to create an PPM image on disk
Ecore_Evas (image) buffer example | In this example, we'll demonstrate the use of ecore_evas_object_image_new()
Ecore_exe | Creating a processes and IPC (Inter process communication)
ecore_imf - How to handle preedit and commit string from Input Method Framework | This example demonstrates how to connect input method framework and handle preedit and commit string from input method framework
EET Examples | Here is a page with examples
Very basic Eet example |
Example of the various ways to interface with an Eet File |
Simple data example |
Nested data example |
File descriptor data example |
File descriptor data example, with Eet unions and variants | This is an example much like the one shown in Advanced use of Eet Data Descriptors
Eet data cipher/decipher example | In this example, we exemplify the usage of eet_write_cipher() and eet_read_cipher()
Evas Examples | Here is a page with examples
Simple Evas canvas example | The canvas will here use the buffer engine
Evas' init/shutdown routines example |
Some image object functions examples |
Some more image object functions examples (2nd block) |
Evas events (canvas and object ones) and some canvas operations example |
Evas objects basic manipulation example |
Evas aspect hints example |
Evas alignment, minimum size, maximum size, padding and weight hints example | In this code, we place a (vertical) box with two rectangles as child elements
Evas box example | In this example, we demonstrate the use of Evas box objects
Evas object stacking functions (and some event handling) |
Evas Map - Overview |
Evas object smart objects |
Evas object smart interfaces |
Evas text object example | In this example, we illustrate how to use text objects in various manners
Table Smart Object example | This example will arrange rectangles of different sizes(and colors) in a table
Eo Tutorial |
Eio Examples | Here is a page with some Eio examples explained:
eio_dir_copy() tutorial | To use eio_dir_copy(), you basically need the source and destination files (or directories), and set three callbacks:
eio_dir_stat_ls() tutorial |
eio_file_ls() tutorial | To use eio_file_ls(), you just need to define four callbacks:
eio_monitor_add() tutorial | To use eio_monitor_add(), you have to define callbacks for events declared by eio
eio_dir_direct_ls() tutorial |
Eldbus Examples | Examples:
EPhysics Examples | Examples:
EPhysics - Bouncing Ball | The purpose of this example is to show how to write an simple application - as the name suggests - with a small ball bouncing on the ground and responding to users events by making it jump - applying a central impulse on it
test_bouncing_ball.c |
EPhysics - Bouncing Text | The purpose of this example is to demonstrate the EPhysics_Body binding to a text (Evas_Object)
test_bouncing_text.c |
EPhysics - Camera | The purpose of this example is to demonstrate the EPhysics_Camera usage
test_camera.c |
EPhysics - Camera Track | The purpose of this example is to demonstrate the EPhysics_Camera Track usage
test_camera_track.c |
EPhysics - Collision Detection | The purpose of this example is to demonstrate the EPhysics Collision Detection usage - The code adds two balls, one with impulse and the second with a collision detection callback, to show an effect
test_collision_detection.c |
EPhysics - Collision Filter | The purpose of this example is to demonstrate the EPhysics Collision Filter usage - The code adds four balls in 2 rows and 2 columns, two on each collision group, the collision only happens when the balls are in the same group (row),to make it easier, balls in the same group has the same color and size
test_collision_filter.c |
EPhysics - Delete Body | The purpose of this example is to demonstrate the EPhysics Callbacks usage - The code adds two balls, one with impulse and the second with a collision detection callback, to delete the body
test_delete.c |
EPhysics - Constraint | The purpose of this example is to demonstrate the EPhysics Constraint usage - The code apply a constraint between two cubes
test_constraint.c |
EPhysics - Forces | The purpose of this example is to demonstrate the EPhysics Force usage - The code applies force over two cubes
test_forces.c |
EPhysics - Growing Balls | The purpose of this example is to demonstrate the dynamically growing and shrinking of an EPhysics_Body - The code applies the growth of a ball and the shrink of another
test_growing_balls.c |
EPhysics - Gravity | The purpose of this example is to demonstrate the EPhysics Gravity usage - The code apply gravity in an EPhysics_World with two cubes in movement
test_no_gravity.c |
EPhysics - Logo | The purpose of this example is to demonstrate the EPhysics_Logo
ephysics_logo.c |
EPhysics - Rotating Forever | The purpose of this example is to demonstrate the EPhysics Rotate usage - The code applies different ways to rotate an EPhysics_Body, such as torque, torque impulse and rotation set
test_rotating_forever.c |
EPhysics - Velocity | The purpose of this example is to demonstrate the EPhysics Velocity usage - The code adds a small bouncing ball on the ground and responding to users events by making it jump - applying a central impulse on it and showing its velocity and acceleration
test_velocity.c |
EPhysics - Shapes | The purpose of this example is to demonstrate the EPhysics Shapes usage - The code creates two EPhysics_Bodys using a custom shape
test_shapes.c |
EPhysics - Sleeping Threshold | The purpose of this example is to demonstrate the EPhysics Sleeping Threshold usage - The code apply sleeping threshold in two cubes
test_sleeping_threshold.c |
EPhysics - Slider | The purpose of this example is to demonstrate the EPhysics Slider constraint usage - The code applies slider on three cubes
test_slider.c |
Edje Examples | Examples:
Edje basics example | In this example, we illustrate how to start using the Edje library, with the very basic one needs to instantiate an Edje object
Edje Nested Part (hierarchy) example | Nested part feature represents the concept of hierarchy to edje
Swallow example |
Edje Text example | This example shows how to manipulate TEXT and TEXTBLOCK parts from code
Table example | In this example, we illustrate how to organize your objects on a table, using the edje_object_part_table functions
Box example - basic usage | This example shows how to append, insert and remove elements from an Edje box part
Box example - custom layout | This example shows how to register a custom layout to be used by the Edje box part
Dragable parts example | This example shows how to manipulate a dragable part through the edje_object_part_drag API
Perspective example | This example demonstrates how someone can set a perspective to be used by an Edje object, but setting a global perspective
Edje signals and messages | In this example, we illustrate how Edje signals and Edje messages work
Edje Color Class example |
Edje Animations example | In this example we will figure out how to manipulate the animations on an Edje object
Multisense example |
Edje basics example 2 | In this example we will show how to load an image and move it across the window
Swallow example 2 | This example will show you how to load an image using evas and fill a swallow with it
Edje Signals example 2 | In this example we will make use of signals to help to move an image away from the mouse pointer
Edje animations example 2 | In this example we will make an animation of a bouncing ball
Edje Data Collection reference | An Edje Data Collection, it's a plain text file (normally identified with the .edc extension), consisting of instructions for the Edje Compiler
Emotion Examples | Here is a page with some Emotion examples explained:
Emotion - Basic library usage | This example shows how to setup a simple Emotion object, make it start playing and register a callback that tells when the playback started
Examples | Here is a list of all Elementary examples
elm_bg - Plain color background. |
elm_bg - Image background. |
elm_bg - Background properties. |
Actionslider usage |
elm_transit - Combined effects and options. | This example shows how to apply the following transition effects:
elm_transit - Combined effects over two objects. | This example shows how to apply the transition effects:
elm_transit - Basic transit usage. |
elm_transit - Chained transitions. |
General (top-level) functions example |
Theme - Using extensions |
Theme - Using overlays |
Button - Hello, Button! |
Button - Complete example |
elm_bubble - Simple use. |
Box - Basic API |
Box - Layout transitions |
Calendar - Simple creation. |
Calendar - Layout strings formatting. |
Calendar - Years restrictions. |
Calendar - Days selection. |
Calendar - Signal callback and getters. |
Calendar - Calendar marks. |
Spinner widget example | This code places seven Elementary spinner widgets on a window, each of them exemplifying a part of the widget's API
Slider widget example | This code places seven Elementary slider widgets on a window, each of them exemplifying a part of the widget's API
Panes widget example | This code places two Elementary panes widgets on a window, one of them displayed vertically and the other horizontally, to exemplify a part of the widget's API
Clock widget example | This code places five Elementary clock widgets on a window, each of them exemplifying a part of the widget's API
Datetime widget example | This code places three Elementary Datetime widgets on a window, each of them exemplifying the widget's different usage
Dayselector widget example | This code places two Elementary dayselector widgets on a window, each of them exemplifying the different widget styles
Mapbuf Widget Example | This code places an Elementary mapbuf widget on a window, to exemplify part of the widget's API
Map Example - Creation and Zoom | This code places an Elementary map widget on a window, to exemplify part of the widget's API
Map Example - Overlay Usage | This code places an Elementary map widget on a window, to exemplify part of the widget's API, related to overlays
Map Example - Route and Name Usage | This code places an Elementary map widget on a window, to exemplify part of the widget's API, related routes and names
Diskselector widget example | This code places 4 Elementary diskselector widgets on a window, each of them exemplifying a part of the widget's API
Diskselector - Items management | This code places an Elementary diskselector widgets on a window, along with some buttons trigerring actions on it (though its API)
List widget example | This code places a single Elementary list widgets on a window, just to exemplify the more simple and common use case: a list will be created and populated with a few items
List widget example | This code places a single Elementary list widgets on a window, exemplifying a part of the widget's API
List - Items management | This code places an Elementary list widgets on a window, along with some buttons trigerring actions on it (though its API)
Toolbar Example - Simple Items | This code places an Elementary toolbar widget on a window, to exemplify part of the widget's API
Toolbar Example - Items with States | This code places an Elementary toolbar widget on a window, to exemplify part of the widget's API
Toolbar Example - Items with Menus | Toolbar widgets have support to items with menus
Segment Control Example | This code places an Elementary segment control widgets on a window, to exemplify part of the widget's API
Flip selector widget example | This code places an Elementary flip selector widget on a window, along with two buttons trigerring actions on it (though its API)
File selector widget example | This code places two Elementary file selector widgets on a window
File selector button widget example | This code places an Elementary file selector button widget on a window, along with some other checkboxes and a text entry
File selector entry widget example | This code places an Elementary file selector entry widget on a window, along with some other checkboxes
Layout - Content, Table and Box | This example shows how one can use the Layout widget to create a customized distribution of widgets on the screen, controlled by an Edje theme
Layout - Predefined Layout | This example shows how one can use the Layout with a predefined theme layout to add a back and next button to a simple window
Layout - Signals and Size Changed | This example shows how one can send and receive signals to/from the layout, and what to do when the layout theme has its size changed
Hover example |
Flip example |
Label example |
Image example |
Icon example |
Hoversel example |
Conformant Example. | In this example we'll explain how to create applications to work with illume, considering space required for virtual keyboards, indicator and softkeys
Index widget example 1 | This code places an Elementary index widget on a window, which also has a very long list of arbitrary strings on it
Index widget example 2 | This code places an Elementary index widget on a window, indexing grid items
Ctxpopup example |
Separator example |
Radio example |
Panel example |
Gengrid widget example | This application is a thorough exercise on the gengrid widget's API
Entry - Example of simple editing | As a general overview of Elm_Entry we are going to write an, albeit simple, functional editor
Genlist - basic usage | This example creates a simple genlist with a small number of items and a callback that is called whenever an item is selected
Genlist - list setup functions | This example is very similar to the Genlist - basic usage, but it fetch most of the properties of the genlist and displays them on startup (thus getting the default value for them) and then set them to some other values, to show how to use that API
Genlist - different width options | This example doesn't present any other feature that is not already present in the other examples, but visually shows the difference between using the default list options (first list of the example), setting the horizontal mode to ELM_LIST_LIMIT (second list), enabling compress mode (third list) and using height_for_width option (fourth list)
Genlist - items manipulation | This example is also similar ot the Genlist - basic usage, but it demonstrates most of the item manipulation functions
Genlist - working with subitems | This is probably the most complex example of elementary Elm_Genlist
Thumb - generating thumbnails. | This example shows how to create a simple thumbnail object with Elementary
Progress bar widget example | This application is a thorough example of the progress bar widget, consisting of a window with various progress bars, each with a given look/style one can give to those widgets
Notify example |
popup_example_01.c |
popup_example_02.c |
popup_example_03.c |
Frame example |
Check example |
Color selector example |
Slideshow widget example | This application is aimed to exemplify the slideshow widget
Photocam example |
Inwin - General overview | Inwin is a very simple widget to show, so this example will be a very simple one, just using all of the available API
Scroller example |
tutorial_table_01 | In this example we add four labels to a homogeneous table that has a padding of 5px between cells
tutorial_table_02 | For our second example we'll create a table with 4 rectangles in it
Menu Example |
Win - General API overview | For most users of the Elementary API, the Elm_Win widget has a lot more functions than what they need
Web - Simple example | WebKit-EFL is independent of any particular toolkit, such as Elementary, so using it on applications requires that the programmer writes a lot of boiler plate code to manage to manage the web object
EFL Threading example 1 | You can use threads with Elementary (and EFL) but you need to be careful to only use eina or eet calls inside a thread
EFL Threading example 2 | You can also use ecore_main_loop_thread_safe_call_sync() to call a specific function that needs to do EFL main loop operations
EFL Threading example 3 | Like with ecore_main_loop_thread_safe_call_sync() you can provide a callback to call inline in the mainloop, but this time with ecore_main_loop_thread_safe_call_async() the callback is queued and called asynchronously, without the thread blocking
EFL Threading example 4 | Now when you want to have a thread do some work, send back results to the mainloop and continue running but the mainloop controls when the thread should stop working, you need some extra flags
EFL Threading example 5 | This is the same as EFL Threading example 4 but now uses the ecore_thread infrastructure to have a running worker thread that feeds results back to the mainloop and can easily be cancelled
EFL Threading example 6 | You can also use the ecore_thread infrastructure for compute tasks that don't send feedback as they go - they are one-shot compute jobs and when done they will trigger the end callback in the mainloop which is intended to pick up the results and "display them"
Prefs Example 01 | This example shows how to create a simple prefs widget with Elementary, where the items values are "reset" on each timer tick
Prefs Example 02 | This example shows how to create a simple prefs widget with Elementary, where some items properties are changed on each timer tick
Prefs Example 03 | This example shows how to create a prefs widget with Elementary, where some prefs item values are changed, some actions take place on an object different than the prefs widget (an Edge object)
bg_example_01.c |
bg_example_02.c |
bg_example_03.c |
Actionslider example |
Transit example 1 |
Transit example 2 |
General (top-level) functions example |
Clock example |
Datetime example |
Dayselector example |
Flipselector example |
Fileselector example |
Fileselector button example |
Fileselector entry example |
Index example |
Index example |
layout_example_01.c |
layout_example_02.c |
layout_example_03.c |
An example of layout theme file | This theme file contains two groups
Gengrid example |
genlist_example_01.c |
genlist_example_02.c |
genlist_example_04.c |
genlist_example_05.c |
thumb_example_01.c |
Progress bar example |
Slideshow example |
EFL Threading example 1 |
EFL Threading example 2 |
EFL Threading example 3 |
EFL Threading example 4 |
EFL Threading example 5 |
EFL Threading example 6 |
prefs_example_01.c |
prefs_example_01.epc |
prefs_example_02.c |
prefs_example_02.epc |
prefs_example_03.c |
prefs_example_03.epc |
prefs_example_03.edc |
Combobox example |
Deprecated List |