[EGIT] [apps/espionage] master 03/03: Don't use deprecated functions

2021-04-26 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/apps/espionage.git/commit/?id=0900c83fe7f5ff4c62b0086800223228f3ac67cd

commit 0900c83fe7f5ff4c62b0086800223228f3ac67cd
Author: Dave Andreoli 
Date:   Mon Apr 26 12:24:32 2021 +0200

Don't use deprecated functions
---
 espionage/espionage.py | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/espionage/espionage.py b/espionage/espionage.py
index f5f534a..e3df353 100644
--- a/espionage/espionage.py
+++ b/espionage/espionage.py
@@ -31,9 +31,7 @@ from efl.elementary.window import StandardWindow, DialogWindow
 from efl.elementary.box import Box
 from efl.elementary.button import Button
 from efl.elementary.check import Check
-from efl.elementary.entry import Entry, \
-Entry_markup_to_utf8 as markup_to_utf8, \
-Entry_utf8_to_markup as utf8_to_markup
+from efl.elementary.entry import Entry, markup_to_utf8, utf8_to_markup
 from efl.elementary.flipselector import FlipSelector
 from efl.elementary.icon import Icon
 from efl.elementary.label import Label

-- 




[EGIT] [apps/espionage] master 02/03: warning --

2021-04-26 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/apps/espionage.git/commit/?id=1886497401d756d17ad9938cf2df44a19c4958c1

commit 1886497401d756d17ad9938cf2df44a19c4958c1
Author: Dave Andreoli 
Date:   Mon Apr 26 12:04:26 2021 +0200

warning --

item could be undefined, refactor the function to be more accurate
---
 espionage/espionage.py | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/espionage/espionage.py b/espionage/espionage.py
index a3a0476..f5f534a 100644
--- a/espionage/espionage.py
+++ b/espionage/espionage.py
@@ -420,13 +420,13 @@ class NamesList(Genlist):
 self.activatable_group, 0, None)
 
 def service_add(self, name):
-if name.startswith(':'):
-if options.show_private_stuff:
-item = self.item_sorted_insert(self.itc, name, self.sort_cb,
-   self.private_group, 0, None)
-else:
-item = self.item_sorted_insert(self.itc, name, self.sort_cb,
-   self.public_group, 0, None)
+is_private = name.startswith(':')
+if is_private and not options.show_private_stuff:
+return
+
+group_item = self.private_group if is_private else self.public_group
+item = self.item_sorted_insert(self.itc, name, self.sort_cb,
+   group_item, 0, None)
 
 if self.waiting_activation is not None and name == 
self.waiting_activation:
 self.waiting_popup.delete()

-- 




[EGIT] [apps/espionage] master 01/03: Removed an unneeded param

2021-04-26 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/apps/espionage.git/commit/?id=9f37c34dc4932871d8f44d85a9bbd6382a433769

commit 9f37c34dc4932871d8f44d85a9bbd6382a433769
Author: Dave Andreoli 
Date:   Mon Apr 26 11:40:53 2021 +0200

Removed an unneeded param

bus is already a global variable, no need to pass them around
---
 espionage/espionage.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/espionage/espionage.py b/espionage/espionage.py
index 776d513..a3a0476 100644
--- a/espionage/espionage.py
+++ b/espionage/espionage.py
@@ -246,7 +246,7 @@ class DBusSignal(DBusNode):
 return 'signal.png'
 
 
-def recursive_introspect(bus, named_service, object_path, ret_data=None):
+def recursive_introspect(named_service, object_path, ret_data=None):
 """ Introspect a named service and return a list of DBusObjects """
 # first recursion, create an empty list
 if ret_data is None:
@@ -307,7 +307,7 @@ def recursive_introspect(bus, named_service, object_path, 
ret_data=None):
 if object_path == '/':
 object_path = ''
 new_path = '/'.join((object_path, xml_node.attrib['name']))
-recursive_introspect(bus, named_service, new_path, ret_data)
+recursive_introspect(named_service, new_path, ret_data)
 
 return ret_data
 
@@ -518,7 +518,7 @@ class DetailList(Genlist):
 self.clear()
 
 # objects
-for obj in recursive_introspect(bus, name, '/'):
+for obj in recursive_introspect(name, '/'):
 obj_item = self.item_append(self.itc_g, obj,
 flags=ELM_GENLIST_ITEM_GROUP)
 obj_item.select_mode_set(ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY)

-- 




[EGIT] [apps/espionage] master 01/01: Whoops, unbreak setup.py

2021-04-26 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/apps/espionage.git/commit/?id=c5322672482d27f22564417ee0b6d86b480c594d

commit c5322672482d27f22564417ee0b6d86b480c594d
Author: Dave Andreoli 
Date:   Mon Apr 26 09:28:33 2021 +0200

Whoops, unbreak setup.py

