[EGIT] [apps/terminology] master 02/02: tysend - optimize sending - pretty much double the speed

2017-12-17 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=8cfa269b54657ed390ee6953589dbbdd27041e07

commit 8cfa269b54657ed390ee6953589dbbdd27041e07
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Dec 18 15:16:54 2017 +0900

tysend - optimize sending - pretty much double the speed

yes. it's still inefficient because we transfer in ascii-ized nibbles
(4 bits) within a utf8 stream that becoems a 32bit per char unicode
buffer then back to utf8 before being "parsed" as a command etc. etc.
... it's not brilliant for transferring binary data. it's horrible
actually. but at least i've dropped overhead for some of the large
escape handling code.

this increases buffer size to 32k per block sent, and have the
terminal escape/buffer handling track if a zero byte exists in the
buffer at all to avoid hunting for one if none is there, making
terminology escape handling much more efficient for large escapes and
buffers.
---
 src/bin/termio.c | 20 
 src/bin/termpty.c| 52 +++-
 src/bin/termpty.h|  1 +
 src/bin/termptyesc.c | 30 +-
 src/bin/tysend.c |  8 +---
 5 files changed, 78 insertions(+), 33 deletions(-)

diff --git a/src/bin/termio.c b/src/bin/termio.c
index 50d986b..93c636b 100644
--- a/src/bin/termio.c
+++ b/src/bin/termio.c
@@ -6040,20 +6040,32 @@ _smart_pty_command(void *data)
 
   if (bb)
 {
-   p++;
+   unsigned char localbuf[128];
+   unsigned char localbufpos = 0;
+
+   eina_binbuf_expand(bb, 32 * 1024);
sum = 0;
-   for (; *p; p++)
+   for (sum = 0, p++; *p; p++)
  {
+// high nibble
 v = (unsigned char)(*p);
 sum += v;
-
 v = ((v - '@') & 0xf) << 4;
+// low nibble
 p++;
 sum += *p;
 v |= ((*p - '@') & 0xf);
+localbuf[localbufpos++] = v;
+if (localbufpos >= sizeof(localbuf))
+  {
+ eina_binbuf_append_length(bb, localbuf, 
localbufpos);
+ localbufpos = 0;
+  }
 if (!*p) valid = EINA_FALSE;
-eina_binbuf_append_char(bb, v);
  }
+   if (localbufpos > 0)
+ eina_binbuf_append_length(bb, localbuf, localbufpos);
+
if ((valid) && (sum == pksum) && (sd->sendfile.active))
  {
 // write "ok" (k) to term
diff --git a/src/bin/termpty.c b/src/bin/termpty.c
index 3c86546..4251e8a 100644
--- a/src/bin/termpty.c
+++ b/src/bin/termpty.c
@@ -57,7 +57,7 @@ termpty_shutdown(void)
 void
 termpty_handle_buf(Termpty *ty, const Eina_Unicode *codepoints, int len)
 {
-   Eina_Unicode *c, *ce, *b;
+   Eina_Unicode *c, *ce, *c2, *b, *d;
int n, bytes;
 
c = (Eina_Unicode *)codepoints;
@@ -65,6 +65,7 @@ termpty_handle_buf(Termpty *ty, const Eina_Unicode 
*codepoints, int len)
 
if (ty->buf)
  {
+if (!ty->buf) ty->buf_have_zero = EINA_FALSE;
 bytes = (ty->buflen + len + 1) * sizeof(int);
 b = realloc(ty->buf, bytes);
 if (!b)
@@ -73,8 +74,26 @@ termpty_handle_buf(Termpty *ty, const Eina_Unicode 
*codepoints, int len)
  return;
   }
 DBG("realloc add %i + %i", (int)(ty->buflen * sizeof(int)), (int)(len 
* sizeof(int)));
-bytes = len * sizeof(Eina_Unicode);
-memcpy(&(b[ty->buflen]), codepoints, bytes);
+if (!ty->buf_have_zero)
+  {
+ d = &(b[ty->buflen]);
+ ce = (Eina_Unicode *)codepoints + len;
+ for (c = (Eina_Unicode *)codepoints; c < ce; c++, d++)
+   {
+  *d = *c;
+  if (*c == 0x0)
+{
+   ty->buf_have_zero = EINA_TRUE;
+   break;
+}
+   }
+ for (; c < ce; c++, d++) *d = *c;
+  }
+else
+  {
+ bytes = len * sizeof(Eina_Unicode);
+ memcpy(&(b[ty->buflen]), codepoints, bytes);
+  }
 ty->buf = b;
 ty->buflen += len;
 ty->buf[ty->buflen] = 0;
@@ -96,8 +115,18 @@ termpty_handle_buf(Termpty *ty, const Eina_Unicode 
*codepoints, int len)
ERR(_("memerr: %s"), strerror(errno));
return;
 }
+  ty->bu

[EGIT] [apps/terminology] master 01/02: tysend status - fix focus after close/cancel

2017-12-17 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=8bb7a473ae1561addb5f0788501012d1f5d650ed

commit 8bb7a473ae1561addb5f0788501012d1f5d650ed
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Dec 18 15:16:08 2017 +0900

tysend status - fix focus after close/cancel
---
 src/bin/win.c | 12 ++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/bin/win.c b/src/bin/win.c
index 65a41b2..ccaaedd 100644
--- a/src/bin/win.c
+++ b/src/bin/win.c
@@ -3802,6 +3802,11 @@ _sendfile_progress_hide(Term *term)
  ecore_timer_del(term->sendfile_progress_hide_timer);
term->sendfile_progress_hide_timer =
  ecore_timer_add(0.5, _sendfile_progress_hide_delay, term);
+   if (elm_object_focus_get(term->sendfile_progress))
+ {
+elm_object_focus_set(term->sendfile_progress, EINA_FALSE);
+_term_focus(term);
+ }
 }
 
 static void
@@ -3902,8 +3907,11 @@ _sendfile_request_hide_delay(void *data)
if (t) ecore_timer_del(t);
t = ecore_timer_add(10.0, _sendfile_request_reset, term->sendfile_request);
evas_object_data_set(term->sendfile_request, "sendfile-request-timer", t);
-   elm_object_focus_set(term->sendfile_request, EINA_FALSE);
-   _term_focus(term);
+   if (elm_object_focus_get(term->sendfile_request))
+ {
+elm_object_focus_set(term->sendfile_request, EINA_FALSE);
+_term_focus(term);
+ }
return EINA_FALSE;
 }
 

-- 




[EGIT] [core/efl] master 01/01: Efl.Ui.Popup.Anchor: remove event callback when popup is deleted

2017-12-17 Thread JinYong Park
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e8735068aca1717b19b3379d58ab592d8e34dd0e

commit e8735068aca1717b19b3379d58ab592d8e34dd0e
Author: JinYong Park 
Date:   Mon Dec 18 14:08:08 2017 +0900

Efl.Ui.Popup.Anchor: remove event callback when popup is deleted

Summary:
When popup is deleted, popup didn't remove event callback
which its parent and anchor object.
So before popup destruction, detach anchor.

Test Plan: elementary_test -to efl.ui.popup.anchor

Reviewers: Jaehyun_Cho, herb, woohyun, jpeg, cedric

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5667
---
 src/lib/elementary/efl_ui_popup_anchor.c  | 46 ++-
 src/lib/elementary/efl_ui_popup_anchor.eo |  1 +
 2 files changed, 15 insertions(+), 32 deletions(-)

diff --git a/src/lib/elementary/efl_ui_popup_anchor.c 
b/src/lib/elementary/efl_ui_popup_anchor.c
index c1bf965b8b..9112a0cc5b 100644
--- a/src/lib/elementary/efl_ui_popup_anchor.c
+++ b/src/lib/elementary/efl_ui_popup_anchor.c
@@ -23,16 +23,9 @@ _anchor_calc(Eo *obj)
 
Eina_Position2D pos = {0, 0};
 
-   Eo *parent = efl_provider_find(obj, EFL_UI_WIN_CLASS);
-   if (!parent)
- {
-ERR("Cannot find window parent");
-return;
- }
-
Eina_Rect a_geom = efl_gfx_geometry_get(pd->anchor);
Eina_Rect o_geom = efl_gfx_geometry_get(obj);
-   Eina_Rect p_geom = efl_gfx_geometry_get(parent);
+   Eina_Rect p_geom = efl_gfx_geometry_get(ppd->win_parent);
 
pd->used_align = EFL_UI_POPUP_ALIGN_NONE;
 
@@ -214,14 +207,7 @@ _anchor_del_cb(void *data, const Efl_Event *ev EINA_UNUSED)
EFL_UI_POPUP_DATA_GET_OR_RETURN(data, ppd);
EFL_UI_POPUP_ANCHOR_DATA_GET(data, pd);
 
-   Eo *parent = efl_provider_find(data, EFL_UI_WIN_CLASS);
-   if (!parent)
- {
-ERR("Cannot find window parent");
-return;
- }
-
-   efl_event_callback_del(parent, EFL_GFX_EVENT_RESIZE, _anchor_geom_cb, data);
+   efl_event_callback_del(ppd->win_parent, EFL_GFX_EVENT_RESIZE, 
_anchor_geom_cb, data);
 