It does not like "-" in the requires name...
---
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/setup.py b/setup.py
index 54791c8..96e6161 100755
--- a/setup.py
+++ b/setup.py
@@ -14,7 +14,7 @@ setup(
     author='Dave Andreoli',
 author_email='d...@gurumeditation.it',
 packages=['espionage'],
-requires=['efl (>=1.13)', 'dbus-python'],
+requires=['efl (>=1.13)', 'dbus'],
 provides=['espionage'],
 scripts=['bin/espionage'],
 package_data={

-- 




[EGIT] [apps/espionage] master 05/06: Better requires

2021-04-26 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/apps/espionage.git/commit/?id=a0f67f8f846b3f459efd3ec2e6b2820fd4587c89

commit a0f67f8f846b3f459efd3ec2e6b2820fd4587c89
Author: Dave Andreoli 
Date:   Mon Apr 26 08:44:03 2021 +0200

Better requires
---
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/setup.py b/setup.py
index 89844c0..54791c8 100755
--- a/setup.py
+++ b/setup.py
@@ -14,7 +14,7 @@ setup(
 author='Dave Andreoli',
 author_email='d...@gurumeditation.it',
 packages=['espionage'],
-requires=['efl (>=1.13)', 'dbus', 'json', 'xml.etree'],
+requires=['efl (>=1.13)', 'dbus-python'],
 provides=['espionage'],
 scripts=['bin/espionage'],
 package_data={

-- 




[EGIT] [apps/espionage] master 03/06: Small optimizations

2021-04-26 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/apps/espionage.git/commit/?id=dda3a3564f5b2973231e2928310e65b4a3e54582

commit dda3a3564f5b2973231e2928310e65b4a3e54582
Author: Dave Andreoli 
Date:   Mon Apr 26 07:46:50 2021 +0200

Small optimizations
---
 espionage/espionage.py | 48 ++--
 1 file changed, 30 insertions(+), 18 deletions(-)

diff --git a/espionage/espionage.py b/espionage/espionage.py
index 4504091..f42b050 100644
--- a/espionage/espionage.py
+++ b/espionage/espionage.py
@@ -280,7 +280,7 @@ def recursive_introspect(bus, named_service, object_path, 
ret_data=None):
 if child.tag == 'property':
 typ = child.attrib['type']
 access = child.attrib['access']
-prop = DBusProperty(child.attrib['name'], iface, typ, 
access)
+DBusProperty(child.attrib['name'], iface, typ, access)
 
 if child.tag == 'method':
 meth = DBusMethod(child.attrib['name'], iface)
@@ -317,7 +317,8 @@ class NamesListGroupItemClass(GenlistItemClass):
 def __init__(self):
 GenlistItemClass.__init__(self, item_style='group_index')
 
-def text_get(self, gl, part, name):
+@staticmethod
+def text_get(gl, part, name):
 return name
 
 
@@ -325,7 +326,8 @@ class NamesListItemClass(GenlistItemClass):
 def __init__(self):
 GenlistItemClass.__init__(self, item_style='default')
 
-def text_get(self, gl, part, name):
+@staticmethod
+def text_get(gl, part, name):
 return name
 
 
@@ -409,7 +411,8 @@ class NamesList(Genlist):
 else:
 self.win.detail_list.populate(name)
 
-def sort_cb(self, it1, it2):
+@staticmethod
+def sort_cb(it1, it2):
 return 1 if it1.data.lower() < it2.data.lower() else -1
 
 def service_activatable_add(self, name):
@@ -451,10 +454,12 @@ class ObjectItemClass(GenlistItemClass):
 def __init__(self):
 GenlistItemClass.__init__(self, item_style='group_index')
 
-def text_get(self, gl, part, obj):
+@staticmethod
+def text_get(gl, part, obj):
 return obj.name
 
-def content_get(self, gl, part, obj):
+@staticmethod
+def content_get(gl, part, obj):
 if part == 'elm.swallow.icon':
 return Icon(gl, size_hint_min=(22, 22),
 file=theme_resource_get(obj.icon))
@@ -464,7 +469,8 @@ class NodeItemClass(GenlistItemClass):
 def __init__(self):
 GenlistItemClass.__init__(self, item_style='default_style')
 
-def text_get(self, gl, part, obj):
+@staticmethod
+def text_get(gl, part, obj):
 if isinstance(obj, DBusInterface):
 return '%s' % (options.stl_iface, obj.name)
 if isinstance(obj, DBusProperty):
@@ -488,7 +494,8 @@ class NodeItemClass(GenlistItemClass):
 params = colored_params(obj.params)
 return '%s %s' % (options.stl_name, obj.name, params)
 
-def content_get(self, gl, part, obj):
+@staticmethod
+def content_get(gl, part, obj):
 if part == 'elm.swallow.icon':
 return Icon(gl, file=theme_resource_get(obj.icon))
 
@@ -521,11 +528,11 @@ class DetailList(Genlist):
 if not options.show_introspect_stuff and \
iface.name.startswith('org.freedesktop.DBus'):
 continue
-iface_item = self.item_append(self.itc, iface,
-  parent_item=obj_item,
-  flags=ELM_GENLIST_ITEM_TREE)
+self.item_append(self.itc, iface, parent_item=obj_item,
+ flags=ELM_GENLIST_ITEM_TREE)
 
-def sort_cb(self, it1, it2):
+@staticmethod
+def sort_cb(it1, it2):
 pri1 = pri2 = 0
 if isinstance(it1.data, DBusProperty):
 pri1 = 3
@@ -545,7 +552,8 @@ class DetailList(Genlist):
 return -1
 return 1 if it1.data.name.lower() < it2.data.name.lower() else -1
 
-def expand_request_cb(self, genlist, item):
+@staticmethod
+def expand_request_cb(genlist, item):
 item.expanded = True
 
 def expanded_cb(self, genlist, item):
@@ -553,10 +561,12 @@ class DetailList(Genlist):
 for obj in iface.properties + iface.methods + iface.signals:
 self.item_sorted_insert(self.itc, obj, self.sort_cb, 
parent_item=item)
 
-def contract_request_cb(self, genlist, item):
+@staticmethod
+def contract_request_cb(genlist, item):
 item.expanded = False
 
-def contracted_cb(self, genlist, item):
+@staticmethod
+def contracted_cb(genlist, item):
 item.subitems_clear()
 
 def double_clic

[EGIT] [apps/espionage] master 02/06: Code style: use single quotes

2021-04-26 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/apps/espionage.git/commit/?id=a618cb4cf36e2e7a6d0828acad53dd9c676901a9

commit a618cb4cf36e2e7a6d0828acad53dd9c676901a9
Author: Dave Andreoli 
Date:   Mon Apr 26 07:36:48 2021 +0200

Code style: use single quotes
---
 espionage/espionage.py | 98 +-
 1 file changed, 49 insertions(+), 49 deletions(-)

diff --git a/espionage/espionage.py b/espionage/espionage.py
index bbb5ca1..4504091 100644
--- a/espionage/espionage.py
+++ b/espionage/espionage.py
@@ -64,13 +64,13 @@ class Options(object):
 self.scroll_on_signal = True
 self.theme_name = 'default'
 
-self.stl_name = "font_weight=Bold color=#FFF  font_size=11"
-self.stl_value = "color=#FF99FF"
-self.stl_iface = "font_weight=Bold color=#999 font_size=11"
-self.stl_brackets = "color=#FFCC00"
-self.stl_arrow = "color=#AA"
-self.stl_ptype = "color=#6699FF"
-self.stl_pname = "color=#AAFFAA"
+self.stl_name = 'font_weight=Bold color=#FFF  font_size=11'
+self.stl_value = 'color=#FF99FF'
+self.stl_iface = 'font_weight=Bold color=#999 font_size=11'
+self.stl_brackets = 'color=#FFCC00'
+self.stl_arrow = 'color=#AA'
+self.stl_ptype = 'color=#6699FF'
+self.stl_pname = 'color=#AAFFAA'
 
 
 script_path = os.path.dirname(__file__)
@@ -88,7 +88,7 @@ def prettify_if_needed(data):
 
 
 def colored_params(plist, omit_braces=False):
-p = ', '.join(["%s %s" %
+p = ', '.join(['%s %s' %
(options.stl_ptype, ty, options.stl_pname, name)
for name, ty in plist])
 if omit_braces:
@@ -121,7 +121,7 @@ class DBusNode(object):
 
 
 class DBusObject(DBusNode):
-"""object to represent a DBus Object """
+""" object to represent a DBus Object """
 def __init__(self, name, parent_service):
 DBusNode.__init__(self, name, parent_service)
 self._interfaces = []
@@ -136,7 +136,7 @@ class DBusObject(DBusNode):
 
 
 class DBusInterface(DBusNode):
-"""object to represent a DBus Interface"""
+""" object to represent a DBus Interface """
 def __init__(self, name, parent_obj):
 DBusNode.__init__(self, name, parent_obj)
 self._properties = []
@@ -163,7 +163,7 @@ class DBusInterface(DBusNode):
 
 
 class DBusProperty(DBusNode):
-"""object to represent a DBus Property"""
+""" object to represent a DBus Property """
 def __init__(self, name, parent_iface, typ='unknown', access='unknown'):
 DBusNode.__init__(self, name, parent_iface)
 parent_iface.properties.append(self)
@@ -177,7 +177,7 @@ class DBusProperty(DBusNode):
 iface_name = self.parent.name
 
 obj = bus.get_object(named_service, object_path)
-iface = dbus.Interface(obj, "org.freedesktop.DBus.Properties")
+iface = dbus.Interface(obj, 'org.freedesktop.DBus.Properties')
 self._value = iface.Get(iface_name, self.name)
 
 @property
@@ -198,7 +198,7 @@ class DBusProperty(DBusNode):
 
 
 class DBusMethod(DBusNode):
-"""object to represent a DBus Method"""
+""" object to represent a DBus Method """
 def __init__(self, name, parent_iface):
 DBusNode.__init__(self, name, parent_iface)
 parent_iface.methods.append(self)
@@ -227,7 +227,7 @@ class DBusMethod(DBusNode):
 
 
 class DBusSignal(DBusNode):
-"""object to represent a DBus Signal"""
+""" object to represent a DBus Signal """
 def __init__(self, name, parent_iface):
 DBusNode.__init__(self, name, parent_iface)
 parent_iface.signals.append(self)
@@ -315,7 +315,7 @@ def recursive_introspect(bus, named_service, object_path, 
ret_data=None):
 # Names genlist (the one on the left)
 class NamesListGroupItemClass(GenlistItemClass):
 def __init__(self):
-GenlistItemClass.__init__(self, item_style="group_index")
+GenlistItemClass.__init__(self, item_style='group_index')
 
 def text_get(self, gl, part, name):
 return name
@@ -323,7 +323,7 @@ class NamesListGroupItemClass(GenlistItemClass):
 
 class NamesListItemClass(GenlistItemClass):
 def __init__(self):
-GenlistItemClass.__init__(self, item_style="default")
+GenlistItemClass.__init__(self, item_style='default')
 
 def text_get(self, gl, part, name):
 

[EGIT] [apps/espionage] master 04/06: Mark unused params with an underscore

2021-04-26 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/apps/espionage.git/commit/?id=68bcbce3e16bc2b8375c1f9498d28665cc68f53f

commit 68bcbce3e16bc2b8375c1f9498d28665cc68f53f
Author: Dave Andreoli 
Date:   Mon Apr 26 07:53:45 2021 +0200

Mark unused params with an underscore
---
 espionage/espionage.py | 32 
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/espionage/espionage.py b/espionage/espionage.py
index f42b050..776d513 100644
--- a/espionage/espionage.py
+++ b/espionage/espionage.py
@@ -318,7 +318,7 @@ class NamesListGroupItemClass(GenlistItemClass):
 GenlistItemClass.__init__(self, item_style='group_index')
 
 @staticmethod
-def text_get(gl, part, name):
+def text_get(_gl, _part, name):
 return name
 
 
@@ -327,7 +327,7 @@ class NamesListItemClass(GenlistItemClass):
 GenlistItemClass.__init__(self, item_style='default')
 
 @staticmethod
-def text_get(gl, part, name):
+def text_get(_gl, _part, name):
 return name
 
 
@@ -387,7 +387,7 @@ class NamesList(Genlist):
 if options.show_private_stuff:
 self.private_group.subitems_clear()
 
-def item_selected_cb(self, gl, item):
+def item_selected_cb(self, _gl, item):
 name = item.data
 
 if item.parent is self.activatable_group:
@@ -397,7 +397,7 @@ class NamesList(Genlist):
 spinner = Progressbar(self.win, style='wheel', pulse_mode=True)
 spinner.pulse(True)
 
-def stop_waiting_cb(btn):
+def stop_waiting_cb(_btn):
 self.waiting_popup.delete()
 self.waiting_activation = None
 button = Button(self.win, text='Stop waiting')
@@ -455,7 +455,7 @@ class ObjectItemClass(GenlistItemClass):
 GenlistItemClass.__init__(self, item_style='group_index')
 
 @staticmethod
-def text_get(gl, part, obj):
+def text_get(_gl, _part, obj):
 return obj.name
 
 @staticmethod
@@ -470,7 +470,7 @@ class NodeItemClass(GenlistItemClass):
 GenlistItemClass.__init__(self, item_style='default_style')
 
 @staticmethod
-def text_get(gl, part, obj):
+def text_get(_gl, _part, obj):
 if isinstance(obj, DBusInterface):
 return '%s' % (options.stl_iface, obj.name)
 if isinstance(obj, DBusProperty):
@@ -553,23 +553,23 @@ class DetailList(Genlist):
 return 1 if it1.data.name.lower() < it2.data.name.lower() else -1
 
 @staticmethod
-def expand_request_cb(genlist, item):
+def expand_request_cb(_genlist, item):
 item.expanded = True
 
-def expanded_cb(self, genlist, item):
+def expanded_cb(self, _genlist, item):
 iface = item.data
 for obj in iface.properties + iface.methods + iface.signals:
 self.item_sorted_insert(self.itc, obj, self.sort_cb, 
parent_item=item)
 
 @staticmethod
-def contract_request_cb(genlist, item):
+def contract_request_cb(_genlist, item):
 item.expanded = False
 
 @staticmethod
-def contracted_cb(genlist, item):
+def contracted_cb(_genlist, item):
 item.subitems_clear()
 
-def double_click_cb(self, genlist, item):
+def double_click_cb(self, _genlist, item):
 if isinstance(item.data, DBusMethod):
 MethodRunner(self._parent, item.data)
 elif isinstance(item.data, DBusProperty):
@@ -684,7 +684,7 @@ class MethodRunner(DialogWindow):
 self.resize(300, 300)
 self.show()
 
-def run_clicked_cb(self, btn):
+def run_clicked_cb(self, _btn):
 # collect method infos
 named_service = self._method.parent.parent.parent
 object_path = self._method.parent.parent.name
@@ -737,13 +737,13 @@ class SignalItemClass(GenlistItemClass):
 GenlistItemClass.__init__(self, item_style='default_style')
 
 @staticmethod
-def text_get(gl, part, data):
+def text_get(_gl, _part, data):
 return '%s  iface: %s path: %s 
sender: %s' % \
(options.stl_name, data['signal'], options.stl_ptype, 
data['iface'],
 options.stl_pname, data['path'], options.stl_value, 
data['sender'])
 
 @staticmethod
-def content_get(gl, part, data):
+def content_get(gl, part, _data):
 if part == 'elm.swallow.icon':
 return Icon(gl, file=theme_resource_get('signal.png'))
 
@@ -802,7 +802,7 @@ class SignalReceiver(Frame):
 if self.siglist.items_count > 200:
 self.siglist.first_item.delete()
 
-def signal_clicked_cb(self, gl, item):
+def signal_clicked_cb(self, _gl, item):
 pp = Popup(self._parent)
 title = 'Signal: %s' \
 'Iface: %s' \
@@ -917,7 +917,7 @@ class EspionageWin(StandardWindow

[EGIT] [apps/espionage] master 01/06: Reformat code to make pycharm happy

2021-04-26 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/apps/espionage.git/commit/?id=5f11ce0622e5e5858f261708df7122bed430e434

commit 5f11ce0622e5e5858f261708df7122bed430e434
Author: Dave Andreoli 
Date:   Mon Apr 26 07:33:19 2021 +0200

Reformat code to make pycharm happy
---
 espionage/espionage.py | 97 --
 setup.py   | 31 
 2 files changed, 77 insertions(+), 51 deletions(-)

diff --git a/espionage/espionage.py b/espionage/espionage.py
index 3ac3af0..bbb5ca1 100644
--- a/espionage/espionage.py
+++ b/espionage/espionage.py
@@ -54,6 +54,7 @@ EXPAND_HORIZ = EVAS_HINT_EXPAND, 0.0
 FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL
 FILL_HORIZ = EVAS_HINT_FILL, 0.5
 
+
 class Options(object):
 """class to contain application options"""
 def __init__(self):
@@ -74,33 +75,36 @@ class Options(object):
 
 script_path = os.path.dirname(__file__)
 
+
 def theme_resource_get(fname):
 return os.path.join(script_path, 'themes', options.theme_name, fname)
 
+
 def prettify_if_needed(data):
 if options.pretty_output:
 return utf8_to_markup(json.dumps(data, indent=2))
 else:
 return utf8_to_markup(str(data))
 
+
 def colored_params(plist, omit_braces=False):
-p = ', '.join(["%s %s" % \
+p = ', '.join(["%s %s" %
(options.stl_ptype, ty, options.stl_pname, name)
-for name, ty in plist])
+   for name, ty in plist])
 if omit_braces:
 return p
 return '(%s)' % \
(options.stl_brackets, p, options.stl_brackets)
 
 
-### connect to session and system buses, and set session as the current one
+# connect to session and system buses, and set session as the current one
 session_bus = dbus.SessionBus(mainloop=DBusEcoreMainLoop())
 system_bus = dbus.SystemBus(mainloop=DBusEcoreMainLoop())
 bus = session_bus
 options = Options()
 
 
-### Classes to describe various DBus nodes
+# Classes to describe various DBus nodes
 class DBusNode(object):
 """base object for the others DBus nodes"""
 def __init__(self, name, parent):
@@ -130,6 +134,7 @@ class DBusObject(DBusNode):
 def icon(self):
 return 'object.png'
 
+
 class DBusInterface(DBusNode):
 """object to represent a DBus Interface"""
 def __init__(self, name, parent_obj):
@@ -156,9 +161,10 @@ class DBusInterface(DBusNode):
 def icon(self):
 return 'interface.png'
 
+
 class DBusProperty(DBusNode):
 """object to represent a DBus Property"""
-def __init__(self, name, parent_iface, typ = 'unknown', access = 
'unknown'):
+def __init__(self, name, parent_iface, typ='unknown', access='unknown'):
 DBusNode.__init__(self, name, parent_iface)
 parent_iface.properties.append(self)
 self._type = typ
@@ -190,6 +196,7 @@ class DBusProperty(DBusNode):
 def icon(self):
 return 'property.png'
 
+
 class DBusMethod(DBusNode):
 """object to represent a DBus Method"""
 def __init__(self, name, parent_iface):
@@ -218,6 +225,7 @@ class DBusMethod(DBusNode):
 def icon(self):
 return 'method.png'
 
+
 class DBusSignal(DBusNode):
 """object to represent a DBus Signal"""
 def __init__(self, name, parent_iface):
@@ -237,9 +245,9 @@ class DBusSignal(DBusNode):
 def icon(self):
 return 'signal.png'
 
-### Introspect a named service and return a list of DBusObjects
-def recursive_introspect(bus, named_service, object_path, ret_data=None):
 
+def recursive_introspect(bus, named_service, object_path, ret_data=None):
+""" Introspect a named service and return a list of DBusObjects """
 # first recursion, create an empty list
 if ret_data is None:
 ret_data = []
@@ -279,10 +287,10 @@ def recursive_introspect(bus, named_service, object_path, 
ret_data=None):
 for arg in child:
 if arg.tag == 'arg':
 if arg.attrib['direction'] == 'out':
-L = meth.returns
+li = meth.returns
 else:
-L = meth.params
-L.append((
+li = meth.params
+li.append((
 arg.attrib['name'] if 'name' in arg.attrib 
else '',
 arg.attrib['type'] if 'type' in arg.attrib 
else ''))
 
@@ -304,19 +312,23 @@ def rec

[EGIT] [apps/espionage] master 06/06: gitignore++

2021-04-26 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/apps/espionage.git/commit/?id=fb044e46451163aae7d8ae00997152cd3fc99a94

commit fb044e46451163aae7d8ae00997152cd3fc99a94
Author: Dave Andreoli 
Date:   Mon Apr 26 09:21:07 2021 +0200

gitignore++
---
 .gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitignore b/.gitignore
index 134dadc..e0b2e10 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 build/
 installed_files.txt
+.idea/

-- 




[EGIT] [enlightenment/modules/places] master 02/03: Fix icons for DVD, BD and Audio CD

2021-04-25 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=1e63c232bb60c360955f16490bd7f0efb6359739

commit 1e63c232bb60c360955f16490bd7f0efb6359739
Author: Dave Andreoli 
Date:   Sun Apr 25 07:55:18 2021 +0200

Fix icons for DVD, BD and Audio CD
---
 e-module-places.edc |  15 ---
 images/tag_dvd.png  | Bin 892 -> 0 bytes
 src/e_mod_places.c  |  22 --
 3 files changed, 16 insertions(+), 21 deletions(-)

diff --git a/e-module-places.edc b/e-module-places.edc
index fc65b8f..f368e58 100644
--- a/e-module-places.edc
+++ b/e-module-places.edc
@@ -8,7 +8,6 @@ images
image: "tag_fat.png" COMP;
image: "tag_hfs.png" COMP;
image: "tag_ufs.png" COMP;
-   image: "tag_dvd.png" COMP;
image: "header_bg.png" COMP;
image: "header_down.png" COMP;
image: "home.png" COMP;
@@ -409,14 +408,6 @@ collections
image.normal: "tag_ufs.png";
color: 255 255 255 240;
 }
-description { state: "dvd" 0.0;
-   inherit: "default" 0.0;
-   visible: 1;
-   image.normal: "tag_dvd.png";
-   rel1.relative: 0.0 0.0;
-   rel2.relative: 1.0 0.5;
-   color: 255 255 255 240;
-}
  }
  part { name: "gauge_bg";
 mouse_events: 0;
@@ -718,12 +709,6 @@ collections
 action: STATE_SET "ufs" 0.0;
 target: "icon_tag";
  }
- program { name: "set_tag_dvd";
-signal: "icon,tag,dvd";
-source: "places";
-action: STATE_SET "dvd" 0.0;
-target: "icon_tag";
- }
  program { name: "set_separator_horiz";
 signal: "separator,set,horiz";
 source: "places";
diff --git a/images/tag_dvd.png b/images/tag_dvd.png
deleted file mode 100644
index 4eafaef..000
Binary files a/images/tag_dvd.png and /dev/null differ
diff --git a/src/e_mod_places.c b/src/e_mod_places.c
index 2dcc227..342d560 100644
--- a/src/e_mod_places.c
+++ b/src/e_mod_places.c
@@ -379,11 +379,23 @@ places_fill_box(Evas_Object *main, Eina_Bool horiz)
 icon = e_icon_add(evas_object_evas_get(main));
 f1 = f2 = f3 = NULL;
 /* optical discs */
-// TODO more icons: dvd, blueray
-if (eina_streq(vol->drive_type, "cdrom") ||
-eina_streq(vol->drive_type, "optical_cd"))
+if (eina_str_has_prefix(vol->drive_type, "optical_bd"))
   {
- f1 = "media"; f2 = "optical";  // OR media-optical ??
+ f1 = "media"; f2 = "optical"; f3 = "bd";
+  }
+else if (eina_str_has_prefix(vol->drive_type, "optical_dvd"))
+  {
+ f1 = "media"; f2 = "optical"; f3 = "dvd";
+  }
+else if (eina_str_has_prefix(vol->drive_type, "optical_cd") &&
+ !eina_streq(vol->fstype, "iso9660"))
+  {
+ f1 = "media"; f2 = "optical"; f3 = "audio";
+  }
+else if (eina_str_has_prefix(vol->drive_type, "cdrom") ||
+ eina_str_has_prefix(vol->drive_type, "optical"))
+  {
+ f1 = "media"; f2 = "optical";
   }
 /* flash cards */
 else if (eina_streq(vol->drive_type, "sd_mmc") ||
@@ -455,8 +467,6 @@ places_fill_box(Evas_Object *main, Eina_Bool horiz)
 else if (eina_streq(vol->fstype, "hfs") ||
  eina_streq(vol->fstype, "hfsplus"))
   edje_object_signal_emit(o, "icon,tag,hfs", "places");
-else if (eina_streq(vol->fstype, "udf"))
-  edje_object_signal_emit(o, "icon,tag,dvd", "places");
 
 // update labels, gauge and button
 _places_volume_object_update(vol, o);

-- 




[EGIT] [enlightenment/modules/places] master 03/03: Better icons for flash and floppy

2021-04-25 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=fbaf294dfdda59a4b684638ac6016acf57e92f58

commit fbaf294dfdda59a4b684638ac6016acf57e92f58
Author: Dave Andreoli 
Date:   Mon Apr 26 07:01:35 2021 +0200

Better icons for flash and floppy
---
 src/e_mod_places.c | 27 +--
 1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/src/e_mod_places.c b/src/e_mod_places.c
index 342d560..f1cbb98 100644
--- a/src/e_mod_places.c
+++ b/src/e_mod_places.c
@@ -398,21 +398,44 @@ places_fill_box(Evas_Object *main, Eina_Bool horiz)
  f1 = "media"; f2 = "optical";
   }
 /* flash cards */
-else if (eina_streq(vol->drive_type, "sd_mmc") ||
+else if (eina_streq(vol->drive_type, "flash_mmc") ||
+ eina_streq(vol->drive_type, "sd_mmc") ||
  eina_streq(vol->model, "SD/MMC"))
   {
  f1 = "media"; f2 = "flash"; f3 = "sdmmc"; // NOTE sd-mmc in 
Oxigen :(
   }
-else if (eina_streq(vol->drive_type, "memory_stick") ||
+else if (eina_streq(vol->drive_type, "flash_ms") ||
+ eina_streq(vol->drive_type, "memory_stick") ||
  eina_streq(vol->model, "MS/MS-Pro"))
   {
  f1 = "media"; f2 = "flash"; f3 = "ms"; // NOTE memory-stick in 
Oxigen :(
   }
+else if (eina_streq(vol->drive_type, "flash_cf"))
+  {
+ f1 = "media"; f2 = "flash"; f3 = "cf";
+  }
+else if (eina_streq(vol->drive_type, "flash_sd"))
+  {
+ f1 = "media"; f2 = "flash"; f3 = "sd";
+  }
+else if (eina_streq(vol->drive_type, "flash_sm"))
+  {
+ f1 = "media"; f2 = "flash"; f3 = "sm";
+  }
+else if (eina_str_has_prefix(vol->drive_type, "flash"))
+  {
+ f1 = "media"; f2 = "flash";
+  }
 /* iPods */
 else if (eina_streq(vol->model, "iPod"))
   {
  f1 = "multimedia-player"; f2 = "apple"; f3 = "ipod";
   }
+/* Floppy disks */
+else if (eina_str_has_prefix(vol->drive_type, "floppy"))
+  {
+ f1 = "media"; f2 = "floppy";
+  }
 /* generic usb drives */
 else if (eina_streq(vol->bus, "usb"))
   {

-- 




[EGIT] [enlightenment/modules/places] master 01/03: theme, silent warnings about missing image

2021-04-25 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=0847d1ebcf91f9cd9473ccbf424aae8de6650449

commit 0847d1ebcf91f9cd9473ccbf424aae8de6650449
Author: Dave Andreoli 
Date:   Sun Apr 25 07:19:34 2021 +0200

theme, silent warnings about missing image
---
 e-module-places.edc | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/e-module-places.edc b/e-module-places.edc
index cb0920b..fc65b8f 100644
--- a/e-module-places.edc
+++ b/e-module-places.edc
@@ -379,6 +379,7 @@ collections
 mouse_events: 0;
 clip_to: "icon_clip";
 description { state: "default" 0.0;
+   visible: 0;
rel1.to: "icon";
rel2.relative: 0.5 0.5;
rel2.to: "icon";
@@ -386,26 +387,31 @@ collections
 }
 description { state: "ext3" 0.0;
inherit: "default" 0.0;
+   visible: 1;
image.normal: "tag_ext3.png";
color: 255 255 255 240;
 }
 description { state: "fat" 0.0;
inherit: "default" 0.0;
+   visible: 1;
image.normal: "tag_fat.png";
color: 255 255 255 240;
 }
 description { state: "hfs" 0.0;
inherit: "default" 0.0;
+   visible: 1;
image.normal: "tag_hfs.png";
color: 255 255 255 240;
 }
 description { state: "ufs" 0.0;
inherit: "default" 0.0;
+   visible: 1;
image.normal: "tag_ufs.png";
color: 255 255 255 240;
 }
 description { state: "dvd" 0.0;
inherit: "default" 0.0;
+   visible: 1;
image.normal: "tag_dvd.png";
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 0.5;

-- 




[EGIT] [enlightenment/modules/places] master 01/04: Udisks2: Fix for usb cdrom removal

2021-04-24 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=c45452ccaf37eca33fe7e84188d76848419486d7

commit c45452ccaf37eca33fe7e84188d76848419486d7
Author: Dave Andreoli 
Date:   Sat Apr 24 07:50:56 2021 +0200

Udisks2: Fix for usb cdrom removal
---
 src/backend_udisks2.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/backend_udisks2.c b/src/backend_udisks2.c
index 70303a0..55faef0 100644
--- a/src/backend_udisks2.c
+++ b/src/backend_udisks2.c
@@ -264,7 +264,8 @@ _places_ud2_interfaces_removed_cb(void *data, const 
Eldbus_Message *msg)
while (eldbus_message_iter_get_and_next(array_ifaces, 's', &iface_name))
{
   printf("PLACES: InterfaceRemoved obj:%s - iface:%s\n", obj_path, 
iface_name);
-  if (eina_streq(iface_name, UDISKS2_FILESYSTEM_IFACE))
+  if (eina_streq(iface_name, UDISKS2_FILESYSTEM_IFACE) || 
+  eina_streq(iface_name, UDISKS2_BLOCK_IFACE))
  if ((vol = places_volume_by_id_get(obj_path)))
 places_volume_del(vol);
}

-- 




[EGIT] [enlightenment/modules/places] master 03/04: Better icon for bookmarks

2021-04-24 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=ab180f1199314435c11e83283eadec50b202302f

commit ab180f1199314435c11e83283eadec50b202302f
Author: Dave Andreoli 
Date:   Sat Apr 24 08:55:04 2021 +0200

Better icon for bookmarks
---
 src/e_mod_places.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/e_mod_places.c b/src/e_mod_places.c
index 5edfabc..5fca5a7 100644
--- a/src/e_mod_places.c
+++ b/src/e_mod_places.c
@@ -939,7 +939,7 @@ _places_bookmarks_parse(E_Menu *em)
   mi = e_menu_item_new(em);
   e_menu_item_label_set(mi, alias ? alias :
 ecore_file_file_get(uri->path));
-  e_util_menu_item_theme_icon_set(mi, "folder");
+  e_util_menu_item_theme_icon_set(mi, "user-bookmarks");
   e_menu_item_callback_set(mi, _places_menu_folder_cb,
strdup(uri->path)); //TODO free 
somewhere
}

-- 




[EGIT] [enlightenment/modules/places] master 02/04: PoorMan debug utils

2021-04-24 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=9d06c71425124f1899fecae4b621960391577616

commit 9d06c71425124f1899fecae4b621960391577616
Author: Dave Andreoli 
Date:   Sat Apr 24 08:39:18 2021 +0200

PoorMan debug utils
---
 src/backend_mount.c   | 12 
 src/backend_udisks2.c | 44 
 src/e_mod_places.c| 21 +++--
 3 files changed, 47 insertions(+), 30 deletions(-)

diff --git a/src/backend_mount.c b/src/backend_mount.c
index e6a0ebf..3144ef7 100644
--- a/src/backend_mount.c
+++ b/src/backend_mount.c
@@ -7,6 +7,10 @@
 #include "e_mod_places.h"
 
 
+/* Enable/Disable debug messages */
+// #define PDBG(...) do {} while (0)
+#define PDBG(...) printf("PLACES(mnt): "__VA_ARGS__)
+
 
 #define FSTAB_FILE "/etc/fstab"
 #define MTAB_FILE "/proc/mounts"
@@ -236,12 +240,12 @@ _places_mount_mtab_timer_cb(void *data)
 Eina_Bool
 places_mount_init(void)
 {
-   printf("PLACES: mount: init()\n");
+   PDBG("init()\n");
 
if (!ecore_file_exists(FSTAB_FILE) ||
!ecore_file_exists(MTAB_FILE))
{
-  printf("PLACES: mount: Cannot find required files\n");
+  printf("PLACES(mnt): Cannot find required files\n");
   return EINA_FALSE;
}
 
@@ -260,12 +264,12 @@ places_mount_init(void)
 void
 places_mount_shutdown(void)
 {
-   printf("PLACES: mtab: shutdown()\n");
+   PDBG("shutdown()\n");
E_FREE_FUNC(mtab_timer, ecore_timer_del);
E_FREE_FUNC(know_mounts, eina_list_free);
E_FREE_FUNC(eeh1, ecore_event_handler_del);
E_FREE_FUNC(eeh2, ecore_event_handler_del);
 }
 
-
+#undef PDBG
 #endif
diff --git a/src/backend_udisks2.c b/src/backend_udisks2.c
index 55faef0..db586aa 100644
--- a/src/backend_udisks2.c
+++ b/src/backend_udisks2.c
@@ -10,6 +10,11 @@
 #include "e_mod_places.h"
 
 
+/* Enable/Disable debug messages */
+// #define PDBG(...) do {} while (0)
+#define PDBG(...) printf("PLACES(ud2): "__VA_ARGS__)
+
+
 /* UDisks2 defines */
 #define UDISKS2_BUS "org.freedesktop.UDisks2"
 #define UDISKS2_PATH "/org/freedesktop/UDisks2"
@@ -66,14 +71,14 @@ static Eldbus_Object *_places_ud2_object_manager = NULL;
 Eina_Bool
 places_udisks2_init(void)
 {
-   printf("PLACES: udisks2: init()\n");
+   PDBG("init()\n");
 
EINA_SAFETY_ON_FALSE_RETURN_VAL(eldbus_init(), EINA_FALSE);
 
_places_ud2_conn = eldbus_connection_get(ELDBUS_CONNECTION_TYPE_SYSTEM);
if (!_places_ud2_conn)
{
-  printf("PLACES: udisks2: Error connecting to system bus.\n");
+  printf("udisks2: Error connecting to system bus.\n");
   return EINA_FALSE;
}
 
@@ -86,7 +91,7 @@ places_udisks2_init(void)
 void
 places_udisks2_shutdown(void)
 {
-   printf("PLACES: udisks2: shutdown()\n");
+   PDBG("shutdown()\n");
E_FREE_FUNC(_places_ud2_object_manager, eldbus_object_unref);
E_FREE_FUNC(_places_ud2_conn, eldbus_connection_unref);
eldbus_shutdown();
@@ -168,7 +173,6 @@ _places_udisks2_string_convert(Eldbus_Message_Iter *ay)
   if (!p) break;
   p++;
}
-   // printf("PLACES: stupid string %s\n", str);
return strdup(buf);
 }
 
@@ -212,7 +216,7 @@ _places_ud2_get_managed_objects_cb(void *data, const 
Eldbus_Message *msg, Eldbus
 
PLACES_ON_MSG_ERROR_RETURN(msg);
 
-   printf("PLACES: GetManagedObjects\n");
+   PDBG("GetManagedObjects\n");
if (!eldbus_message_arguments_get(msg, "a{oa{sa{sv}}}", &objs_array))
  return;

@@ -240,7 +244,7 @@ _places_ud2_interfaces_added_cb(void *data, const 
Eldbus_Message *msg)
 
if (eldbus_message_arguments_get(msg, "oa{sa{sv}}", &obj_path, 
&ifaces_array))
{
-  printf("PLACES: InterfacesAdded on obj: %s\n", obj_path);
+  PDBG("InterfacesAdded on obj: %s\n", obj_path);
   // we are only interested at block_device objects
   if (eina_str_has_prefix(obj_path, UDISKS2_BLOCK_PREFIX))
  _places_ud2_read_block_ifaces(obj_path, ifaces_array, EINA_FALSE);
@@ -263,7 +267,7 @@ _places_ud2_interfaces_removed_cb(void *data, const 
Eldbus_Message *msg)
 
while (eldbus_message_iter_get_and_next(array_ifaces, 's', &iface_name))
{
-  printf("PLACES: InterfaceRemoved obj:%s - iface:%s\n", obj_path, 
iface_name);
+  PDBG("InterfaceRemoved obj:%s - iface:%s\n", obj_path, iface_name);
   if (eina_streq(iface_name, UDISKS2_FILESYSTEM_IFACE) || 
   eina_streq(iface_name, UDISKS2_BLOCK_IFACE))
  if ((vol = places_volume_by_id_get(obj_path)))
@@ -288,7 +292,7 @@ _places_ud2_block_props_changed_cb(void *data, const 
Eldbus_Message *msg)
  &changed_props, &invalidated_props))

[EGIT] [enlightenment/modules/places] master 04/04: don't leak strings in menu

2021-04-24 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=69b258794ad2e6d7a8d2f871082c11701807a2bc

commit 69b258794ad2e6d7a8d2f871082c11701807a2bc
Author: Dave Andreoli 
Date:   Sat Apr 24 17:17:07 2021 +0200

don't leak strings in menu
---
 src/e_mod_places.c | 11 +--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/e_mod_places.c b/src/e_mod_places.c
index 5fca5a7..2dcc227 100644
--- a/src/e_mod_places.c
+++ b/src/e_mod_places.c
@@ -882,6 +882,8 @@ _places_header_activated_cb(void *data, Evas_Object *o, 
const char *emission, co
 
 
 /* E17 menu augmentation */
+static Eina_List *_menu_strings = NULL;
+
 void
 _places_menu_folder_cb(void *data, E_Menu *m, E_Menu_Item *mi)
 {
@@ -909,11 +911,15 @@ _places_bookmarks_parse(E_Menu *em)
 {
char line[PATH_MAX];
char buf[PATH_MAX];
+   const char *s;
E_Menu_Item *mi;
Efreet_Uri *uri;
char *alias;
FILE* fp;
 
+   EINA_LIST_FREE(_menu_strings, s)
+ eina_stringshare_del(s);
+
snprintf(buf, sizeof(buf), "%s/gtk-3.0/bookmarks", 
efreet_config_home_get());
fp = fopen(buf, "r");
if (!fp)
@@ -940,8 +946,9 @@ _places_bookmarks_parse(E_Menu *em)
   e_menu_item_label_set(mi, alias ? alias :
 ecore_file_file_get(uri->path));
   e_util_menu_item_theme_icon_set(mi, "user-bookmarks");
-  e_menu_item_callback_set(mi, _places_menu_folder_cb,
-   strdup(uri->path)); //TODO free 
somewhere
+  s = eina_stringshare_add(uri->path);
+  e_menu_item_callback_set(mi, _places_menu_folder_cb, s);
+  _menu_strings = eina_list_append(_menu_strings, s);
}
  if (uri) efreet_uri_free(uri);
   }

-- 




[EGIT] [enlightenment/modules/places] master 02/02: Better handling of dbus errors

2021-04-23 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=bb16f0d2450419730e7d96f27b157cd7b9e36642

commit bb16f0d2450419730e7d96f27b157cd7b9e36642
Author: Dave Andreoli 
Date:   Fri Apr 23 11:11:33 2021 +0200

Better handling of dbus errors

Now print the error instead of silently fail
---
 src/backend_systemd.c | 14 +++---
 src/backend_udisks1.c |  9 +++--
 src/backend_udisks2.c | 14 +++---
 src/e_mod_main.h  | 15 +++
 4 files changed, 36 insertions(+), 16 deletions(-)

diff --git a/src/backend_systemd.c b/src/backend_systemd.c
index 9d54354..42359ee 100644
--- a/src/backend_systemd.c
+++ b/src/backend_systemd.c
@@ -97,7 +97,7 @@ _places_sd_name_start(void *data, const Eldbus_Message *msg,
Eldbus_Message *meth;
Eldbus_Message_Iter *iter, *array;
 
-   EINA_SAFETY_ON_TRUE_RETURN(eldbus_message_error_get(msg, NULL, NULL));
+   PLACES_ON_MSG_ERROR_RETURN(msg);
 
printf("PLACES: systemd Up and running\n");
 
@@ -138,7 +138,7 @@ _places_sd_list_units_cb(void *data, const Eldbus_Message 
*msg, Eldbus_Pending *
unsigned int job_id;

 
-   EINA_SAFETY_ON_TRUE_RETURN(eldbus_message_error_get(msg, NULL, NULL));
+   PLACES_ON_MSG_ERROR_RETURN(msg);
 
EINA_SAFETY_ON_FALSE_RETURN(
   eldbus_message_arguments_get(msg, "a(ssouso)", &units)
@@ -178,7 +178,7 @@ _places_sd_unit_new_cb(void *data, const Eldbus_Message 
*msg)
 {
const char *id, *obj_path;
 
-   EINA_SAFETY_ON_TRUE_RETURN(eldbus_message_error_get(msg, NULL, NULL));
+   PLACES_ON_MSG_ERROR_RETURN(msg);
EINA_SAFETY_ON_FALSE_RETURN(eldbus_message_arguments_get(msg, "so", &id, 
&obj_path));

// printf("PLACES: UnitNew(%s, %s)\n", id, obj_path);
@@ -201,7 +201,7 @@ _places_sd_unit_removed_cb(void *data, const Eldbus_Message 
*msg)
 {
const char *id, *obj_path;
 
-   EINA_SAFETY_ON_TRUE_RETURN(eldbus_message_error_get(msg, NULL, NULL));
+   PLACES_ON_MSG_ERROR_RETURN(msg);
EINA_SAFETY_ON_FALSE_RETURN(eldbus_message_arguments_get(msg, "so", &id, 
&obj_path));

// printf("PLACES: UnitRemoved(%s, %s)\n", id, obj_path);
@@ -277,7 +277,7 @@ _places_sd_mount_props_all_cb(void *data, const 
Eldbus_Message *msg, Eldbus_Pend
Eldbus_Message_Iter *props;
 
EINA_SAFETY_ON_NULL_RETURN(vol);
-   EINA_SAFETY_ON_TRUE_RETURN(eldbus_message_error_get(msg, NULL, NULL));
+   PLACES_ON_MSG_ERROR_RETURN(msg);
 
if (eldbus_message_arguments_get(msg, "a{sv}", &props))
{
@@ -295,7 +295,7 @@ _places_sd_unit_props_all_cb(void *data, const 
Eldbus_Message *msg, Eldbus_Pendi
Eldbus_Message_Iter *props;
 
EINA_SAFETY_ON_NULL_RETURN(vol);
-   EINA_SAFETY_ON_TRUE_RETURN(eldbus_message_error_get(msg, NULL, NULL));
+   PLACES_ON_MSG_ERROR_RETURN(msg);
 
if (eldbus_message_arguments_get(msg, "a{sv}", &props))
{
@@ -314,7 +314,7 @@ _places_sd_mount_props_changed_cb(void *data, const 
Eldbus_Message *msg)
const char *iface;
 
EINA_SAFETY_ON_NULL_RETURN(vol);
-   EINA_SAFETY_ON_TRUE_RETURN(eldbus_message_error_get(msg, NULL, NULL));
+   PLACES_ON_MSG_ERROR_RETURN(msg);
 
if (eldbus_message_arguments_get(msg, "sa{sv}as", &iface, 
 &changed_props, &invalidated_props))
diff --git a/src/backend_udisks1.c b/src/backend_udisks1.c
index efea547..7ba73f3 100644
--- a/src/backend_udisks1.c
+++ b/src/backend_udisks1.c
@@ -65,6 +65,7 @@ places_udisks1_shutdown(void)
eldbus_shutdown();
 }
 
+
 /* Implementation */
 static void
 _places_udisks_name_start(void *data, const Eldbus_Message *msg,
@@ -73,6 +74,7 @@ _places_udisks_name_start(void *data, const Eldbus_Message 
*msg,
Eldbus_Object *obj;
unsigned flag;
 
+   PLACES_ON_MSG_ERROR_RETURN(msg);
EINA_SAFETY_ON_FALSE_RETURN(eldbus_message_arguments_get(msg, "u", &flag));
 
obj = eldbus_object_get(_places_dbus_conn, UDISKS_BUS, UDISKS_PATH);
@@ -123,7 +125,7 @@ _places_udisks_enumerate_devices_cb(void *data, const 
Eldbus_Message *msg, Eldbu
Eldbus_Message_Iter *ao;
const char *devpath;
 
-   EINA_SAFETY_ON_TRUE_RETURN(eldbus_message_error_get(msg, NULL, NULL));
+   PLACES_ON_MSG_ERROR_RETURN(msg);
EINA_SAFETY_ON_FALSE_RETURN(eldbus_message_arguments_get(msg, "ao", &ao));
 
while (eldbus_message_iter_get_and_next(ao, 'o', &devpath))
@@ -143,6 +145,7 @@ _places_udisks_device_add_cb(void *data, const 
Eldbus_Message *msg)
Volume *vol;
char *devpath;
 
+   PLACES_ON_MSG_ERROR_RETURN(msg);
EINA_SAFETY_ON_FALSE_RETURN(eldbus_message_arguments_get(msg, "o", 
&devpath));
printf("PLACES udisks: DeviceAdded [%s]\n", devpath);
 
@@ -158,6 +161,7 @@ _places_udisks_device_del_cb(void *data, const 
Eldbus_Message *msg)
Volume *vol;
char *devpath;
 
+   PLACES_ON_MSG_ERROR_RETUR

[EGIT] [enlightenment/modules/places] master 01/02: cleanup files structure and backend names

2021-04-23 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=33bf589e68df36cc73d3d0c2a0e72ad5b5a35780

commit 33bf589e68df36cc73d3d0c2a0e72ad5b5a35780
Author: Dave Andreoli 
Date:   Fri Apr 23 09:11:24 2021 +0200

cleanup files structure and backend names
---
 meson.build  |  2 +-
 src/{e_mod_eeze.c => backend_eeze.c} |  0
 src/{e_mod_eeze.h => backend_eeze.h} |  0
 src/{e_mod_mount.c => backend_mount.c}   |  0
 src/{e_mod_mount.h => backend_mount.h}   |  2 +-
 src/{e_mod_systemd.c => backend_systemd.c}   |  5 ++---
 src/{e_mod_systemd.h => backend_systemd.h}   |  2 +-
 src/{e_mod_udisks_eldbus.c => backend_udisks1.c} |  8 
 src/backend_udisks1.h|  8 
 src/{e_mod_udisks2.c => backend_udisks2.c}   |  0
 src/{e_mod_udisks2.h => backend_udisks2.h}   |  2 +-
 src/e_mod_places.c   | 20 ++--
 src/e_mod_udisks_eldbus.h|  8 
 src/meson.build  | 13 ++---
 14 files changed, 34 insertions(+), 36 deletions(-)

diff --git a/meson.build b/meson.build
index 300ec9b..d1f3a65 100644
--- a/meson.build
+++ b/meson.build
@@ -38,7 +38,7 @@ endif
  Udisks1 support 
 if get_option('udisks') == true
dependency('udisks', required: true)
-   config_h.set('PLACES_HAVE_UDISKS', 1)
+   config_h.set('PLACES_HAVE_UDISKS1', 1)
 endif
 
 
diff --git a/src/e_mod_eeze.c b/src/backend_eeze.c
similarity index 100%
rename from src/e_mod_eeze.c
rename to src/backend_eeze.c
diff --git a/src/e_mod_eeze.h b/src/backend_eeze.h
similarity index 100%
rename from src/e_mod_eeze.h
rename to src/backend_eeze.h
diff --git a/src/e_mod_mount.c b/src/backend_mount.c
similarity index 100%
rename from src/e_mod_mount.c
rename to src/backend_mount.c
diff --git a/src/e_mod_mount.h b/src/backend_mount.h
similarity index 74%
rename from src/e_mod_mount.h
rename to src/backend_mount.h
index d1a1712..49b37c7 100644
--- a/src/e_mod_mount.h
+++ b/src/backend_mount.h
@@ -1,7 +1,7 @@
 #ifndef E_MOD_PLACES_MOUNT_H
 #define E_MOD_PLACES_MOUNT_H
 
-void places_mount_init(void);
+Eina_Bool places_mount_init(void);
 void places_mount_shutdown(void);
 
 #endif
diff --git a/src/e_mod_systemd.c b/src/backend_systemd.c
similarity index 99%
rename from src/e_mod_systemd.c
rename to src/backend_systemd.c
index cc3784d..9d54354 100644
--- a/src/e_mod_systemd.c
+++ b/src/backend_systemd.c
@@ -11,9 +11,9 @@
 
 /*
 
-NOTE
+NOTES
 
--  I remoti li vede solo con opzione "auto" in fstab 
+-  mounts in fstab seems to need the "auto" option to be seen over dbus :/
 
 */
 
@@ -25,7 +25,6 @@ NOTE
 #define SYSTEMD_MOUNT_IFACE "org.freedesktop.systemd1.Mount"
 
 
-
 /* Local backend data */
 typedef struct Places_Systemd_Backend_Data
 {
diff --git a/src/e_mod_systemd.h b/src/backend_systemd.h
similarity index 74%
rename from src/e_mod_systemd.h
rename to src/backend_systemd.h
index b5e527e..82f6ea5 100644
--- a/src/e_mod_systemd.h
+++ b/src/backend_systemd.h
@@ -1,7 +1,7 @@
 #ifndef E_MOD_PLACES_SYSTEMD_H
 #define E_MOD_PLACES_SYSTEMD_H
 
-void places_systemd_init(void);
+Eina_Bool places_systemd_init(void);
 void places_systemd_shutdown(void);
 
 #endif
diff --git a/src/e_mod_udisks_eldbus.c b/src/backend_udisks1.c
similarity index 99%
rename from src/e_mod_udisks_eldbus.c
rename to src/backend_udisks1.c
index f7b4fa8..efea547 100644
--- a/src/e_mod_udisks_eldbus.c
+++ b/src/backend_udisks1.c
@@ -2,7 +2,7 @@
 #include "places_config.h"
 
 
-#ifdef PLACES_HAVE_UDISKS
+#ifdef PLACES_HAVE_UDISKS1
 
 #include 
 #include 
@@ -37,9 +37,9 @@ static Eldbus_Proxy *_places_udisks_proxy = NULL;
 
 /* API */
 Eina_Bool
-places_udisks_eldbus_init(void)
+places_udisks1_init(void)
 {
-   printf("PLACES: udisks: init()\n");
+   printf("PLACES: udisks1: init()\n");
 
if (!eldbus_init())
   return EINA_FALSE;
@@ -58,7 +58,7 @@ places_udisks_eldbus_init(void)
 }
 
 void
-places_udisks_eldbus_shutdown(void)
+places_udisks1_shutdown(void)
 {
if (_places_udisks_proxy) eldbus_proxy_unref(_places_udisks_proxy);
if (_places_dbus_conn) eldbus_connection_unref(_places_dbus_conn);
diff --git a/src/backend_udisks1.h b/src/backend_udisks1.h
new file mode 100644
index 000..bc02f15
--- /dev/null
+++ b/src/backend_udisks1.h
@@ -0,0 +1,8 @@
+#ifndef E_MOD_PLACES_UDISKS1_H
+#define E_MOD_PLACES_UDISKS1_H
+
+Eina_Bool places_udisks1_init(void);
+void places_udisks1_shutdown(void);
+
+#endif
+
diff --git a/src/e_mod_udisks2.c b/src/backend_udisks2.c
similarity index 100%
rename from src/e_mod_udisks2.c
rename to src/backend_udisks2.c
diff --git a/src/e_mod_udisks2.h b/src/backend_udisks2.h
similarity index 74%
rename from src/e_mod_udisks2.h
rename to src

[EGIT] [enlightenment/modules/places] master 01/01: Add a new EXPERIMENTAL systemd backend

2021-04-21 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=182b9bbd82ed09441c1bdf7dc7b815cec3055c1c

commit 182b9bbd82ed09441c1bdf7dc7b815cec3055c1c
Author: Dave Andreoli 
Date:   Thu Apr 22 07:58:40 2021 +0200

Add a new EXPERIMENTAL systemd backend
---
 meson.build |  15 +-
 meson_options.txt   |  20 ++-
 src/e_mod_places.c  |  13 +-
 src/e_mod_systemd.c | 510 
 src/e_mod_systemd.h |   7 +
 src/meson.build |   1 +
 6 files changed, 557 insertions(+), 9 deletions(-)

diff --git a/meson.build b/meson.build
index 0687036..300ec9b 100644
--- a/meson.build
+++ b/meson.build
@@ -49,13 +49,20 @@ if get_option('mount') == true
 endif
 
 
- Experimental eeze support 
+ EXPERIMENTAL eeze support 
 if get_option('eeze') == true
dependency('eeze', required: true)
config_h.set('PLACES_HAVE_EEZE', 1)
 endif
 
 
+ EXPERIMENTAL systemd support 
+if get_option('systemd') == true
+   dependency('systemd', required: true,)
+   config_h.set('PLACES_HAVE_SYSTEMD', 1)
+endif
+
+
  i18n 
 dep_intl = []
 if get_option('nls')
@@ -100,6 +107,8 @@ if meson.version().version_compare('>=0.53')
summary({'udisks2': get_option('udisks2'),
 'udisks1': get_option('udisks'),
 'mount': get_option('mount'),
-'eeze': get_option('eeze'),
- }, section: 'Backends', bool_yn: true)
+   }, section: 'Backends', bool_yn: true)
+   summary({'eeze': get_option('eeze'),
+'systemd': get_option('systemd'),
+ }, section: 'Experimental Backends', bool_yn: true)
 endif
\ No newline at end of file
diff --git a/meson_options.txt b/meson_options.txt
index d26365e..a260a35 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,3 +1,5 @@
+
+# Backends
 option('udisks2',
type: 'boolean',
value: true,
@@ -5,16 +7,24 @@ option('udisks2',
 option('udisks',
type: 'boolean',
value: false,
-   description: 'enable udisks1 support (default=false)')
+   description: 'enable deprecated udisks1 support (default=false)')
 option('mount',
type: 'boolean',
value: true,
description: 'enable fstab/mtab support (default=true)')
-option('eeze',
-   type: 'boolean',
-   value: false,
-   description: 'enable experimental eeze support (default=false)')
+
+# Localization
 option('nls',
type: 'boolean',
value: true,
description: 'enable localization (default=true)')
+
+# Experimental (NOT FULLY WORKING) backends
+option('eeze',
+   type: 'boolean',
+   value: false,
+   description: 'enable EXPERIMENTAL eeze support (default=false)')
+option('systemd',
+   type: 'boolean',
+   value: false,
+   description: 'enable EXPERIMENTAL systemd support (default=false)')
\ No newline at end of file
diff --git a/src/e_mod_places.c b/src/e_mod_places.c
index 263183f..cf615b6 100644
--- a/src/e_mod_places.c
+++ b/src/e_mod_places.c
@@ -4,6 +4,11 @@
 #include "e_mod_main.h"
 #include "e_mod_places.h"
 
+
+#ifdef PLACES_HAVE_SYSTEMD
+# include "e_mod_systemd.h"
+#endif
+
 #ifdef PLACES_HAVE_EEZE
 # include "e_mod_eeze.h"
 #endif
@@ -65,6 +70,9 @@ places_init(void)
 
printf("PLACES: Init\n");
 
+#ifdef PLACES_HAVE_SYSTEMD
+   places_systemd_init();
+#endif
 #ifdef PLACES_HAVE_EEZE
places_eeze_init();
 #endif
@@ -119,6 +127,9 @@ places_shutdown(void)
while (volumes)
  places_volume_del((Volume*)volumes->data);
 
+#ifdef PLACES_HAVE_SYSTEMD
+   places_systemd_shutdown();
+#endif
 #ifdef PLACES_HAVE_EEZE
places_eeze_shutdown();
 #endif
@@ -276,7 +287,7 @@ places_volume_update(Volume *vol)
Evas_Object *obj;
Eina_List *l;
 
-   if (eina_streq(vol->fstype, "nfs") ||
+   if (eina_str_has_prefix(vol->fstype, "nfs") ||  // nfs, nfs3, nfs4, etc..
eina_streq(vol->fstype, "cifs"))
   vol->remote = EINA_TRUE;
else
diff --git a/src/e_mod_systemd.c b/src/e_mod_systemd.c
new file mode 100644
index 000..cc3784d
--- /dev/null
+++ b/src/e_mod_systemd.c
@@ -0,0 +1,510 @@
+
+#include "places_config.h"
+
+
+#ifdef PLACES_HAVE_SYSTEMD
+
+#include 
+#include 
+#include "e_mod_main.h"
+#include "e_mod_places.h"
+
+/*
+
+NOTE
+
+-  I remoti li vede solo con opzione "auto" in fstab 
+
+*/
+
+/* Systemd defines */
+#define S

[EGIT] [enlightenment/modules/places] master 01/01: use safer and more clear eina_streq() instead of strcmp()

2021-04-18 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=0293a50c0585fb769f5199be851dfa4ec6deedab

commit 0293a50c0585fb769f5199be851dfa4ec6deedab
Author: Dave Andreoli 
Date:   Mon Apr 19 07:14:34 2021 +0200

use safer and more clear eina_streq() instead of strcmp()
---
 src/e_mod_mount.c  | 12 +--
 src/e_mod_places.c | 58 +++---
 2 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/src/e_mod_mount.c b/src/e_mod_mount.c
index 8415968..e6a0ebf 100644
--- a/src/e_mod_mount.c
+++ b/src/e_mod_mount.c
@@ -25,13 +25,13 @@ _places_mount_exe_del_cb(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *eve
Ecore_Exe_Event_Del *e = (Ecore_Exe_Event_Del *)event;
const char *tag = ecore_exe_tag_get(e->exe);
 
-   if (!tag || (strcmp(tag, MOUNT_TAG) && strcmp(tag, UMOUNT_TAG)))
+   if (!tag || (!eina_streq(tag, MOUNT_TAG) && !eina_streq(tag, UMOUNT_TAG)))
   return ECORE_CALLBACK_PASS_ON;
 
Volume *vol = ecore_exe_data_get(e->exe);
if (vol && (e->exit_code == 0))
{
-  vol->mounted = strcmp(tag, MOUNT_TAG) ? EINA_FALSE : EINA_TRUE;
+  vol->mounted = eina_streq(tag, MOUNT_TAG);
   places_volume_update(vol);
}
return ECORE_CALLBACK_DONE;
@@ -43,7 +43,7 @@ _places_mount_exe_error_cb(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *e
Ecore_Exe_Event_Data *e = (Ecore_Exe_Event_Data *)event;
const char *tag = ecore_exe_tag_get(e->exe);
 
-   if (!tag || (strcmp(tag, MOUNT_TAG) && strcmp(tag, UMOUNT_TAG)))
+   if (!tag || (!eina_streq(tag, MOUNT_TAG) && !eina_streq(tag, UMOUNT_TAG)))
   return ECORE_CALLBACK_PASS_ON;
 
Ecore_Exe_Event_Data_Line line = e->lines[0];
@@ -156,7 +156,7 @@ _places_mount_mtab_parse(void)
 
   EINA_LIST_FOREACH_SAFE(to_search, l, l2, vol)
   {
- if (strcmp(vol->mount_point, mpoint))
+ if (!eina_streq(vol->mount_point, mpoint))
continue;
 
  // printf("PLACES: Mounted: %s\n", mpoint);
@@ -214,8 +214,8 @@ _places_mount_fstab_parse(void)
   if (num_splits != 2)
  continue;
 
-  if (!strcmp(fstype, "nfs") ||
-  !strcmp(fstype, "cifs"))
+  if (eina_streq(fstype, "nfs") ||
+  eina_streq(fstype, "cifs"))
   {
  _places_mount_volume_add(mpoint, fstype);
   }
diff --git a/src/e_mod_places.c b/src/e_mod_places.c
index aabf848..263183f 100644
--- a/src/e_mod_places.c
+++ b/src/e_mod_places.c
@@ -229,7 +229,7 @@ places_volume_by_id_get(const char *id)
Eina_List *l;
 
EINA_LIST_FOREACH(volumes, l, v)
- if (!strcmp(v->id, id))
+ if (eina_streq(v->id, id))
return v;
 
return NULL;
@@ -363,35 +363,35 @@ places_fill_box(Evas_Object *main, Eina_Bool horiz)
 f1 = f2 = f3 = NULL;
 /* optical discs */
 // TODO more icons: dvd, blueray
-if (!strcmp(vol->drive_type, "cdrom") ||
-!strcmp(vol->drive_type, "optical_cd"))
+if (eina_streq(vol->drive_type, "cdrom") ||
+eina_streq(vol->drive_type, "optical_cd"))
   {
  f1 = "media"; f2 = "optical";  // OR media-optical ??
   }
 /* flash cards */
-else if (!strcmp(vol->drive_type, "sd_mmc") ||
- !strcmp(vol->model, "SD/MMC"))
+else if (eina_streq(vol->drive_type, "sd_mmc") ||
+ eina_streq(vol->model, "SD/MMC"))
   {
  f1 = "media"; f2 = "flash"; f3 = "sdmmc"; // NOTE sd-mmc in 
Oxigen :(
   }
-else if (!strcmp(vol->drive_type, "memory_stick") ||
- !strcmp(vol->model, "MS/MS-Pro"))
+else if (eina_streq(vol->drive_type, "memory_stick") ||
+ eina_streq(vol->model, "MS/MS-Pro"))
   {
  f1 = "media"; f2 = "flash"; f3 = "ms"; // NOTE memory-stick in 
Oxigen :(
   }
 /* iPods */
-else if (!strcmp(vol->model, "iPod"))
+else if (eina_streq(vol->model, "iPod"))
   {
  f1 = "multimedia-player"; f2 = "apple"; f3 = "ipod";
   }
 /* generic usb drives */
-else if (!strcmp(vol->bus, "usb"))
+else if (eina_streq(vol->bus, "usb"))
   {
  f1 = "drive"; f2 = "removable-media"; f3 = "usb";
   }
 /* network filesystem */
-else if (!strcmp(vol->fstype, "nfs") ||
- !strcmp(vol->fstype, "cifs"))
+

[EGIT] [enlightenment/modules/places] master 03/03: Fix ordering for network devices

2021-04-18 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=765c10c183089e715af064c12aab1f8ca1cd146f

commit 765c10c183089e715af064c12aab1f8ca1cd146f
Author: Dave Andreoli 
Date:   Sun Apr 18 14:33:13 2021 +0200

Fix ordering for network devices
---
 src/e_mod_mount.c   |  1 +
 src/e_mod_places.c  | 26 ++
 src/e_mod_places.h  |  1 +
 src/e_mod_udisks2.c |  9 -
 4 files changed, 24 insertions(+), 13 deletions(-)

diff --git a/src/e_mod_mount.c b/src/e_mod_mount.c
index 88b6a28..8415968 100644
--- a/src/e_mod_mount.c
+++ b/src/e_mod_mount.c
@@ -103,6 +103,7 @@ _places_mount_volume_add(const char *mpoint, const char 
*fstype)
vol->free_func = _places_mount_free_func;
 
know_mounts = eina_list_append(know_mounts, vol);
+   places_volume_update(vol);
 }
 
 char *
diff --git a/src/e_mod_places.c b/src/e_mod_places.c
index bb8eabf..aabf848 100644
--- a/src/e_mod_places.c
+++ b/src/e_mod_places.c
@@ -241,18 +241,21 @@ _places_volume_sort_cb(const void *d1, const void *d2)
const Volume *v1 = d1;
const Volume *v2 = d2;
 
-   if(!v1) return(1);
-   if(!v2) return(-1);
+   if(!v1) return 1;
+   if(!v2) return -1;
 
// removable after interal
-   if (v1->removable && !v2->removable) return(1);
-   if (v2->removable && !v1->removable) return(-1);
+   if (v1->removable && !v2->removable) return 1;
+   if (v2->removable && !v1->removable) return -1;
+   // network after local
+   if (v1->remote && !v2->remote) return 1;
+   if (v2->remote && !v1->remote) return -1;
// filesystem root on top
-   if (v1->mount_point && !strcmp(v1->mount_point, "/")) return -1;
-   if (v2->mount_point && !strcmp(v2->mount_point, "/")) return 1;
+   if (eina_streq(v1->mount_point, "/")) return -1;
+   if (eina_streq(v2->mount_point, "/")) return 1;
// order by label
-   if(!v1->label) return(1);
-   if(!v2->label) return(-1);
+   if(!v1->label) return 1;
+   if(!v2->label) return -1;
return strcmp(v1->label, v2->label);
 }
 
@@ -273,6 +276,12 @@ places_volume_update(Volume *vol)
Evas_Object *obj;
Eina_List *l;
 
+   if (eina_streq(vol->fstype, "nfs") ||
+   eina_streq(vol->fstype, "cifs"))
+  vol->remote = EINA_TRUE;
+   else
+  vol->remote = EINA_FALSE;
+
EINA_LIST_FOREACH(vol->objs, l, obj)
  _places_volume_object_update(vol, obj);
 
@@ -544,6 +553,7 @@ places_print_volume(Volume *v)
printf("  removable: %d\n", v->removable);
printf("  requires eject: %d\n", v->requires_eject);
printf("  media_available: %d\n", v->media_available);
+   printf("  remote: %d\n", v->remote);
size = _places_human_size_get(v->size);
free = _places_human_size_get(v->free_space);
printf("  size: %s\n", size);
diff --git a/src/e_mod_places.h b/src/e_mod_places.h
index fd9f3e7..f862ca2 100644
--- a/src/e_mod_places.h
+++ b/src/e_mod_places.h
@@ -31,6 +31,7 @@ struct _Volume
Eina_Bool removable;
Eina_Bool requires_eject;
Eina_Bool media_available;
+   Eina_Bool remote;
Eina_Bool unlocked;
Eina_Bool encrypted;
 
diff --git a/src/e_mod_udisks2.c b/src/e_mod_udisks2.c
index 66979ed..603049f 100644
--- a/src/e_mod_udisks2.c
+++ b/src/e_mod_udisks2.c
@@ -544,17 +544,16 @@ _places_ud2_volume_finalize(Volume *vol)
   is_valid = EINA_FALSE;
}
 
+
+   // the update is always needed to trigger auto_mount/auto_open
+   places_volume_update(vol);
+
if (is_valid != vol->valid)
{
   // trigger a full redraw, is the only way to show/hide a new device
   vol->valid = is_valid;
   places_update_all_gadgets();
}
-
-   // the update is always needed to trigger auto_mount/auto_open
-   places_volume_update(vol);
-
-   places_print_volume(vol);  // TODO REMOVEME
 }
 
 

-- 




[EGIT] [enlightenment/modules/places] master 02/03: Fix Removable hint for thumb drives

2021-04-18 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=ffabb2149c0e29079790b39081608bb4f4fcb6ff

commit ffabb2149c0e29079790b39081608bb4f4fcb6ff
Author: Dave Andreoli 
Date:   Sun Apr 18 13:51:32 2021 +0200

Fix Removable hint for thumb drives
---
 src/e_mod_udisks2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/e_mod_udisks2.c b/src/e_mod_udisks2.c
index fc81730..66979ed 100644
--- a/src/e_mod_udisks2.c
+++ b/src/e_mod_udisks2.c
@@ -515,7 +515,7 @@ _places_ud2_read_drive_properies(Volume *vol, 
Eldbus_Message_Iter* props_array)
   }
   else if (eina_streq(key, "MediaAvailable"))
  eldbus_message_iter_arguments_get(var, "b", &vol->media_available);
-  else if (eina_streq(key, "MediaRemovable"))
+  else if (eina_streq(key, "Removable"))
  eldbus_message_iter_arguments_get(var, "b", &vol->removable);
   else if (eina_streq(key, "Ejectable"))
  eldbus_message_iter_arguments_get(var, "b", &vol->requires_eject);

-- 




[EGIT] [enlightenment/modules/places] master 01/03: Finally implemented UDisks2 backend

2021-04-18 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=795a9140620d3e93ff18faae5414049b971ef53b

commit 795a9140620d3e93ff18faae5414049b971ef53b
Author: Dave Andreoli 
Date:   Sun Apr 18 13:38:58 2021 +0200

Finally implemented UDisks2 backend
---
 meson.build |  19 ++
 meson_options.txt   |   8 +-
 src/e_mod_places.c  |  13 ++
 src/e_mod_places.h  |   5 +-
 src/e_mod_udisks2.c | 645 
 src/e_mod_udisks2.h |   8 +
 src/meson.build |   1 +
 7 files changed, 695 insertions(+), 4 deletions(-)

diff --git a/meson.build b/meson.build
index e20db61..0687036 100644
--- a/meson.build
+++ b/meson.build
@@ -28,6 +28,13 @@ config_h.set_quoted('LOCALEDOMAIN', gettext_domain)
 config_dir = include_directories('.')
 
 
+ Udisks2 support 
+if get_option('udisks2') == true
+   dependency('udisks2', required: true, version: '>= 2.7.2')
+   config_h.set('PLACES_HAVE_UDISKS2', 1)
+endif
+
+
  Udisks1 support 
 if get_option('udisks') == true
dependency('udisks', required: true)
@@ -84,3 +91,15 @@ custom_target('e-module-places.edj',
   install_dir: mod_install_dir,
   install: true
  )
+
+
+ Report 
+if meson.version().version_compare('>=0.53')
+   summary({'install': lib_install_dir,
+   }, section: 'Directories')
+   summary({'udisks2': get_option('udisks2'),
+'udisks1': get_option('udisks'),
+'mount': get_option('mount'),
+'eeze': get_option('eeze'),
+ }, section: 'Backends', bool_yn: true)
+endif
\ No newline at end of file
diff --git a/meson_options.txt b/meson_options.txt
index 6bcbde6..d26365e 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,7 +1,11 @@
-option('udisks',
+option('udisks2',
type: 'boolean',
value: true,
-   description: 'enable udisks1 support (default=true)')
+   description: 'enable udisks2 support (default=true)')
+option('udisks',
+   type: 'boolean',
+   value: false,
+   description: 'enable udisks1 support (default=false)')
 option('mount',
type: 'boolean',
value: true,
diff --git a/src/e_mod_places.c b/src/e_mod_places.c
index d2d1810..bb8eabf 100644
--- a/src/e_mod_places.c
+++ b/src/e_mod_places.c
@@ -12,6 +12,10 @@
 # include "e_mod_udisks_eldbus.h"
 #endif
 
+#ifdef PLACES_HAVE_UDISKS2
+# include "e_mod_udisks2.h"
+#endif
+
 #ifdef PLACES_HAVE_MOUNT
 # include "e_mod_mount.h"
 #endif
@@ -67,6 +71,9 @@ places_init(void)
 #ifdef PLACES_HAVE_UDISKS
places_udisks_eldbus_init();
 #endif
+#ifdef PLACES_HAVE_UDISKS2
+   places_udisks2_init();
+#endif
 #ifdef PLACES_HAVE_MOUNT
places_mount_init();
 #endif
@@ -118,6 +125,9 @@ places_shutdown(void)
 #ifdef PLACES_HAVE_UDISKS
places_udisks_eldbus_shutdown();
 #endif
+#ifdef PLACES_HAVE_UDISKS2
+   places_udisks2_shutdown();
+#endif
 #ifdef PLACES_HAVE_MOUNT
places_mount_shutdown();
 #endif
@@ -343,6 +353,7 @@ places_fill_box(Evas_Object *main, Eina_Bool horiz)
 icon = e_icon_add(evas_object_evas_get(main));
 f1 = f2 = f3 = NULL;
 /* optical discs */
+// TODO more icons: dvd, blueray
 if (!strcmp(vol->drive_type, "cdrom") ||
 !strcmp(vol->drive_type, "optical_cd"))
   {
@@ -519,6 +530,7 @@ places_print_volume(Volume *v)
const char *size, *free;
 
printf("Got volume %s (totals: %d)\n", v->id, eina_list_count(volumes));
+   printf("  valid: %d\n", v->valid);
printf("  label: %s\n",v->label);
printf("  mounted: %d\n", v->mounted);
printf("  m_point: %s\n", v->mount_point);
@@ -531,6 +543,7 @@ places_print_volume(Volume *v)
printf("  serial: %s\n", v->serial);
printf("  removable: %d\n", v->removable);
printf("  requires eject: %d\n", v->requires_eject);
+   printf("  media_available: %d\n", v->media_available);
size = _places_human_size_get(v->size);
free = _places_human_size_get(v->free_space);
printf("  size: %s\n", size);
diff --git a/src/e_mod_places.h b/src/e_mod_places.h
index 2150e49..fd9f3e7 100644
--- a/src/e_mod_places.h
+++ b/src/e_mod_places.h
@@ -28,8 +28,9 @@ struct _Volume
const char *model;
const char *vendor;
const char *serial;
-   unsigned char removable;
-   unsigned char requires_eject;
+   Eina_Bool removable;
+   Eina_Bool requires_eject;
+   Eina_Bool media_available;
Eina_Bool unlocked;
E

[EGIT] [enlightenment/modules/places] master 01/01: Do not poll freespace while the screensaver is on

2020-11-11 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=efe3ca51151cc6c79f019f53ddfa5c5a9b8d41b9

commit efe3ca51151cc6c79f019f53ddfa5c5a9b8d41b9
Author: Dave Andreoli 
Date:   Thu Nov 12 08:08:46 2020 +0100

Do not poll freespace while the screensaver is on
---
 src/e_mod_places.c | 51 ++-
 1 file changed, 50 insertions(+), 1 deletion(-)

diff --git a/src/e_mod_places.c b/src/e_mod_places.c
index 75755da..d2d1810 100644
--- a/src/e_mod_places.c
+++ b/src/e_mod_places.c
@@ -33,6 +33,10 @@ static const char *_places_human_size_get(unsigned long long 
size);
 static void _places_volume_object_update(Volume *vol, Evas_Object *obj);
 static void _places_run_fm_external(const char *fm, const char *directory);
 
+/* EcoreEvent callbacks */
+static Eina_Bool _places_screensaver_on_cb(void *data, int type, void *event);
+static Eina_Bool _places_screensaver_off_cb(void *data, int type, void *event);
+
 /* Edje callbacks */
 void _places_icon_activated_cb(void *data, Evas_Object *o, const char 
*emission, const char *source);
 void _places_custom_icon_activated_cb(void *data, Evas_Object *o, const char 
*emission, const char *source);
@@ -44,6 +48,9 @@ static char theme_file[PATH_MAX];
 static Eina_List *volumes = NULL;
 static Ecore_Timer *freespace_timer = NULL;
 static Ecore_Thread *freespace_thread = NULL;
+static Ecore_Event_Handler *places_screensaver_on_handler = NULL;
+static Ecore_Event_Handler *places_screensaver_off_handler = NULL;
+#define PLACES_FREESPACE_INTERVAL 3.0
 
 
 /* Implementation */
@@ -66,12 +73,31 @@ places_init(void)
 
snprintf(theme_file, PATH_MAX, "%s/e-module-places.edj",
 places_conf->module->dir);
-   freespace_timer = ecore_timer_add(3.0, _places_freespace_timer_cb, NULL);
+
+   places_screensaver_on_handler = 
+  ecore_event_handler_add(E_EVENT_SCREENSAVER_ON, 
+  _places_screensaver_on_cb, NULL);
+   places_screensaver_off_handler = 
+  ecore_event_handler_add(E_EVENT_SCREENSAVER_OFF, 
+  _places_screensaver_off_cb, NULL);
+
+   freespace_timer = ecore_timer_add(PLACES_FREESPACE_INTERVAL, 
+ _places_freespace_timer_cb, NULL);
 }
 
 void
 places_shutdown(void)
 {
+   if (places_screensaver_on_handler)
+ {
+ecore_event_handler_del(places_screensaver_on_handler);
+places_screensaver_on_handler = NULL;
+ }
+   if (places_screensaver_off_handler)
+ {
+ecore_event_handler_del(places_screensaver_off_handler);
+places_screensaver_off_handler = NULL;
+ }
if (freespace_timer) 
  {
 ecore_timer_del(freespace_timer);
@@ -615,6 +641,7 @@ _places_freespace_timer_cb(void *data EINA_UNUSED)
Eina_List *l, *tdl = NULL;
FreespaceThreadData *td = NULL;
 
+   // printf("PLACES: TIMER %.1f\n", ecore_time_get());
if (freespace_thread) 
  {
 // printf("PLACES: *** SOMETHING WRONG *** thread:%p still 
running...\n", freespace_thread);
@@ -643,6 +670,28 @@ _places_freespace_timer_cb(void *data EINA_UNUSED)
return ECORE_CALLBACK_RENEW;
 }
 
+static Eina_Bool
+_places_screensaver_on_cb(void *data EINA_UNUSED, int type EINA_UNUSED, void 
*event EINA_UNUSED)
+{
+   if (freespace_timer)
+ {
+ecore_timer_del(freespace_timer);
+freespace_timer = NULL;
+ }
+
+   return ECORE_CALLBACK_PASS_ON;
+}
+
+static Eina_Bool
+_places_screensaver_off_cb(void *data EINA_UNUSED, int type EINA_UNUSED, void 
*event EINA_UNUSED)
+{
+   if (!freespace_timer)
+ freespace_timer = ecore_timer_add(PLACES_FREESPACE_INTERVAL, 
+   _places_freespace_timer_cb, NULL);
+
+   return ECORE_CALLBACK_PASS_ON;
+}
+
 static const char *
 _places_human_size_get(unsigned long long size)
 {

-- 




[EGIT] [enlightenment/modules/places] master 01/01: Move the statfvs() call in a separate thread

2020-11-11 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=b682a5f9022614e935af8d3b6795cc01109f7eee

commit b682a5f9022614e935af8d3b6795cc01109f7eee
Author: Dave Andreoli 
Date:   Thu Nov 12 07:07:28 2020 +0100

Move the statfvs() call in a separate thread

statvfs can block, so run it in a thread to not stall the E mainloop
---
 src/e_mod_places.c | 136 +++--
 1 file changed, 111 insertions(+), 25 deletions(-)

diff --git a/src/e_mod_places.c b/src/e_mod_places.c
index 48c5b6c..75755da 100644
--- a/src/e_mod_places.c
+++ b/src/e_mod_places.c
@@ -17,8 +17,18 @@
 #endif
 
 
+/* Local Typedefs */
+typedef struct _FreespaceThreadData FreespaceThreadData;
+struct _FreespaceThreadData
+{
+   const char *id;
+   const char *mount_point;
+   unsigned long long size;
+   unsigned long long free_space;
+};
+
 /* Local Function Prototypes */
-static Eina_Bool _places_poller(void *data);
+static Eina_Bool _places_freespace_timer_cb(void *data);
 static const char *_places_human_size_get(unsigned long long size);
 static void _places_volume_object_update(Volume *vol, Evas_Object *obj);
 static void _places_run_fm_external(const char *fm, const char *directory);
@@ -30,9 +40,10 @@ void _places_eject_activated_cb(void *data, Evas_Object *o, 
const char *emission
 void _places_header_activated_cb(void *data, Evas_Object *o, const char 
*emission, const char *source);
 
 /* Local Variables */
-static Ecore_Timer *poller = NULL;
 static char theme_file[PATH_MAX];
-Eina_List *volumes = NULL;
+static Eina_List *volumes = NULL;
+static Ecore_Timer *freespace_timer = NULL;
+static Ecore_Thread *freespace_thread = NULL;
 
 
 /* Implementation */
@@ -55,13 +66,22 @@ places_init(void)
 
snprintf(theme_file, PATH_MAX, "%s/e-module-places.edj",
 places_conf->module->dir);
-   poller = ecore_timer_add(3.0, _places_poller, NULL);
+   freespace_timer = ecore_timer_add(3.0, _places_freespace_timer_cb, NULL);
 }
 
 void
 places_shutdown(void)
 {
-   if (poller) ecore_timer_del(poller);
+   if (freespace_timer) 
+ {
+ecore_timer_del(freespace_timer);
+freespace_timer = NULL;
+ }
+   if (freespace_thread) 
+ {
+ecore_thread_cancel(freespace_thread);
+freespace_thread = NULL;
+ }
 
while (volumes)
  places_volume_del((Volume*)volumes->data);
@@ -520,41 +540,107 @@ places_run_fm(const char *directory)
 
 
 /* Internals */
-static unsigned long long
-_places_free_space_get(const char *mount, Volume *vol)
+static void
+_places_freespace_thread_run(void *data, Ecore_Thread *thread)
 {
+   /* statvfs can block, so we run it in a thread to not stall the E mainloop 
*/
+   Eina_List *l;
+   FreespaceThreadData *td = NULL;
struct statvfs s;
 
-   if (!mount) return 0;
-   if (statvfs(mount, &s) != 0)
- return 0;
+   // printf("PLACES: THIS RUN IN THREAD %p\n", thread);
+
+   if (ecore_thread_check(thread) == EINA_TRUE)  // thread cancelled
+ return;
+
+   EINA_LIST_FOREACH(data, l, td)
+ {
+if (td->mount_point && (statvfs(td->mount_point, &s) == 0)) 
+  {
+ td->size = (unsigned long long)s.f_blocks * (unsigned long 
long)s.f_frsize;
+ td->free_space = (unsigned long long)s.f_bavail * (unsigned long 
long)s.f_frsize;
+  }
+if (ecore_thread_check(thread) == EINA_TRUE)
+  return;
+ }
+}
+
+static void
+_places_freespace_thread_done(void *data, Ecore_Thread *thread)
+{
+   FreespaceThreadData *td = NULL;
+   Volume *vol;
+
+   EINA_LIST_FREE(data, td)
+ {
+vol = places_volume_by_id_get(td->id);
+if (vol) 
+  {
+ // redraw only if size or free_space has changed more than 1Mb
+ if ((abs(td->free_space - vol->free_space) > 1024 * 1024) ||
+ (abs(td->size - vol->size) > 1024 * 1024))
+   {
+  vol->size = td->size;
+  vol->free_space = td->free_space;
+  places_volume_update(vol);
+   }
+  }
+eina_stringshare_del(td->id);
+eina_stringshare_del(td->mount_point);
+E_FREE(td);
+ }
+
+   // printf("PLACES:THREAD DONE %p\n", thread);
+   freespace_thread = NULL;
+}
 
-   if ((vol->size == 0) && (s.f_blocks))
- vol->size = (unsigned long long)s.f_blocks * (unsigned long 
long)s.f_frsize;
+static void
+_places_freespace_thread_cancel(void *data, Ecore_Thread *thread)
+{
+   FreespaceThreadData *td = NULL;
 
-   return (unsigned long long)s.f_bavail * (unsigned long long)s.f_frsize;
+   EINA_LIST_FREE(data, td)
+ {
+eina_stringshare_del(td->id);
+eina_stringshare_del(td->mount_point);
+E_FREE(td);
+ }
+   freespace_thread = NULL;
 }
 
 static Eina_Bool
-_pla

[EGIT] [bindings/python/python-efl] master 01/01: Open 1.26 development phase

2020-09-24 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=55e9e51f69fca581b20202747c8d9e1eeaa9bcf3

commit 55e9e51f69fca581b20202747c8d9e1eeaa9bcf3
Author: Dave Andreoli 
Date:   Thu Sep 24 19:31:13 2020 +0200

Open 1.26 development phase
---
 efl/__init__.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/efl/__init__.py b/efl/__init__.py
index d2a7a7d..3ef3d70 100644
--- a/efl/__init__.py
+++ b/efl/__init__.py
@@ -20,8 +20,8 @@
 # pre-release: "1.13.0-beta1" ( 1, 13, 0 )
 # release: "1.13.0" ( 1, 13, 0 )
 
-__version__ = "1.25.0"
-__version_info__ = (1, 25, 0)
+__version__ = "1.25.99"
+__version_info__ = (1, 25, 99)
 
 
 __all__ = [

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Prepare 1.25 release

2020-09-24 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=5a81c2c9443daaba3af821165388559987b0b600

commit 5a81c2c9443daaba3af821165388559987b0b600
Author: Dave Andreoli 
Date:   Thu Sep 24 19:04:53 2020 +0200

Prepare 1.25 release
---
 ChangeLog   | 8 
 efl/__init__.py | 4 ++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 7fbfbaf..8f0a7f7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,12 @@
 
+===
+2020-09-24  v1.25.0
+===
+
+Changes:
+ * Switched to Cython 0.29.21 for the tarball generation
+
+ 
 ===
 2020-04-30  v1.24.0
 ===
diff --git a/efl/__init__.py b/efl/__init__.py
index 83d1b93..d2a7a7d 100644
--- a/efl/__init__.py
+++ b/efl/__init__.py
@@ -20,8 +20,8 @@
 # pre-release: "1.13.0-beta1" ( 1, 13, 0 )
 # release: "1.13.0" ( 1, 13, 0 )
 
-__version__ = "1.24.99"
-__version_info__ = (1, 24, 99)
+__version__ = "1.25.0"
+__version_info__ = (1, 25, 0)
 
 
 __all__ = [

-- 




[EGIT] [enlightenment/modules/edgar] master 02/02: Remove bryce integration, making the module work again

2020-07-12 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=250957a6c67e7d26a118eabbf93a82faa251b2a7

commit 250957a6c67e7d26a118eabbf93a82faa251b2a7
Author: Dave Andreoli 
Date:   Sun Jul 12 10:44:06 2020 +0200

Remove bryce integration, making the module work again
---
 src/e_mod_edgar.c | 284 +-
 1 file changed, 2 insertions(+), 282 deletions(-)

diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c
index 43d9229..c4c50de 100644
--- a/src/e_mod_edgar.c
+++ b/src/e_mod_edgar.c
@@ -28,16 +28,10 @@
 #include "efl.eo_api.h"
 
 
-// undef this to disable bryce integration
-#define EDGAR_GADGETS_DOMAIN "Edgar"
-
-
-/* TODO:
-
- - correctly manage the new bryce orientations
+/*
+TODO
  - gadget configurations (and thus id management)
  - gadget actions (keybindings)
-
 */
 
 /* Local typedefs */
@@ -70,14 +64,6 @@ static const char *_edgar_gc_id_new(const 
E_Gadcon_Client_Class *client_class);
 static void _edgar_gc_id_del(const E_Gadcon_Client_Class *client_class, const 
char *id);
 static Evas_Object *_edgar_gc_icon(const E_Gadcon_Client_Class *client_class, 
Evas *evas);
 
-#ifdef EDGAR_GADGETS_DOMAIN
-/* Local Gadget/Bryce Prototypes */
-EINTERN Evas_Object *edgar_bryce_create_cb(Evas_Object *parent, const char 
*type, int *id, E_Gadget_Site_Orient orient);
-EINTERN char*edgar_bryce_name_cb(const char *type);
-static Evas_Object  *edgar_bryce_popup_new(Edgar_Py_Gadget *gadget, 
Evas_Object *gadget_object);
-static void  edgar_bryce_popup_del(Edgar_Py_Gadget *gadget, 
Evas_Object *ctx_popup);
-#endif
-
 /* Python eapi module proto */
 PyMODINIT_FUNC PyInit_eapi(void);
 
@@ -342,14 +328,6 @@ edgar_gadget_load(const char *name, const char *path)
e_gadcon_provider_register(cclass);
eina_hash_add(edgar_gadgets, name, gadget);
 
-#ifdef EDGAR_GADGETS_DOMAIN
-   // add the gadget to the bryce gadgets system
-   e_gadget_external_type_add(EDGAR_GADGETS_DOMAIN, name,
-  edgar_bryce_create_cb, NULL);
-   e_gadget_external_type_name_cb_set(EDGAR_GADGETS_DOMAIN, name,
-  edgar_bryce_name_cb);
-#endif
-
return gadget;
 }
 
@@ -365,11 +343,6 @@ edgar_gadget_unload(Edgar_Py_Gadget *gadget)
EINA_LIST_FOREACH_SAFE(gadget->pops_obj, l, l2, popup_content)
   E_FREE_FUNC(popup_content, evas_object_del);
 
-#ifdef EDGAR_GADGETS_DOMAIN
-   // remove the gadget from the bryce gadgets system
-   e_gadget_external_type_del(EDGAR_GADGETS_DOMAIN, gadget->name);
-#endif
-
// Free the gadcon client class
e_gadcon_provider_unregister(gadget->cclass);
eina_stringshare_del(gadget->cclass->name);
@@ -669,259 +642,6 @@ edgar_mouse_down1_cb(void *data, Evas *e, Evas_Object 
*obj, void *event_info)
}
 }
 
-
-#ifdef EDGAR_GADGETS_DOMAIN
-/*/
-/*  Gadget/Bryce Pupup   */
-/*/
-static void
-edgar_bryce_ctxpopup_dismissed_cb(void *data, Evas_Object *obj, void *info 
EINA_UNUSED)
-{
-   Edgar_Py_Gadget *gadget = data;
-   edgar_bryce_popup_del(gadget, obj);
-}
-
-static Evas_Object *
-edgar_bryce_popup_new(Edgar_Py_Gadget *gadget, Evas_Object *gadget_object)
-{
-   Evas_Object *ctxpopup, *content;
-
-   DBG("EDGAR: Bryce popup for gadget:%s", gadget->name);
-
-   // create an elm ctxpopup to hold the content generated by the gadget
-   ctxpopup = elm_ctxpopup_add(e_comp->elm);
-   elm_object_style_set(ctxpopup, "noblock");
-   evas_object_smart_callback_add(ctxpopup, "dismissed",
-  edgar_bryce_ctxpopup_dismissed_cb, gadget);
-
-   // request the popup content from the python gadget
-   content = edgar_request_popup_content(gadget, ctxpopup);
-   if (!content)
-   {
-  evas_object_del(ctxpopup);
-  return NULL;
-   }
-
-   // keep track of the popup
-   evas_object_data_set(gadget_object, "edgar-ctxpopup", ctxpopup);
-   evas_object_data_set(ctxpopup, "edgar-ctxpopup-owner", gadget_object);
-
-   // put the content in the ctxpopup and show everything
-   elm_object_content_set(ctxpopup, content);
-   e_gadget_util_ctxpopup_place(gadget_object, ctxpopup, NULL);
-   evas_object_show(ctxpopup);
-
-   return ctxpopup;
-}
-
-static void
-edgar_bryce_popup_del(Edgar_Py_Gadget *gadget, Evas_Object *ctxpopup)
-{
-   Evas_Object *popup_content = elm_object_content_get(ctxpopup);
-   Evas_Object *gadget_object = evas_object_data_get(ctxpopup, 
"edgar-ctxpopup-owner");
-
-   DBG("EDGAR: Bryce popup delete for gadget:%s", gadget->name);
-   edgar_notify_popup_deleted(gadget, popup_content);
-
-   // remove popup references
-   evas_object_data_del(gadget_object, "edgar-ctxpopup&qu

[EGIT] [enlightenment/modules/edgar] master 01/02: Audio: Better support for stereo channels

2020-07-12 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=ac8f0d942c1336cc8b948ed97057fcd9debe3bb7

commit ac8f0d942c1336cc8b948ed97057fcd9debe3bb7
Author: Dave Andreoli 
Date:   Sat May 2 12:10:39 2020 +0200

Audio: Better support for stereo channels

Also start to factorize Players and Channels, in preparation for
the upcoming MPD support
---
 gadgets/audio/__init__.py | 99 +++
 1 file changed, 65 insertions(+), 34 deletions(-)

diff --git a/gadgets/audio/__init__.py b/gadgets/audio/__init__.py
index 8019029..216e936 100644
--- a/gadgets/audio/__init__.py
+++ b/gadgets/audio/__init__.py
@@ -1,7 +1,6 @@
 # This python file use the following encoding: utf-8
 
 import os
-import sys
 import dbus
 from urllib.parse import unquote as url_unquote
 
@@ -24,14 +23,48 @@ __gadget_vapi__ = 2
 __gadget_opts__ = {'popup_on_desktop': True}
 
 
-# def DBG(msg):
-#print("AUDIO: %s" % msg)
-#sys.stdout.flush()
+def DBG(*args):
+import sys
+print("AUDIO:", *args)
+sys.stdout.flush()
 
 
 _instance = None
 
 
+class PlayerBase(object):
+""" Define the interface that players must implement  """
+name = 'Player name'
+label = 'Player label'
+metadata = {}  # metadata dict as per mpris2 specs
+playback_status = 'Stopped'  # or 'Playing' or 'Paused'
+
+def play(self):
+raise NotImplemented
+
+def prev(self):
+raise NotImplemented
+
+def next(self):
+raise NotImplemented
+
+def rais(self):
+raise NotImplemented
+
+
+class ChannelBase(object):
+""" Define the interface that volume channels must implement  """
+name = 'Channel name'
+volumes = [0.0, 0.0]  # left/right channels, range: 0.0 - 1.0
+muted = True
+
+def volume_set(self, vols):
+raise NotImplemented
+
+def mute_toggle(self):
+raise NotImplemented
+
+
 class Gadget(e.Gadget):
 
 def __init__(self):
@@ -67,20 +100,21 @@ class Gadget(e.Gadget):
 def speaker_update(self, speaker):
 if self.pulse and len(self.pulse.channels) > 0:
 ch = self.pulse.channels[0]
-left = right = ch.volume / 655
+left, right = ch.volumes[0] * 100, ch.volumes[1] * 100
 speaker.message_send(0, (ch.muted, left, right))
 
 def speaker_wheel_cb(self, obj, sig, source):
 if self.pulse.channels:
 ch = self.pulse.channels[0]
-vol = ch.volume
+vol = (ch.volumes[0] + ch.volumes[1]) / 2
 if sig == 'mouse,wheel,0,1':
-new_vol = vol - 3000
+new_vol = vol - 0.03
 elif sig == 'mouse,wheel,0,-1':
-new_vol = vol + 3000
+new_vol = vol + 0.03
 else:
 return
-ch.volume_set(min(max(0, new_vol), 65500))
+new_vol = min(max(0.0, new_vol), 1.0)
+ch.volume_set([new_vol, new_vol])
 
 def popup_created(self, elm_parent):
 # DBG("POPUP CREATED")
@@ -100,11 +134,11 @@ class Gadget(e.Gadget):
 main_box.data['players_box'] = players_box
 main_box.data['volumes_box'] = volumes_box
 
-# add all the available players to the popup edje box
+# add all the available mpris players to the popup edje box
 for player in self.mpris.players:
 self.popup_player_add(main_box, player)
 
-# add all the channel sliders
+# add all the pulse channels sliders
 if self.pulse.conn is not None:
 for ch in self.pulse.channels:
 self.popup_volume_add(main_box, ch)
@@ -162,7 +196,7 @@ class Gadget(e.Gadget):
 self.player_objs[player].append(o)
 
 def player_changed(self, player):
-# the mpris player has changed, update all the relative edje objects
+# the player has changed, update all the relative edje objects
 for o in self.player_objs.get(player, []):
 self.player_update(o, player)
 
@@ -213,11 +247,11 @@ class Gadget(e.Gadget):
 pass
 
 def popup_volume_add(self, popup, channel):
-sl = elm.Slider(popup, text=channel.name, min_max=(0, 65500),
+sl = elm.Slider(popup, text=channel.name, min_max=(0.0, 1.0),
 span_size=150, indicator_show=False,
 size_hint_expand=EXPAND_HORIZ,
 size_hint_fill=FILL_HORIZ)
-sl.value = channel.volume
+sl.value = (channel.volumes[0] + channel.volumes[1]) / 2
 sl.disabled = True if channel.muted else False
 sl.callback_changed_add(self.popup_slider_changed_cb, channel)
 sl.callback_slider_drag_start_add(self.popup_slid

[EGIT] [bindings/python/python-efl] master 01/01: Do not fail when build with CC="clang"

2020-06-25 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=5a02f132107abc6a7d022eb349f7ff6338b71feb

commit 5a02f132107abc6a7d022eb349f7ff6338b71feb
Author: Dave Andreoli 
Date:   Thu Jun 25 18:54:03 2020 +0200

Do not fail when build with CC="clang"

clang seems much better in building elementary, while gcc need a lot
of ram and tend to fail badly

So for now on clang is the suggested compiler to use
---
 setup.py | 16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/setup.py b/setup.py
index 3ed0028..a863a19 100755
--- a/setup.py
+++ b/setup.py
@@ -211,13 +211,17 @@ ext_modules = []
 py_modules = []
 packages = ["efl"]
 common_cflags = [
-"-fno-var-tracking-assignments", # seems to lower the mem used during build
-"-Wno-misleading-indentation", # not needed (we don't indent the C code)
-"-Wno-deprecated-declarations", # we bind deprecated functions
-"-Wno-unused-variable", # eo_instance_from_object() is unused
-"-Wno-format-security", # some cc don't like the way cython use EINA_LOG 
macros
-# "-Werror", "-Wfatal-errors" # use this to stop build on first warnings
+"-fno-var-tracking-assignments",  # seems to lower the mem used during 
build
+"-Wno-misleading-indentation",  # not needed (we don't indent the C code)
+"-Wno-deprecated-declarations",  # we bind deprecated functions
+"-Wno-unused-variable",  # eo_instance_from_object() is unused
+"-Wno-format-security",  # some cc don't like the way cython use EINA_LOG 
macros
+# "-Werror", "-Wfatal-errors"  # use this to stop build on first warnings
 ]
+# remove clang unknown flags
+if os.getenv("CC") == "clang":
+common_cflags.remove('-fno-var-tracking-assignments')
+
 
 if set(("build", "build_ext", "install", "bdist", "sdist")) & set(sys.argv):
 sys.stdout.write("Python-EFL: %s\n" % RELEASE)

-- 




[EGIT] [enlightenment/modules/edgar] master 01/01: Audio: Fix cleanup of tracking lists

2020-05-02 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=18c4be96dc3d8980c57b634abf8c3c840a3d738a

commit 18c4be96dc3d8980c57b634abf8c3c840a3d738a
Author: Dave Andreoli 
Date:   Sat May 2 10:37:30 2020 +0200

Audio: Fix cleanup of tracking lists

This was used to work, but it doesn't anymore :(

box.children is always empty, probably E is deleting the contents
of the popup before calling us. Try out a new implementation.
---
 gadgets/audio/__init__.py | 33 +++--
 1 file changed, 23 insertions(+), 10 deletions(-)

diff --git a/gadgets/audio/__init__.py b/gadgets/audio/__init__.py
index ca034c5..8019029 100644
--- a/gadgets/audio/__init__.py
+++ b/gadgets/audio/__init__.py
@@ -116,16 +116,29 @@ class Gadget(e.Gadget):
 return main_box
 
 def popup_destroyed(self, popup):
-# DBG("POPUP DESTROYED")
-# remove the objects from our lists
-for obj in popup.data['players_box'].children:
-for player, objs in self.player_objs.items():
-while obj in objs:
-objs.remove(obj)
-for obj in popup.data['volumes_box'].children:
-for channel, objs in self.channel_objs.items():
-while obj in objs:
-objs.remove(obj)
+""" remove the popup objects from our tracking lists """
+
+""" This was used to work, but it doesn't work anymore :(
+box.children is always empty, probably E is deleting the contents
+before calling us """
+# for obj in popup.data['players_box'].children:
+# for player, objs in self.player_objs.items():
+# while obj in objs:
+# objs.remove(obj)
+# for obj in popup.data['volumes_box'].children:
+# for channel, objs in self.channel_objs.items():
+# while obj in objs:
+# objs.remove(obj)
+
+""" new implementation """
+for player, objs_list in self.player_objs.items():
+for obj in objs_list:
+if obj.is_deleted():
+objs_list.remove(obj)
+for channel, sliders_list in self.channel_objs.items():
+for slider in sliders_list:
+if slider.is_deleted():
+sliders_list.remove(slider)
 
 def popup_player_add(self, popup, player):
 # create the edje obj for this player from 'e/gadgets/audio/player'

-- 




[EGIT] [enlightenment/modules/edgar] master 01/01: remove all ancient #ifdefs for old efl versions, we now require efl 1.24

2020-05-01 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=335381d6f2406e8d7b7520d9fa8fb9934ac130a7

commit 335381d6f2406e8d7b7520d9fa8fb9934ac130a7
Author: Dave Andreoli 
Date:   Fri May 1 21:40:44 2020 +0200

remove all ancient #ifdefs for old efl versions, we now require efl 1.24
---
 src/e_mod_edgar.c | 41 +
 1 file changed, 1 insertion(+), 40 deletions(-)

diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c
index 7f554b5..43d9229 100644
--- a/src/e_mod_edgar.c
+++ b/src/e_mod_edgar.c
@@ -28,10 +28,8 @@
 #include "efl.eo_api.h"
 
 
-
-#ifdef EFL_VERSION_1_21
+// undef this to disable bryce integration
 #define EDGAR_GADGETS_DOMAIN "Edgar"
-#endif
 
 
 /* TODO:
@@ -133,14 +131,6 @@ static PyObject *edjeEdjeType;
 #define PyString_AsString PyUnicode_AsUTF8
 #endif
 
-#ifndef EFL_VERSION_1_19
- #define efl_isa eo_isa
-#endif
-
-#ifndef EFL_VERSION_1_21
- #define EFL_UI_LAYOUT_CLASS ELM_LAYOUT_CLASS
-#endif
-
 
 /*/
 /*  Main stuff ***/
@@ -582,25 +572,12 @@ edgar_show_gadget_info(Edgar_Py_Gadget *gadget)
 /*/
 /*  Gadcon (old) Popup   */
 /*/
-#if defined EFL_VERSION_1_19
 static void edgar_popup_del_cb(void *data, const Efl_Event *event)
-#elif defined EFL_VERSION_1_18
-static void edgar_popup_del_cb(void *data, const Eo_Event *event)
-#else
-static Eina_Bool edgar_popup_del_cb(void *data, Eo *obj, const 
Eo_Event_Description *desc, void *event_info)
-#endif
 {
-#ifdef EFL_VERSION_1_18
Eo *obj = event->object;
-#endif
 
Edgar_Py_Gadget *gadget = data;
-
edgar_notify_popup_deleted(gadget, obj);
-
-#ifndef EFL_VERSION_1_18
-   return EO_CALLBACK_CONTINUE;
-#endif
 }
 
 static E_Gadcon_Popup *
@@ -610,11 +587,7 @@ edgar_popup_new(Edgar_Py_Gadget *gadget, E_Gadcon_Client 
*gcc)
Evas_Object *content;
 
// create the gadcon popup to hold the content generated by the gadget
-#if E_VERSION_MAJOR >= 19
popup = e_gadcon_popup_new(gcc, EINA_FALSE);
-#else
-   popup = e_gadcon_popup_new(gcc);
-#endif
 
// request the popup content from the python gadget
content = edgar_request_popup_content(gadget, popup->comp_object);
@@ -626,16 +599,8 @@ edgar_popup_new(Edgar_Py_Gadget *gadget, E_Gadcon_Client 
*gcc)
 
// NOTE: del cb with priority to be called before the python-efl one.
// Otherwise python-efl delete the python obj too soon
-#if defined EFL_VERSION_1_19
efl_event_callback_priority_add(content, EFL_EVENT_DEL,
  EFL_CALLBACK_PRIORITY_BEFORE, edgar_popup_del_cb, gadget);
-#elif defined EFL_VERSION_1_18
-   eo_event_callback_priority_add(content, EO_EVENT_DEL,
- EO_CALLBACK_PRIORITY_BEFORE, edgar_popup_del_cb, gadget);
-#else
-   eo_do(content, eo_event_callback_priority_add(
- EO_EV_DEL, EO_CALLBACK_PRIORITY_BEFORE, edgar_popup_del_cb, gadget));
-#endif
 
// put the popup content in the gadcon popup and show it
e_gadcon_popup_content_set(popup, content);
@@ -663,11 +628,7 @@ edgar_mouse_down3_cb(void *data, Evas *e, Evas_Object 
*obj, void *event_info)
   E_Menu *m;
   int x, y;
 
-#if E_VERSION_MAJOR >= 20
   zone = e_zone_current_get();
-#else
-  zone = e_util_zone_current_get(e_manager_current_get());
-#endif
   m = e_menu_new();
 
   E_Menu_Item *mi;

-- 




[EGIT] [enlightenment/modules/edgar] master 01/01: Meson: explicit efl require and link

2020-05-01 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=a5aa37c7267194ce723947ae2a392b4778036d8a

commit a5aa37c7267194ce723947ae2a392b4778036d8a
Author: Dave Andreoli 
Date:   Fri May 1 21:22:58 2020 +0200

Meson: explicit efl require and link
---
 meson.build | 4 
 src/meson.build | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/meson.build b/meson.build
index a836512..1e85b62 100644
--- a/meson.build
+++ b/meson.build
@@ -9,6 +9,10 @@ project('edgar', 'c',
 # NOTE: meson 53 needed for the 'embed' param of py3.dependency()
 
 
+ EFL 
+dep_efl = dependency('efl', version: '>= 1.24')
+
+
  Enlightenemnt 
 dep_e = dependency('enlightenment', version: '>= 0.23.99')
 e_modules_dir = dep_e.get_pkgconfig_variable('modules')
diff --git a/src/meson.build b/src/meson.build
index b8e73a7..306e287 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -4,7 +4,7 @@ module = shared_module(
'e_mod_main.c',
'e_mod_edgar.c',
 
-   dependencies : [dep_e, dep_py3, dep_dl],
+   dependencies : [dep_efl, dep_e, dep_py3, dep_dl],
install_dir: lib_install_dir,
include_directories: config_dir,
install: true,

-- 




[EGIT] [enlightenment/modules/edgar] master 01/01: Fix segv on gadget click for gadgets without a popup (in bryce desktop mode)

2020-05-01 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=7c2a3206091093ef565718a3765562b4fcfb7db0

commit 7c2a3206091093ef565718a3765562b4fcfb7db0
Author: Dave Andreoli 
Date:   Fri May 1 21:16:24 2020 +0200

Fix segv on gadget click for gadgets without a popup (in bryce desktop mode)
---
 src/e_mod_edgar.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c
index 6e91266..7f554b5 100644
--- a/src/e_mod_edgar.c
+++ b/src/e_mod_edgar.c
@@ -447,7 +447,6 @@ edgar_request_popup_content(Edgar_Py_Gadget *gadget, 
Evas_Object *parent)
return content;
 
 exit_error:
-   Py_XDECREF(pyparent);
Py_XDECREF(pycontent);
return NULL;
 }
@@ -621,7 +620,7 @@ edgar_popup_new(Edgar_Py_Gadget *gadget, E_Gadcon_Client 
*gcc)
content = edgar_request_popup_content(gadget, popup->comp_object);
if (!content)
{
-  // e_object_del(popup);  // this call segfault badly
+  e_object_del(E_OBJECT(popup));
   return NULL;
}
 

-- 




[EGIT] [enlightenment/modules/edgar] master 01/01: Explicit link to dl lib

2020-05-01 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=1f69754970cd4efbee10953e301b3858e34541dd

commit 1f69754970cd4efbee10953e301b3858e34541dd
Author: Dave Andreoli 
Date:   Fri May 1 20:19:43 2020 +0200

Explicit link to dl lib

Updated meson to 0.54.1 and was not compiling anymore without this
---
 meson.build   | 5 +
 src/e_mod_edgar.c | 2 ++
 src/meson.build   | 2 +-
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/meson.build b/meson.build
index 36321a1..a836512 100644
--- a/meson.build
+++ b/meson.build
@@ -17,6 +17,11 @@ e_release = dep_e.get_pkgconfig_variable('release')
 e_module_arch = dep_e.get_pkgconfig_variable('module_arch')
 
 
+ Dlopen 
+cc = meson.get_compiler('c')
+dep_dl = cc.find_library('dl', required: false)
+
+
  Python3 
 py3 = import('python').find_installation('python3', modules: ['efl', 'dbus'])
 dep_py3 = py3.dependency(embed: true)
diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c
index b0f4fc7..6e91266 100644
--- a/src/e_mod_edgar.c
+++ b/src/e_mod_edgar.c
@@ -17,6 +17,8 @@
 
 
 #include 
+#include 
+
 #include 
 #include 
 
diff --git a/src/meson.build b/src/meson.build
index 1ba6e51..b8e73a7 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -4,7 +4,7 @@ module = shared_module(
'e_mod_main.c',
'e_mod_edgar.c',
 
-   dependencies : [dep_e, dep_py3],
+   dependencies : [dep_e, dep_py3, dep_dl],
install_dir: lib_install_dir,
include_directories: config_dir,
install: true,

-- 




[EGIT] [enlightenment/modules/edgar] master 01/01: meson: link_args++

2020-05-01 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=1b4d07fa9067d16a1ced27c7fc60e6b8abeb8757

commit 1b4d07fa9067d16a1ced27c7fc60e6b8abeb8757
Author: Dave Andreoli 
Date:   Fri May 1 15:41:53 2020 +0200

meson: link_args++
---
 src/meson.build | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/meson.build b/src/meson.build
index a6740eb..1ba6e51 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -9,4 +9,5 @@ module = shared_module(
include_directories: config_dir,
install: true,
name_prefix: '',
+   link_args: '-Wl,--unresolved-symbols=ignore-in-object-files'
 )

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Back to devel mode

2020-04-29 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=22cc200a61eda3b6e8d431e991ec1b7d3de5a05b

commit 22cc200a61eda3b6e8d431e991ec1b7d3de5a05b
Author: Dave Andreoli 
Date:   Thu Apr 30 08:13:09 2020 +0200

Back to devel mode
---
 efl/__init__.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/efl/__init__.py b/efl/__init__.py
index 5eb7e13..83d1b93 100644
--- a/efl/__init__.py
+++ b/efl/__init__.py
@@ -20,8 +20,8 @@
 # pre-release: "1.13.0-beta1" ( 1, 13, 0 )
 # release: "1.13.0" ( 1, 13, 0 )
 
-__version__ = "1.24.0"
-__version_info__ = (1, 24, 0)
+__version__ = "1.24.99"
+__version_info__ = (1, 24, 99)
 
 
 __all__ = [

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Update release instructions

2020-04-29 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=09e016bdbdafc034465844ca95bc2aaccb292fc9

commit 09e016bdbdafc034465844ca95bc2aaccb292fc9
Author: Dave Andreoli 
Date:   Thu Apr 30 07:57:59 2020 +0200

Update release instructions
---
 CODING | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/CODING b/CODING
index 1b48282..a91447f 100644
--- a/CODING
+++ b/CODING
@@ -111,7 +111,7 @@ Release process instructions
 * setup.py build_doc (check that inheritance graphs are there)
 * Test the generated tarballs
 * scp tarballs & md5sums to:
-  
download.enlightenment.org:/srv/web/download.enlightenment.org/public_html/pre-releases/
+  download.enlightenment.org:/srv/web/download.enlightenment.org/pre-releases/
 * Announce at enlightenment-rele...@lists.sourceforge.net and
   enlightenment-de...@lists.sourceforge.net that tarballs are ready for testing
 
@@ -119,7 +119,7 @@ Release process instructions
 release announcement for phame/ml.
 
 * ssh to download.enlightenment.org and mv tarballs & md5sums to:
-/srv/web/download.enlightenment.org/public_html/rel/bindings/python/
+/srv/web/download.enlightenment.org/rel/bindings/python/
 * Upload the .tar.gz archive to pypi:
- NOTE: pypi is migrating to pypi.org domain, you must work on the new one
- python setup.py sdist upload (need ~/.pypirc)
@@ -129,7 +129,7 @@ Release process instructions
 * Create and push the branch for stable backporting
 git branch python-efl-1.9 && git push origin python-efl-1.9
 * scp the jenkins generated html documentation to:
-  
download.enlightenment.org:/srv/web/docs.enlightenment.org/public_html/python-efl/1.XX.0/
+  download.enlightenment.org:/srv/web/docs.enlightenment.org/python-efl/1.XX.0/
   and update the 'current' link on the server (ssh)
 * Update download link on the wiki (www.enlightenment.org/download)
 * Publish the blog post on phame (Official Announcements)

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Prepare the 1.24 release

2020-04-29 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=bd81c36cd007859e7050a9af2e6a176a14c5ddac

commit bd81c36cd007859e7050a9af2e6a176a14c5ddac
Author: Dave Andreoli 
Date:   Thu Apr 30 07:46:20 2020 +0200

Prepare the 1.24 release
---
 ChangeLog   | 9 +
 INSTALL | 4 +++-
 efl/__init__.py | 4 ++--
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 55a26ed..7fbfbaf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,13 @@
 
+===
+2020-04-30  v1.24.0
+===
+
+Changes:
+ * Switched to Cython 0.29.16 for the tarball generation
+ * No more pypi packages uploaded, you must install from tarball
+
+
 ===
 2019-10-06  v1.23.0
 ===
diff --git a/INSTALL b/INSTALL
index c1494cd..dd098f2 100644
--- a/INSTALL
+++ b/INSTALL
@@ -8,12 +8,14 @@
  * Cython 0.21 or higher (http://cython.org/)
- Tested with Cython 0.29.16
 
- * EFL libs
+ * EFL must be the same minor version of the bindings,
+   es. python-efl 1.24 need efl 1.24
 
  * To build the DOCS you will also need:
- python-sphinx
- [optional] graphviz
 
+ * At least 4GB of free RAM to build
 
 
 2. BUILDING PYTHON-EFL
diff --git a/efl/__init__.py b/efl/__init__.py
index bc430c3..5eb7e13 100644
--- a/efl/__init__.py
+++ b/efl/__init__.py
@@ -20,8 +20,8 @@
 # pre-release: "1.13.0-beta1" ( 1, 13, 0 )
 # release: "1.13.0" ( 1, 13, 0 )
 
-__version__ = "1.23.99"
-__version_info__ = (1, 23, 99)
+__version__ = "1.24.0"
+__version_info__ = (1, 24, 0)
 
 
 __all__ = [

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Explicitly declare efl submodules

2020-04-28 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=81c48dd2d9b74492caf05abb2f6170205039cea2

commit 81c48dd2d9b74492caf05abb2f6170205039cea2
Author: Dave Andreoli 
Date:   Wed Apr 29 08:37:53 2020 +0200

Explicitly declare efl submodules

seems to make editors happier
---
 efl/__init__.py | 17 +
 1 file changed, 17 insertions(+)

diff --git a/efl/__init__.py b/efl/__init__.py
index 4b17604..bc430c3 100644
--- a/efl/__init__.py
+++ b/efl/__init__.py
@@ -22,3 +22,20 @@
 
 __version__ = "1.23.99"
 __version_info__ = (1, 23, 99)
+
+
+__all__ = [
+'dbus_mainloop',
+'ecore',
+'ecore_con',
+'ecore_input',
+'ecore_x',
+'edje',
+'edje_edit',
+'elementary',
+'emotion',
+'eo',
+'ethumb',
+'evas',
+'utils',
+]

-- 




[EGIT] [bindings/python/python-efl] master 01/03: Follow efl rename Efl.Canvas.Text -> Efl.Canvas.Textblock

2020-04-27 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=a7e86793c3882b57e726d892baddae3da0c83b1d

commit a7e86793c3882b57e726d892baddae3da0c83b1d
Author: Dave Andreoli 
Date:   Mon Apr 27 20:02:08 2020 +0200

Follow efl rename Efl.Canvas.Text -> Efl.Canvas.Textblock
---
 efl/evas/efl.evas_object_textblock.pxi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/efl/evas/efl.evas_object_textblock.pxi 
b/efl/evas/efl.evas_object_textblock.pxi
index 2ad355d..2340606 100644
--- a/efl/evas/efl.evas_object_textblock.pxi
+++ b/efl/evas/efl.evas_object_textblock.pxi
@@ -229,5 +229,5 @@ cdef class Textblock(Object):
 """
 evas_object_textblock_obstacles_update(self.obj)
 
-_object_mapping_register("Efl.Canvas.Text", Textblock)
+_object_mapping_register("Efl.Canvas.Textblock", Textblock)
 

-- 




[EGIT] [bindings/python/python-efl] master 02/03: Fix tests

2020-04-27 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=32aec52918265d62afb0cd0f41cd4ef0f0e80623

commit 32aec52918265d62afb0cd0f41cd4ef0f0e80623
Author: Dave Andreoli 
Date:   Mon Apr 27 20:02:57 2020 +0200

Fix tests
---
 tests/ecore/test_11_con.py   | 10 +-
 tests/edje/test_02_object.py | 12 +++-
 tests/edje/test_05_decorators.py |  7 +++
 tests/eo/test_02_class_names.py  |  1 +
 4 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/tests/ecore/test_11_con.py b/tests/ecore/test_11_con.py
index d0f9b21..e53babd 100644
--- a/tests/ecore/test_11_con.py
+++ b/tests/ecore/test_11_con.py
@@ -15,7 +15,7 @@ class TestCon(unittest.TestCase):
 def testLookup(self):
 def _dns_complete(canonname, ip, sockaddr, arg1, my_karg):
 self.assertEqual(canonname, 'google-public-dns-a.google.com')
-self.assertEqual(ip, '8.8.8.8')
+self.assertIn(ip, ('8.8.8.8', '2001:4860:4860::'))
 self.assertEqual(arg1, "arg1")
 self.assertEqual(my_karg, 1234)
 self.complete = True
@@ -23,7 +23,7 @@ class TestCon(unittest.TestCase):
 
 self.complete = False
 ecore_con.Lookup('google-public-dns-a.google.com',
-  _dns_complete, "arg1", my_karg=1234)
+ _dns_complete, "arg1", my_karg=1234)
 
 t = ecore.Timer(TIMEOUT, ecore.main_loop_quit)
 ecore.main_loop_begin()
@@ -35,7 +35,7 @@ class TestCon(unittest.TestCase):
 self.complete_counter = 0
 self.progress_counter = 0
 self.exit_counter = 3 # we expect 3 complete cb calls
-self.test_url = 'http://www.example.com'
+self.test_url = 'http://www.google.com'
 self.received_data = []
 
 def _on_complete(event, add=1):
@@ -87,7 +87,7 @@ class TestCon(unittest.TestCase):
 u.delete()
 
 def testUrlDelete(self):
-self.test_url1 = 'http://www.example.com'
+self.test_url1 = 'http://www.facebook.com'
 self.test_url2 = 'http://www.google.com'
 self.complete_counter = 0
 
@@ -131,7 +131,7 @@ class TestCon(unittest.TestCase):
 u2.delete()
 
 def testUrlToFile(self):
-self.test_url = 'http://www.example.com'
+self.test_url = 'http://www.google.com'
 self.complete = False
 
 def _on_complete(event):
diff --git a/tests/edje/test_02_object.py b/tests/edje/test_02_object.py
index 97c6bee..81c6159 100644
--- a/tests/edje/test_02_object.py
+++ b/tests/edje/test_02_object.py
@@ -1,10 +1,12 @@
 #!/usr/bin/env python
 
+import os
+import unittest
+import logging
+
 from efl import evas
 from efl import ecore
 from efl import edje
-import os, unittest
-import logging
 
 
 theme_path = os.path.dirname(os.path.abspath(__file__))
@@ -111,9 +113,9 @@ class TestEdjeObject(unittest.TestCase):
 o.delete()
 
 def testSignals(self):
-expected_signals = ["seat,added,seat1,default", "edje,language,none",
-"edje,state,ltr", "load", "edje,state,ltr",
-"resize", "quit"]
+expected_signals = ["edje,language,none", "edje,state,ltr", "load",
+"edje,state,ltr", "resize", "quit"]
+
 def _signal_cb(obj, emission, source):
 expected_signals.remove(emission)
 if emission == "quit":
diff --git a/tests/edje/test_05_decorators.py b/tests/edje/test_05_decorators.py
index b1552c4..05fbb1f 100644
--- a/tests/edje/test_05_decorators.py
+++ b/tests/edje/test_05_decorators.py
@@ -13,9 +13,9 @@ theme_path = os.path.dirname(os.path.abspath(__file__))
 theme_file = os.path.join(theme_path, "theme.edj")
 
 
-expected_signals = ["seat,added,seat1,default", "edje,language,none",
-"edje,state,ltr", "load", "edje,state,ltr", "resize",
-"emit,message", "emit,message"]
+expected_signals = ["edje,language,none", "edje,state,ltr", "load",
+"edje,state,ltr", "resize", "emit,message", "emit,message",
+"edje,text,changed", "edje,text,changed"]
 expected_signals2 = ["load", "resize"]
 expected_messages = [33, 33]
 expected_text_parts = ["label", "label"]
@@ -25,7 +25,6 @@ class MyEdje(Edje):
 def __init__(self, canvas):
 Edje.__init__(self, canvas, file=theme_file, group="main")
 
-
 @edje.on_signal("*", "*")
 def cb_signal_all(self, emission, source):
 if source == "" or source == "edje":
diff --git a/tests/eo/test_02_class_names.py b/tests/eo/test_02_class_names.py
index e3354f2..a776a87 100644
--- a/tests/eo/test_02_class_names.py
+++ b/tests/eo/test_02_class_names.py
@@ -24,6 +24,7 @@ Elm_Web  ->  Web
 
 """
 
+
 class TestElmClassNames(unittest.TestCase):
 
 def setUp(self):

-- 




[EGIT] [bindings/python/python-efl] master 03/03: Update INSTALL

2020-04-27 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=b9117cb5900b60596aa510264bf7149be8673d58

commit b9117cb5900b60596aa510264bf7149be8673d58
Author: Dave Andreoli 
Date:   Mon Apr 27 20:04:16 2020 +0200

Update INSTALL
---
 INSTALL | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/INSTALL b/INSTALL
index ebb7077..c1494cd 100644
--- a/INSTALL
+++ b/INSTALL
@@ -3,17 +3,12 @@
 ===
 
  * Python 2.6 or higher, 3.2 or higher (http://www.python.org/)
-   - Tested with Python 2.7 / 3.3 / 3.4
+   - Tested with Python 3.8
 
  * Cython 0.21 or higher (http://cython.org/)
-   - Tested with Cython 0.21.2
+   - Tested with Cython 0.29.16
 
- * EFL core library
-   - eo, evas, ecore, edje, emotion and elementary
-
- * pkg-config (http://www.freedesktop.org/wiki/Software/pkg-config)
-   - Windows executable (and GLib dependency) can be downloaded from
- http://www.gtk.org/download/win32.php
+ * EFL libs
 
  * To build the DOCS you will also need:
- python-sphinx
@@ -29,6 +24,11 @@
 
python setup.py build
 
+ IMPORTANT NOTE:
+   To build the bindings you will need at least 4GB of free ram!
+   Otherwise the build process will badly fail.
+
+
  Distribution tarballs include pre-generated C source files, so
  cython usage is disabled by default, while is enabled in development git
  versions. You can always force the usage of cython using two environment

-- 




[EGIT] [bindings/python/python-efl] master 01/01: gitignore++

2020-04-27 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=a1eeae15f8df6f0dde50add81aad37a241a05077

commit a1eeae15f8df6f0dde50add81aad37a241a05077
Author: Dave Andreoli 
Date:   Mon Apr 27 19:16:23 2020 +0200

gitignore++
---
 .gitignore | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.gitignore b/.gitignore
index cc784ea..8d40005 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,3 +30,6 @@ efl/*/*.c
 efl/*/*.h
 !efl/dbus_mainloop/e_dbus.*
 efl/*/*.html
+
+# Various editors trash
+.idea/

-- 




[EGIT] [enlightenment/modules/edgar] master 01/01: A much better way to find the libpython soname

2020-04-26 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=26a99ee82e8a271e1ae37b3eb863d53eb241ab0d

commit 26a99ee82e8a271e1ae37b3eb863d53eb241ab0d
Author: Dave Andreoli 
Date:   Sun Apr 26 09:01:17 2020 +0200

A much better way to find the libpython soname

This should work 100% of the time, since py 3.2, and without
any fuzzy searching
---
 meson.build   | 6 ++
 src/e_mod_edgar.c | 5 +++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/meson.build b/meson.build
index cbfc1d3..36321a1 100644
--- a/meson.build
+++ b/meson.build
@@ -20,9 +20,14 @@ e_module_arch = dep_e.get_pkgconfig_variable('module_arch')
  Python3 
 py3 = import('python').find_installation('python3', modules: ['efl', 'dbus'])
 dep_py3 = py3.dependency(embed: true)
+
+## bytecompile command to be used by gadgets
 py3_bytecompile = [py3, meson.source_root() / 'meson_bytecompile.py',
'@INPUT@', '@OUTPUT@']
 
+## find the installed libpython soname, will be dlopened at runtime
+py_instsoname = py3.get_variable('INSTSONAME')
+
 
  Install dirs 
 mod_install_dir = join_paths(e_modules_dir, meson.project_name())
@@ -33,6 +38,7 @@ gadgets_install_dir = join_paths(e_lib_dir, 'enlightenment', 
'edgar_gadgets')
  Config.h 
 config_h = configuration_data()
 config_h.set_quoted('PACKAGE', meson.project_name())
+config_h.set_quoted('PYINSTSONAME', py_instsoname)
 config_dir = include_directories('.')
 
 
diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c
index 09aa3fe..b0f4fc7 100644
--- a/src/e_mod_edgar.c
+++ b/src/e_mod_edgar.c
@@ -20,6 +20,7 @@
 #include 
 #include 
 
+#include "edgar_config.h"
 #include "e_mod_main.h"
 #include "e_mod_edgar.h"
 #include "efl.eo_api.h"
@@ -151,10 +152,10 @@ edgar_init()
 
// Make cpython visible to gadgets and to gadgets imported modules
// NOTE: This is needed because e load modules using RTLD_LOCAL
-   py3_lib_handle = dlopen("libpython3.so", (RTLD_LAZY | RTLD_GLOBAL));
+   // NOTE: PYINSTSONAME is gathered at build time from the sysconfig module
+   py3_lib_handle = dlopen(PYINSTSONAME, (RTLD_LAZY | RTLD_GLOBAL));
if (!py3_lib_handle)
{
-  DBG("EDGAR: Cannot find libpython3.so");
   e_util_dialog_internal("Edgar Error",
  "Cannot find Python3 lib."
  "Your python gadgets will not work."

-- 




[EGIT] [enlightenment/modules/extramenu] master 01/01: meson: link_args++

2020-04-25 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/extramenu.git/commit/?id=1819471de1d1723cc82dea0e99ed0cef3e6b219e

commit 1819471de1d1723cc82dea0e99ed0cef3e6b219e
Author: Dave Andreoli 
Date:   Sat Apr 25 21:42:27 2020 +0200

meson: link_args++
---
 meson.build | 2 +-
 src/meson.build | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/meson.build b/meson.build
index f7fa6e8..aaf94cf 100644
--- a/meson.build
+++ b/meson.build
@@ -7,7 +7,7 @@ project('extramenu', 'c',
 
 
  Enlightenemnt 
-dep_e = dependency('enlightenment')
+dep_e = dependency('enlightenment', version: '>= 0.23.99')
 e_modules_dir = dep_e.get_pkgconfig_variable('modules')
 e_release = dep_e.get_pkgconfig_variable('release')
 e_module_arch = dep_e.get_pkgconfig_variable('module_arch')
diff --git a/src/meson.build b/src/meson.build
index 005a229..de987ee 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -8,4 +8,5 @@ module = shared_module(
include_directories: config_dir,
install: true,
name_prefix: '',
+   link_args: '-Wl,--unresolved-symbols=ignore-in-object-files'
 )

-- 




[EGIT] [enlightenment/modules/penguins] master 01/01: meson: link_args++

2020-04-25 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/penguins.git/commit/?id=27f8152634f263b6f3c03345b596fad4c1a9f6f0

commit 27f8152634f263b6f3c03345b596fad4c1a9f6f0
Author: Dave Andreoli 
Date:   Sat Apr 25 21:41:59 2020 +0200

meson: link_args++
---
 meson.build | 2 +-
 src/meson.build | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/meson.build b/meson.build
index 796f734..e3c53ae 100644
--- a/meson.build
+++ b/meson.build
@@ -9,7 +9,7 @@ gettext_domain = 'e-module-' + meson.project_name()
 
 
  Enlightenemnt 
-dep_e = dependency('enlightenment')
+dep_e = dependency('enlightenment', version: '>= 0.23.99')
 e_modules_dir = dep_e.get_pkgconfig_variable('modules')
 e_release = dep_e.get_pkgconfig_variable('release')
 e_module_arch = dep_e.get_pkgconfig_variable('module_arch')
diff --git a/src/meson.build b/src/meson.build
index 3da6c0e..b441fb7 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -10,4 +10,5 @@ module = shared_module(
include_directories: config_dir,
install: true,
name_prefix: '',
+   link_args: '-Wl,--unresolved-symbols=ignore-in-object-files'
 )

-- 




[EGIT] [enlightenment/modules/places] master 01/01: meson: link_args++

2020-04-25 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=b25c7c552985216c079470c5d5595a7c33e0949b

commit b25c7c552985216c079470c5d5595a7c33e0949b
Author: Dave Andreoli 
Date:   Sat Apr 25 21:43:18 2020 +0200

meson: link_args++
---
 src/meson.build | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/meson.build b/src/meson.build
index 174176c..7a576b0 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -14,4 +14,5 @@ module = shared_module(
include_directories: config_dir,
install: true,
name_prefix: '',
+   link_args: '-Wl,--unresolved-symbols=ignore-in-object-files'
 )

-- 




[EGIT] [enlightenment/modules/edgar] master 01/02: Audio: reformat to make pycharm happy

2020-04-24 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=146d656a1ed56b0127c550925b636ccd4f181c1a

commit 146d656a1ed56b0127c550925b636ccd4f181c1a
Author: Dave Andreoli 
Date:   Fri Apr 24 17:11:42 2020 +0200

Audio: reformat to make pycharm happy

it also spotted 2 real bug, so good work pycharm
---
 gadgets/audio/__init__.py | 96 +--
 1 file changed, 52 insertions(+), 44 deletions(-)

diff --git a/gadgets/audio/__init__.py b/gadgets/audio/__init__.py
index a13f73f..ca65905 100644
--- a/gadgets/audio/__init__.py
+++ b/gadgets/audio/__init__.py
@@ -21,12 +21,12 @@ __gadget_auth__ = 'DaveMDS'
 __gadget_mail__ = 'd...@gurumeditation.it'
 __gadget_desc__ = 'The complete audio gadget.'
 __gadget_vapi__ = 2
-__gadget_opts__ = { 'popup_on_desktop': True }
+__gadget_opts__ = {'popup_on_desktop': True}
 
 
 # def DBG(msg):
-   # print("AUDIO: %s" % msg)
-   # sys.stdout.flush()
+#print("AUDIO: %s" % msg)
+#sys.stdout.flush()
 
 
 _instance = None
@@ -41,7 +41,7 @@ class Gadget(e.Gadget):
 super().__init__()
 
 self.player_objs = {}  # key: Player instance   val: (list of edje 
objs)
-self.channel_objs = {} # key: Channel instance  val: (list of elm 
Slider)
+self.channel_objs = {}  # key: Channel instance  val: (list of elm 
Slider)
 
 self.mpris = Mpris2_Client()
 self.pulse = PulseAudio_Client()
@@ -52,7 +52,7 @@ class Gadget(e.Gadget):
 
 obj.signal_callback_add('mouse,down,2', 'over', self.speaker_click_cb)
 obj.signal_callback_add('mouse,wheel,*', 'over', self.speaker_wheel_cb)
-obj.size_hint_aspect = evas.EVAS_ASPECT_CONTROL_BOTH , 16, 16
+obj.size_hint_aspect = evas.EVAS_ASPECT_CONTROL_BOTH, 16, 16
 self.speaker_update(obj)
 
 def instance_destroyed(self, obj):
@@ -88,12 +88,12 @@ class Gadget(e.Gadget):
 main_box.show()
 
 players_box = elm.Box(main_box, size_hint_expand=EXPAND_HORIZ,
-size_hint_fill=FILL_HORIZ)
+  size_hint_fill=FILL_HORIZ)
 main_box.pack_end(players_box)
 players_box.show()
 
 volumes_box = elm.Box(main_box, size_hint_expand=EXPAND_HORIZ,
-size_hint_fill=FILL_HORIZ)
+  size_hint_fill=FILL_HORIZ)
 main_box.pack_end(volumes_box)
 volumes_box.show()
 
@@ -109,7 +109,7 @@ class Gadget(e.Gadget):
 for ch in self.pulse.channels:
 self.popup_volume_add(main_box, ch)
 else:
-lb = elm.Label(popup, text='Cannot connect to PulseAudio')
+lb = elm.Label(volumes_box, text='Cannot connect to PulseAudio')
 volumes_box.pack_start(lb)
 lb.show()
 
@@ -132,10 +132,10 @@ class Gadget(e.Gadget):
 o = elm.Layout(popup)
 e.theme_object_set(o, 'audio', 'player')
 
-o.signal_callback_add('act,play', '', lambda o,sig,src: player.play())
-o.signal_callback_add('act,prev', '', lambda o,sig,src: player.prev())
-o.signal_callback_add('act,next', '', lambda o,sig,src: player.next())
-o.signal_callback_add('act,rais', '', lambda o,sig,src: player.rais())
+o.signal_callback_add('act,play', '', lambda obj, sig, src: 
player.play())
+o.signal_callback_add('act,prev', '', lambda obj, sig, src: 
player.prev())
+o.signal_callback_add('act,next', '', lambda obj, sig, src: 
player.next())
+o.signal_callback_add('act,rais', '', lambda obj, sig, src: 
player.rais())
 
 self.player_update(o, player)
 o.show()
@@ -144,7 +144,7 @@ class Gadget(e.Gadget):
 popup.data['players_box'].pack_end(o)
 
 # keep track of this obj in the player_objs dict
-if not player in self.player_objs:
+if player not in self.player_objs:
 self.player_objs[player] = []
 self.player_objs[player].append(o)
 
@@ -164,7 +164,8 @@ class Gadget(e.Gadget):
 # remove the player from our list
 del self.player_objs[player]
 
-def player_update(self, obj, player):
+@staticmethod
+def player_update(obj, player):
 # player name
 obj.part_text_set('player_name', player.label or player.name)
 
@@ -186,7 +187,8 @@ class Gadget(e.Gadget):
 
 # cover image
 img = obj.content_unset('cover.swallow')
-if img: img.delete()
+if img:
+img.delete()
 
 if 'mpris:artUrl' in player.

[EGIT] [enlightenment/modules/edgar] master 02/02: Audio: do not show the indicator in sliders

2020-04-24 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=443bf2efbf8409e8716258ae8578b7b8ccb8bc06

commit 443bf2efbf8409e8716258ae8578b7b8ccb8bc06
Author: Dave Andreoli 
Date:   Fri Apr 24 17:30:54 2020 +0200

Audio: do not show the indicator in sliders

This wasn't visible in the paste, something is changed in efl...
---
 .gitignore| 1 +
 gadgets/audio/__init__.py | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index 567609b..a83bb87 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 build/
+.idea/
diff --git a/gadgets/audio/__init__.py b/gadgets/audio/__init__.py
index ca65905..ca034c5 100644
--- a/gadgets/audio/__init__.py
+++ b/gadgets/audio/__init__.py
@@ -201,7 +201,8 @@ class Gadget(e.Gadget):
 
 def popup_volume_add(self, popup, channel):
 sl = elm.Slider(popup, text=channel.name, min_max=(0, 65500),
-span_size=150, size_hint_expand=EXPAND_HORIZ,
+span_size=150, indicator_show=False,
+size_hint_expand=EXPAND_HORIZ,
 size_hint_fill=FILL_HORIZ)
 sl.value = channel.volume
 sl.disabled = True if channel.muted else False

-- 




[EGIT] [enlightenment/modules/edgar] master 01/01: Make bytecompile works again

2020-04-22 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=3641ce6480dde2c9d74269af404e57d3c82b839e

commit 3641ce6480dde2c9d74269af404e57d3c82b839e
Author: Dave Andreoli 
Date:   Thu Apr 23 08:32:14 2020 +0200

Make bytecompile works again
---
 README |  3 ++-
 gadgets/audio/meson.build  | 21 +
 gadgets/calculator/meson.build | 13 ++---
 gadgets/cpu/meson.build| 12 +---
 gadgets/dropbox/meson.build| 12 +---
 gadgets/led_clock/meson.build  | 12 +---
 gadgets/mem/meson.build| 12 +---
 gadgets/netspeed/meson.build   | 12 +---
 meson.build|  2 ++
 meson_bytecompile.py   |  5 +
 10 files changed, 73 insertions(+), 31 deletions(-)

diff --git a/README b/README
index 7073db6..be51f04 100644
--- a/README
+++ b/README
@@ -1,4 +1,5 @@
 Edgar Gadget Loader
+===
 
 This module load python gadgets in Enlightenment.
 
@@ -15,7 +16,7 @@ Requirements
 Install
 ===
 
-To install the edgar and all the incluede gadgets just use:
+To install the edgar and all the included gadgets just use:
 
   meson build
   ninja -C build
diff --git a/gadgets/audio/meson.build b/gadgets/audio/meson.build
index ee95860..7d77f4e 100644
--- a/gadgets/audio/meson.build
+++ b/gadgets/audio/meson.build
@@ -5,7 +5,7 @@ gadget_name = 'audio'
 install_dir = join_paths(gadgets_install_dir, gadget_name)
 
 
-# build gadget_name.edj
+# Build gadget_name.edj
 custom_target(gadget_name + '.edj',
   input  : gadget_name + '.edc',
   output : gadget_name + '.edj',
@@ -17,14 +17,11 @@ custom_target(gadget_name + '.edj',
   install: true
  )
 
-# TODO: bytecompile gadget __init__.py
-# py3_bytecompile = [py3, '-c', 'from py_compile import compile; 
compile("@INPUT@", "@OUTPUT@")']
-#custom_target('__init__.pyc',
-#  input  : '__init__.py',
-#  output : '__init__.pyc',
-#  command: py3_bytecompile,
-#  install_dir: gadget_install_dir,
-#  install: true
-# )
-
-install_data('__init__.py', install_dir: install_dir)
+# Bytecompile gadget script
+custom_target('__init__.pyc',
+  input  : '__init__.py',
+  output : '__init__.pyc',
+  command: py3_bytecompile,
+  install_dir: install_dir,
+  install: true
+ )
diff --git a/gadgets/calculator/meson.build b/gadgets/calculator/meson.build
index 5369a26..2dbd9a3 100644
--- a/gadgets/calculator/meson.build
+++ b/gadgets/calculator/meson.build
@@ -5,7 +5,7 @@ gadget_name = 'calculator'
 install_dir = join_paths(gadgets_install_dir, gadget_name)
 
 
-# build gadget_name.edj
+# Build gadget_name.edj
 custom_target(gadget_name + '.edj',
   input  : gadget_name + '.edc',
   output : gadget_name + '.edj',
@@ -17,5 +17,12 @@ custom_target(gadget_name + '.edj',
   install: true
  )
 
-# TODO: bytecompile gadget __init__.py
-install_data('__init__.py', install_dir: install_dir)
+# Bytecompile gadget script
+custom_target('__init__.pyc',
+  input  : '__init__.py',
+  output : '__init__.pyc',
+  command: py3_bytecompile,
+  install_dir: install_dir,
+  install: true
+ )
+
diff --git a/gadgets/cpu/meson.build b/gadgets/cpu/meson.build
index 4fb0b2a..1569d70 100644
--- a/gadgets/cpu/meson.build
+++ b/gadgets/cpu/meson.build
@@ -5,7 +5,7 @@ gadget_name = 'cpu'
 install_dir = join_paths(gadgets_install_dir, gadget_name)
 
 
-# build gadget_name.edj
+# Build gadget_name.edj
 custom_target(gadget_name + '.edj',
   input  : gadget_name + '.edc',
   output : gadget_name + '.edj',
@@ -17,5 +17,11 @@ custom_target(gadget_name + '.edj',
   install: true
  )
 
-# TODO: bytecompile gadget __init__.py
-install_data('__init__.py', install_dir: install_dir)
+# Bytecompile gadget script
+custom_target('__init__.pyc',
+  input  : '__init__.py',
+  output : '__init__.pyc',
+  command: py3_bytecompile,
+  install_dir: install_dir,
+  install: true
+ )
diff --git a/gadgets/dropbox/meson.build b/gadgets/dropbox/meson.build
index d8087e3..bd7ff16 100644
--- a/gadgets/dropbox/meson.build
+++ b/gadgets/dropbox/meson.build
@@ -5,7 +5,7 @@ gadget_name = 'dr

[EGIT] [enlightenment/modules/edgar] master 01/01: Finally make edgar works again with recent E \o/

2020-04-22 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=e4803fdb3f1f02852feb4179efef74680c0a78af

commit e4803fdb3f1f02852feb4179efef74680c0a78af
Author: Dave Andreoli 
Date:   Thu Apr 23 07:52:26 2020 +0200

Finally make edgar works again with recent E \o/

Many thanks to raster for helping find a solution...and spank him for 
breaking edgar :D
---
 src/e_mod_edgar.c | 19 ++-
 src/e_mod_edgar.h |  2 +-
 src/e_mod_main.c  |  2 +-
 src/e_mod_main.h  |  2 +-
 4 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c
index 329fc95..09aa3fe 100644
--- a/src/e_mod_edgar.c
+++ b/src/e_mod_edgar.c
@@ -1,4 +1,4 @@
-/*  Copyright (C) 2008-2018 Davide Andreoli (see AUTHORS)
+/*  Copyright (C) 2008-2020 Davide Andreoli (see AUTHORS)
  *
  *  This file is part of edgar.
  *  edgar is free software: you can redistribute it and/or modify
@@ -82,6 +82,7 @@ PyMODINIT_FUNC PyInit_eapi(void);
 
 
 /* Local Variables */
+static void *py3_lib_handle;
 static const char *edgar_gadgets_system_dir; //ex: 
"/usr/lib/enlightenment/gadgets/" 
 static Eina_Hash *edgar_gadgets; //key: "gadget_name"  val: Edgar_Py_Gadget*
 static PyObject *evasObjectType;
@@ -148,6 +149,19 @@ edgar_init()
char buf[PATH_MAX];
int ret;
 
+   // Make cpython visible to gadgets and to gadgets imported modules
+   // NOTE: This is needed because e load modules using RTLD_LOCAL
+   py3_lib_handle = dlopen("libpython3.so", (RTLD_LAZY | RTLD_GLOBAL));
+   if (!py3_lib_handle)
+   {
+  DBG("EDGAR: Cannot find libpython3.so");
+  e_util_dialog_internal("Edgar Error",
+ "Cannot find Python3 lib."
+ "Your python gadgets will not work."
+ "Please make sure Python3 is installed.");
+  return EINA_FALSE;
+   }
+
// prepare the local scope
snprintf(buf, sizeof(buf), "%s/enlightenment/edgar_gadgets", 
e_prefix_lib_get());
edgar_gadgets_system_dir = eina_stringshare_add(buf);
@@ -219,6 +233,9 @@ edgar_shutdown()
// clean local scope
eina_stringshare_del(edgar_gadgets_system_dir);
 
+   if (py3_lib_handle)
+  dlclose(py3_lib_handle);
+
DBG("EDGAR: Shutdown completed!");
 }
 
diff --git a/src/e_mod_edgar.h b/src/e_mod_edgar.h
index 0b257a8..ebca6b1 100644
--- a/src/e_mod_edgar.h
+++ b/src/e_mod_edgar.h
@@ -1,4 +1,4 @@
-/*  Copyright (C) 2008-2018 Davide Andreoli (see AUTHORS)
+/*  Copyright (C) 2008-2020 Davide Andreoli (see AUTHORS)
  *
  *  This file is part of edgar.
  *  edgar is free software: you can redistribute it and/or modify
diff --git a/src/e_mod_main.c b/src/e_mod_main.c
index 16b897a..48daa86 100644
--- a/src/e_mod_main.c
+++ b/src/e_mod_main.c
@@ -1,4 +1,4 @@
-/*  Copyright (C) 2008-2018 Davide Andreoli (see AUTHORS)
+/*  Copyright (C) 2008-2020 Davide Andreoli (see AUTHORS)
  *
  *  This file is part of edgar.
  *  edgar is free software: you can redistribute it and/or modify
diff --git a/src/e_mod_main.h b/src/e_mod_main.h
index ab4ba76..2b61f98 100644
--- a/src/e_mod_main.h
+++ b/src/e_mod_main.h
@@ -1,4 +1,4 @@
-/*  Copyright (C) 2008-2018 Davide Andreoli (see AUTHORS)
+/*  Copyright (C) 2008-2020 Davide Andreoli (see AUTHORS)
  *
  *  This file is part of edgar.
  *  edgar is free software: you can redistribute it and/or modify

-- 




[EGIT] [enlightenment/modules/edgar] master 01/01: Edgar: switch to meson

2020-04-21 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=53bdf254bdb5d960b3aed1a2ea66c3b38b3853b8

commit 53bdf254bdb5d960b3aed1a2ea66c3b38b3853b8
Author: Dave Andreoli 
Date:   Tue Apr 21 11:49:02 2020 +0200

Edgar: switch to meson

...still not working with recent e, that changed the way modules are loaded
---
 .gitignore |  60 +-
 COPYING.LESSER | 165 
 GADGETS/audio/Makefile |  36 -
 GADGETS/calculator/Makefile|  36 -
 GADGETS/cpu/Makefile   |  36 -
 GADGETS/dropbox/Makefile   |  36 -
 GADGETS/led_clock/Makefile |  36 -
 GADGETS/mem/Makefile   |  36 -
 GADGETS/netspeed/Makefile  |  36 -
 INSTALL| 246 +-
 Makefile.am|  25 -
 README |  24 +-
 autogen.sh |  16 -
 configure.ac   |  84 --
 {GADGETS => gadgets}/audio/__init__.py |   0
 {GADGETS => gadgets}/audio/audio.edc   |   0
 {GADGETS => gadgets}/audio/images/cover.png| Bin
 {GADGETS => gadgets}/audio/images/icon_mixer.png   | Bin
 {GADGETS => gadgets}/audio/images/icon_next.png| Bin
 {GADGETS => gadgets}/audio/images/icon_pause.png   | Bin
 {GADGETS => gadgets}/audio/images/icon_play.png| Bin
 {GADGETS => gadgets}/audio/images/icon_prev.png| Bin
 .../audio/images/inset_round_hilight.png   | Bin
 .../audio/images/inset_round_shading.png   | Bin
 .../audio/images/inset_round_shadow.png| Bin
 .../audio/images/led_dot_white.png | Bin
 {GADGETS => gadgets}/audio/images/speaker.png  | Bin
 gadgets/audio/meson.build  |  30 +
 {GADGETS => gadgets}/calculator/__init__.py|   0
 {GADGETS => gadgets}/calculator/calculator.edc |   0
 {GADGETS => gadgets}/calculator/fonts/Vera.ttf | Bin
 {GADGETS => gadgets}/calculator/images/0.png   | Bin
 {GADGETS => gadgets}/calculator/images/1.png   | Bin
 {GADGETS => gadgets}/calculator/images/2.png   | Bin
 {GADGETS => gadgets}/calculator/images/3.png   | Bin
 {GADGETS => gadgets}/calculator/images/4.png   | Bin
 {GADGETS => gadgets}/calculator/images/5.png   | Bin
 {GADGETS => gadgets}/calculator/images/6.png   | Bin
 {GADGETS => gadgets}/calculator/images/7.png   | Bin
 {GADGETS => gadgets}/calculator/images/8.png   | Bin
 {GADGETS => gadgets}/calculator/images/9.png   | Bin
 {GADGETS => gadgets}/calculator/images/bg.png  | Bin
 {GADGETS => gadgets}/calculator/images/canc.png| Bin
 {GADGETS => gadgets}/calculator/images/divide.png  | Bin
 {GADGETS => gadgets}/calculator/images/m-c.png | Bin
 {GADGETS => gadgets}/calculator/images/m-minus.png | Bin
 {GADGETS => gadgets}/calculator/images/m-plus.png  | Bin
 {GADGETS => gadgets}/calculator/images/m-r.png | Bin
 {GADGETS => gadgets}/calculator/images/minus.png   | Bin
 .../calculator/images/multiply.png | Bin
 {GADGETS => gadgets}/calculator/images/plus.png| Bin
 {GADGETS => gadgets}/calculator/images/point.png   | Bin
 {GADGETS => gadgets}/calculator/images/result.png  | Bin
 gadgets/calculator/meson.build |  21 +
 {GADGETS => gadgets}/cpu/__init__.py   |   0
 {GADGETS => gadgets}/cpu/cpu.edc   |   0
 {GADGETS => gadgets}/cpu/images/bar_bg.png | Bin
 {GADGETS => gadgets}/cpu/images/cpu.png| Bin
 {GADGETS => gadgets}/cpu/images/green_on.png   | Bin
 {GADGETS => gadgets}/cpu/images/mockup.xcf | Bin
 {GADGETS => gadgets}/cpu/images/red_on.png | Bin
 {GADGETS => gadgets}/cpu/images/yellow_on.png  | Bin
 gadgets/cpu/meson.build|  21 +
 {GADGETS => gadgets}/dropbox/__init__.py   |   0
 .../dropbox/docs/dropboxd-protocol |   0
 {GADGETS => gadgets}/dropbox/dropbox.edc   |   0
 {GADGETS => gadgets}/dropbox/images/dropbox.png| Bin
 .../dropbox/images/dropbox_gray.png| Bin
 .../dropbox/images/emblem-syncing.png  | Bin
 .../dropbox/images/emblem-unsyncable.png   | Bin
 .../dropbox/images/emblem-uptodate.png | Bin
 gadgets/dropbox/meson.build|  21 +
 {GADGETS => gadgets}/led_clock/__init__.py |   0
 {GADGETS => gadgets}/led_clock/images/bg.png   | Bin
 {GADGETS => gadgets}/led_clock/images/bg_orig.png  | Bin
 {GADGETS => gadgets}/led_clock/images/icon.png | Bin
 {GADGETS 

[EGIT] [enlightenment/modules/forecasts] master 01/01: Forecasts: make translation works again

2020-04-19 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/forecasts.git/commit/?id=1a2f682b283291aa819879a76ffb3c6e952911b2

commit 1a2f682b283291aa819879a76ffb3c6e952911b2
Author: Dave Andreoli 
Date:   Sun Apr 19 10:29:55 2020 +0200

Forecasts: make translation works again

NLS was probably broken since the switch to meson,

this commit fix 2 issues:
 * config.h was not readed at all, renamed to forecasts_config.g and 
included
 * meson install po files in system dir, not in E modules dir like it was 
before
---
 meson.build  | 6 +-
 src/e_mod_main.c | 5 +
 src/e_mod_main.h | 2 ++
 src/meson.build  | 1 +
 4 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/meson.build b/meson.build
index 68cd960..adfa753 100644
--- a/meson.build
+++ b/meson.build
@@ -21,9 +21,13 @@ edje_cmd = find_program('edje_cc')
 
 install_mod_dir = join_paths(dir_module_e, meson.project_name())
 install_dir = join_paths(install_mod_dir, module_arch)
+locale_dir = join_paths(get_option('prefix'), get_option('localedir'))
 
 config_data = configuration_data()
+config_data.set_quoted('PACKAGE', meson.project_name())
 config_data.set_quoted('MODULE_DIR', install_dir)
+config_data.set_quoted('LOCALE_DIR', locale_dir)
+config_dir = include_directories('.')
 
 use_translations = false
 intl_lib = cc.find_library('intl', required: false)
@@ -47,7 +51,7 @@ endif
 
 subdir('src')
 
-configure_file(output: 'config.h', install: false, configuration: config_data)
+configure_file(output: 'forecast_config.h', install: false, configuration: 
config_data)
 
 install_data('module.desktop', install_dir : install_mod_dir)
 
diff --git a/src/e_mod_main.c b/src/e_mod_main.c
index fbf0c10..8976a45 100644
--- a/src/e_mod_main.c
+++ b/src/e_mod_main.c
@@ -392,10 +392,7 @@ EAPI E_Module_Api e_modapi = {
 EAPI void *
 e_modapi_init(E_Module *m)
 {
-   char buf[4095];
-
-   snprintf(buf, sizeof(buf), "%s/locale", e_module_dir_get(m));
-   bindtextdomain(PACKAGE, buf);
+   bindtextdomain(PACKAGE, LOCALE_DIR);
bind_textdomain_codeset(PACKAGE, "UTF-8");
 
conf_item_edd = E_CONFIG_DD_NEW("Forecasts_Config_Item", Config_Item);
diff --git a/src/e_mod_main.h b/src/e_mod_main.h
index bdc43ec..ca09bf1 100644
--- a/src/e_mod_main.h
+++ b/src/e_mod_main.h
@@ -1,6 +1,8 @@
 #ifndef E_MOD_MAIN_H
 #define E_MOD_MAIN_H
 
+#include "forecast_config.h"
+
 #ifdef ENABLE_NLS
 # include 
 # define D_(string) dgettext(PACKAGE, string)
diff --git a/src/meson.build b/src/meson.build
index bbb9b20..83fbf96 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -5,6 +5,7 @@ module = shared_module('module',
'e_mod_main.c', 'e_mod_config.c',
dependencies : [e, json],
install_dir: install_dir,
+   include_directories: config_dir,
install: true,
name_prefix: '',
link_args: 
'-Wl,--unresolved-symbols=ignore-in-object-files')

-- 




[EGIT] [enlightenment/modules/places] master 01/01: Places: autotools files--

2020-04-19 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=ee9b1bd477bd8c554c0be68cf1f066a1a4b26668

commit ee9b1bd477bd8c554c0be68cf1f066a1a4b26668
Author: Dave Andreoli 
Date:   Sun Apr 19 10:09:17 2020 +0200

Places: autotools files--
---
 Makefile.am  |  32 -
 configure.ac | 143 ---
 2 files changed, 175 deletions(-)

diff --git a/Makefile.am b/Makefile.am
deleted file mode 100644
index 4e7d1fc..000
--- a/Makefile.am
+++ /dev/null
@@ -1,32 +0,0 @@
-ACLOCAL_AMFLAGS = -I m4
-MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess config.h.in \
-  config.sub configure depcomp install-sh ltmain.sh \
-  missing module.desktop config.rpath mkinstalldirs
-
-SUBDIRS = src
-
-if HAVE_PO
-
-SUBDIRS += po
-
-endif
-
-EDJE_FLAGS = -v \
--id $(top_srcdir)/images
-
-filesdir = $(datadir)
-files_DATA = module.desktop e-module-places.edj
-
-EXTRA_DIST = module.desktop.in \
-e_modules-places.spec.in \
-$(wildcard images/*.png) \
-e-module-places.edc
-
-%.edj:  %.edc
-   $(EDJE_CC) $(EDJE_FLAGS) $< $@
-
-clean-local:
-rm -rf e-module-places.edj module.desktop e_modules-places.spec *~
-
-uninstall:
-rm -rf $(DESTDIR)$(datadir)
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index 8025481..000
--- a/configure.ac
+++ /dev/null
@@ -1,143 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-
-# get rid of that stupid cache mechanism
-rm -f config.cache
-
-AC_INIT(places, 0.20, d...@gurumeditation.it)
-AC_PREREQ(2.52)
-AC_CONFIG_SRCDIR(configure.ac)
-AC_CANONICAL_BUILD
-AC_CANONICAL_HOST
-AC_ISC_POSIX
-
-AM_INIT_AUTOMAKE(1.8)
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-AC_CONFIG_HEADERS(config.h)
-
-AC_PROG_CC
-AC_HEADER_STDC
-AC_C_CONST
-AC_C___ATTRIBUTE__
-
-define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
-define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
-AC_PROG_LIBTOOL
-
-m4_ifdef([AM_GNU_GETTEXT_VERSION], [
-AM_GNU_GETTEXT_VERSION([0.14])
-])
-
-m4_ifdef([AM_GNU_GETTEXT], [
-AM_GNU_GETTEXT([external])
-po_makefile_in=po/Makefile.in
-AM_CONDITIONAL([HAVE_PO], [true])
-],[
-AM_CONDITIONAL([HAVE_PO], [false])
-])
-AC_SUBST(LTLIBINTL)
-
-# check for Enlightenment
-PKG_CHECK_MODULES(E, [enlightenment >= 0.19.99])
-release=$(pkg-config --variable=release enlightenment)
-MODULE_ARCH="$host_os-$host_cpu-$release"
-AC_SUBST(MODULE_ARCH)
-AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
-
-# Find edje_cc
-PKG_CHECK_MODULES(EDJE, [edje >= 1.8])
-AC_ARG_WITH(edje-cc,
-  AC_HELP_STRING([--with-edje-cc=PATH], [specify a specific path to edje_cc]),
-  [
-v=$withval;
-EDJE_CC=$v
-  ],[
-EDJE_CC=$(pkg-config --variable=prefix edje)/bin/edje_cc
-  ]
-)
-AC_SUBST(EDJE_CC)
-AC_MSG_CHECKING([Which edje_cc to use])
-AC_MSG_RESULT(${EDJE_CC})
-
-# check for eldbus (default enabled)
-PKG_CHECK_MODULES([ELDBUS], [eldbus >= 1.8],
-  [have_eldbus="yes"], [have_eldbus="no"])
-want_eldbus=yes
-AC_ARG_ENABLE([eldbus],
-   AS_HELP_STRING([--enable-eldbus],[enable UDisks with eldbus support 
@<:@default=enabled@:>@]), 
-   [want_eldbus=$enableval])
-if test "x$want_eldbus" = "xno";then
-   have_eldbus=no
-fi
-
-# check for mount (default enabled)
-#TODO here check if /etc/fstab and /proc/mounts exists
-have_mount=yes
-want_mount=yes
-AC_ARG_ENABLE([mount],
-   AS_HELP_STRING([--enable-mount],[enable mount fstab/mtab support 
@<:@default=enabled@:>@]), 
-   [want_mount=$enableval])
-if test "x$want_mount" = "xno";then
-   have_mount=no
-fi
-
-# check for eeze (default disabled)
-PKG_CHECK_MODULES([EEZE], [eeze >= 1.1.99],
-  [have_eeze="yes"], [have_eeze="no"])
-want_eeze=no
-AC_ARG_ENABLE([eeze],
-   AS_HELP_STRING([--enable-eeze],[enable eeze support 
@<:@default=disabled@:>@]), 
-   [want_eeze=$enableval])
-if test "x$want_eeze" != "xyes";then
-   have_eeze=no
-fi
-
-
-AM_CONDITIONAL([PLACES_HAVE_ELDBUS], [test "x$have_eldbus" = "xyes"])
-test "x$have_eldbus" = "xyes" && AC_DEFINE_UNQUOTED([PLACES_HAVE_ELDBUS], [1], 
[enable eldbus support])
-
-AM_CONDITIONAL([PLACES_HAVE_EEZE], [test "x$have_eeze" = "xyes"])
-test "x$have_eeze" = "xyes" && AC_DEFINE_UNQUOTED([PLACES_HAVE_EEZE], [1], 
[enable eeze support])
-
-AM_CONDITIONAL([PLACES_HAVE_MOUNT], [test "x$have_mount" = "xyes"])
-test "x$have_mount" = "xyes" && AC_DEFINE_UNQUOTED([PLACES_HAVE_MOUNT], [1], 
[enable mount support])
-
-
-# homedir install
-datadir=$(pkg-config --variable=modules enlightenment)/${PACKAGE}
-AC_ARG_ENABLE(homedir

[EGIT] [enlightenment/modules/places] master 01/01: Places: switch to meson and GPLv3

2020-04-19 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=ffd508e11351da3f9631a021d1d7b99a4449561f

commit ffd508e11351da3f9631a021d1d7b99a4449561f
Author: Dave Andreoli 
Date:   Sun Apr 19 10:06:07 2020 +0200

Places: switch to meson and GPLv3
---
 .gitignore  |  85 +
 COPYING | 704 ++--
 INSTALL | 246 +
 autogen.sh  |  17 -
 e_modules-places.spec.in|  48 ---
 m4/ac_attribute.m4  |  47 ---
 meson.build |  86 +
 meson_options.txt   |  16 +
 module.desktop.in => module.desktop |   0
 po/Makevars |  41 ---
 po/{POTFILES.in => POTFILES}|   0
 po/meson.build  |  10 +
 po/places.pot   | 158 
 src/Makefile.am |  27 --
 src/e_mod_config.c  |   9 +-
 src/e_mod_eeze.c|   4 +-
 src/e_mod_main.c|   9 +-
 src/e_mod_main.h|   4 +-
 src/e_mod_mount.c   |   4 +-
 src/e_mod_places.c  |  13 +-
 src/e_mod_udisks_eldbus.c   |  11 +-
 src/meson.build |  17 +
 22 files changed, 1001 insertions(+), 555 deletions(-)

diff --git a/.gitignore b/.gitignore
index 585bee3..567609b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,84 +1 @@
-*~
-*swo
-*swp
-ABOUT-NLS
-Makefile
-Makefile.in
-aclocal.m4
-autom4te.cache/
-config.guess
-config.h
-config.h.in
-config.log
-config.rpath
-config.status
-config.sub
-configure
-depcomp
-e-module-places.edj
-e_modules-places.spec
-install-sh
-libtool
-ltmain.sh
-m4/codeset.m4
-m4/gettext.m4
-m4/glibc21.m4
-m4/iconv.m4
-m4/intdiv0.m4
-m4/intmax.m4
-m4/inttypes-pri.m4
-m4/inttypes.m4
-m4/inttypes_h.m4
-m4/isc-posix.m4
-m4/lcmessage.m4
-m4/lib-ld.m4
-m4/lib-link.m4
-m4/lib-prefix.m4
-m4/libtool.m4
-m4/longdouble.m4
-m4/longlong.m4
-m4/ltoptions.m4
-m4/ltsugar.m4
-m4/ltversion.m4
-m4/lt~obsolete.m4
-m4/nls.m4
-m4/po.m4
-m4/printf-posix.m4
-m4/progtest.m4
-m4/signed.m4
-m4/size_max.m4
-m4/stdint_h.m4
-m4/uintmax_t.m4
-m4/ulonglong.m4
-m4/wchar_t.m4
-m4/wint_t.m4
-m4/xsize.m4
-missing
-mkinstalldirs
-module.desktop
-po/*.gmo
-po/Makefile
-po/Makefile.in
-po/Makefile.in.in
-po/Makevars.template
-po/POTFILES
-po/Rules-quot
-po/boldquot.sed
-po/en@boldquot.header
-po/en@quot.header
-po/insert-header.sin
-po/places.pot
-po/quot.sed
-po/remove-potcdate.sed
-po/remove-potcdate.sin
-po/stamp-po
-src/.deps/
-src/.libs/
-src/Makefile
-src/Makefile.in
-src/*.o
-src/*.lo
-src/*.la
-stamp-h1
-compile
-
+build/
diff --git a/COPYING b/COPYING
index 9690c3f..94a9ed0 100644
--- a/COPYING
+++ b/COPYING
@@ -1,32 +1,674 @@
+GNU GENERAL PUBLIC LICENSE
+   Version 3, 29 June 2007
 
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies of the Software and its Copyright notices. In addition publicly
-documented acknowledgment must be given that this software has been used if no
-source code of this software is made available publicly. Making the source
-available publicly means including the source for this software with the
-distribution, or a method to get this software via some reasonable mechanism
-(electronic transfer via a network or media) as well as making an offer to
-supply the source on request. This Copyright notice serves as an offer to
-supply the source on on request as well. Instead of this, supplying
-acknowledgments of use of this software in either Copyright notices, Manuals,
-Publicity and Marketing documents or any documentation provided with any
-product containing this software. This License does not apply to any software
-that links to the libraries provided by this software (statically or
-dynamically), but only to the software provided.
-
-Please see the COPYING-PLAIN for a plain-english explanation of this notice
-and its intent.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN

[EGIT] [enlightenment/modules/extramenu] master 01/01: Extramenu: use new module_arch provided by E

2020-04-18 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/extramenu.git/commit/?id=911bb3ccc773507164f32dee32919c92b8e1a60f

commit 911bb3ccc773507164f32dee32919c92b8e1a60f
Author: Dave Andreoli 
Date:   Sat Apr 18 23:54:27 2020 +0200

Extramenu: use new module_arch provided by E
---
 meson.build | 18 ++
 1 file changed, 2 insertions(+), 16 deletions(-)

diff --git a/meson.build b/meson.build
index 9a7d237..f7fa6e8 100644
--- a/meson.build
+++ b/meson.build
@@ -10,26 +10,12 @@ project('extramenu', 'c',
 dep_e = dependency('enlightenment')
 e_modules_dir = dep_e.get_pkgconfig_variable('modules')
 e_release = dep_e.get_pkgconfig_variable('release')
-
-
- Host arch 
-host_os = host_machine.system()
-if host_os == 'linux'
-   cc = meson.get_compiler('c')
-   if cc.has_header_symbol('features.h', '__UCLIBC__')
-  host_os = 'linux-uclibc'
-   elif cc.has_header_symbol('features.h', '__dietlibc__')
-  host_os = 'linux-dietlibc'
-   else
-  host_os = 'linux-gnu'
-   endif
-endif
-mod_arch = '@0@-@1@-@2@'.format(host_os, host_machine.cpu_family(), e_release)
+e_module_arch = dep_e.get_pkgconfig_variable('module_arch')
 
 
  Install dirs 
 mod_install_dir = join_paths(e_modules_dir, meson.project_name())
-lib_install_dir = join_paths(mod_install_dir, mod_arch)
+lib_install_dir = join_paths(mod_install_dir, e_module_arch)
 
 
  config.h 

-- 




[EGIT] [enlightenment/modules/penguins] master 01/01: Penguins: use new module_arch provided by E

2020-04-18 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/penguins.git/commit/?id=1f0b49b6b037266f61bc800b679ef15bfacf594b

commit 1f0b49b6b037266f61bc800b679ef15bfacf594b
Author: Dave Andreoli 
Date:   Sat Apr 18 23:52:17 2020 +0200

Penguins: use new module_arch provided by E
---
 meson.build | 19 +++
 1 file changed, 3 insertions(+), 16 deletions(-)

diff --git a/meson.build b/meson.build
index 0b9dbd6..796f734 100644
--- a/meson.build
+++ b/meson.build
@@ -12,26 +12,12 @@ gettext_domain = 'e-module-' + meson.project_name()
 dep_e = dependency('enlightenment')
 e_modules_dir = dep_e.get_pkgconfig_variable('modules')
 e_release = dep_e.get_pkgconfig_variable('release')
-
-
- Host arch 
-host_os = host_machine.system()
-if host_os == 'linux'
-   cc = meson.get_compiler('c')
-   if cc.has_header_symbol('features.h', '__UCLIBC__')
-  host_os = 'linux-uclibc'
-   elif cc.has_header_symbol('features.h', '__dietlibc__')
-  host_os = 'linux-dietlibc'
-   else
-  host_os = 'linux-gnu'
-   endif
-endif
-mod_arch = '@0@-@1@-@2@'.format(host_os, host_machine.cpu_family(), e_release)
+e_module_arch = dep_e.get_pkgconfig_variable('module_arch')
 
 
  Install dirs 
 mod_install_dir = join_paths(e_modules_dir, meson.project_name())
-lib_install_dir = join_paths(mod_install_dir, mod_arch)
+lib_install_dir = join_paths(mod_install_dir, e_module_arch)
 
 
  config.h 
@@ -46,6 +32,7 @@ config_dir = include_directories('.')
 dep_intl = []
 if get_option('nls')
config_h.set('HAVE_GETTEXT', '1')
+   cc = meson.get_compiler('c')
dep_intl = cc.find_library('intl', required : false)
subdir('po')
 endif 

-- 




[EGIT] [enlightenment/modules/extramenu] master 01/01: Extramenu: switch to meson

2020-04-18 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/extramenu.git/commit/?id=21806bfb94ba66cdbba8ff02179b8da9eece40e3

commit 21806bfb94ba66cdbba8ff02179b8da9eece40e3
Author: Dave Andreoli 
Date:   Sat Apr 18 19:33:38 2020 +0200

Extramenu: switch to meson
---
 .gitignore  |  34 +---
 COPYING.LESSER  | 165 
 Makefile.am |  25 --
 autogen.sh  |  15 
 m4/ac_attribute.m4  |  14 ---
 meson.build |  65 ++
 module.desktop.in => module.desktop |   0
 src/Makefile.am |  18 
 src/meson.build |  11 +++
 9 files changed, 77 insertions(+), 270 deletions(-)

diff --git a/.gitignore b/.gitignore
index 53762e5..567609b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,33 +1 @@
-Makefile
-Makefile.in
-aclocal.m4
-autom4te.cache/
-compile
-config.guess
-config.h
-config.h.in
-config.log
-config.status
-config.sub
-configure
-depcomp
-e-module-extramenu.edj
-install-sh
-libtool
-ltmain.sh
-m4/libtool.m4
-m4/ltoptions.m4
-m4/ltsugar.m4
-m4/ltversion.m4
-m4/lt~obsolete.m4
-missing
-module.desktop
-src/.deps/
-src/.libs/
-src/Makefile
-src/Makefile.in
-src/e_mod_main.lo
-src/e_mod_main.o
-src/module.la
-stamp-h1
-
+build/
diff --git a/COPYING.LESSER b/COPYING.LESSER
deleted file mode 100644
index 1604322..000
--- a/COPYING.LESSER
+++ /dev/null
@@ -1,165 +0,0 @@
-   GNU LESSER GENERAL PUBLIC LICENSE
-   Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
-  This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
-  0. Additional Definitions. 
-
-  As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
-  "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
-  An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
-  A "Combined Work" is a work produced by combining or linking an
-Application with the Library.  The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
-  The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
-  The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
-  1. Exception to Section 3 of the GNU GPL.
-
-  You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
-  2. Conveying Modified Versions.
-
-  If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
-   a) under this License, provided that you make a good faith effort to
-   ensure that, in the event an Application does not supply the
-   function or data, the facility still operates, and performs
-   whatever part of its purpose remains meaningful, or
-
-   b) under the GNU GPL, with none of the additional permissions of
-   this License applicable to that copy.
-
-  3. Object Code Incorporating Material from Library Header Files.
-
-  The object code form of an Application may incorporate material from
-a header file that is part of the Library.  You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
-   a) Give prominent notice with each copy of the object code that the
-   Library is used in it and that the Library and its use a

[EGIT] [enlightenment/modules/penguins] master 01/01: Penguins: switch to GPLv3

2020-04-18 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/penguins.git/commit/?id=8aaac7de9289cff8898c8b88ec1776200972cb25

commit 8aaac7de9289cff8898c8b88ec1776200972cb25
Author: Dave Andreoli 
Date:   Sat Apr 18 19:20:45 2020 +0200

Penguins: switch to GPLv3
---
 COPYING   | 704 +++---
 COPYING-PLAIN |  33 ---
 meson.build   |   5 +-
 3 files changed, 675 insertions(+), 67 deletions(-)

diff --git a/COPYING b/COPYING
index 9690c3f..94a9ed0 100644
--- a/COPYING
+++ b/COPYING
@@ -1,32 +1,674 @@
+GNU GENERAL PUBLIC LICENSE
+   Version 3, 29 June 2007
 
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies of the Software and its Copyright notices. In addition publicly
-documented acknowledgment must be given that this software has been used if no
-source code of this software is made available publicly. Making the source
-available publicly means including the source for this software with the
-distribution, or a method to get this software via some reasonable mechanism
-(electronic transfer via a network or media) as well as making an offer to
-supply the source on request. This Copyright notice serves as an offer to
-supply the source on on request as well. Instead of this, supplying
-acknowledgments of use of this software in either Copyright notices, Manuals,
-Publicity and Marketing documents or any documentation provided with any
-product containing this software. This License does not apply to any software
-that links to the libraries provided by this software (statically or
-dynamically), but only to the software provided.
-
-Please see the COPYING-PLAIN for a plain-english explanation of this notice
-and its intent.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sa

[EGIT] [enlightenment/modules/penguins] master 01/01: Penguins: switch to meson build

2020-04-18 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/penguins.git/commit/?id=9d800565c2018411bd790eb3294effdabaefdfdc

commit 9d800565c2018411bd790eb3294effdabaefdfdc
Author: Dave Andreoli 
Date:   Sat Apr 18 19:11:34 2020 +0200

Penguins: switch to meson build
---
 .gitignore  | 87 +
 INSTALL | 28 
 Makefile.am | 32 --
 autogen.sh  | 17 
 configure.ac| 75 
 e_modules-penguins.spec.in  | 48 
 m4/.svnignore   |  0
 meson.build | 83 +++
 meson_options.txt   |  4 ++
 module.desktop.in => module.desktop |  0
 po/Makevars | 41 -
 po/{POTFILES.in => POTFILES}|  0
 po/meson.build  | 10 +
 src/Makefile.am | 23 --
 src/e_mod_config.c  |  1 -
 src/e_mod_main.c|  7 +--
 src/e_mod_main.h|  7 ++-
 src/e_mod_penguins.c|  1 -
 src/meson.build | 13 ++
 themes/Makefile.am  |  2 -
 themes/default/Makefile.am  | 21 -
 themes/default/meson.build  | 15 +++
 themes/lemmings/Makefile.am | 21 -
 themes/lemmings/meson.build | 15 +++
 themes/meson.build  |  4 ++
 25 files changed, 172 insertions(+), 383 deletions(-)

diff --git a/.gitignore b/.gitignore
index 674a169..567609b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,86 +1 @@
-*~
-*swo
-*swp
-ABOUT-NLS
-Makefile
-Makefile.in
-aclocal.m4
-autom4te.cache/
-config.guess
-config.h
-config.h.in
-config.log
-config.rpath
-config.status
-config.sub
-configure
-compile
-depcomp
-e-module-penguins.edj
-e_modules-penguins.spec
-install-sh
-libtool
-ltmain.sh
-themes/default/default.edj
-themes/lemmings/lemmings.edj
-m4/codeset.m4
-m4/gettext.m4
-m4/glibc21.m4
-m4/iconv.m4
-m4/intdiv0.m4
-m4/intmax.m4
-m4/inttypes-pri.m4
-m4/inttypes.m4
-m4/inttypes_h.m4
-m4/isc-posix.m4
-m4/lcmessage.m4
-m4/lib-ld.m4
-m4/lib-link.m4
-m4/lib-prefix.m4
-m4/libtool.m4
-m4/longdouble.m4
-m4/longlong.m4
-m4/ltoptions.m4
-m4/ltsugar.m4
-m4/ltversion.m4
-m4/lt~obsolete.m4
-m4/nls.m4
-m4/po.m4
-m4/printf-posix.m4
-m4/progtest.m4
-m4/signed.m4
-m4/size_max.m4
-m4/stdint_h.m4
-m4/uintmax_t.m4
-m4/ulonglong.m4
-m4/wchar_t.m4
-m4/wint_t.m4
-m4/xsize.m4
-missing
-mkinstalldirs
-module.desktop
-po/*.gmo
-po/Makefile
-po/Makefile.in
-po/Makefile.in.in
-po/Makevars.template
-po/POTFILES
-po/Rules-quot
-po/boldquot.sed
-po/en@boldquot.header
-po/en@quot.header
-po/insert-header.sin
-po/penguins.pot
-po/quot.sed
-po/remove-potcdate.sed
-po/remove-potcdate.sin
-po/stamp-po
-src/.deps/
-src/.libs/
-src/Makefile
-src/Makefile.in
-src/*.o
-src/*.lo
-src/*.la
-stamp-h1
-
+build/
diff --git a/INSTALL b/INSTALL
index 8919fc2..fc64386 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,11 +1,23 @@
-COMPILING and INSTALLING:
+To build using meson
+
+meson build
+cd build
+ninja
+ninja install
 
-If you got a official release tar archive do:
-./autogen.sh
-  
-Then to compile:
-make
 
-To install:
-make install
+Or without chdir
+
+meson build
+ninja -C build
+ninja -C build install
 
+
+Uninstall
+=
+ninja -C build uninstall
+
+
+Clean build
+===
+rm -rf build/
diff --git a/Makefile.am b/Makefile.am
deleted file mode 100644
index dc12ef5..000
--- a/Makefile.am
+++ /dev/null
@@ -1,32 +0,0 @@
-ACLOCAL_AMFLAGS = -I m4
-MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess config.h.in \
-  config.sub configure depcomp install-sh ltmain.sh \
-  missing module.desktop config.rpath mkinstalldirs
-
-SUBDIRS = src themes
-
-if HAVE_PO
-
-SUBDIRS += po
-
-endif
-
-EDJE_FLAGS = -v \
--id $(top_srcdir)/images
-
-filesdir = $(datadir)
-files_DATA = module.desktop e-module-penguins.edj
-
-EXTRA_DIST = module.desktop.in \
-e_modules-penguins.spec.in \
-e-module-penguins.edc \
-$(wildcard images/*.png)
-
-%.edj:  %.edc
-   $(EDJE_CC) $(EDJE_FLAGS) $< $@
-
-clean-local:
-rm -rf e-module-penguins.edj module.desktop e_modules-penguins.spec *~
-
-uninstall:
-rm -rf $(DESTDIR)$(datadir)
diff --git a/autogen.sh b/autogen.sh
deleted file mode 100755
index ae01364..000
--- a/autogen.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-rm -rf autom4te.cache
-rm -f aclocal.m4 ltmain.sh
-
-touch README
-
-echo "Running autopoint..." ; autopoint -f || :
-echo "Running aclocal..." ; aclocal -I m4 $ACLOCAL_FLAGS || exit 1
-echo "Running autoheader..." ; autoheader || exit 1
-echo "Run

[EGIT] [enlightenment/modules/places] master 01/01: Make coverity happy

2019-05-12 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=65bd9f748bc53b41218dbac90b7900a2123f9d7b

commit 65bd9f748bc53b41218dbac90b7900a2123f9d7b
Author: Dave Andreoli 
Date:   Sun May 12 21:52:13 2019 +0200

Make coverity happy
---
 src/e_mod_places.c | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/e_mod_places.c b/src/e_mod_places.c
index b22935a..ce60a78 100644
--- a/src/e_mod_places.c
+++ b/src/e_mod_places.c
@@ -184,6 +184,9 @@ _places_volume_sort_cb(const void *d1, const void *d2)
const Volume *v1 = d1;
const Volume *v2 = d2;
 
+   if(!v1) return(1);
+   if(!v2) return(-1);
+
// removable after interal
if (v1->removable && !v2->removable) return(1);
if (v2->removable && !v1->removable) return(-1);
@@ -191,8 +194,8 @@ _places_volume_sort_cb(const void *d1, const void *d2)
if (v1->mount_point && !strcmp(v1->mount_point, "/")) return -1;
if (v2->mount_point && !strcmp(v2->mount_point, "/")) return 1;
// order by label
-   if(!v1 || !v1->label) return(1);
-   if(!v2 || !v2->label) return(-1);
+   if(!v1->label) return(1);
+   if(!v2->label) return(-1);
return strcmp(v1->label, v2->label);
 }
 

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Open up 1.23 development

2019-04-26 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=e2ce1b49a3685d74a4739be6951b09def158b5cc

commit e2ce1b49a3685d74a4739be6951b09def158b5cc
Author: Dave Andreoli 
Date:   Fri Apr 26 11:30:26 2019 +0200

Open up 1.23 development
---
 CODING  | 4 
 efl/__init__.py | 4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/CODING b/CODING
index 6a70e3e..1b48282 100644
--- a/CODING
+++ b/CODING
@@ -105,6 +105,10 @@ Release process instructions
 * Update the ChangeLog file:
 setup.py build_doc -b changes ...and manually merge from the html file
 * Git push and wait jenkins to generate the tarballs and the documentation
+  JENKIS IS DEAD :(  these are the manual instructions:
+* setup.py sdist --formats gztar,xztar
+* (cd dist) sha256sum python-efl-1.9.0.tar.xz > 
python-efl-1.9.0.tar.xz.sha256
+* setup.py build_doc (check that inheritance graphs are there)
 * Test the generated tarballs
 * scp tarballs & md5sums to:
   
download.enlightenment.org:/srv/web/download.enlightenment.org/public_html/pre-releases/
diff --git a/efl/__init__.py b/efl/__init__.py
index 834da92..19897d3 100644
--- a/efl/__init__.py
+++ b/efl/__init__.py
@@ -20,5 +20,5 @@
 # pre-release: "1.13.0-beta1" ( 1, 13, 0 )
 # release: "1.13.0" ( 1, 13, 0 )
 
-__version__ = "1.22.0"
-__version_info__ = ( 1, 22, 0 )
+__version__ = "1.22.99"
+__version_info__ = ( 1, 22, 99 )

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Prepare 1.22 release

2019-04-23 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=8ff30f9eddd4bd5b89fae96ad090f964480e4179

commit 8ff30f9eddd4bd5b89fae96ad090f964480e4179
Author: Dave Andreoli 
Date:   Tue Apr 23 09:18:32 2019 +0200

Prepare 1.22 release
---
 ChangeLog   | 8 
 efl/__init__.py | 4 ++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f6a0892..caae1a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,12 @@
 
+===
+2019-04-23  v1.22.0
+===
+
+Changes:
+ * Switched to Cython 0.29.7 for the tarball generation
+
+
 ===
 2018-08-24  v1.21.0
 ===
diff --git a/efl/__init__.py b/efl/__init__.py
index 6d93b1d..834da92 100644
--- a/efl/__init__.py
+++ b/efl/__init__.py
@@ -20,5 +20,5 @@
 # pre-release: "1.13.0-beta1" ( 1, 13, 0 )
 # release: "1.13.0" ( 1, 13, 0 )
 
-__version__ = "1.21.99"
-__version_info__ = ( 1, 21, 99 )
+__version__ = "1.22.0"
+__version_info__ = ( 1, 22, 0 )

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Follow Eo class name changes

2019-04-23 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=d544412cd1f3f8c6ab0f8e35df0ae379778a15b7

commit d544412cd1f3f8c6ab0f8e35df0ae379778a15b7
Author: Dave Andreoli 
Date:   Tue Apr 23 09:13:45 2019 +0200

Follow Eo class name changes
---
 efl/elementary/background.pxi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/efl/elementary/background.pxi b/efl/elementary/background.pxi
index 389ee5d..a3b6184 100644
--- a/efl/elementary/background.pxi
+++ b/efl/elementary/background.pxi
@@ -184,4 +184,4 @@ cdef class Background(LayoutClass):
 def load_size_set(self, w, h):
 elm_bg_load_size_set(self.obj, w, h)
 
-_object_mapping_register("Efl.Ui.Bg_Widget_Legacy", Background)
+_object_mapping_register("Efl.Ui.Bg_Legacy", Background)

-- 




[EGIT] [bindings/python/python-efl] master 01/02: Fix for 1.22 Eo api changes

2019-04-22 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=4fa39916814ebe1ea7aee844d3cbd9f00f60

commit 4fa39916814ebe1ea7aee844d3cbd9f00f60
Author: Dave Andreoli 
Date:   Tue Apr 23 08:54:13 2019 +0200

Fix for 1.22 Eo api changes
---
 efl/eo/efl.eo.pyx| 6 +++---
 include/efl.c_eo.pxd | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/efl/eo/efl.eo.pyx b/efl/eo/efl.eo.pyx
index 6985308..4875b8b 100644
--- a/efl/eo/efl.eo.pyx
+++ b/efl/eo/efl.eo.pyx
@@ -71,13 +71,13 @@ init()
 atexit.register(shutdown)
 
 def event_global_freeze_count_get():
-return efl_event_global_freeze_count_get(efl_object_class_get())
+return efl_event_global_freeze_count_get()
 
 def event_global_freeze():
-efl_event_global_freeze(efl_object_class_get())
+efl_event_global_freeze()
 
 def event_global_thaw():
-efl_event_global_thaw(efl_object_class_get())
+efl_event_global_thaw()
 
 ##
 
diff --git a/include/efl.c_eo.pxd b/include/efl.c_eo.pxd
index 37e536a..d8dd6e1 100644
--- a/include/efl.c_eo.pxd
+++ b/include/efl.c_eo.pxd
@@ -124,9 +124,9 @@ cdef extern from "Eo.h":
 void efl_event_thaw(Eo *obj)
 int efl_event_freeze_count_get(const Eo *obj)
 
-void efl_event_global_freeze(Eo *obj)
-void efl_event_global_thaw(Eo *obj)
-int efl_event_global_freeze_count_get(const Eo *obj)
+void efl_event_global_freeze()
+void efl_event_global_thaw()
+int efl_event_global_freeze_count_get()
 
 Eina_Bool efl_event_callback_add(Eo *obj, const Efl_Event_Description 
*desc, Efl_Event_Cb cb, const void *data)
 Eina_Bool efl_event_callback_del(Eo *obj, const Efl_Event_Description 
*desc, Efl_Event_Cb cb, const void *data)

-- 




[EGIT] [bindings/python/python-efl] master 02/02: Silence Cython warnings

2019-04-22 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=3b0552259dff8355a92fcb57f7ac3b56bc741dd7

commit 3b0552259dff8355a92fcb57f7ac3b56bc741dd7
Author: Dave Andreoli 
Date:   Tue Apr 23 08:55:29 2019 +0200

Silence Cython warnings

I'm keeping python 2 style for compatibility reasons
---
 setup.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/setup.py b/setup.py
index 82dfe26..3ed0028 100755
--- a/setup.py
+++ b/setup.py
@@ -462,6 +462,7 @@ if set(("build", "build_ext", "install", "bdist", "sdist")) 
& set(sys.argv):
 #"c_string_encoding": "utf-8",
 "embedsignature": True,
 "binding": True,
+"language_level": 2,
 })
 
 

-- 




[EGIT] [enlightenment/modules/edgar] master 01/01: Fix for recent gadget api changes

2018-10-22 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=381121b45d18317646e014f0e50a442941cfc4e9

commit 381121b45d18317646e014f0e50a442941cfc4e9
Author: Dave Andreoli 
Date:   Mon Oct 22 23:31:13 2018 +0200

Fix for recent gadget api changes

Also use "new style" dialog done with ctxpopup
---
 src/e_mod_edgar.c | 211 ++
 1 file changed, 116 insertions(+), 95 deletions(-)

diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c
index a97338e..0ecac1d 100644
--- a/src/e_mod_edgar.c
+++ b/src/e_mod_edgar.c
@@ -477,6 +477,83 @@ edgar_theme_object_set(Edgar_Py_Gadget *gadget, 
Evas_Object *obj, const char *gr
return EINA_FALSE;
 }
 
+static void
+edgar_show_gadget_info(Edgar_Py_Gadget *gadget)
+{
+   Evas_Object *popup, *table, *icon, *entry;
+   Eina_Strbuf *strbuf;
+   PyObject *attr;
+
+   // build the text
+   strbuf = eina_strbuf_new();
+   if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_name__")))
+   {
+  eina_strbuf_append_printf(strbuf, "%s",
+PyString_AsString(attr));
+  Py_DECREF(attr);
+   }
+   if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_vers__")))
+   {
+  eina_strbuf_append_printf(strbuf, " v%s", PyString_AsString(attr));
+  Py_DECREF(attr);
+   }
+   if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_auth__")))
+   {
+  eina_strbuf_append_printf(strbuf, "Author: %s", 
PyString_AsString(attr));
+  Py_DECREF(attr);
+   }
+   if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_mail__")))
+   {
+  eina_strbuf_append_printf(strbuf, "Contact: %s", 
PyString_AsString(attr));
+  Py_DECREF(attr);
+   }
+   if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_desc__")))
+   {
+  eina_strbuf_append_printf(strbuf, "%s", PyString_AsString(attr));
+  Py_DECREF(attr);
+   }
+
+   // popup
+   popup = elm_popup_add(e_comp->elm);
+   E_EXPAND(popup);
+   evas_object_layer_set(popup, E_LAYER_POPUP);
+   elm_popup_allow_events_set(popup, EINA_TRUE);
+   elm_popup_scrollable_set(popup, EINA_FALSE);
+
+   table = elm_table_add(popup);
+   elm_table_padding_set(table, 10 * e_scale, 0);
+   E_EXPAND(table);
+   evas_object_show(table);
+   elm_object_content_set(popup, table);
+
+   // icon
+   icon = edje_object_add(evas_object_evas_get(table));
+   edgar_theme_object_set(gadget, icon, "icon");
+   evas_object_size_hint_min_set(icon, 64 * e_scale, 64 * e_scale);
+   elm_table_pack(table, icon, 0, 0, 1, 1);
+   evas_object_show(icon);
+
+   // text
+   entry = elm_entry_add(table);
+   elm_entry_editable_set(entry, EINA_FALSE);
+   elm_object_text_set(entry, eina_strbuf_string_get(strbuf));
+   E_EXPAND(entry); E_FILL(entry);
+   elm_table_pack(table, entry, 1, 0, 1, 1);
+   evas_object_show(entry);
+
+   // show the popup
+   E_Zone *zone = e_zone_current_get();
+   popup = e_comp_object_util_add(popup, E_COMP_OBJECT_TYPE_NONE);
+   evas_object_layer_set(popup, E_LAYER_POPUP);
+   evas_object_move(popup, zone->x, zone->y);
+   evas_object_resize(popup, zone->w / 3, zone->h / 3);
+   e_comp_object_util_center(popup);
+   evas_object_show(popup);
+   e_comp_object_util_autoclose(popup, NULL, 
e_comp_object_util_autoclose_on_escape, NULL);
+
+   eina_strbuf_free(strbuf);
+}
+
 
 /*/
 /*  Gadcon (old) Popup   */
@@ -546,83 +623,7 @@ edgar_popup_new(Edgar_Py_Gadget *gadget, E_Gadcon_Client 
*gcc)
 static void
 edgar_menu_info_cb(void *data, E_Menu *m, E_Menu_Item *mi)
 {
-   Edgar_Py_Gadget *gadget = data;
-   Evas_Object *hbox, *tb, *icon, *img;
-   Eina_Strbuf *strbuf;
-   Evas_Coord w, h;
-   PyObject *attr;
-   E_Dialog *dia;
-
-   // build the text
-   strbuf = eina_strbuf_new();
-
-   if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_name__")))
-   {
-  eina_strbuf_append_printf(strbuf, "%s",
-PyString_AsString(attr));
-  Py_DECREF(attr);
-   }
-   if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_vers__")))
-   {
-  eina_strbuf_append_printf(strbuf, " v%s", PyString_AsString(attr));
-  Py_DECREF(attr);
-   }
-   if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_auth__")))
-   {
-  eina_strbuf_append_printf(strbuf, "Author: %s", 
PyString_AsString(attr));
-  Py_DECREF(attr);
-   }
-   if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_mail__")))
-   {
-  eina_strbuf_append_printf(strbuf, "Contact: %s", 
PyString_AsString(attr));
-  Py_DECREF(attr);
-   }
-   if ((attr = PyObject_GetAttrString(gadget->mod, "__g

[EGIT] [bindings/python/python-efl] master 01/01: In development mode again

2018-08-26 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=42ee207c166dba96ccb8ffdfb9cd035e573de80c

commit 42ee207c166dba96ccb8ffdfb9cd035e573de80c
Author: Dave Andreoli 
Date:   Sun Aug 26 11:42:24 2018 +0200

In development mode again
---
 CODING  | 29 +
 efl/__init__.py |  4 ++--
 2 files changed, 3 insertions(+), 30 deletions(-)

diff --git a/CODING b/CODING
index 8cbcc51..6a70e3e 100644
--- a/CODING
+++ b/CODING
@@ -105,7 +105,6 @@ Release process instructions
 * Update the ChangeLog file:
 setup.py build_doc -b changes ...and manually merge from the html file
 * Git push and wait jenkins to generate the tarballs and the documentation
-* HACK: Use cython 23.5 to generate the source and the tarball on your pc !! 
see T5589
 * Test the generated tarballs
 * scp tarballs & md5sums to:
   
download.enlightenment.org:/srv/web/download.enlightenment.org/public_html/pre-releases/
@@ -136,31 +135,5 @@ Release process instructions
 
 more info at:
 phab.enlightenment.org/w/release_procedure/
+phab.enlightenment.org/w/hosting/ssh/
 
-
-Discussion
-==
-
-* Internal utility functions used in the bindings must start with an
-  underscore and must have the shortest name as possible.
-  ^
-  This needs further discussion/expansion.
-
-  When we define a function with cdef it is not exposed to Python API.
-  This should be explicit enough to not need the underscore prefix, which
-  at best looks ugly, and at worst just plain confusing.
-
-  A function name should summarize its functionality in one clear text,
-  short sentence. We have both too long and too short names. And I admit to
-  being guilty of adding many of both.
-
-  Let's build up a short review so we can see where we stand with this and
-  make necessary corrections.
-
-  / kuuko
-
-
-  The underscore usage is a coding standard in all the EFL, we should try
-  to follow the efl style also here (where is possible and make sense)
-
-  / davemds
diff --git a/efl/__init__.py b/efl/__init__.py
index 9c594b1..6d93b1d 100644
--- a/efl/__init__.py
+++ b/efl/__init__.py
@@ -20,5 +20,5 @@
 # pre-release: "1.13.0-beta1" ( 1, 13, 0 )
 # release: "1.13.0" ( 1, 13, 0 )
 
-__version__ = "1.21.0"
-__version_info__ = ( 1, 21, 0 )
+__version__ = "1.21.99"
+__version_info__ = ( 1, 21, 99 )

-- 




[EGIT] [bindings/python/python-efl] master 02/02: Try to fix tests on jenkins

2018-08-23 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=c9f5b53e281834ad1f531f63e2743c0b4bc36e82

commit c9f5b53e281834ad1f531f63e2743c0b4bc36e82
Author: Dave Andreoli 
Date:   Thu Aug 23 19:56:04 2018 +0200

Try to fix tests on jenkins

Seems this test do not have enough time,
lets try with an higher timeout
---
 tests/ecore/test_08_exe.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/ecore/test_08_exe.py b/tests/ecore/test_08_exe.py
index 567dfa9..69ec75b 100644
--- a/tests/ecore/test_08_exe.py
+++ b/tests/ecore/test_08_exe.py
@@ -34,7 +34,7 @@ class TestExeSubprocess(unittest.TestCase):
 exe.on_del_event_add(self.on_exe_del)
 
 # start ml with a 5 secs timeout
-t = ecore.timer_add(5, ecore.main_loop_quit)
+t = ecore.timer_add(15, ecore.main_loop_quit)
 ecore.main_loop_begin()
 t.delete()
 

-- 




[EGIT] [bindings/python/python-efl] master 01/02: Remove Systray leftovers

2018-08-23 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=8cc259ca26e67a91ab0d18cadc5044282bd8b987

commit 8cc259ca26e67a91ab0d18cadc5044282bd8b987
Author: Dave Andreoli 
Date:   Thu Aug 23 19:55:46 2018 +0200

Remove Systray leftovers
---
 doc/elementary/elementary.rst |  1 -
 doc/elementary/systray.rst| 57 ---
 2 files changed, 58 deletions(-)

diff --git a/doc/elementary/elementary.rst b/doc/elementary/elementary.rst
index 2f2c987..55e6733 100644
--- a/doc/elementary/elementary.rst
+++ b/doc/elementary/elementary.rst
@@ -469,7 +469,6 @@ Inheritance diagram
 efl.elementary.Slider
 efl.elementary.Slideshow
 efl.elementary.Spinner
-efl.elementary.Systray
 efl.elementary.Table
 efl.elementary.Theme
 efl.elementary.Thumb
diff --git a/doc/elementary/systray.rst b/doc/elementary/systray.rst
deleted file mode 100644
index 50e7304..000
--- a/doc/elementary/systray.rst
+++ /dev/null
@@ -1,57 +0,0 @@
-.. currentmodule:: efl.elementary
-
-Systray
-###
-
-Enumerations
-
-
-.. _Elm_Systray_Category:
-
-Category of the Status Notifier Item.
--
-
-.. data:: ELM_SYSTRAY_CATEGORY_APP_STATUS
-
-Indicators of application status
-
-.. data:: ELM_SYSTRAY_CATEGORY_COMMUNICATIONS
-
-Communications apps
-
-.. data:: ELM_SYSTRAY_CATEGORY_SYS_SERVICES
-
-System Service apps
-
-.. data:: ELM_SYSTRAY_CATEGORY_HARDWARE
-
-Hardware indicators
-
-.. data:: ELM_SYSTRAY_CATEGORY_OTHER
-
-Undefined category
-
-
-.. _Elm_Systray_Status:
-
-Application status information.

-
-.. data:: ELM_SYSTRAY_STATUS_PASSIVE
-
-Passive (normal)
-
-.. data:: ELM_SYSTRAY_STATUS_ACTIVE
-
-Active
-
-.. data:: ELM_SYSTRAY_STATUS_ATTENTION
-
-Needs Attention
-
-
-
-.. autoclass:: Systray
-.. autofunction:: on_systray_ready
-
-.. autoclass:: EventSystrayReady

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Prepare the 1.21 release

2018-08-23 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=d25784cca89cb526d3d8f95c14ebf4416010d04c

commit d25784cca89cb526d3d8f95c14ebf4416010d04c
Author: Dave Andreoli 
Date:   Thu Aug 23 19:07:46 2018 +0200

Prepare the 1.21 release
---
 ChangeLog   | 21 -
 efl/__init__.py |  4 ++--
 2 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4d4f126..f6a0892 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,15 +1,26 @@
 
 ===
--XX-XX  v1.21.0
+2018-08-24  v1.21.0
 ===
 
 BREAKS:
  * systray.pxi do not work anymore as the widget has been removed from efl.
-   (commented in efl/elementary/__init__.pyx)
-   TODO FIXME... we still need to decide what to do with this breakage,
-  maybe an empty api with just a break notice? in this way apps using
-  systray will still run (not crash)
+The widget has been completly removed and the function elm_need_systray
+now always return False that means systray is not available.
+Apologies for the inconvenient.
 
+Changes:
+ * Switched to Cython 0.28.4 for the tarball generation, should fix build
+   issues with python3.7
+
+Additions:
+ * ecore.ECORE_EXE_ISOLATE_IO
+ * edje.part_text_prediction_hint_hash_del
+ * edje.part_text_prediction_hint_hash_set
+ * elm.Entry.prediction_hint_hash_del
+ * elm.Entry.prediction_hint_hash_set
+ * elm.Ctxpopup.item_insert_after
+ * elm.Ctxpopup.item_insert_before
 
 
 ===
diff --git a/efl/__init__.py b/efl/__init__.py
index 26528a4..9c594b1 100644
--- a/efl/__init__.py
+++ b/efl/__init__.py
@@ -20,5 +20,5 @@
 # pre-release: "1.13.0-beta1" ( 1, 13, 0 )
 # release: "1.13.0" ( 1, 13, 0 )
 
-__version__ = "1.20.99"
-__version_info__ = ( 1, 20, 99 )
+__version__ = "1.21.0"
+__version_info__ = ( 1, 21, 0 )

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Say goodbye to the Systray widget

2018-08-22 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=7c555cc9da2a69c4da2f313313f348c936fcaf95

commit 7c555cc9da2a69c4da2f313313f348c936fcaf95
Author: Dave Andreoli 
Date:   Wed Aug 22 21:01:20 2018 +0200

Say goodbye to the Systray widget

This is a really bad break !!!

... shame on us to have used an efl beta api :(
---
 efl/elementary/__init__.py  |   1 -
 efl/elementary/__init__.pyx |  15 ---
 efl/elementary/general.py   |   1 -
 efl/elementary/need.pxi |  23 +---
 efl/elementary/systray.pxi  | 218 
 efl/elementary/systray.py   |  13 ---
 efl/elementary/systray_cdef.pxi |  25 -
 examples/elementary/test.py |   1 -
 examples/elementary/test_systray.py |  38 ---
 include/efl.elementary.enums.pxd|  16 ---
 10 files changed, 5 insertions(+), 346 deletions(-)

diff --git a/efl/elementary/__init__.py b/efl/elementary/__init__.py
index 2ec3931..15711cd 100644
--- a/efl/elementary/__init__.py
+++ b/efl/elementary/__init__.py
@@ -78,7 +78,6 @@ __all__ = (
 "slideshow",
 "spinner",
 #"store",
-"systray",
 "table",
 "theme",
 "thumb",
diff --git a/efl/elementary/__init__.pyx b/efl/elementary/__init__.pyx
index e573812..d0278b9 100644
--- a/efl/elementary/__init__.pyx
+++ b/efl/elementary/__init__.pyx
@@ -59,8 +59,6 @@ ELM_EVENT_PROCESS_FOREGROUND = 
enums.ELM_EVENT_PROCESS_FOREGROUND
 ELM_ECORE_EVENT_ETHUMB_CONNECT = enums.ELM_ECORE_EVENT_ETHUMB_CONNECT
 ELM_EVENT_SYS_NOTIFY_NOTIFICATION_CLOSED = 
enums.ELM_EVENT_SYS_NOTIFY_NOTIFICATION_CLOSED
 ELM_EVENT_SYS_NOTIFY_ACTION_INVOKED = enums.ELM_EVENT_SYS_NOTIFY_ACTION_INVOKED
-ELM_EVENT_SYSTRAY_READY = enums.ELM_EVENT_SYSTRAY_READY
-
 
 ELM_FOCUS_PREVIOUS = enums.ELM_FOCUS_PREVIOUS
 ELM_FOCUS_NEXT = enums.ELM_FOCUS_NEXT
@@ -516,18 +514,6 @@ ELM_SLIDER_INDICATOR_VISIBLE_MODE_ALWAYS = 
enums.ELM_SLIDER_INDICATOR_VISIBLE_MO
 ELM_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS = 
enums.ELM_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS
 ELM_SLIDER_INDICATOR_VISIBLE_MODE_NONE = 
enums.ELM_SLIDER_INDICATOR_VISIBLE_MODE_NONE
 
-ELM_EVENT_SYSTRAY_READY = enums.ELM_EVENT_SYSTRAY_READY
-
-ELM_SYSTRAY_CATEGORY_APP_STATUS = enums.ELM_SYSTRAY_CATEGORY_APP_STATUS
-ELM_SYSTRAY_CATEGORY_COMMUNICATIONS = enums.ELM_SYSTRAY_CATEGORY_COMMUNICATIONS
-ELM_SYSTRAY_CATEGORY_SYS_SERVICES = enums.ELM_SYSTRAY_CATEGORY_SYS_SERVICES
-ELM_SYSTRAY_CATEGORY_HARDWARE = enums.ELM_SYSTRAY_CATEGORY_HARDWARE
-ELM_SYSTRAY_CATEGORY_OTHER = enums.ELM_SYSTRAY_CATEGORY_OTHER
-
-ELM_SYSTRAY_STATUS_PASSIVE = enums.ELM_SYSTRAY_STATUS_PASSIVE
-ELM_SYSTRAY_STATUS_ACTIVE = enums.ELM_SYSTRAY_STATUS_ACTIVE
-ELM_SYSTRAY_STATUS_ATTENTION = enums.ELM_SYSTRAY_STATUS_ATTENTION
-
 ELM_THUMB_ANIMATION_START = enums.ELM_THUMB_ANIMATION_START
 ELM_THUMB_ANIMATION_LOOP = enums.ELM_THUMB_ANIMATION_LOOP
 ELM_THUMB_ANIMATION_STOP = enums.ELM_THUMB_ANIMATION_STOP
@@ -1285,7 +1271,6 @@ include "slider.pxi"
 include "slideshow.pxi"
 include "spinner.pxi"
 #include "store.pxi"
-# include "systray.pxi"
 include "table.pxi"
 include "theme.pxi"
 include "thumb.pxi"
diff --git a/efl/elementary/general.py b/efl/elementary/general.py
index a76111a..3fbcd4b 100644
--- a/efl/elementary/general.py
+++ b/efl/elementary/general.py
@@ -14,7 +14,6 @@ from . import ELM_EVENT_PROCESS_BACKGROUND
 from . import ELM_EVENT_PROCESS_FOREGROUND
 from . import ELM_EVENT_SYS_NOTIFY_NOTIFICATION_CLOSED
 from . import ELM_EVENT_SYS_NOTIFY_ACTION_INVOKED
-from . import ELM_EVENT_SYSTRAY_READY
 
 from . import ELM_OBJECT_LAYER_BACKGROUND
 from . import ELM_OBJECT_LAYER_DEFAULT
diff --git a/efl/elementary/need.pxi b/efl/elementary/need.pxi
index 285a448..2f7829a 100644
--- a/efl/elementary/need.pxi
+++ b/efl/elementary/need.pxi
@@ -89,13 +89,6 @@ cdef class EthumbConnect(Event):
 def __repr__(self):
 return "<%s()>" % (self.__class__.__name__,)
 
-cdef class EventSystrayReady(Event):
-cdef int _set_obj(self, void *o) except 0:
-return 1
-
-def __repr__(self):
-return "<%s()>" % (self.__class__.__name__,)
-
 
 def need_efreet():
 """Request that your elementary application needs Efreet
@@ -113,23 +106,17 @@ def need_efreet():
 def need_systray():
 """Request that your elementary application needs Elm_Systray
 
-This initializes the Elm_Systray when called and, if support exists,
-returns True, otherwise returns False. This must be called
-before any elm_systray calls.
+WARNING: elm is no more capable of systray functionality
 
-:return: True if support exists and initialization succeeded.
+:return: always return False
 :rtype: bool
 
 .. versionadded:: 1.8
+.. ve

[EGIT] [bindings/python/python-efl] master 01/01: Disable a failing test

2018-08-21 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=3e198f7294ab48dea2b2759da9b5cf372eade60c

commit 3e198f7294ab48dea2b2759da9b5cf372eade60c
Author: Dave Andreoli 
Date:   Tue Aug 21 20:08:23 2018 +0200

Disable a failing test

This is failing only when used in the full suite (00_run_all_tests)

it works normally if launched directly, so I think it's just a
test suite issue
---
 tests/ecore/test_10_file_monitor.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tests/ecore/test_10_file_monitor.py 
b/tests/ecore/test_10_file_monitor.py
index f4e528a..4e6eeda 100644
--- a/tests/ecore/test_10_file_monitor.py
+++ b/tests/ecore/test_10_file_monitor.py
@@ -8,6 +8,7 @@ import os
 from efl import ecore
 
 
+@unittest.skip("double-free when run from 00_run_all_tests, works good 
otherwise")
 class TestFileMonitor(unittest.TestCase):
 
 def monitor_cb(self, event, path, tmp_path):
@@ -59,7 +60,7 @@ class TestFileMonitor(unittest.TestCase):
 os.remove(file1)
 os.remove(file2)
 
-# this should trigger one ECORE_FILE_EVENT_DELETED_SELF !!! we get two
+# this should trigger one ECORE_FILE_EVENT_DELETED_SELF
 os.rmdir(tmp_path)
 
 return ecore.ECORE_CALLBACK_CANCEL

-- 




[EGIT] [bindings/python/python-efl] master 01/01: This test now work as expected

2018-08-17 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=b855a82160875be271f5544bc2877d8f1c95a1e8

commit b855a82160875be271f5544bc2877d8f1c95a1e8
Author: Dave Andreoli 
Date:   Fri Aug 17 11:02:15 2018 +0200

This test now work as expected
---
 tests/ecore/test_10_file_monitor.py | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/tests/ecore/test_10_file_monitor.py 
b/tests/ecore/test_10_file_monitor.py
index e147da0..f4e528a 100644
--- a/tests/ecore/test_10_file_monitor.py
+++ b/tests/ecore/test_10_file_monitor.py
@@ -80,9 +80,7 @@ class TestFileMonitor(unittest.TestCase):
 self.assertEqual(fm.path, path)
 fm.delete()
 
-# FIXME: we receive two ECORE_FILE_EVENT_DELETED_SELF, it's wrong
-# should be [0, 2, 2, 2, 2, 1, 2, 2]
-self.assertEqual(self.counters, [0, 2, 2, 2, 2, 2, 2, 2])
+self.assertEqual(self.counters, [0, 2, 2, 2, 2, 1, 2, 2])
 
 
 if __name__ == '__main__':

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Setup warnings--

2018-08-17 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=583f42b1312a6dd0b7adc1201ea5a13f2b3e8275

commit 583f42b1312a6dd0b7adc1201ea5a13f2b3e8275
Author: Dave Andreoli 
Date:   Fri Aug 17 10:52:42 2018 +0200

Setup warnings--
---
 setup.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/setup.py b/setup.py
index 885acd6..82dfe26 100755
--- a/setup.py
+++ b/setup.py
@@ -211,6 +211,8 @@ ext_modules = []
 py_modules = []
 packages = ["efl"]
 common_cflags = [
+"-fno-var-tracking-assignments", # seems to lower the mem used during build
+"-Wno-misleading-indentation", # not needed (we don't indent the C code)
 "-Wno-deprecated-declarations", # we bind deprecated functions
 "-Wno-unused-variable", # eo_instance_from_object() is unused
 "-Wno-format-security", # some cc don't like the way cython use EINA_LOG 
macros

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Fix elm.Image.file.__get__

2018-08-17 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=2991a6683efd743d024f4afaf8c5ad6db018a758

commit 2991a6683efd743d024f4afaf8c5ad6db018a758
Author: Dave Andreoli 
Date:   Fri Aug 17 10:46:00 2018 +0200

Fix elm.Image.file.__get__

This is to hide a behaviour changes in elm, quite a corner case, but
spotted by our tests.

If you do a file_get before a file_set, elm is nomore nullifying the
pointers, thus we try to ctouni our garbage. Just initialize well
our vars
---
 efl/elementary/image.pxi | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/efl/elementary/image.pxi b/efl/elementary/image.pxi
index 0e75ae0..d03e982 100644
--- a/efl/elementary/image.pxi
+++ b/efl/elementary/image.pxi
@@ -125,8 +125,8 @@ cdef class Image(Object):
 
 def __get__(self):
 cdef:
-const char *filename
-const char *group
+const char *filename = NULL
+const char *group = NULL
 
 elm_image_file_get(self.obj, &filename, &group)
 return (_ctouni(filename), _ctouni(group))
@@ -140,8 +140,8 @@ cdef class Image(Object):
 raise RuntimeError("Could not set file.")
 def file_get(self):
 cdef:
-const char *filename
-const char *group
+const char *filename = NULL
+const char *group = NULL
 
 elm_image_file_get(self.obj, &filename, &group)
 return (_ctouni(filename), _ctouni(group))

-- 




[EGIT] [enlightenment/modules/edgar] master 01/01: Netspeed gadget: whooops, fix to build again.

2018-08-14 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=eda7aef670fbd45bfc61a8ce566d4b2cd6abf99f

commit eda7aef670fbd45bfc61a8ce566d4b2cd6abf99f
Author: Dave Andreoli 
Date:   Wed Aug 15 08:27:50 2018 +0200

Netspeed gadget: whooops, fix to build again.

It was broken since last commit ... sorry :(
---
 GADGETS/netspeed/__init__.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/GADGETS/netspeed/__init__.py b/GADGETS/netspeed/__init__.py
index 3b28919..efad6d2 100644
--- a/GADGETS/netspeed/__init__.py
+++ b/GADGETS/netspeed/__init__.py
@@ -78,6 +78,7 @@ class Gadget(e.Gadget):
 
 def popup_destroyed(self, obj):
 # DBG("popup_destroyed (insts: %d  popups:%d)" % 
(len(self._instances), len(self._popups)))
+pass
 
 def popup_update(self, popup):
 popup.data['in_label'].text = 'Recv: %.2f KB/s' % self.kb_in

-- 




[EGIT] [bindings/python/python-efl] master 01/02: New 1.21 API: edje.Object.part_text_prediction_hint_hash_set/del

2018-07-21 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=48d9c26945e918ef5c2f45b8971ae6b1d262dba4

commit 48d9c26945e918ef5c2f45b8971ae6b1d262dba4
Author: Dave Andreoli 
Date:   Sun Jul 22 08:04:09 2018 +0200

New 1.21 API: edje.Object.part_text_prediction_hint_hash_set/del
---
 efl/edje/efl.edje_object.pxi | 45 
 include/efl.edje.pxd |  2 ++
 2 files changed, 47 insertions(+)

diff --git a/efl/edje/efl.edje_object.pxi b/efl/edje/efl.edje_object.pxi
index 29354ce..4c98986 100644
--- a/efl/edje/efl.edje_object.pxi
+++ b/efl/edje/efl.edje_object.pxi
@@ -786,6 +786,51 @@ cdef class Edje(Object):
 part if part is not None else NULL,
 hint if hint is not None else NULL)
 
+def part_text_prediction_hint_hash_set(self, part, key, value):
+"""Sets the prediction hint data at the specified key
+
+:param part: the part name
+:type part: str
+
+:param key: the key of the prediction hint
+:type key: str
+
+:param value: the data to replace
+:type value: str
+
+:return bool: `True` on success, `False` otherwise
+
+.. versionadded:: 1.21
+
+"""
+if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
+if isinstance(key, unicode): key = PyUnicode_AsUTF8String(key)
+if isinstance(value, unicode): value = PyUnicode_AsUTF8String(value)
+edje_object_part_text_prediction_hint_hash_set(self.obj,
+part if part is not None else NULL,
+key if key is not None else NULL,
+value if value is not None else NULL)
+
+def part_text_prediction_hint_hash_del(self, part, key):
+"""Removes the prediction hint data identified by a key
+
+:param part: the part name
+:type part: str
+
+:param key: the key of the prediction hint
+:type key: str
+
+:return bool: `True` on success, `False` otherwise
+
+.. versionadded:: 1.21
+
+"""
+if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
+if isinstance(key, unicode): key = PyUnicode_AsUTF8String(key)
+edje_object_part_text_prediction_hint_hash_del(self.obj,
+part if part is not None else NULL,
+key if key is not None else NULL)
+
 def part_swallow(self, part, Object obj):
 """Swallows an object into the edje
 
diff --git a/include/efl.edje.pxd b/include/efl.edje.pxd
index 14862c8..d99e879 100644
--- a/include/efl.edje.pxd
+++ b/include/efl.edje.pxd
@@ -256,6 +256,8 @@ cdef extern from "Edje.h":
 Edje_Input_Hints edje_object_part_text_input_hint_get(Evas_Object *obj, 
char *part)
 
 void edje_object_part_text_prediction_hint_set(Evas_Object *obj, char 
*part, const char *prediction_hint)
+Eina_Bool edje_object_part_text_prediction_hint_hash_set(Evas_Object *obj, 
const char *part, const char *key, const char *value)
+Eina_Bool edje_object_part_text_prediction_hint_hash_del(Evas_Object *obj, 
const char *part, const char *key)
 
 void edje_object_part_swallow(Evas_Object *obj, char *part, Evas_Object 
*obj_swallow)
 void edje_object_part_unswallow(Evas_Object *obj, Evas_Object *obj_swallow)

-- 




[EGIT] [bindings/python/python-efl] master 02/02: Ctxpopup: add slow test with many items

2018-07-21 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=fb9b06931e06278c1d63e562c72cc79e9a8fa2a6

commit fb9b06931e06278c1d63e562c72cc79e9a8fa2a6
Author: Dave Andreoli 
Date:   Sun Jul 22 08:14:12 2018 +0200

Ctxpopup: add slow test with many items

just to replicate the C example
---
 examples/elementary/test_ctxpopup.py | 13 -
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/examples/elementary/test_ctxpopup.py 
b/examples/elementary/test_ctxpopup.py
index b6aa8d2..624d6bd 100644
--- a/examples/elementary/test_ctxpopup.py
+++ b/examples/elementary/test_ctxpopup.py
@@ -59,7 +59,7 @@ def cb_item1(li, item):
 it = item_new(cp, "Navigate to folder", "folder")
 it.disabled = True
 it = item_new(cp, "Edit entry", "document-edit")
-it = item_new(cp, "Sate date and time", "list-remove")
+it = item_new(cp, "Set date and time", "list-remove")
 it.disabled = True
 
 ic = Icon(cp, standard="list-add", resizable=(False,False))
@@ -175,6 +175,16 @@ def cb_item6(li, item):
 cp.show()
 bt.data["ctxpopup"] = cp
 
+def cb_item11(li, item):
+cp = Ctxpopup(li)
+cp.callback_geometry_update_add(cb_geometry_update)
+for i in range(100):
+item_new(cp, "Item #%d" % i, "clock")
+
+x, y = li.evas.pointer_canvas_xy_get()
+cp.move(x, y)
+cp.show()
+
 def ctxpopup_clicked(obj):
 win = StandardWindow("ctxpopup", "Context popup test", autodel=True,
 size=(400,400))
@@ -191,6 +201,7 @@ def ctxpopup_clicked(obj):
 li.item_append("Ctxpopup at horizontal mode", callback=cb_item4)
 li.item_append("Ctxpopup with user content", callback=cb_item5)
 li.item_append("Ctxpopup with restacking", callback=cb_item6)
+li.item_append("Ctxpopup with more items", callback=cb_item11)
 li.go()
 
 win.show()

-- 




[EGIT] [bindings/python/python-efl] master 01/01: New 1.21 API: elm.Entry.prediction_hint_hash_set/del

2018-07-21 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=4721842b1e7e89bafbc1a82e591547e1dc81d3b6

commit 4721842b1e7e89bafbc1a82e591547e1dc81d3b6
Author: Dave Andreoli 
Date:   Sun Jul 22 07:51:16 2018 +0200

New 1.21 API: elm.Entry.prediction_hint_hash_set/del
---
 efl/elementary/entry.pxi  | 34 ++
 efl/elementary/entry_cdef.pxi |  2 ++
 2 files changed, 36 insertions(+)

diff --git a/efl/elementary/entry.pxi b/efl/elementary/entry.pxi
index 155d4c3..e05261b 100644
--- a/efl/elementary/entry.pxi
+++ b/efl/elementary/entry.pxi
@@ -1490,6 +1490,40 @@ cdef class Entry(LayoutClass):
 elm_entry_prediction_hint_set(self.obj,
 string if string is not None else NULL)
 
+def prediction_hint_hash_set(self, key, value):
+"""Sets the prediction hint data at the specified key.
+
+:param key: The key of the prediction hint
+:type key: string
+:param value: The data to replace
+:type value: string
+
+:return bool: `True` on success, `False` otherwise
+
+.. versionadded:: 1.21
+
+"""
+if isinstance(key, unicode): key = PyUnicode_AsUTF8String(key)
+if isinstance(value, unicode): value = PyUnicode_AsUTF8String(value)
+return bool(elm_entry_prediction_hint_hash_set(self.obj,
+key if key is not None else NULL,
+value if value is not None else 
NULL))
+
+def prediction_hint_hash_del(self, key):
+"""Removes the prediction hint data identified by a key.
+
+:param key: The key of the prediction hint
+:type key: string
+
+:return bool: `True` on success, `False` otherwise
+
+.. versionadded:: 1.21
+
+"""
+if isinstance(key, unicode): key = PyUnicode_AsUTF8String(key)
+return bool(elm_entry_prediction_hint_hash_del(self.obj,
+key if key is not None else NULL))
+
 # TODO:
 # def filter_limit_size(self, data, text):
 # """Filter inserted text based on user defined character and byte 
limits
diff --git a/efl/elementary/entry_cdef.pxi b/efl/elementary/entry_cdef.pxi
index 7cda8be..f20295c 100644
--- a/efl/elementary/entry_cdef.pxi
+++ b/efl/elementary/entry_cdef.pxi
@@ -131,6 +131,8 @@ cdef extern from "Elementary.h":
 voidelm_entry_prediction_allow_set(Evas_Object *obj, 
Eina_Bool allow)
 Eina_Bool   elm_entry_prediction_allow_get(const Evas_Object 
*obj)
 voidelm_entry_prediction_hint_set(Evas_Object *obj, 
const char *prediction_hint)
+Eina_Bool   elm_entry_prediction_hint_hash_set(Evas_Object 
*obj, const char *key, const char *value)
+Eina_Bool   elm_entry_prediction_hint_hash_del(Evas_Object 
*obj, const char *key)
 # TODO: voidelm_entry_filter_limit_size(void *data, 
Evas_Object *entry, char **text)
 # TODO: voidelm_entry_filter_accept_set(void *data, 
Evas_Object *entry, char **text)
 # TODO: void  *elm_entry_imf_context_get(const Evas_Object 
*obj)

-- 




[EGIT] [bindings/python/python-efl] master 01/01: New 1.21 API: Ecore_Exe_Flags.ECORE_EXE_ISOLATE_IO

2018-07-16 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=6aa35011362985ad782217162007fed227ee4df5

commit 6aa35011362985ad782217162007fed227ee4df5
Author: Dave Andreoli 
Date:   Mon Jul 16 20:16:16 2018 +0200

New 1.21 API: Ecore_Exe_Flags.ECORE_EXE_ISOLATE_IO

just a new enum value
---
 efl/ecore/efl.ecore_exe.pxi | 10 ++
 include/efl.ecore.enums.pxd |  1 +
 2 files changed, 11 insertions(+)

diff --git a/efl/ecore/efl.ecore_exe.pxi b/efl/ecore/efl.ecore_exe.pxi
index 1ebaa86..df472da 100644
--- a/efl/ecore/efl.ecore_exe.pxi
+++ b/efl/ecore/efl.ecore_exe.pxi
@@ -45,6 +45,8 @@ cdef exe_flags2str(int value):
 flags.append("NOT_LEADER")
 if value & enums.ECORE_EXE_TERM_WITH_PARENT:
 flags.append("ECORE_EXE_TERM_WITH_PARENT")
+if value & enums.ECORE_EXE_ISOLATE_IO:
+flags.append("ECORE_EXE_ISOLATE_IO")
 return ", ".join(flags)
 
 
@@ -303,6 +305,10 @@ cdef class Exe(object):
 ECORE_EXE_TERM_WITH_PARENT
 Makes child receive SIGTERM when parent dies
 
+ECORE_EXE_ISOLATE_IO
+Try and isolate stdin/out and err of the process so it isn't
+shared with the parent. Since 1.21
+
 :type flags: int
 :param data: extra data to be associated and available with ``data_get()``
 
@@ -552,6 +558,10 @@ cdef class Exe(object):
  - ECORE_EXE_USE_SH: Use /bin/sh to run the command.
  - ECORE_EXE_NOT_LEADER Do not use setsid() to have the
executed process be its own session leader
+ - ECORE_EXE_TERM_WITH_PARENT Makes child receive SIGTERM when
+   parent dies
+ - ECORE_EXE_ISOLATE_IO Try and isolate stdin/out and err of the
+   process so it isn't shared with the parent
 
 :return: set of masks, ORed.
 
diff --git a/include/efl.ecore.enums.pxd b/include/efl.ecore.enums.pxd
index 1c0e4a5..3f4c04e 100644
--- a/include/efl.ecore.enums.pxd
+++ b/include/efl.ecore.enums.pxd
@@ -50,6 +50,7 @@ cdef extern from "Ecore.h":
 ECORE_EXE_USE_SH
 ECORE_EXE_NOT_LEADER
 ECORE_EXE_TERM_WITH_PARENT
+ECORE_EXE_ISOLATE_IO
 
 ctypedef enum Ecore_Pos_Map:
 ECORE_POS_MAP_LINEAR

-- 




[EGIT] [bindings/python/python-efl] master 01/01: New 1.21 API: Ctxpopup item_insert_before/after

2018-07-16 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=18ca98e66f9e9bec7a0048d44310f016ab2ee76c

commit 18ca98e66f9e9bec7a0048d44310f016ab2ee76c
Author: Dave Andreoli 
Date:   Mon Jul 16 20:00:50 2018 +0200

New 1.21 API: Ctxpopup item_insert_before/after

with test
---
 efl/elementary/ctxpopup.pxi  | 81 
 efl/elementary/ctxpopup_cdef.pxi |  2 +
 examples/elementary/test_ctxpopup.py | 12 --
 3 files changed, 92 insertions(+), 3 deletions(-)

diff --git a/efl/elementary/ctxpopup.pxi b/efl/elementary/ctxpopup.pxi
index 30d1495..1de93f7 100644
--- a/efl/elementary/ctxpopup.pxi
+++ b/efl/elementary/ctxpopup.pxi
@@ -142,6 +142,7 @@ cdef class CtxpopupItem(ObjectItem):
 def __get__(self):
 return 
_object_item_to_python(elm_ctxpopup_item_next_get(self.item))
 
+
 cdef class Ctxpopup(LayoutClass):
 
 """
@@ -234,6 +235,86 @@ cdef class Ctxpopup(LayoutClass):
 else:
 return None
 
+def item_insert_before(self, CtxpopupItem before, label, evasObject 
icon=None,
+   func=None, *args, **kwargs):
+"""Add a new item to the list before the indicated item
+
+:param CtxpopupItem before: The item before which to add it
+:param string label: The label of new item
+:param evasObject icon: The icon of new item
+:param func: The callback function to be invoked when this item is 
selected.
+:param \*args: The data to be attached for callback
+:param \*\*kwargs: The data to be attached for callback
+:return: :class:`CtxpopupItem`
+
+.. versionadded:: 1.21
+
+"""
+cdef:
+Elm_Object_Item *item
+Evas_Smart_Cb cb = NULL
+CtxpopupItem ret = CtxpopupItem.__new__(CtxpopupItem)
+
+if func is not None and callable(func):
+cb = _object_item_callback
+
+if isinstance(label, unicode): label = PyUnicode_AsUTF8String(label)
+
+item = elm_ctxpopup_item_insert_before(self.obj,
+before.item if before is not None else NULL,
+label if label is not None else NULL,
+icon.obj if icon is not None else NULL,
+cb, ret)
+
+if item != NULL:
+ret._set_obj(item)
+ret.cb_func = func
+ret.args = args
+ret.kwargs = kwargs
+return ret
+else:
+return None
+
+def item_insert_after(self, CtxpopupItem after, label, evasObject 
icon=None,
+   func=None, *args, **kwargs):
+"""Add a new item to the list after the indicated item
+
+:param CtxpopupItem after: The item after which to add it
+:param string label: The label of new item
+:param evasObject icon: The icon of new item
+:param func: The callback function to be invoked when this item is 
selected.
+:param \*args: The data to be attached for callback
+:param \*\*kwargs: The data to be attached for callback
+:return: :class:`CtxpopupItem`
+
+.. versionadded:: 1.21
+
+"""
+cdef:
+Elm_Object_Item *item
+Evas_Smart_Cb cb = NULL
+CtxpopupItem ret = CtxpopupItem.__new__(CtxpopupItem)
+
+if func is not None and callable(func):
+cb = _object_item_callback
+
+if isinstance(label, unicode): label = PyUnicode_AsUTF8String(label)
+
+item = elm_ctxpopup_item_insert_after(self.obj,
+after.item if after is not None else NULL,
+label if label is not None else NULL,
+icon.obj if icon is not None else NULL,
+cb, ret)
+
+if item != NULL:
+ret._set_obj(item)
+ret.cb_func = func
+ret.args = args
+ret.kwargs = kwargs
+return ret
+else:
+return None
+
 def item_prepend(self, label, evasObject icon=None,
  func=None, *args, **kwargs):
 """A constructor for a :py:class:`CtxpopupItem`.
diff --git a/efl/elementary/ctxpopup_cdef.pxi b/efl/elementary/ctxpopup_cdef.pxi
index bf8916e..65a2f51 100644
--- a/efl/elementary/ctxpopup_cdef.pxi
+++ b/efl/elementary/ctxpopup_cdef.pxi
@@ -20,3 +20,5 @@ cdef extern from "Elementary.h":
 Elm_Object_Item *elm_ctxpopup_last_item_get(const Evas_Object *obj)
 Elm_Object_Item *elm_ctxpopup_item_prev_get(const Elm_Object_Item 
*it)
 Elm_Object_Item *elm_ctxpopup_item_next_get(const Elm_Object_Item 
*it)
+Elm_Object_Item *elm_ctxpopup_item_insert_before(Evas_Object *obj, 
Elm_Object_Item *before, const char *label, Evas_Object *icon, Evas_Smart_Cb 
func, const void *data)
+Elm_Object_Item *elm_ctxpopup_item_insert_after(E

[EGIT] [bindings/python/python-efl] master 01/01: Fix 2 changed class names

2018-07-14 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=006052543f3863fb0e4975476d0bc03e06099279

commit 006052543f3863fb0e4975476d0bc03e06099279
Author: Dave Andreoli 
Date:   Sun Jul 15 08:15:44 2018 +0200

Fix 2 changed class names

 #FollowTheWhiteRabbit
---
 efl/elementary/multibuttonentry.pxi | 2 +-
 efl/elementary/slider.pxi   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/efl/elementary/multibuttonentry.pxi 
b/efl/elementary/multibuttonentry.pxi
index a6c528c..85dde07 100644
--- a/efl/elementary/multibuttonentry.pxi
+++ b/efl/elementary/multibuttonentry.pxi
@@ -634,4 +634,4 @@ cdef class MultiButtonEntry(Object):
 self._callback_del("expand,state,changed", func)
 
 
-_object_mapping_register("Efl.Ui.Multibuttonentry_Legacy", MultiButtonEntry)
+_object_mapping_register("Elm.Multibuttonentry", MultiButtonEntry)
diff --git a/efl/elementary/slider.pxi b/efl/elementary/slider.pxi
index 73291cf..b138de7 100644
--- a/efl/elementary/slider.pxi
+++ b/efl/elementary/slider.pxi
@@ -440,4 +440,4 @@ cdef class Slider(LayoutClass):
 self._callback_del("delay,changed", func)
 
 
-_object_mapping_register("Efl.Ui.Slider_Legacy", Slider)
+_object_mapping_register("Elm.Slider", Slider)

-- 




[EGIT] [enlightenment/modules/edgar] master 01/02: change popups to be elm based, no more edje for them

2018-07-14 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=78c6416b09057808cd83d54c3b316c51404bdfd8

commit 78c6416b09057808cd83d54c3b316c51404bdfd8
Author: Dave Andreoli 
Date:   Sat Jul 14 17:14:03 2018 +0200

change popups to be elm based, no more edje for them

this change gadget API, all the gadgets will be updated
in the next commit
---
 python/e.py   |  35 
 src/e_mod_edgar.c | 242 +-
 2 files changed, 167 insertions(+), 110 deletions(-)

diff --git a/python/e.py b/python/e.py
index 1867d5e..3b1c400 100644
--- a/python/e.py
+++ b/python/e.py
@@ -93,39 +93,42 @@ class Gadget(object):
 """
 pass
 
-def popup_created(self, obj):
+def popup_created(self, elm_parent):
 """ A new popup for the gadget has been created.
 
-Edgar automatically create the popup for the gadget, using the group
-provided in the edje file (e/gadgets/name/popup).
-Once the popup has been created this function is called so that you
-can fill it's content as required.
+Edgar automatically create the popup container for the gadget popup,
+once the popup has been created this function is called so that you can
+create it's content as required.
 
-The default implementation put the object in the _popups list, so
-don't forget to call the super() function.
+The default implementation do nothing, you don't have to call super().
 
 Args:
-obj: the created edje object that you can fill
-
+elm_parent: you must use this elementary object as the parent
+for your main content. This object is ensured to be an
+elm object but the type of widget can vary. Use this
+only as the parent for your content, nothing else.
+Return:
+You must return the created content object, that will be placed
+in the popup by edgar itself.
 """
-self._popups.append(obj)
+return None
 
 def popup_destroyed(self, obj):
 """ The popup has been dismissed.
 
 When a popup id destroyed this function is called so that you can
 clean your stuff related to this popup.
-The edje object will be automatically deleted by edgar just after
-this call, you dont need to delete it yourself.
+The popup content object (the one returned from popup_created) will
+be automatically deleted by edgar just after this call, you dont need 
to
+delete it yourself.
 
-The default implementation remove the object in the _popups list, so
-don't forget to call the super() function.
+The default implementation do nothing, you don't have to call super().
 
 Args:
-obj: the popup edje object
+obj: the popup content object
 
 """
-self._popups.remove(obj)
+pass
 
 
 """ E_Gadcon_Site """
diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c
index 9ed32a5..a97338e 100644
--- a/src/e_mod_edgar.c
+++ b/src/e_mod_edgar.c
@@ -31,7 +31,8 @@
 /* TODO:
 
  - correctly manage the new bryce orientations
- - change popups to be elm based, no more edje for them
+ - gadget configurations (and thus id management)
+ - gadget actions (keybindings)
 
 */
 
@@ -84,7 +85,7 @@ static PyObject *evasObjectType;
 static PyObject *edjeEdjeType;
 
 
-#define CURRENT_VAPI 1
+#define CURRENT_VAPI 2
 
 #define PY_BOOTSTRAP_SCRIPT \
 "import sys \n" \
@@ -105,6 +106,19 @@ static PyObject *edjeEdjeType;
   return _ret_val_; \
}\
 
+#define PY_ON_ERROR_GOTO(_extra_check_, _goto_, _msg_) \
+   if (PyErr_Occurred()) {  \
+  PyErr_Print();\
+  PyRun_SimpleString("sys.stdout.flush()"); \
+  PyRun_SimpleString("sys.stderr.flush()"); \
+  if (_msg_) DBG("EDGAR: ERROR "_msg_); \
+  goto _goto_;  \
+   }\
+   if (_extra_check_) { \
+  if (_msg_) DBG("EDGAR: ERROR "_msg_); \
+  goto _goto_;  \
+   }\
+
 
 #if (PY_VERSION_HEX < 0x0303)
 #define PyString_AsString(x) PyBytes_AsString(PyUnicode_AsUTF8String(x))
@@ -368,6 +382,75 @@ edgar_gadgets_hash_free_func(void *data)
 /

[EGIT] [enlightenment/modules/edgar] master 02/02: Update all gadgets to API 2

2018-07-14 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=4a81ad6b471df7d6165f7ab318bcd3589a3a6f82

commit 4a81ad6b471df7d6165f7ab318bcd3589a3a6f82
Author: Dave Andreoli 
Date:   Sat Jul 14 17:26:32 2018 +0200

Update all gadgets to API 2
---
 GADGETS/audio/__init__.py  | 98 ++
 GADGETS/audio/audio.edc| 35 ---
 GADGETS/calculator/__init__.py |  4 +-
 GADGETS/cpu/__init__.py| 90 +-
 GADGETS/cpu/cpu.edc| 13 --
 GADGETS/dropbox/__init__.py| 42 +-
 GADGETS/dropbox/dropbox.edc| 18 
 GADGETS/led_clock/__init__.py  |  9 +++-
 GADGETS/mem/__init__.py| 91 +++
 GADGETS/mem/mem.edc| 12 --
 GADGETS/netspeed/__init__.py   | 55 ++--
 GADGETS/netspeed/netspeed.edc  | 44 +--
 12 files changed, 208 insertions(+), 303 deletions(-)

diff --git a/GADGETS/audio/__init__.py b/GADGETS/audio/__init__.py
index 25a873c..a13f73f 100644
--- a/GADGETS/audio/__init__.py
+++ b/GADGETS/audio/__init__.py
@@ -11,20 +11,24 @@ from efl import ecore
 from efl import evas
 from efl import edje
 from efl.dbus_mainloop import DBusEcoreMainLoop
-from efl.elementary.label import Label
-from efl.elementary.layout import Layout
-from efl.elementary.slider import Slider
+from efl.evas import EXPAND_HORIZ, FILL_HORIZ
+from efl import elementary as elm
 
 
 __gadget_name__ = 'Audio'
-__gadget_vers__ = '0.1'
+__gadget_vers__ = '0.2'
 __gadget_auth__ = 'DaveMDS'
 __gadget_mail__ = 'd...@gurumeditation.it'
 __gadget_desc__ = 'The complete audio gadget.'
-__gadget_vapi__ = 1
+__gadget_vapi__ = 2
 __gadget_opts__ = { 'popup_on_desktop': True }
 
 
+# def DBG(msg):
+   # print("AUDIO: %s" % msg)
+   # sys.stdout.flush()
+
+
 _instance = None
 
 
@@ -43,6 +47,7 @@ class Gadget(e.Gadget):
 self.pulse = PulseAudio_Client()
 
 def instance_created(self, obj, site):
+# DBG("INSTANCE CREATED")
 super().instance_created(obj, site)
 
 obj.signal_callback_add('mouse,down,2', 'over', self.speaker_click_cb)
@@ -51,6 +56,7 @@ class Gadget(e.Gadget):
 self.speaker_update(obj)
 
 def instance_destroyed(self, obj):
+# DBG("INSTANCE DESTROYED")
 super().instance_destroyed(obj)
 
 def speaker_click_cb(self, obj, sig, source):
@@ -76,54 +82,55 @@ class Gadget(e.Gadget):
 return
 ch.volume_set(min(max(0, new_vol), 65500))
 
-def popup_created(self, popup):
-super().popup_created(popup)
+def popup_created(self, elm_parent):
+# DBG("POPUP CREATED")
+main_box = elm.Box(elm_parent)
+main_box.show()
+
+players_box = elm.Box(main_box, size_hint_expand=EXPAND_HORIZ,
+size_hint_fill=FILL_HORIZ)
+main_box.pack_end(players_box)
+players_box.show()
+
+volumes_box = elm.Box(main_box, size_hint_expand=EXPAND_HORIZ,
+size_hint_fill=FILL_HORIZ)
+main_box.pack_end(volumes_box)
+volumes_box.show()
+
+main_box.data['players_box'] = players_box
+main_box.data['volumes_box'] = volumes_box
 
 # add all the available players to the popup edje box
 for player in self.mpris.players:
-self.popup_player_add(popup, player)
+self.popup_player_add(main_box, player)
 
 # add all the channel sliders
 if self.pulse.conn is not None:
 for ch in self.pulse.channels:
-self.popup_volume_add(popup, ch)
+self.popup_volume_add(main_box, ch)
 else:
-lb = Label(popup, text='Cannot connect to PulseAudio')
+lb = elm.Label(popup, text='Cannot connect to PulseAudio')
+volumes_box.pack_start(lb)
 lb.show()
-popup.part_box_append('volumes.box', lb)
-
-def popup_destroyed(self, popup):
-super().popup_destroyed(popup)
 
-while True:
-# pop an item from the players box
-obj = popup.part_box_remove_at('players.box', 0)
-if obj is None: break
+return main_box
 
-# remove the obj from our lists
+def popup_destroyed(self, popup):
+# DBG("POPUP DESTROYED")
+# remove the objects from our lists
+for obj in popup.data['players_box'].children:
 for player, objs in self.player_objs.items():
-while obj in objs: objs.remove(obj)
-
-# delete the player layout
-obj.delete()
-
-while True:
-# p

[EGIT] [bindings/python/python-efl] master 01/01: Fix warnings spotted by cython 0.28

2018-03-24 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=30c9c60b5d20b546bfc00ec7a2f5d5a29d9a76a6

commit 30c9c60b5d20b546bfc00ec7a2f5d5a29d9a76a6
Author: Dave Andreoli 
Date:   Sat Mar 24 08:42:31 2018 +0100

Fix warnings spotted by cython 0.28

Those are all simbols redeclared in different places
---
 efl/elementary/box_cdef.pxi |  2 --
 efl/elementary/cnp_callbacks.pxi|  8 
 efl/elementary/elementary_cdef.pxi  | 11 ++-
 efl/elementary/entry_cdef.pxi   |  9 -
 efl/elementary/layout_cdef.pxi  |  2 --
 efl/elementary/object_cdef.pxi  | 21 -
 efl/elementary/object_item_cdef.pxi |  3 ---
 include/efl.ecore_x.pxd |  6 --
 include/efl.elementary.enums.pxd| 17 -
 9 files changed, 10 insertions(+), 69 deletions(-)

diff --git a/efl/elementary/box_cdef.pxi b/efl/elementary/box_cdef.pxi
index b56c24b..40feec5 100644
--- a/efl/elementary/box_cdef.pxi
+++ b/efl/elementary/box_cdef.pxi
@@ -1,5 +1,3 @@
-cdef extern from "Ecore.h":
-ctypedef void (*Ecore_Cb)(void *data)
 
 cdef extern from "Evas.h":
 ctypedef void *Evas_Object_Box_Data
diff --git a/efl/elementary/cnp_callbacks.pxi b/efl/elementary/cnp_callbacks.pxi
index 8e6b7e4..8b29de1 100644
--- a/efl/elementary/cnp_callbacks.pxi
+++ b/efl/elementary/cnp_callbacks.pxi
@@ -1,14 +1,6 @@
 from efl.utils.conversions cimport python_list_objects_to_eina_list
 
 cdef extern from "Elementary.h":
-struct _Elm_Selection_Data:
-Evas_Coord   x, y
-Elm_Sel_Format   format
-void*data
-size_t   len
-Elm_Xdnd_Action  action
-
-ctypedef _Elm_Selection_Data Elm_Selection_Data
 
 ctypedef Eina_Bool   (*Elm_Drop_Cb) (void *data, 
Evas_Object *obj, Elm_Selection_Data *ev)
 ctypedef Elm_Object_Item *(*Elm_Xy_Item_Get_Cb) (Evas_Object *obj, 
Evas_Coord x, Evas_Coord y, int *xposret, int *yposret)
diff --git a/efl/elementary/elementary_cdef.pxi 
b/efl/elementary/elementary_cdef.pxi
index a9751e4..7b21958 100644
--- a/efl/elementary/elementary_cdef.pxi
+++ b/efl/elementary/elementary_cdef.pxi
@@ -11,7 +11,8 @@ from efl.evas.enums cimport EVAS_EVENT_FLAG_NONE, 
EVAS_CALLBACK_KEY_DOWN, \
 from efl.ecore cimport Ecore_Pos_Map
 
 from efl.elementary.enums cimport Elm_Process_State, Elm_Sys_Notify_Urgency, \
-Elm_Policy, Elm_Policy_Quit, Elm_Policy_Exit, Elm_Policy_Throttle
+Elm_Policy, Elm_Policy_Quit, Elm_Policy_Exit, Elm_Policy_Throttle, \
+Elm_Sel_Format, Elm_Xdnd_Action
 
 
 cdef extern from "time.h":
@@ -47,6 +48,14 @@ cdef extern from "Elementary.h":
 const char *palette_name
 Eina_List *color_list
 
+#selection
+ctypedef struct Elm_Selection_Data:
+Evas_Coord   x, y
+Elm_Sel_Format   format
+void*data
+size_t   len
+Elm_Xdnd_Action  action
+
 #event
 ctypedef Eina_Bool  (*Elm_Event_Cb) (void *data, 
Evas_Object *obj, Evas_Object *src, Evas_Callback_Type t, void *event_info)
 
diff --git a/efl/elementary/entry_cdef.pxi b/efl/elementary/entry_cdef.pxi
index 8e95e6d..7cda8be 100644
--- a/efl/elementary/entry_cdef.pxi
+++ b/efl/elementary/entry_cdef.pxi
@@ -21,20 +21,11 @@ cdef extern from "Elementary.h":
 Eina_Bool hover_top
 Eina_Bool hover_bottom
 
-ctypedef struct Elm_Selection_Data:
-Evas_Coord   x, y
-Elm_Sel_Format   format
-void*data
-size_t   len
-Elm_Xdnd_Action  action
-
 ctypedef struct Elm_Entry_Context_Menu_Item:
 pass
 
 ctypedef void (*Elm_Entry_Filter_Cb)(void *data, Evas_Object *entry, char 
**text)
 
-ctypedef Eina_Bool   (*Elm_Drop_Cb) (void *data, 
Evas_Object *obj, Elm_Selection_Data *ev)
-
 # Data for the elm_entry_filter_limit_size() entry filter.
 ctypedef struct Elm_Entry_Filter_Limit_Size:
 int max_char_count  # The maximum number of characters allowed.
diff --git a/efl/elementary/layout_cdef.pxi b/efl/elementary/layout_cdef.pxi
index 7405d5e..8a830ef 100644
--- a/efl/elementary/layout_cdef.pxi
+++ b/efl/elementary/layout_cdef.pxi
@@ -1,5 +1,3 @@
-cdef extern from "Edje.h":
-ctypedef void (*Edje_Signal_Cb)(void *data, Evas_Object *obj, const char 
*emission, const char *source)
 
 cdef extern from "Elementary.h":
 Eina_Bool   elm_layout_content_set(Evas_Object *obj, const char 
*swallow, Evas_Object *content)
diff --git a/efl/elementary/object_cdef.pxi b/efl/elementary/object_cdef.pxi
index 06bc567..88265d0 100644
--- a/efl/elementary/object_cdef.pxi
+++ b/efl/elementary/object_cdef.pxi
@@ -18,33 +18,12 @@
 from efl.elementary.enums cimport Elm_Sel_Type, Elm_Focus_Direction, \
 Elm_Focus_Region_Show_Mode, Elm_Toolti

[EGIT] [bindings/python/python-efl] master 01/01: Changes to make cython 0.28 happy

2018-03-19 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=26607a098607d56ad460e84535387628045217d8

commit 26607a098607d56ad460e84535387628045217d8
Author: Dave Andreoli 
Date:   Mon Mar 19 21:16:53 2018 +0100

Changes to make cython 0.28 happy

This just refactor how the extensions are named, nothing
is changed in the final layout of the package.

Renamed the dbus extension, that was indeed the only
one with a different naming scheme.

Also raised the minimum cython version a bit, min is
now at 0.23.5, that is still quite old. The oldest
ones seems to not like the new naming scheme.
---
 .../{dbus_mainloop.pxd => efl.dbus_mainloop.pxd}   |  0
 .../{dbus_mainloop.pyx => efl.dbus_mainloop.pyx}   |  0
 setup.py   | 47 +-
 3 files changed, 27 insertions(+), 20 deletions(-)

diff --git a/efl/dbus_mainloop/dbus_mainloop.pxd 
b/efl/dbus_mainloop/efl.dbus_mainloop.pxd
similarity index 100%
rename from efl/dbus_mainloop/dbus_mainloop.pxd
rename to efl/dbus_mainloop/efl.dbus_mainloop.pxd
diff --git a/efl/dbus_mainloop/dbus_mainloop.pyx 
b/efl/dbus_mainloop/efl.dbus_mainloop.pyx
similarity index 100%
rename from efl/dbus_mainloop/dbus_mainloop.pyx
rename to efl/dbus_mainloop/efl.dbus_mainloop.pyx
diff --git a/setup.py b/setup.py
index 8b1c043..885acd6 100755
--- a/setup.py
+++ b/setup.py
@@ -19,7 +19,7 @@ RELEASE = __version__
 VERSION = "%d.%d" % (vers[0], vers[1] if vers[2] < 99 else vers[1] + 1)
 
 # dependencies
-CYTHON_MIN_VERSION = "0.21"
+CYTHON_MIN_VERSION = "0.23.5"
 CYTHON_BLACKLIST = ()
 EFL_MIN_VER = RELEASE
 ELM_MIN_VER = RELEASE
@@ -268,7 +268,8 @@ if set(("build", "build_ext", "install", "bdist", "sdist")) 
& set(sys.argv):
 
 # === Eo ===
 eo_cflags, eo_libs = pkg_config('Eo', 'eo', EFL_MIN_VER)
-eo_ext = Extension("eo", ["efl/eo/efl.eo" + module_suffix],
+eo_ext = Extension("efl.eo",
+   ["efl/eo/efl.eo" + module_suffix],
define_macros=[
 ('EFL_BETA_API_SUPPORT', 1),
 ('EFL_EO_API_SUPPORT', 1)
@@ -281,15 +282,18 @@ if set(("build", "build_ext", "install", "bdist", 
"sdist")) & set(sys.argv):
 
 # === Utilities ===
 utils_ext = [
-Extension("utils.deprecated", ["efl/utils/deprecated" + module_suffix],
+Extension("efl.utils.deprecated",
+  ["efl/utils/deprecated" + module_suffix],
   include_dirs=['include/'],
   extra_compile_args=eina_cflags + common_cflags,
   extra_link_args=eina_libs),
-Extension("utils.conversions", ["efl/utils/conversions" + 
module_suffix],
+Extension("efl.utils.conversions",
+ ["efl/utils/conversions" + module_suffix],
   include_dirs=['include/'],
   extra_compile_args=eo_cflags + common_cflags,
   extra_link_args=eo_libs + eina_libs),
-Extension("utils.logger", ["efl/utils/logger" + module_suffix],
+Extension("efl.utils.logger",
+  ["efl/utils/logger" + module_suffix],
   include_dirs=['include/'],
   extra_compile_args=eina_cflags + common_cflags,
   extra_link_args=eina_libs),
@@ -300,7 +304,8 @@ if set(("build", "build_ext", "install", "bdist", "sdist")) 
& set(sys.argv):
 
 # === Evas ===
 evas_cflags, evas_libs = pkg_config('Evas', 'evas', EFL_MIN_VER)
-evas_ext = Extension("evas", ["efl/evas/efl.evas" + module_suffix],
+evas_ext = Extension("efl.evas",
+ ["efl/evas/efl.evas" + module_suffix],
  define_macros=[
 ('EFL_BETA_API_SUPPORT', 1),
 ('EFL_EO_API_SUPPORT', 1)
@@ -314,7 +319,8 @@ if set(("build", "build_ext", "install", "bdist", "sdist")) 
& set(sys.argv):
 ecore_cflags, ecore_libs = pkg_config('Ecore', 'ecore', EFL_MIN_VER)
 ecore_file_cflags, ecore_file_libs = pkg_config('EcoreFile', 'ecore-file',
 EFL_MIN_VER)
-ecore_ext = Extension("ecore", ["efl/ecore/efl.ecore" + module_suffix],
+ecore_ext = Extension("efl.ecore",
+

[EGIT] [enlightenment/modules/edgar] master 01/02: Add support for new E gadgets infra

2018-03-11 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=205a16700ea643ea23cb081c401ab21e6a5367a4

commit 205a16700ea643ea23cb081c401ab21e6a5367a4
Author: Dave Andreoli 
Date:   Tue Mar 6 11:04:45 2018 +0100

Add support for new E gadgets infra

Edgar gadgets can now live on both shelves and bryces.
---
 src/e_mod_edgar.c | 281 +-
 src/e_mod_edgar.h |   2 +-
 src/e_mod_main.c  |   2 +-
 src/e_mod_main.h  |   2 +-
 4 files changed, 283 insertions(+), 4 deletions(-)

diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c
index 5a47525..9ed32a5 100644
--- a/src/e_mod_edgar.c
+++ b/src/e_mod_edgar.c
@@ -1,4 +1,4 @@
-/*  Copyright (C) 2008-2014 Davide Andreoli (see AUTHORS)
+/*  Copyright (C) 2008-2018 Davide Andreoli (see AUTHORS)
  *
  *  This file is part of edgar.
  *  edgar is free software: you can redistribute it and/or modify
@@ -23,6 +23,18 @@
 #include "efl.eo_api.h"
 
 
+#ifdef EFL_VERSION_1_21
+#define EDGAR_GADGETS_DOMAIN "Edgar"
+#endif
+
+
+/* TODO:
+
+ - correctly manage the new bryce orientations
+ - change popups to be elm based, no more edje for them
+
+*/
+
 /* Local typedefs */
 typedef struct {
const char *name;  // ex: "ruler" (from folder name)
@@ -53,6 +65,14 @@ static const char *_edgar_gc_id_new(const 
E_Gadcon_Client_Class *client_class);
 static void _edgar_gc_id_del(const E_Gadcon_Client_Class *client_class, const 
char *id);
 static Evas_Object *_edgar_gc_icon(const E_Gadcon_Client_Class *client_class, 
Evas *evas);
 
+#ifdef EDGAR_GADGETS_DOMAIN
+/* Local Gadget/Bryce Prototypes */
+EINTERN Evas_Object *edgar_bryce_create_cb(Evas_Object *parent, const char 
*type, int *id, E_Gadget_Site_Orient orient);
+EINTERN char*edgar_bryce_name_cb(const char *type);
+static Evas_Object  *edgar_bryce_popup_new(Edgar_Py_Gadget *gadget, 
Evas_Object *gadget_object);
+static void  edgar_bryce_popup_del(Edgar_Py_Gadget *gadget, 
Evas_Object *ctx_popup);
+#endif
+
 /* Python eapi module proto */
 PyMODINIT_FUNC PyInit_eapi(void);
 
@@ -293,6 +313,14 @@ edgar_gadget_load(const char *name, const char *path)
e_gadcon_provider_register(cclass);
eina_hash_add(edgar_gadgets, name, gadget);
 
+#ifdef EDGAR_GADGETS_DOMAIN
+   // add the gadget to the bryce gadgets system
+   e_gadget_external_type_add(EDGAR_GADGETS_DOMAIN, name,
+  edgar_bryce_create_cb, NULL);
+   e_gadget_external_type_name_cb_set(EDGAR_GADGETS_DOMAIN, name,
+  edgar_bryce_name_cb);
+#endif
+
return gadget;
 }
 
@@ -308,6 +336,11 @@ edgar_gadget_unload(Edgar_Py_Gadget *gadget)
EINA_LIST_FOREACH_SAFE(gadget->pops_obj, l, l2, popup_content)
   E_FREE_FUNC(popup_content, evas_object_del);
 
+#ifdef EDGAR_GADGETS_DOMAIN
+   // remove the gadget from the bryce gadgets system
+   e_gadget_external_type_del(EDGAR_GADGETS_DOMAIN, gadget->name);
+#endif
+
// Free the gadcon client class
e_gadcon_provider_unregister(gadget->cclass);
eina_stringshare_del(gadget->cclass->name);
@@ -583,6 +616,252 @@ edgar_mouse_down1_cb(void *data, Evas *e, Evas_Object 
*obj, void *event_info)
 }
 
 
+#ifdef EDGAR_GADGETS_DOMAIN
+/*/
+/*  Gadget/Bryce Pupup   */
+/*/
+static void
+edgar_bryce_ctxpopup_dismissed_cb(void *data, Evas_Object *obj, void *info 
EINA_UNUSED)
+{
+   Edgar_Py_Gadget *gadget = data;
+   edgar_bryce_popup_del(gadget, obj);
+}
+
+static Evas_Object *
+edgar_bryce_popup_new(Edgar_Py_Gadget *gadget, Evas_Object *gadget_object)
+{
+   Evas_Object *ctxpopup, *content;
+
+   DBG("EDGAR: Bryce popup for gadget:%s", gadget->name);
+
+   // create the popup content from the e/gadgets/name/popup group
+   content = edje_object_add(evas_object_evas_get(gadget_object));
+   if (!edgar_theme_object_set(gadget, content, "popup"))
+   {
+  DBG("EDGAR: Bryce no popup found for gadget:%s", gadget->name);
+  evas_object_del(content);
+  return NULL;
+   }
+   // tell edje to propagate sizes to the ctxpopup
+   edje_object_update_hints_set(content, EINA_TRUE);
+
+   // call the popup_created() method of the gadget.
+   PyObject *pyobj = object_from_instance(content);
+   PyObject *ret = PyObject_CallMethod(gadget->instance, "popup_created",
+   "(S)", pyobj);
+   PY_ON_ERROR_RETURN(!ret, NULL, "Cannot call popup_created()");
+   Py_DECREF(pyobj);
+   Py_DECREF(ret);
+
+   // put the popup content in an elm ctxpopup
+   ctxpopup = elm_ctxpopup_add(e_gadget_site_get(gadget_object));
+   elm_object_style_set(ctxpopup, 

[EGIT] [enlightenment/modules/edgar] master 02/02: Delete the ruler gadget

2018-03-11 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=8bacfdf5bd9a52a16bf0312bd06e19b2445ddb4f

commit 8bacfdf5bd9a52a16bf0312bd06e19b2445ddb4f
Author: Dave Andreoli 
Date:   Tue Mar 6 20:12:06 2018 +0100

Delete the ruler gadget

It does not work well with the new E gadgets infra,
and it was just a simple example
---
 GADGETS/ruler/Makefile   |  36 
 GADGETS/ruler/__init__.py|  28 -
 GADGETS/ruler/images/icon.png| Bin 1293 -> 0 bytes
 GADGETS/ruler/images/ruler_horiz.png | Bin 13411 -> 0 bytes
 GADGETS/ruler/images/ruler_vert.png  | Bin 14587 -> 0 bytes
 GADGETS/ruler/ruler.edc  |  77 ---
 6 files changed, 141 deletions(-)

diff --git a/GADGETS/ruler/Makefile b/GADGETS/ruler/Makefile
deleted file mode 100644
index 44eafb9..000
--- a/GADGETS/ruler/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# Simple Makefile for Enlightenment (edgar) gadgets
-
-# gadget specific config
-GADGET_NAME = ruler
-EXTRA_FILES = 
-
-
-# nothing  should be changed below this point
-GADGET_FILES = __init__.pyc $(GADGET_NAME).edj
-prefix = $(shell pkg-config --variable=libdir enlightenment)
-gadget_folder = ${prefix}/enlightenment/gadgets/$(GADGET_NAME)
-
-.PHONY: all install clean
-
-all: $(GADGET_FILES) $(EXTRA_FILES)
-
-install: all
-   @mkdir -p -v ${gadget_folder}
-   @cp --preserve=mode -v $(GADGET_FILES) $(EXTRA_FILES) $(gadget_folder)
-
-uninstall: all
-   @rm -rfv ${gadget_folder}
-
-clean:
-   @rm -fv *.edj *.pyc
-
-
-EDJE_CC = edje_cc
-EDJE_FLAGS = -v -id images/ -fd fonts/
-
-%.edj: %.edc images/*
-   $(EDJE_CC) $(EDJE_FLAGS) $<
-   @chmod -v og+r $@
-
-%.pyc: %.py
-   python3 -c "from py_compile import compile; compile('$<', '$@')"
diff --git a/GADGETS/ruler/__init__.py b/GADGETS/ruler/__init__.py
deleted file mode 100644
index 4a4fb4d..000
--- a/GADGETS/ruler/__init__.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This python file use the following encoding: utf-8
-
-import sys
-import os
-import e
-
-from efl import evas
-
-__gadget_name__ = 'Ruler (HalloWorld)'
-__gadget_vers__ = '0.1'
-__gadget_auth__ = 'DaveMDS'
-__gadget_mail__ = 'd...@gurumeditation.it'
-__gadget_desc__ = 'All gadgets sets have a ruler...'
-__gadget_vapi__ = 1
-
-
-class Gadget(e.Gadget):
-
-def __init__(self):
-super().__init__()
-
-def instance_orient(self, obj, generic, specific):
-super().instance_orient(obj, generic, specific)
-
-if generic == e.E_GADCON_ORIENT_VERT:
-obj.signal_emit('gadget,orient,vert', '')
-else:
-obj.signal_emit('gadget,orient,horiz', '')
diff --git a/GADGETS/ruler/images/icon.png b/GADGETS/ruler/images/icon.png
deleted file mode 100644
index b0a8172..000
Binary files a/GADGETS/ruler/images/icon.png and /dev/null differ
diff --git a/GADGETS/ruler/images/ruler_horiz.png 
b/GADGETS/ruler/images/ruler_horiz.png
deleted file mode 100644
index fef303e..000
Binary files a/GADGETS/ruler/images/ruler_horiz.png and /dev/null differ
diff --git a/GADGETS/ruler/images/ruler_vert.png 
b/GADGETS/ruler/images/ruler_vert.png
deleted file mode 100644
index 02b4217..000
Binary files a/GADGETS/ruler/images/ruler_vert.png and /dev/null differ
diff --git a/GADGETS/ruler/ruler.edc b/GADGETS/ruler/ruler.edc
deleted file mode 100644
index 2db7a1e..000
--- a/GADGETS/ruler/ruler.edc
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- *  E17 Ruler Gadget (HalloWorld)
- *
- *  This is the simplest gadget yo can do.
- *  Ruler will be used as reference, all off the gadgets features will be
- *  documented here.You can use this file as a skeleton for your new gadgets.
- *
- *  All the thing that is labeled as API are part that must exist in every
- *  gadget.
- *
- */
-
-
-images {
-   image: "icon.png" COMP;
-   image: "ruler_horiz.png" COMP;
-   image: "ruler_vert.png" COMP;
-}
-
-
-collections {
-/**
- *  API [e/gadget/icon] The group used for the icon of the gadget
- */
-   group { name: "e/gadgets/ruler/icon";
-  parts {
- part { name: "icon";
-description {
-   state: "default" 0.0;
-   aspect: 1.0 1.0;
-   aspect_preference: BOTH;
-   image {
-  normal: "icon.png";
-   }
-}
- }
-  }
-   }
-
-/**
- *  API [e/gadget/main] The main group of the gadget
- *  This group is the one that is places on the screen. It's name must be
- *  e/gadget/main.
- */
-   group { name: "e/gadgets/ruler/main";
-  parts {
- part { name: "ruler";
-description { state: "default" 0.0;
-   min: 800 70

[EGIT] [bindings/python/python-efl] master 01/01: Elm: fix Layout.content_swallow_list_get() to not leak

2018-03-04 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=ffc3c337dc183a12e71a80c4a1e7c80710c2d14f

commit ffc3c337dc183a12e71a80c4a1e7c80710c2d14f
Author: Dave Andreoli 
Date:   Sun Mar 4 09:46:21 2018 +0100

Elm: fix Layout.content_swallow_list_get() to not leak

The eina_list_free was wrongly used and was leaking
the whole list. Fixed.
---
 efl/elementary/layout.pxi | 7 +--
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/efl/elementary/layout.pxi b/efl/elementary/layout.pxi
index a82de40..539f455 100644
--- a/efl/elementary/layout.pxi
+++ b/efl/elementary/layout.pxi
@@ -875,13 +875,8 @@ cdef class LayoutClass(Object):
 """
 cdef:
 Eina_List *l = elm_layout_content_swallow_list_get(self.obj)
-list ret = list()
-
-while l:
-ret.append(object_from_instance(l.data))
-l = l.next
+list ret = eina_list_objects_to_python_list(l)
 eina_list_free(l)
-
 return ret
 
 property icon:

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Elm: add test for elm_image_get() before a set() call

2018-03-01 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=4b8ddcff7d2333afba38a76774c7d18c5e0ed93b

commit 4b8ddcff7d2333afba38a76774c7d18c5e0ed93b
Author: Dave Andreoli 
Date:   Thu Mar 1 18:32:46 2018 +0100

Elm: add test for elm_image_get() before a set() call
---
 tests/elementary/test_02_image_icon.py | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tests/elementary/test_02_image_icon.py 
b/tests/elementary/test_02_image_icon.py
index cc0b48a..b106a10 100644
--- a/tests/elementary/test_02_image_icon.py
+++ b/tests/elementary/test_02_image_icon.py
@@ -29,9 +29,10 @@ class TestElmImage(unittest.TestCase):
 self.assertEqual(Eo.parent_get(self.o), self.w)
 
 def testImageFile(self):
-self.o.file = os.path.join(script_path, u"icon.png")
-self.assertEqual(self.o.file[0],
- os.path.join(script_path, u"icon.png"))
+img_file = os.path.join(script_path, u"icon.png")
+self.assertEqual(self.o.file, (None, None))
+self.o.file = img_file
+self.assertEqual(self.o.file, (img_file, None))
 self.assertEqual(self.o.object_size, (48, 48))
 
 def testImageFileException(self):

-- 




[EGIT] [tools/clouseau] master 01/01: Make clouseau works again after recent eolian changes

2018-03-01 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/tools/clouseau.git/commit/?id=c64d481e7085479d16d5d358e867f5022f1fbd92

commit c64d481e7085479d16d5d358e867f5022f1fbd92
Author: Dave Andreoli 
Date:   Thu Mar 1 18:12:40 2018 +0100

Make clouseau works again after recent eolian changes

Note: you need latest efl from git
---
 src/lib/clouseau_debug.c | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/lib/clouseau_debug.c b/src/lib/clouseau_debug.c
index 10b6d59..1a13dbb 100644
--- a/src/lib/clouseau_debug.c
+++ b/src/lib/clouseau_debug.c
@@ -74,7 +74,7 @@ static int _win_screenshot_op = EINA_DEBUG_OPCODE_INVALID;
 static int _focus_manager_list_op = EINA_DEBUG_OPCODE_INVALID;
 static int _focus_manager_detail_op = EINA_DEBUG_OPCODE_INVALID;
 
-static Eolian *eos = NULL;
+static Eolian_State *eos = NULL;
 
 static Eet_Data_Descriptor *manager_details = NULL;
 #include "clouseau_focus_serialization.x"
@@ -155,7 +155,7 @@ _eolian_type_resolve(const Eolian_Type *eo_type)
if (type_base == EOLIAN_TYPE_REGULAR)
  {
 const char *full_name = eolian_type_full_name_get(eo_type);
-const Eolian_Typedecl *alias = 
eolian_typedecl_alias_get_by_name((Eolian_Unit*) eos, full_name);
+const Eolian_Typedecl *alias = eolian_state_alias_by_name_get(eos, 
full_name);
 if (alias)
   {
  eo_type = eolian_typedecl_base_type_get(alias);
@@ -634,7 +634,7 @@ _obj_info_req_cb(Eina_Debug_Session *session, int srcid, 
void *buffer, int size
   }
  }
 
-   okl = eolian_class_get_by_name((Eolian_Unit*) eos, class_name);
+   okl = eolian_state_class_by_name_get(eos, class_name);
if (!okl)
  {
 printf("Class %s not found.\n", class_name);
@@ -1117,13 +1117,13 @@ clouseau_debug_init(void)
eolian_init();
evas_init();
 
-   eos = eolian_new();
+   eos = eolian_state_new();
_eolian_kls_hash = eina_hash_string_superfast_new(NULL);
 
-   eolian_system_directory_scan(eos);
+   eolian_state_system_directory_add(eos);
 
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(eolian_all_eo_files_parse(eos), EINA_FALSE);
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(eolian_all_eot_files_parse(eos), 
EINA_FALSE);
+   EINA_SAFETY_ON_FALSE_RETURN_VAL(eolian_state_all_eo_files_parse(eos), 
EINA_FALSE);
+   EINA_SAFETY_ON_FALSE_RETURN_VAL(eolian_state_all_eot_files_parse(eos), 
EINA_FALSE);
 
eina_debug_opcodes_register(NULL, _debug_ops(), NULL, NULL);
 
@@ -1284,7 +1284,7 @@ eolian_debug_object_information_decode(char *buffer, 
unsigned int size)
 if (len > 1) // if class_name is not NULL, we begin a new class
   {
  kl = calloc(1, sizeof(*kl));
- kl->ekl = eolian_class_get_by_name((Eolian_Unit*) eos, buffer);
+ kl->ekl = eolian_state_class_by_name_get(eos, buffer);
  ret->classes = eina_list_append(ret->classes, kl);
   }
 if (!kl)

-- 




[EGIT] [enlightenment/modules/edgar] master 01/01: Workaround sizing of the gadgets info popup

2018-02-18 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=c751489d8cb551e10186c431b4a4cccd811b29c5

commit c751489d8cb551e10186c431b4a4cccd811b29c5
Author: Dave Andreoli 
Date:   Sun Feb 18 16:32:44 2018 +0100

Workaround sizing of the gadgets info popup

This was used to work but now the popup is no more sized correctly.
(read: something break somewhere, and is brobably not going to be fixed)

The fix is not ideal (the popup should not be resizible) but at
least now it show something.
---
 src/e_mod_edgar.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c
index 64470a8..5a47525 100644
--- a/src/e_mod_edgar.c
+++ b/src/e_mod_edgar.c
@@ -490,7 +490,7 @@ edgar_menu_info_cb(void *data, E_Menu *m, E_Menu_Item *mi)
dia = e_dialog_new(con, "gadget_info", "class");
 #endif
 
-   e_dialog_resizable_set(dia, 0);
+   e_dialog_resizable_set(dia, 1);
e_dialog_title_set(dia, "Gadget info");
e_dialog_button_add(dia, "Close", NULL, NULL, NULL);
 

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Changed (again) all the elm class names

2018-02-16 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=00d92cbebe4f327e66f61718430f082d6f402ebc

commit 00d92cbebe4f327e66f61718430f082d6f402ebc
Author: Dave Andreoli 
Date:   Sat Feb 17 01:18:14 2018 +0100

Changed (again) all the elm class names

#FollowTheWhiteRabbit
---
 efl/elementary/background.pxi   | 2 +-
 efl/elementary/button.pxi   | 2 +-
 efl/elementary/check.pxi| 2 +-
 efl/elementary/datetime.pxi | 3 +--
 efl/elementary/flip.pxi | 2 +-
 efl/elementary/frame.pxi| 2 +-
 efl/elementary/image.pxi| 2 +-
 efl/elementary/layout.pxi   | 2 +-
 efl/elementary/multibuttonentry.pxi | 2 +-
 efl/elementary/panes.pxi| 2 +-
 efl/elementary/photocam.pxi | 2 +-
 efl/elementary/progressbar.pxi  | 2 +-
 efl/elementary/radio.pxi| 2 +-
 efl/elementary/slider.pxi   | 2 +-
 efl/elementary/video.pxi| 2 +-
 efl/elementary/window.pxi   | 2 +-
 16 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/efl/elementary/background.pxi b/efl/elementary/background.pxi
index 72b1ee3..389ee5d 100644
--- a/efl/elementary/background.pxi
+++ b/efl/elementary/background.pxi
@@ -184,4 +184,4 @@ cdef class Background(LayoutClass):
 def load_size_set(self, w, h):
 elm_bg_load_size_set(self.obj, w, h)
 
-_object_mapping_register("Elm.Bg", Background)
+_object_mapping_register("Efl.Ui.Bg_Widget_Legacy", Background)
diff --git a/efl/elementary/button.pxi b/efl/elementary/button.pxi
index d974776..f78b43f 100644
--- a/efl/elementary/button.pxi
+++ b/efl/elementary/button.pxi
@@ -135,4 +135,4 @@ cdef class Button(LayoutClass):
 self._callback_del("unpressed", func)
 
 
-_object_mapping_register("Efl.Ui.Button", Button)
+_object_mapping_register("Efl.Ui.Button_Legacy", Button)
diff --git a/efl/elementary/check.pxi b/efl/elementary/check.pxi
index c56c309..22f7c40 100644
--- a/efl/elementary/check.pxi
+++ b/efl/elementary/check.pxi
@@ -65,4 +65,4 @@ cdef class Check(LayoutClass):
 self._callback_del("changed", func)
 
 
-_object_mapping_register("Efl.Ui.Check", Check)
+_object_mapping_register("Efl.Ui.Check_Legacy", Check)
diff --git a/efl/elementary/datetime.pxi b/efl/elementary/datetime.pxi
index 6b9ec1b..4fa4b9d 100644
--- a/efl/elementary/datetime.pxi
+++ b/efl/elementary/datetime.pxi
@@ -347,5 +347,4 @@ cdef class Datetime(Object):
 self._callback_del("changed", func)
 
 
-# _object_mapping_register("Elm.Datetime", Datetime)
-_object_mapping_register("Efl.Ui.Clock", Datetime)
+_object_mapping_register("Efl.Ui.Clock_Legacy", Datetime)
diff --git a/efl/elementary/flip.pxi b/efl/elementary/flip.pxi
index 0476f16..711d5d9 100644
--- a/efl/elementary/flip.pxi
+++ b/efl/elementary/flip.pxi
@@ -203,4 +203,4 @@ cdef class Flip(Object):
 self._callback_del("animate,done", func)
 
 
-_object_mapping_register("Efl.Ui.Flip", Flip)
+_object_mapping_register("Efl.Ui.Flip_Legacy", Flip)
diff --git a/efl/elementary/frame.pxi b/efl/elementary/frame.pxi
index 7f84e12..a96b5f3 100644
--- a/efl/elementary/frame.pxi
+++ b/efl/elementary/frame.pxi
@@ -95,4 +95,4 @@ cdef class Frame(LayoutClass):
 self._callback_del("clicked", func)
 
 
-_object_mapping_register("Efl.Ui.Frame", Frame)
+_object_mapping_register("Efl.Ui.Frame_Legacy", Frame)
diff --git a/efl/elementary/image.pxi b/efl/elementary/image.pxi
index 0389aef..0e75ae0 100644
--- a/efl/elementary/image.pxi
+++ b/efl/elementary/image.pxi
@@ -665,4 +665,4 @@ cdef class Image(Object):
 def callback_load_cancel_del(self, func):
 self._callback_del("load,cancel", func)
 
-_object_mapping_register("Efl.Ui.Image", Image)
+_object_mapping_register("Efl.Ui.Image_Legacy", Image)
diff --git a/efl/elementary/layout.pxi b/efl/elementary/layout.pxi
index e5e1e5c..a82de40 100644
--- a/efl/elementary/layout.pxi
+++ b/efl/elementary/layout.pxi
@@ -949,5 +949,5 @@ cdef class Layout(LayoutClass):
 self._set_properties_from_keyword_args(kwargs)
 
 
-_object_mapping_register("Efl.Ui.Layout", Layout)
+_object_mapping_register("Efl.Ui.Layout_Legacy", Layout)
 
diff --git a/efl/elementary/multibuttonentry.pxi 
b/efl/elementary/multibuttonentry.pxi
index 85dde07..a6c528c 100644
--- a/efl/elementary/multibuttonentry.pxi
+++ b/efl/elementary/multibuttonentry.pxi
@@ -634,4 +634,4 @@ cdef class MultiButtonEntry(Object):
 self._callback_del("expand,state,changed", func)
 
 
-_object_mapping_register("Elm.Multibuttonentry", MultiButtonEntry)
+_object_mapping_register("Efl.Ui.Multibuttonentry_Legacy", MultiButtonEntry)
diff --git a/efl/elementary/panes.pxi b/efl/element

[EGIT] [enlightenment/modules/places] master 01/01: Fix compilation on recent efl (read as: breackage)

2018-02-09 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=6db7ce49e52f18b36831426d955cec89a9f258d7

commit 6db7ce49e52f18b36831426d955cec89a9f258d7
Author: Dave Andreoli 
Date:   Fri Feb 9 20:20:17 2018 +0100

Fix compilation on recent efl (read as: breackage)

without this change I'm getting tons of errors like:

In file included from /usr/local/include/ecore-1/Ecore_Common.h:1039:0,
 from /usr/local/include/ecore-1/Ecore.h:329,
 from /usr/local/include/enlightenment/e.h:116,
 from e_mod_udisks_eldbus.c:9:
/usr/local/include/ecore-1/ecore_exe.eo.h:103:20: error: unknown type name 
‘Efl_Event_Description’
 EWAPI extern const Efl_Event_Description _ECORE_EXE_EVENT_DATA_GET;

and:

/usr/local/include/ecore-1/efl_loop.eo.h:286:20: error: unknown type name 
‘Efl_Event_Description’
 EWAPI extern const Efl_Event_Description _EFL_LOOP_EVENT_POLL_HIGH;

I think that swapping the includes make it work because e.h set BETA_API
and that make eldbus happy.

So seems (without too much investigation) that eldbus is broken for legacy 
app.

(...me so tired to fixing legacy efl breackages)
---
 src/e_mod_udisks_eldbus.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/e_mod_udisks_eldbus.c b/src/e_mod_udisks_eldbus.c
index 4a3016a..e448361 100644
--- a/src/e_mod_udisks_eldbus.c
+++ b/src/e_mod_udisks_eldbus.c
@@ -5,8 +5,8 @@
 
 #ifdef HAVE_ELDBUS
 
-#include 
 #include 
+#include 
 #include "e_mod_main.h"
 #include "e_mod_places.h"
 

-- 




[EGIT] [bindings/python/python-efl] master 01/01: systray do not work anymore as the widget has been removed from efl :(

2017-12-12 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=f81fc890bb69ffe42f99cee4cb9a10fcff432f95

commit f81fc890bb69ffe42f99cee4cb9a10fcff432f95
Author: Dave Andreoli 
Date:   Tue Dec 12 19:25:39 2017 +0100

systray do not work anymore as the widget has been removed from efl :(

... we still need to decide what to do with this breakage
---
 ChangeLog   | 13 +
 efl/elementary/__init__.pyx |  2 +-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 0f76466..4d4f126 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
 
 ===
+-XX-XX  v1.21.0
+===
+
+BREAKS:
+ * systray.pxi do not work anymore as the widget has been removed from efl.
+   (commented in efl/elementary/__init__.pyx)
+   TODO FIXME... we still need to decide what to do with this breakage,
+  maybe an empty api with just a break notice? in this way apps using
+  systray will still run (not crash)
+
+
+
+===
 2017-05-06  v1.20.0
 ===
 
diff --git a/efl/elementary/__init__.pyx b/efl/elementary/__init__.pyx
index e99156e..e573812 100644
--- a/efl/elementary/__init__.pyx
+++ b/efl/elementary/__init__.pyx
@@ -1285,7 +1285,7 @@ include "slider.pxi"
 include "slideshow.pxi"
 include "spinner.pxi"
 #include "store.pxi"
-include "systray.pxi"
+# include "systray.pxi"
 include "table.pxi"
 include "theme.pxi"
 include "thumb.pxi"

-- 




[EGIT] [enlightenment/modules/edgar] master 01/01: FollowTheWhiteRabbit

2017-12-11 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=7a09d3d26d0d757b62ab1ac767fb0be09c646dd5

commit 7a09d3d26d0d757b62ab1ac767fb0be09c646dd5
Author: Dave Andreoli 
Date:   Mon Dec 11 19:41:38 2017 +0100

FollowTheWhiteRabbit
---
 src/e_mod_edgar.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c
index 04dc177..64470a8 100644
--- a/src/e_mod_edgar.c
+++ b/src/e_mod_edgar.c
@@ -352,7 +352,7 @@ edgar_theme_object_set(Edgar_Py_Gadget *gadget, Evas_Object 
*obj, const char *gr
if (!gadget->edjefile)
   return EINA_FALSE;
 
-   if (efl_isa(obj, EDJE_OBJECT_CLASS))
+   if (efl_isa(obj, EFL_CANVAS_LAYOUT_CLASS))
   return edje_object_file_set(obj, gadget->edjefile, buf);
 
if (efl_isa(obj, EFL_UI_LAYOUT_CLASS))

-- 




[EGIT] [bindings/python/python-efl] master 01/01: rename Edje.Object to Efl.Canvas.Layout

2017-12-09 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=28c97758986e816656bc2c1307130bac287013c8

commit 28c97758986e816656bc2c1307130bac287013c8
Author: Dave Andreoli 
Date:   Sat Dec 9 20:42:20 2017 +0100

rename Edje.Object to Efl.Canvas.Layout

#FollowTheWhiteRabbit

also fix a small typo in the Makefile
---
 Makefile | 4 ++--
 efl/edje/efl.edje_object.pxi | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 6bbe134..e155895 100644
--- a/Makefile
+++ b/Makefile
@@ -44,8 +44,8 @@ clean:
$(PY) setup.py clean --all
 
 
-.PHONY: maintaner-clean
-maintaner-clean:
+.PHONY: maintainer-clean
+maintainer-clean:
$(PY) setup.py clean --all clean_generated_files
 
 .PHONY: dist
diff --git a/efl/edje/efl.edje_object.pxi b/efl/edje/efl.edje_object.pxi
index 534eb88..29354ce 100644
--- a/efl/edje/efl.edje_object.pxi
+++ b/efl/edje/efl.edje_object.pxi
@@ -1509,4 +1509,4 @@ def on_text_change(func):
 return func
 
 
-_object_mapping_register("Edje.Object", Edje)
+_object_mapping_register("Efl.Canvas.Layout", Edje)

-- 




  1   2   3   >