pd->anchor = NULL;
//Add align calc only
@@ -233,18 +219,12 @@ _anchor_del_cb(void *data, const Efl_Event *ev 
EINA_UNUSED)
 static void
 _anchor_detach(Eo *obj)
 {
+   EFL_UI_POPUP_DATA_GET_OR_RETURN(obj, ppd);
EFL_UI_POPUP_ANCHOR_DATA_GET(obj, pd);
 
if (!pd->anchor) return;
 
-   Eo *parent = efl_provider_find(obj, EFL_UI_WIN_CLASS);
-   if (!parent)
- {
-ERR("Cannot find window parent");
-return;
- }
-
-   efl_event_callback_del(parent, EFL_GFX_EVENT_RESIZE, _anchor_geom_cb, obj);
+   efl_event_callback_del(ppd->win_parent, EFL_GFX_EVENT_RESIZE, 
_anchor_geom_cb, obj);
efl_event_callback_del(pd->anchor, EFL_GFX_EVENT_RESIZE, _anchor_geom_cb, 
obj);
efl_event_callback_del(pd->anchor, EFL_GFX_EVENT_MOVE, _anchor_geom_cb, 
obj);
efl_event_callback_del(pd->anchor, EFL_EVENT_DEL, _anchor_del_cb, obj);
@@ -260,14 +240,7 @@ _efl_ui_popup_anchor_anchor_set(Eo *obj, 
Efl_Ui_Popup_Anchor_Data *pd, Eo *ancho
 
if (anchor)
  {
-Eo *parent = efl_provider_find(obj, EFL_UI_WIN_CLASS);
-if (!parent)
-  {
-  ERR("Cannot find window parent");
-  return;
-  }
-
-efl_event_callback_add(parent, EFL_GFX_EVENT_RESIZE, _anchor_geom_cb, 
obj);
+efl_event_callback_add(ppd->win_parent, EFL_GFX_EVENT_RESIZE, 
_anchor_geom_cb, obj);
 efl_event_callback_add(anchor, EFL_GFX_EVENT_RESIZE, _anchor_geom_cb, 
obj);
 efl_event_callback_add(anchor, EFL_GFX_EVENT_MOVE, _anchor_geom_cb, 
obj);
 efl_event_callback_add(anchor, EFL_EVENT_DEL, _anchor_del_cb, obj);
@@ -369,4 +342,13 @@ _efl_ui_popup_anchor_efl_object_constructor(Eo *obj,
return obj;
 }
 
+EOLIAN static void
+_efl_ui_popup_anchor_efl_object_destructor(Eo *obj,
+   Efl_Ui_Popup_Anchor_Data *pd 
EINA_UNUSED)
+{
+   _anchor_detach(obj);
+
+   efl_destructor(efl_super(obj, MY_CLASS));
+}
+
 #include "efl_ui_popup_anchor.eo.c"
diff --git a/src/lib/elementary/efl_ui_popup_anchor.eo 
b/src/lib/elementary/efl_ui_popup_anchor.eo
index 1bdd8684e6..9490e491ce 100644
--- a/src/lib/elementary/efl_ui_popup_anchor.eo
+++ b/src/lib/elementary/efl_ui_popup_anchor.eo
@@ -35,6 +35,7 @@ class Efl.Ui.Popup_Anchor(Efl.Ui.Popup)
}
implements {
   Efl.Object.constructor;
+  Efl.Object.destructor;
   Efl.Canvas.Group.group_calculate;
   Efl.Gfx.position { set; }
}

-- 




[EGIT] [core/efl] master 01/01: efl_ui_spin_button: Fix can't input number in case of the min value is bigger than 1.

2017-12-17 Thread Woochan Lee
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=845d6d1b57b207f09b351a923b02c5330907a5d4

commit 845d6d1b57b207f09b351a923b02c5330907a5d4
Author: Woochan Lee 
Date:   Mon Dec 18 13:23:32 2017 +0900

efl_ui_spin_button: Fix can't input number in case of the min value is 
bigger than 1.

Summary:
Min Max validate logic has been changed to support decimal point counting.
It makes this side effect.

Test Plan:
elementary_test -> efl_ui_spin_button sample.
(On the min max filter enabled.)

Reviewers: jpeg, Jaehyun_Cho, woohyun

Reviewed By: Jaehyun_Cho

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5580
---
 src/lib/elementary/efl_ui_spin_button.c | 17 -
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/src/lib/elementary/efl_ui_spin_button.c 
b/src/lib/elementary/efl_ui_spin_button.c
index d8d0f9ddb6..42667938eb 100644
--- a/src/lib/elementary/efl_ui_spin_button.c
+++ b/src/lib/elementary/efl_ui_spin_button.c
@@ -285,7 +285,7 @@ _min_max_validity_filter(void *data, Evas_Object *obj, char 
**text)
const char *str, *point;
char *insert, *new_str = NULL;
double val;
-   int max_len, len;
+   int max_len = 0, len;
 
EINA_SAFETY_ON_NULL_RETURN(data);
EINA_SAFETY_ON_NULL_RETURN(obj);
@@ -299,15 +299,9 @@ _min_max_validity_filter(void *data, Evas_Object *obj, 
char **text)
insert = *text;
new_str = _text_insert(str, insert, elm_entry_cursor_pos_get(obj));
if (!new_str) return;
-   max_len = log10(fabs(pd->val_max)) + 1;
+   if (strchr(new_str, '-')) max_len++;
 
-   new_str = _text_insert(str, insert, elm_entry_cursor_pos_get(obj));
-   if (pd->format_type == SPIN_FORMAT_INT)
- {
-len = strlen(new_str);
-if (len < max_len) goto end;
- }
-   else if (pd->format_type == SPIN_FORMAT_FLOAT)
+   if (pd->format_type == SPIN_FORMAT_FLOAT)
  {
 point = strchr(new_str, '.');
 if (point)
@@ -320,6 +314,11 @@ _min_max_validity_filter(void *data, Evas_Object *obj, 
char **text)
   }
  }
 
+   max_len += (fabs(pd->val_max) > fabs(pd->val_min)) ?
+  (log10(fabs(pd->val_max)) + 1) : (log10(fabs(pd->val_min)) + 1);
+   len = strlen(new_str);
+   if (len < max_len) goto end;
+
val = strtod(new_str, NULL);
if ((val < pd->val_min) || (val > pd->val_max))
  *insert = 0;

-- 




[EGIT] [core/efl] master 01/01: eolian cxx: pass state when getting decls

2017-12-17 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7ae10303833f4ab29fc0e2dd58f6ecd38f45ccba

commit 7ae10303833f4ab29fc0e2dd58f6ecd38f45ccba
Author: Daniel Kolesa 
Date:   Sun Dec 17 23:08:07 2017 +0100

eolian cxx: pass state when getting decls
---
 src/bin/eolian_cxx/eolian_cxx.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/eolian_cxx/eolian_cxx.cc b/src/bin/eolian_cxx/eolian_cxx.cc
index c6514baf6c..67b73b2cc5 100644
--- a/src/bin/eolian_cxx/eolian_cxx.cc
+++ b/src/bin/eolian_cxx/eolian_cxx.cc
@@ -226,7 +226,7 @@ types_generate(std::string const& fname, options_type 
const& opts,
using namespace efl::eolian::grammar::attributes;
 
std::vector functions;
-   Eina_Iterator *itr = eolian_declarations_get_by_file(fname.c_str());
+   Eina_Iterator *itr = eolian_declarations_get_by_file(opts.state, 
fname.c_str());
/* const */ Eolian_Declaration *decl;
 
// Build list of functions with their parameters

-- 




[EGIT] [apps/terminology] master 01/01: try keeping ChangeLog.theme up-to-date

2017-12-17 Thread Boris Faure
billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=fba368e7d83e0e54f87067a74f6b79656d6a9a4d

commit fba368e7d83e0e54f87067a74f6b79656d6a9a4d
Author: Boris Faure 
Date:   Sun Dec 17 17:04:38 2017 +0100

try keeping ChangeLog.theme up-to-date
---
 ChangeLog.theme | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/ChangeLog.theme b/ChangeLog.theme
index 49288df..567c66b 100644
--- a/ChangeLog.theme
+++ b/ChangeLog.theme
@@ -7,6 +7,9 @@ Changes since 1.1.1:
 
   * In group "terminology/background", "message" with id 2 requires an INT to
   specify the amount of shine
+  * Add parts "terminology.sendfile.progress" and
+  "terminology.sendfile.request" in "terminology/background". See default.edc
+  for more details.
 
 Changes since 0.9.1:
 

-- 




[EGIT] [apps/terminology] master 01/01: tysend - i was only testing ascii files. binary doesnt trasnfer well...

2017-12-17 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=15e3c8739090aa04fe5d1cc6c71668ec819c53f3

commit 15e3c8739090aa04fe5d1cc6c71668ec819c53f3
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Dec 18 00:51:52 2017 +0900

tysend - i was only testing ascii files. binary doesnt trasnfer well...

so move to 4 bit nibbles encoded as ascii. inefficient but works
reliably.
---
 README   | 10 ++
 src/bin/termio.c | 18 ++
 src/bin/tysend.c | 18 +++---
 3 files changed, 15 insertions(+), 31 deletions(-)

diff --git a/README b/README
index 5e53487..f6bb079 100644
--- a/README
+++ b/README
@@ -310,10 +310,12 @@ fd[CHECKSUM DATA]
   = block of data for the current file transfer with checksum as a
 string decimal which is the sum of every byte when taken as an
 unsigned char per byte. the checksum is a signed 32bit integer.
-the checksum is the sum of the data after escaping. data will be
-escaped using a 0xff byte as the escape header. the escape sequence
-of 0xff 0x01 represents a 0x00 (nul) bytes, and 0xff 0x02 represents
-a 0xff byte. all other bytes are transitted as-is.
+the checksum is the sum of the data after escaping. 4 bits at a
+time per data byte, encoded with high bits in one byte then low
+bits, with the bits ecnoded as 4 bit value being 0x40 + 4 bit value
+per byte. (@ == 0x0, A == 0x1, B == 0x2, ... N == 0xe, O == 0xf).
+so to rebuild a byte will be (((bytes[0] - 0x40) & 0xf) << 4) |
+((bytes[1] - 0x40) & 0xf) per byte pair in the data block.
 
 fx
   = exit file send mode (normally at the end of the file or when it's
diff --git a/src/bin/termio.c b/src/bin/termio.c
index b5f60a8..50d986b 100644
--- a/src/bin/termio.c
+++ b/src/bin/termio.c
@@ -6037,7 +6037,6 @@ _smart_pty_command(void *data)
{
   Eina_Binbuf *bb = eina_binbuf_new();
   unsigned char v;
-  int inp = 0;
 
   if (bb)
 {
@@ -6047,17 +6046,12 @@ _smart_pty_command(void *data)
  {
 v = (unsigned char)(*p);
 sum += v;
-inp++;
-if ((v == 0x1b) || (v == 0x07))
-  {
- p++;
- v = *p;
- inp++;
- sum += (unsigned char)(*p);
- if  (*p == 0x01) v = 0x00;
- else if (*p == 0x02) v = 0xff;
- else valid = EINA_FALSE;
-  }
+
+v = ((v - '@') & 0xf) << 4;
+p++;
+sum += *p;
+v |= ((*p - '@') & 0xf);
+if (!*p) valid = EINA_FALSE;
 eina_binbuf_append_char(bb, v);
  }
if ((valid) && (sum == pksum) && (sd->sendfile.active))
diff --git a/src/bin/tysend.c b/src/bin/tysend.c
index 1bb2d78..b4ad458 100644
--- a/src/bin/tysend.c
+++ b/src/bin/tysend.c
@@ -87,27 +87,15 @@ main(int argc, char **argv)
 {
if (buf[0] == 'k')
  {
-pksize = read(file_fd, rawbuf, 8192);
+pksize = read(file_fd, rawbuf, 4096);
 
 if (pksize > 0)
   {
  bout = 0;
  for (bin = 0; bin < pksize; bin++)
{
-  if (rawbuf[bin] == 0x00)
-{
-   rawbuf2[bout++] = 0xff;
-   rawbuf2[bout++] = 0x01;
-}
-  else if (rawbuf[bin] == 0xff)
-{
-   rawbuf2[bout++] = 0xff;
-   rawbuf2[bout++] = 0x02;
-}
-  else
-{
-   rawbuf2[bout++] = rawbuf[bin];
-}
+  rawbuf2[bout++] = (rawbuf[bin] >> 4 ) + 
'@';
+  rawbuf2[bout++] = (rawbuf[bin] & 0xf) + 
'@';
}
  rawbuf2[bout] = 0;
  pksum = 0;

-- 




[EGIT] [website/www-content] master 01/01: Wiki page ubuntu-start changed with summary [] by Philippe Jean Guillaumie

2017-12-17 Thread Philippe Jean Guillaumie
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=233484165610ab6838466b6701ff0d7df8df8d86

commit 233484165610ab6838466b6701ff0d7df8df8d86
Author: Philippe Jean Guillaumie 
Date:   Sun Dec 17 07:07:00 2017 -0800

Wiki page ubuntu-start changed with summary [] by Philippe Jean Guillaumie
---
 pages/docs/distros/ubuntu-start.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/docs/distros/ubuntu-start.txt 
b/pages/docs/distros/ubuntu-start.txt
index 5a2c558b9..6e3d82f3c 100644
--- a/pages/docs/distros/ubuntu-start.txt
+++ b/pages/docs/distros/ubuntu-start.txt
@@ -28,7 +28,7 @@ To install Meson in Ubuntu, you can issue the following 
commands:
 
 sudo apt-get install ninja-build python3-pip
 
-Then:
+Then (do not use sudo):
 
 pip3 install --user meson
 

-- 




[EGIT] [apps/terminology] master 03/03: add tysend cmdline and support in escapes for sending single files

2017-12-17 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=125d4750683141395bb5de38e4c415d31c5ed8c9

commit 125d4750683141395bb5de38e4c415d31c5ed8c9
Author: Carsten Haitzler (Rasterman) 
Date:   Sun Dec 17 23:36:51 2017 +0900

add tysend cmdline and support in escapes for sending single files

this allows you to send a file via escapes to terminology which will
pop up a file save dialog and ask what to save it as and where (based
on the original name). terminology will show a progress bar too. this
is not useful locally but remotely (e.g. you ssh'd into another
machine) it's a VERY handy way of fetching a file from the remote
machine to the local machine with a display just with tysend FILE. you
can send multiple in a sequence with tysend FILE1 FILE2 FILE3 ... ...
and terminology will ask for a location and filename per file you send
(just hit cancel if you don't want to do it).

note - it needs new theme features to work. it'll fail without them.

@feature
---
 README  |  19 +++
 data/themes/default.edc | 165 +
 src/bin/meson.build |   6 +
 src/bin/termio.c| 196 ++
 src/bin/termio.h|   3 +
 src/bin/tyalpha.c   |   2 +-
 src/bin/tybg.c  |   4 +-
 src/bin/tycat.c |   6 +-
 src/bin/tyls.c  |   2 +-
 src/bin/typop.c |   2 +-
 src/bin/tyq.c   |   2 +-
 src/bin/tysend.c| 149 +++
 src/bin/win.c   | 314 +++-
 13 files changed, 860 insertions(+), 10 deletions(-)

diff --git a/README b/README
index 510f384..5e53487 100644
--- a/README
+++ b/README
@@ -299,3 +299,22 @@ ib
 
 ie
   = end media replace sequence run
+
+fr[PATH/FILE]
+  = begin file send for a file named PATH/FILE
+
+fs[SIZE_BYTES]
+  = set the size in bytes of a file send started with the above fr escape
+
+fd[CHECKSUM DATA]
+  = block of data for the current file transfer with checksum as a
+string decimal which is the sum of every byte when taken as an
+unsigned char per byte. the checksum is a signed 32bit integer.
+the checksum is the sum of the data after escaping. data will be
+escaped using a 0xff byte as the escape header. the escape sequence
+of 0xff 0x01 represents a 0x00 (nul) bytes, and 0xff 0x02 represents
+a 0xff byte. all other bytes are transitted as-is.
+
+fx
+  = exit file send mode (normally at the end of the file or when it's
+complete)
diff --git a/data/themes/default.edc b/data/themes/default.edc
index c794f28..ba4e90d 100644
--- a/data/themes/default.edc
+++ b/data/themes/default.edc
@@ -652,6 +652,171 @@ collections {
  }
 
  
+ // sendfile request
+ part { name: "sendfile_request_clip"; type: RECT;
+description { state: "default" 0.0;
+   color: 255 255 255 0;
+   visible: 0;
+}
+description { state: "on" 0.0;
+   inherit: "default" 0.0;
+   visible: 1;
+   color: 255 255 255 255;
+}
+ }
+ part { name: "sendfile_request_shadow";
+mouse_events: 0;
+clip_to: "sendfile_request_clip";
+description { state: "default" 0.0;
+   fixed: 1 1;
+   rel.to: "sendfile_request_bg";
+   rel1.offset: -32 -32;
+   rel2.offset: 31 31;
+   image.normal: "pm_shadow.png";
+   image.border: 64 64 64 64;
+   fill.smooth: 0;
+}
+ }
+ part { name: "sendfile_request_bg"; type: RECT;
+clip_to: "sendfile_request_clip";
+description { state: "default" 0.0;
+   color: 64 64 64 255;
+   rel1.relative: 0.0 -1.0;
+   rel2.relative: 1.0 0.0;
+}
+description { state: "on" 0.0;
+   inherit: "default" 0.0;
+   rel1.relative: 0.0 0.0;
+   rel2.relative: 1.0 1.0;
+}
+ }
+ part { name: "terminology.sendfile.request"; type: SWALLOW;
+clip_to: "sendfile_request_clip";
+scale: 1;
+description { state: "default" 0.0;
+   rel.to: "sendfile_request_bg";
+   rel1.offset: 4 4;
+   rel2.offset: -5 -5;
+   offscale;
+}
+description { state: "on" 0.0;
+   inherit: "default" 0.0;
+   rel1.relative: 0.0 0.0;
+   rel2.relative: 1.0 1.0;
+}
+ }
+ program {
+signal: "sendfile,request,on"; source: "terminology";
+action: ACTION_STOP;
+target: "sendfile_request_on";
+target: "sendfile_request_off";
+ }
+ pr

[EGIT] [apps/terminology] master 02/03: update autogen to use meson configure

2017-12-17 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=076093da5eb9e9d367061962ed3b5783078222af

commit 076093da5eb9e9d367061962ed3b5783078222af
Author: Carsten Haitzler (Rasterman) 
Date:   Sun Dec 17 10:14:15 2017 +0900

update autogen to use meson configure
---
 autogen.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/autogen.sh b/autogen.sh
index 6531487..9c632a0 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -2,4 +2,4 @@
 
 rm -rf build
 meson $@ . build
-mesonconf build
+meson configure build

-- 




[EGIT] [apps/terminology] master 01/03: installl - update docs to use meson configure

2017-12-17 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=dbd5df73cc009c2ec421b14f177f48e15efd6f63

commit dbd5df73cc009c2ec421b14f177f48e15efd6f63
Author: Carsten Haitzler (Rasterman) 
Date:   Sun Dec 17 09:51:20 2017 +0900

installl - update docs to use meson configure
---
 INSTALL | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/INSTALL b/INSTALL
index 3e797a1..2eac4a6 100644
--- a/INSTALL
+++ b/INSTALL
@@ -28,7 +28,7 @@ To set 1 or more project specific options:
 
 To display current configuration:
 
-mesonconf build
+meson configure build
 
 The above will only work after at least the following is done:
 

-- 




[EGIT] [core/efl] master 01/01: ecore: Additional safety for bad futures

2017-12-17 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a34aca27a0189f457adad26290c874590543e110

commit a34aca27a0189f457adad26290c874590543e110
Author: Andy Williams 
Date:   Sun Dec 17 14:38:19 2017 +

ecore: Additional safety for bad futures

Fixes T6519
---
 src/lib/ecore/ecore_events.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/ecore/ecore_events.c b/src/lib/ecore/ecore_events.c
index 2a123a58fe..49cacd1f07 100644
--- a/src/lib/ecore/ecore_events.c
+++ b/src/lib/ecore/ecore_events.c
@@ -119,6 +119,8 @@ static Eina_Bool
 ecore_future_dispatched(void *data EINA_UNUSED, int type  EINA_UNUSED, void 
*event)
 {
Ecore_Future_Schedule_Entry *entry = event;
+   EINA_SAFETY_ON_NULL_RETURN_VAL(entry, EINA_FALSE);
+
entry->event = NULL;
entry->cb(entry->future, entry->value);
return EINA_FALSE;

-- 




[EGIT] [website/www-content] master 01/01: Wiki page ubuntu-start changed with summary [] by Philippe Jean Guillaumie

2017-12-17 Thread Philippe Jean Guillaumie
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=7138522f56fec3ef2b93ec3af0e765fa9ea4233a

commit 7138522f56fec3ef2b93ec3af0e765fa9ea4233a
Author: Philippe Jean Guillaumie 
Date:   Sun Dec 17 06:38:37 2017 -0800

Wiki page ubuntu-start changed with summary [] by Philippe Jean Guillaumie
---
 pages/docs/distros/ubuntu-start.txt | 5 +
 1 file changed, 5 insertions(+)

diff --git a/pages/docs/distros/ubuntu-start.txt 
b/pages/docs/distros/ubuntu-start.txt
index 5f0b91ddb..5a2c558b9 100644
--- a/pages/docs/distros/ubuntu-start.txt
+++ b/pages/docs/distros/ubuntu-start.txt
@@ -38,6 +38,11 @@ export PATH=$HOME/.local/bin:$PATH
 
 at the bottom of your ~/.bashrc file.
 
+If you ever need to uninstall meson, simply run:
+
+pip3 uninstall meson
+
+
 Meson 
[[https://git.enlightenment.org/core/enlightenment.git/tree/INSTALL|quick 
help]].
 
 Then go to [[/docs/distros/]] to learn how to install the whole thing ;-)

-- 




[EGIT] [legacy/imlib2_loaders] master 03/03: Clean up formats()

2017-12-17 Thread Kim Woelders
kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2_loaders.git/commit/?id=3f32c8785a86cffce8a000f781eeab347d520e16

commit 3f32c8785a86cffce8a000f781eeab347d520e16
Author: Kim Woelders 
Date:   Sat Dec 16 14:42:17 2017 +0100

Clean up formats()
---
 src/modules/loaders/loader_ani.c | 36 +++-
 src/modules/loaders/loader_eet.c | 24 ++--
 src/modules/loaders/loader_ico.c | 36 +++-
 src/modules/loaders/loader_xcf.c | 36 +++-
 4 files changed, 43 insertions(+), 89 deletions(-)

diff --git a/src/modules/loaders/loader_ani.c b/src/modules/loaders/loader_ani.c
index a465826..796fea7 100644
--- a/src/modules/loaders/loader_ani.c
+++ b/src/modules/loaders/loader_ani.c
@@ -341,29 +341,15 @@ load(ImlibImage *im, ImlibProgressFunction progress, char 
progress_granularity,
   progress_granularity = 0;
 }
 
-/* fills the ImlibLoader struct with a strign array of format file */
-/* extensions this loader can load. eg: */
-/* loader->formats = { "jpeg", "jpg"}; */
-/* giving permutations is a good idea. case sensitivity is irrelevant */
-/* your laoder CAN load more than one format if it likes - like: */
-/* loader->formats = { "gif", "png", "jpeg", "jpg"} */
-/* if it can load those formats. */
-void 
-formats (ImlibLoader *l)
-{  
-   /* this is the only bit you have to change... */
-   char *list_formats[] = 
- { "ani" };
-
-   /* don't bother changing any of this - it just reads this in and sets */
-   /* the struct values and makes copies */
- {
-   int i;
-   
-   l->num_formats = (sizeof(list_formats) / sizeof (char *));
-   l->formats = malloc(sizeof(char *) * l->num_formats);
-   for (i = 0; i < l->num_formats; i++)
-  l->formats[i] = strdup(list_formats[i]);
- }
-}
+void
+formats(ImlibLoader * l)
+{
+   static const char  *const list_formats[] = { "ani" };
+   int i;
 
+   l->num_formats = sizeof(list_formats) / sizeof(char *);
+   l->formats = malloc(sizeof(char *) * l->num_formats);
+
+   for (i = 0; i < l->num_formats; i++)
+  l->formats[i] = strdup(list_formats[i]);
+}
diff --git a/src/modules/loaders/loader_eet.c b/src/modules/loaders/loader_eet.c
index 7b83fd5..8f079e8 100644
--- a/src/modules/loaders/loader_eet.c
+++ b/src/modules/loaders/loader_eet.c
@@ -390,19 +390,15 @@ save (ImlibImage *im, ImlibProgressFunction progress,
progress_granularity = 0;
 }
 
-void 
-formats (ImlibLoader *l)
-{  
-   char *list_formats[] = 
- { "eet" };
+void
+formats(ImlibLoader * l)
+{
+   static const char  *const list_formats[] = { "eet" };
+   int i;
 
- {
-   int i;
-   
-   l->num_formats = (sizeof(list_formats) / sizeof (char *));
-   l->formats = malloc(sizeof(char *) * l->num_formats);
-   for (i = 0; i < l->num_formats; i++)
-  l->formats[i] = strdup(list_formats[i]);
- }
-}
+   l->num_formats = sizeof(list_formats) / sizeof(char *);
+   l->formats = malloc(sizeof(char *) * l->num_formats);
 
+   for (i = 0; i < l->num_formats; i++)
+  l->formats[i] = strdup(list_formats[i]);
+}
diff --git a/src/modules/loaders/loader_ico.c b/src/modules/loaders/loader_ico.c
index 67096f5..04f6479 100644
--- a/src/modules/loaders/loader_ico.c
+++ b/src/modules/loaders/loader_ico.c
@@ -593,29 +593,15 @@ load(ImlibImage *im, ImlibProgressFunction progress, char 
progress_granularity,
   return 0;
 }
 
-/* fills the ImlibLoader struct with a strign array of format file */
-/* extensions this loader can load. eg: */
-/* loader->formats = { "jpeg", "jpg"}; */
-/* giving permutations is a good idea. case sensitivity is irrelevant */
-/* your laoder CAN load more than one format if it likes - like: */
-/* loader->formats = { "gif", "png", "jpeg", "jpg"} */
-/* if it can load those formats. */
-void 
-formats (ImlibLoader *l)
-{  
-   /* this is the only bit you have to change... */
-   char *list_formats[] = 
- { "ico" };
-
-   /* don't bother changing any of this - it just reads this in and sets */
-   /* the struct values and makes copies */
- {
-   int i;
-   
-   l->num_formats = (sizeof(list_formats) / sizeof (char *));
-   l->formats = malloc(sizeof(char *) * l->num_formats);
-   for (i = 0; i < l->num_formats; i++)
-  l->formats[i] = strdup(list_formats[i]);
- }
-}
+void
+formats(ImlibLoader * l)
+{
+   static const char  *const list_formats[] = { "ico" };
+   int i;
 
+   l->num_formats = sizeof(list_formats) / sizeof(char *);
+   l->formats = malloc(sizeof(char *) * l->num_formats);
+
+   for (i = 0; i < l->num_formats; i++)
+  l->formats[i] = strdup(list_formats[i]);
+}
diff --git a/src/modules/loaders/loader_xcf.c b/src/modules/loaders/loader_xcf.c
index 12bd72b..e69a24b 100644
--- a/src/modules/loaders/loader_xcf.c
+++ b/src/modules/loaders/loader_xcf.c
@@ -1720,29 +1720,15 @@ load(ImlibImage *im, 

[EGIT] [legacy/imlib2] master 01/03: Make some more functions static.

2017-12-17 Thread Kim Woelders
kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2.git/commit/?id=1c413c1f358104d8a837009d7d0166a5fda2bb55

commit 1c413c1f358104d8a837009d7d0166a5fda2bb55
Author: Kim Woelders 
Date:   Sat Apr 16 21:30:20 2016 +0200

Make some more functions static.
---
 src/lib/grad.c | 4 ++--
 src/lib/grad.h | 2 --
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/lib/grad.c b/src/lib/grad.c
index bbcdac0..47d674c 100644
--- a/src/lib/grad.c
+++ b/src/lib/grad.c
@@ -71,7 +71,7 @@ __imlib_AddRangeColor(ImlibRange * rg, DATA8 r, DATA8 g, 
DATA8 b, DATA8 a,
   rg->color = rc;
 }
 
-DATA32 *
+static DATA32  *
 __imlib_MapRange(ImlibRange * rg, int len)
 {
ImlibRangeColor*p;
@@ -142,7 +142,7 @@ __imlib_MapRange(ImlibRange * rg, int len)
return map;
 }
 
-DATA32 *
+static DATA32  *
 __imlib_MapHsvaRange(ImlibRange * rg, int len)
 {
ImlibRangeColor*p;
diff --git a/src/lib/grad.h b/src/lib/grad.h
index 5d0aa0a..ac41b27 100644
--- a/src/lib/grad.h
+++ b/src/lib/grad.h
@@ -20,8 +20,6 @@ ImlibRange *__imlib_CreateRange(void);
 void__imlib_FreeRange(ImlibRange * rg);
 void__imlib_AddRangeColor(ImlibRange * rg, DATA8 r, DATA8 g,
   DATA8 b, DATA8 a, int dist);
-DATA32 *__imlib_MapRange(ImlibRange * rg, int len);
-DATA32 *__imlib_MapHsvaRange(ImlibRange * rg, int len);
 void__imlib_DrawGradient(ImlibImage * im,
  int x, int y, int w, int h,
  ImlibRange * rg, double angle,

-- 




[EGIT] [legacy/imlib2_loaders] master 01/03: Copy updated headers from imlib2

2017-12-17 Thread Kim Woelders
kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2_loaders.git/commit/?id=709a75e4abd1d69d16738ade570f9c8bc958b220

commit 709a75e4abd1d69d16738ade570f9c8bc958b220
Author: Kim Woelders 
Date:   Thu Dec 14 20:48:47 2017 +0100

Copy updated headers from imlib2
---
 src/modules/loaders/common.h|  24 +-
 src/modules/loaders/image.h | 332 ++--
 src/modules/loaders/loader_ani.c|   3 +-
 src/modules/loaders/loader_xcf_pixelfuncs.c |   2 -
 4 files changed, 191 insertions(+), 170 deletions(-)

diff --git a/src/modules/loaders/common.h b/src/modules/loaders/common.h
index 7a0a7b0..08916a1 100644
--- a/src/modules/loaders/common.h
+++ b/src/modules/loaders/common.h
@@ -1,15 +1,16 @@
 #ifndef __COMMON
 #define __COMMON 1
 
+#include "config.h"
+
 #include 
 #include 
-#ifdef __EMX__
-#include 
-#endif
 #include 
-#include 
+#include 
+#include 
+#include 
 #ifdef WITH_DMALLOC
-# include 
+#include 
 #endif
 
 #define DATABIG unsigned long long
@@ -19,9 +20,20 @@
 #define DATA8   unsigned char
 
 #ifdef DO_MMX_ASM
-int __imlib_get_cpuid(void);
+int __imlib_get_cpuid(void);
+
 #define CPUID_MMX (1 << 23)
 #define CPUID_XMM (1 << 25)
 #endif
 
+#define CLIP(x, y, w, h, xx, yy, ww, hh) \
+if (x < (xx)) {w += (x - (xx)); x = (xx);} \
+if (y < (yy)) {h += (y - (yy)); y = (yy);} \
+if ((x + w) > ((xx) + (ww))) {w = (ww) - (x - xx);} \
+if ((y + h) > ((yy) + (hh))) {h = (hh) - (y - yy);}
+#define MIN(a, b) (((a) < (b)) ? (a) : (b))
+#define MAX(a, b) (((a) > (b)) ? (a) : (b))
+
+#define round(x) ((x)>=0?(int)((x)+0.5):(int)((x)-0.5))
+
 #endif
diff --git a/src/modules/loaders/image.h b/src/modules/loaders/image.h
index ab34427..3078d38 100644
--- a/src/modules/loaders/image.h
+++ b/src/modules/loaders/image.h
@@ -1,180 +1,192 @@
 #ifndef __IMAGE
-# define __IMAGE 1
-
-typedef struct _imlibimage  ImlibImage;
-typedef struct _imlibimagepixmapImlibImagePixmap;
-typedef struct _imlibborder ImlibBorder;
-typedef struct _imlibloader ImlibLoader;
-typedef struct _imlibimagetag   ImlibImageTag;
-
-typedef int (*ImlibProgressFunction)(ImlibImage *im, char percent,
- int update_x, int update_y,
- int update_w, int update_h);
-typedef void (*ImlibDataDestructorFunction)(ImlibImage *im, void *data);
-
-enum _load_error
-{
-   LOAD_ERROR_NONE,
-   LOAD_ERROR_FILE_DOES_NOT_EXIST,
-   LOAD_ERROR_FILE_IS_DIRECTORY,
-   LOAD_ERROR_PERMISSION_DENIED_TO_READ,
-   LOAD_ERROR_NO_LOADER_FOR_FILE_FORMAT,
-   LOAD_ERROR_PATH_TOO_LONG,
-   LOAD_ERROR_PATH_COMPONENT_NON_EXISTANT,
-   LOAD_ERROR_PATH_COMPONENT_NOT_DIRECTORY,
-   LOAD_ERROR_PATH_POINTS_OUTSIDE_ADDRESS_SPACE,
-   LOAD_ERROR_TOO_MANY_SYMBOLIC_LINKS,
-   LOAD_ERROR_OUT_OF_MEMORY,
-   LOAD_ERROR_OUT_OF_FILE_DESCRIPTORS,
-   LOAD_ERROR_PERMISSION_DENIED_TO_WRITE,
-   LOAD_ERROR_OUT_OF_DISK_SPACE,   
-   LOAD_ERROR_UNKNOWN
-};
+#define __IMAGE 1
+
+#include "common.h"
+#ifdef BUILD_X11
+#include 
+#else
+#ifndef X_DISPLAY_MISSING
+#define X_DISPLAY_MISSING
+#endif
+#endif
+
+typedef struct _imlibimage ImlibImage;
 
-enum _iflags
-{
-   F_NONE  = 0,
-   F_HAS_ALPHA = (1 << 0),
-   F_UNLOADED  = (1 << 1),
-   F_UNCACHEABLE   = (1 << 2),
+#ifdef BUILD_X11
+typedef struct _imlibimagepixmap ImlibImagePixmap;
+#endif
+typedef struct _imlibborder ImlibBorder;
+typedef struct _imlibloader ImlibLoader;
+typedef struct _imlibimagetag ImlibImageTag;
+typedef enum _imlib_load_error ImlibLoadError;
+
+typedef int (*ImlibProgressFunction) (ImlibImage * im, char percent,
+  int update_x, int update_y,
+  int update_w, int update_h);
+typedef void(*ImlibDataDestructorFunction) (ImlibImage * im,
+void *data);
+
+enum _iflags {
+   F_NONE = 0,
+   F_HAS_ALPHA = (1 << 0),
+   F_UNLOADED = (1 << 1),
+   F_UNCACHEABLE = (1 << 2),
F_ALWAYS_CHECK_DISK = (1 << 3),
-   F_INVALID   = (1 << 4),
-   F_DONT_FREE_DATA= (1 << 5),
+   F_INVALID = (1 << 4),
+   F_DONT_FREE_DATA = (1 << 5),
F_FORMAT_IRRELEVANT = (1 << 6),
F_BORDER_IRRELEVANT = (1 << 7),
-   F_ALPHA_IRRELEVANT  = (1 << 8)
+   F_ALPHA_IRRELEVANT = (1 << 8)
 };
 
-typedef enum   _iflags  ImlibImageFlags;
-typedef enum   _load_error  ImlibLoadError;
+typedef enum _iflags ImlibImageFlags;
 
-struct _imlibborder
-{
-   int left, right, top, bottom;
+struct _imlibborder {
+   int left, right, top, bottom;
 };
 
-struct _imlibimagetag
-{
-   char   *key;
-   int val;
-   void   *data;
-   void  (*destructor)(ImlibImage *im, void *data);
-   ImlibImageTag  *next;
+struct _imlibimagetag {
+   char   *key;
+   int va

[EGIT] [legacy/imlib2] master 02/03: Introduce __imlib_LoadImageData()

2017-12-17 Thread Kim Woelders
kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2.git/commit/?id=a3e8395435d5fc4c707686f6e4c974c4a749bef9

commit a3e8395435d5fc4c707686f6e4c974c4a749bef9
Author: Kim Woelders 
Date:   Thu Dec 14 19:16:58 2017 +0100

Introduce __imlib_LoadImageData()
---
 src/lib/api.c| 244 ++-
 src/lib/blend.c  |   8 +-
 src/lib/image.c  |   9 ++
 src/lib/image.h  |   1 +
 src/lib/rotate.c |   8 +-
 5 files changed, 74 insertions(+), 196 deletions(-)

diff --git a/src/lib/api.c b/src/lib/api.c
index 9eb1b63..5e7a121 100644
--- a/src/lib/api.c
+++ b/src/lib/api.c
@@ -1416,9 +1416,7 @@ imlib_image_get_data(void)
CHECK_PARAM_POINTER_RETURN("imlib_image_get_data", "image", ctx->image,
   NULL);
CAST_IMAGE(im, ctx->image);
-   if ((!(im->data)) && (im->loader) && (im->loader->load))
-  im->loader->load(im, NULL, 0, 1);
-   if (!im->data)
+   if (__imlib_LoadImageData(im))
   return NULL;
__imlib_DirtyImage(im);
return im->data;
@@ -1441,9 +1439,7 @@ imlib_image_get_data_for_reading_only(void)
CHECK_PARAM_POINTER_RETURN("imlib_image_get_data_for_reading_only",
   "image", ctx->image, NULL);
CAST_IMAGE(im, ctx->image);
-   if ((!(im->data)) && (im->loader) && (im->loader->load))
-  im->loader->load(im, NULL, 0, 1);
-   if (!im->data)
+   if (__imlib_LoadImageData(im))
   return NULL;
return im->data;
 }
@@ -1727,9 +1723,7 @@ imlib_render_pixmaps_for_whole_image(Pixmap * 
pixmap_return,
CHECK_PARAM_POINTER("imlib_render_pixmaps_for_whole_image",
"pixmap_return", pixmap_return);
CAST_IMAGE(im, ctx->image);
-   if ((!(im->data)) && (im->loader) && (im->loader->load))
-  im->loader->load(im, NULL, 0, 1);
-   if (!(im->data))
+   if (__imlib_LoadImageData(im))
   return;
__imlib_CreatePixmapsForImage(ctx->display, ctx->drawable, ctx->visual,
  ctx->depth, ctx->colormap, im, pixmap_return,
@@ -1764,10 +1758,7 @@ imlib_render_pixmaps_for_whole_image_at_size(Pixmap * 
pixmap_return,
CHECK_PARAM_POINTER("imlib_render_pixmaps_for_whole_image_at_size",
"pixmap_return", pixmap_return);
CAST_IMAGE(im, ctx->image);
-   if ((!(im->data)) && (im->loader) && (im->loader->load))
-  im->loader->load(im, NULL, 0, 1);
-
-   if (!(im->data))
+   if (__imlib_LoadImageData(im))
   return;
__imlib_CreatePixmapsForImage(ctx->display, ctx->drawable, ctx->visual,
  ctx->depth, ctx->colormap, im, pixmap_return,
@@ -1806,9 +1797,7 @@ imlib_render_image_on_drawable(int x, int y)
CHECK_CONTEXT(ctx);
CHECK_PARAM_POINTER("imlib_render_image_on_drawable", "image", ctx->image);
CAST_IMAGE(im, ctx->image);
-   if ((!(im->data)) && (im->loader) && (im->loader->load))
-  im->loader->load(im, NULL, 0, 1);
-   if (!(im->data))
+   if (__imlib_LoadImageData(im))
   return;
__imlib_RenderImage(ctx->display, im, ctx->drawable, ctx->mask,
ctx->visual, ctx->colormap, ctx->depth, 0, 0, im->w,
@@ -1836,9 +1825,7 @@ imlib_render_image_on_drawable_at_size(int x, int y, int 
width, int height)
CHECK_PARAM_POINTER("imlib_render_image_on_drawable_at_size", "image",
ctx->image);
CAST_IMAGE(im, ctx->image);
-   if ((!(im->data)) && (im->loader) && (im->loader->load))
-  im->loader->load(im, NULL, 0, 1);
-   if (!(im->data))
+   if (__imlib_LoadImageData(im))
   return;
__imlib_RenderImage(ctx->display, im, ctx->drawable, ctx->mask,
ctx->visual, ctx->colormap, ctx->depth, 0, 0, im->w,
@@ -1875,9 +1862,7 @@ imlib_render_image_part_on_drawable_at_size(int source_x, 
int source_y,
CHECK_PARAM_POINTER("imlib_render_image_part_on_drawable_at_size", "image",
ctx->image);
CAST_IMAGE(im, ctx->image);
-   if ((!(im->data)) && (im->loader) && (im->loader->load))
-  im->loader->load(im, NULL, 0, 1);
-   if (!(im->data))
+   if (__imlib_LoadImageData(im))
   return;
__imlib_RenderImage(ctx->display, im, ctx->drawable, 0, ctx->visual,
ctx->colormap, ctx->depth, source_x, source_y,
@@ -1936,13 +1921,9 @@ imlib_blend_image_onto_image(Imlib_Image source_image, 
char merge_alpha,
CHECK_PARAM_POINTER("imlib_blend_image_onto_image", "image", ctx->image);
CAST_IMAGE(im_src, source_image);
CAST_IMAGE(im_dst, ctx->image);
-   if ((!(im_src->data)) && (im_src->loader) && (im_src->loader->load))
-  im_src->loader->load(im_src, NULL, 0, 1);
-   if (!(im_src->data))
+   if (__imlib_LoadImageData(im_src))
   return;
-   if ((!(im_dst->data)) && (im_dst->loader) && (im_dst->loader->load))
-  im_dst->loader->load(im_dst, NULL, 0, 1);
-   if (!(im_dst->data))
+   if (__imlib_LoadImageData(im_dst))
   return;
__imlib_DirtyImage(im_dst);
/* FIXME: hack to get ar

[EGIT] [legacy/imlib2] master 03/03: Remove redundant CAST_IMAGE()

2017-12-17 Thread Kim Woelders
kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2.git/commit/?id=854fca339565a7e07031610d98866218496f22d1

commit 854fca339565a7e07031610d98866218496f22d1
Author: Kim Woelders 
Date:   Fri Dec 15 18:40:20 2017 +0100

Remove redundant CAST_IMAGE()
---
 src/lib/api.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/lib/api.c b/src/lib/api.c
index 5e7a121..49b865d 100644
--- a/src/lib/api.c
+++ b/src/lib/api.c
@@ -4870,7 +4870,6 @@ imlib_render_image_on_drawable_skewed(int source_x, int 
source_y,
CAST_IMAGE(im, ctx->image);
if (__imlib_LoadImageData(im))
   return;
-   CAST_IMAGE(im, ctx->image);
__imlib_RenderImageSkewed(ctx->display, im, ctx->drawable, ctx->mask,
  ctx->visual, ctx->colormap, ctx->depth, source_x,
  source_y, source_width, source_height,
@@ -4909,7 +4908,6 @@ imlib_render_image_on_drawable_at_angle(int source_x, int 
source_y,
CAST_IMAGE(im, ctx->image);
if (__imlib_LoadImageData(im))
   return;
-   CAST_IMAGE(im, ctx->image);
__imlib_RenderImageSkewed(ctx->display, im, ctx->drawable, ctx->mask,
  ctx->visual, ctx->colormap, ctx->depth, source_x,
  source_y, source_width, source_height,

-- 




[EGIT] [legacy/imlib2_loaders] master 02/03: Fix some warnings

2017-12-17 Thread Kim Woelders
kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2_loaders.git/commit/?id=da1b7f5ab2904fe7cd051f168ef51e09aaa924cc

commit da1b7f5ab2904fe7cd051f168ef51e09aaa924cc
Author: Kim Woelders 
Date:   Tue Feb 14 19:08:55 2017 +0100

Fix some warnings
---
 src/modules/loaders/loader_ani.c |  2 +-
 src/modules/loaders/loader_ico.c |  3 +--
 src/modules/loaders/loader_xcf.c | 12 
 3 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/src/modules/loaders/loader_ani.c b/src/modules/loaders/loader_ani.c
index ea4e69f..a465826 100644
--- a/src/modules/loaders/loader_ani.c
+++ b/src/modules/loaders/loader_ani.c
@@ -66,7 +66,7 @@ typedef struct _MsChunk
   struct _MsChunk *next;
   DATA32   chunk_id;
   DATA32   chunk_size;  /* Size of this chunk, starting from */
-  char data;/* the following byte. Thus chunk_size = full size 
- 8 */
+  DATA8data;/* the following byte. Thus chunk_size = full size 
- 8 */
 } MsChunk;
 
 typedef struct _MsAni
diff --git a/src/modules/loaders/loader_ico.c b/src/modules/loaders/loader_ico.c
index 3fafce9..67096f5 100644
--- a/src/modules/loaders/loader_ico.c
+++ b/src/modules/loaders/loader_ico.c
@@ -589,9 +589,8 @@ load(ImlibImage *im, ImlibProgressFunction progress, char 
progress_granularity,
   
   if (im->data)
 free(im->data);
-  return 0;
 
-  progress_granularity = 0;
+  return 0;
 }
 
 /* fills the ImlibLoader struct with a strign array of format file */
diff --git a/src/modules/loaders/loader_xcf.c b/src/modules/loaders/loader_xcf.c
index 1653920..12bd72b 100644
--- a/src/modules/loaders/loader_xcf.c
+++ b/src/modules/loaders/loader_xcf.c
@@ -256,7 +256,7 @@ struct _GimpImage
   DATA32  floating_sel_offset;
 
   DATA8*  cmap;/*  colormap--for indexed*/
-  int num_cols;/*  number of colors in map  */
+  DATA32  num_cols;/*  number of colors in map  */
 
  /* If a layer number was passed to the loader, it goes here: */
   int single_layer_index;
@@ -464,7 +464,7 @@ xcf_load_image_props (void)
  {
if (image->file_version == 0) 
  {
-   int i;
+   unsigned int i;
fprintf (stderr,
 "XCF warning: version 0 of XCF file format\n"
 "did not save indexed colormaps correctly.\n"
@@ -491,9 +491,9 @@ xcf_load_image_props (void)
 
case PROP_COMPRESSION:
  {
-   char compression;
+   DATA8 compression;
 
-   image->cp += xcf_read_int8 (image->fp, (char*) &compression, 1);
+   image->cp += xcf_read_int8 (image->fp, &compression, 1);
 
if ((compression != COMPRESS_NONE) &&
(compression != COMPRESS_RLE) &&
@@ -1718,10 +1718,6 @@ load(ImlibImage *im, ImlibProgressFunction progress, 
char progress_granularity,
xcf_cleanup();
 
return 1;
-
-   /* shut up warnings: */
-   progress_granularity = 0;
-   immediate_load = 0;
 }
 
 /* fills the ImlibLoader struct with a strign array of format file */

-- 




[EGIT] [website/www-content] master 01/01: Wiki page ubuntu-start changed with summary [] by Philippe Jean Guillaumie

2017-12-17 Thread Philippe Jean Guillaumie
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=a4faaaebaeeea5c68f02f33c7d01fd0dbd52896a

commit a4faaaebaeeea5c68f02f33c7d01fd0dbd52896a
Author: Philippe Jean Guillaumie 
Date:   Sun Dec 17 00:14:59 2017 -0800

Wiki page ubuntu-start changed with summary [] by Philippe Jean Guillaumie
---
 pages/docs/distros/ubuntu-start.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/docs/distros/ubuntu-start.txt 
b/pages/docs/distros/ubuntu-start.txt
index b9181a6ca..5f0b91ddb 100644
--- a/pages/docs/distros/ubuntu-start.txt
+++ b/pages/docs/distros/ubuntu-start.txt
@@ -38,7 +38,7 @@ export PATH=$HOME/.local/bin:$PATH
 
 at the bottom of your ~/.bashrc file.
 
-Meson [[https://git.enlightenment.org/apps/rage.git/tree/INSTALL|quick help]].
+Meson 
[[https://git.enlightenment.org/core/enlightenment.git/tree/INSTALL|quick 
help]].
 
 Then go to [[/docs/distros/]] to learn how to install the whole thing ;-)
 

--