Compare commits

..

1 Commits

Author SHA1 Message Date
Marcel Hollerbach 49fab9d1df awesome debug code! Here fresh and clean! 5 years ago
  1. 4
      .arcconfig
  2. 43
      .gitignore
  3. 70
      .mailmap
  4. 3
      AUTHORS
  5. 106
      BUGS
  6. 122
      COPYING
  7. 2
      ChangeLog
  8. 370
      INSTALL
  9. 86
      Makefile.am
  10. 4245
      NEWS
  11. 32
      README
  12. 225
      README.md
  13. 98
      README.wayland
  14. 337
      TODO.md
  15. 17
      autogen.sh
  16. 26
      config/Makefile.mk
  17. 12
      config/default/Makefile.mk
  18. 55
      config/default/e.src
  19. 0
      config/default/e_bindings.src
  20. 0
      config/default/enlightenment-default.png
  21. 3
      config/default/profile.desktop
  22. 16
      config/mobile/Makefile.mk
  23. 774
      config/mobile/e.src
  24. 1001
      config/mobile/e_bindings.src
  25. BIN
      config/mobile/enlightenment-mobile.png
  26. 7
      config/mobile/module.battery.src
  27. 4
      config/mobile/module.conf.src
  28. 36
      config/mobile/profile.desktop
  29. 0
      config/profile.src
  30. 28
      config/standard/Makefile.mk
  31. 257
      config/standard/e.src
  32. 66
      config/standard/e_bindings.src
  33. BIN
      config/standard/enlightenment-standard.png
  34. 0
      config/standard/module.battery.src
  35. 0
      config/standard/module.conf.src
  36. 0
      config/standard/module.cpufreq.src
  37. 0
      config/standard/module.fileman.src
  38. 0
      config/standard/module.ibar.src
  39. 0
      config/standard/module.ibox.src
  40. 0
      config/standard/module.pager.src
  41. 0
      config/standard/module.temperature.src
  42. 1
      config/standard/profile.desktop
  43. 30
      config/tiling/Makefile.mk
  44. 242
      config/tiling/e.src
  45. 66
      config/tiling/e_bindings.src
  46. BIN
      config/tiling/enlightenment-tiling.png
  47. 0
      config/tiling/module.battery.src
  48. 0
      config/tiling/module.conf.src
  49. 0
      config/tiling/module.cpufreq.src
  50. 0
      config/tiling/module.fileman.src
  51. 0
      config/tiling/module.ibar.src
  52. 0
      config/tiling/module.ibox.src
  53. 0
      config/tiling/module.pager.src
  54. 0
      config/tiling/module.temperature.src
  55. 0
      config/tiling/module.tiling.src
  56. 39
      config/tiling/profile.desktop
  57. 1145
      configure.ac
  58. 3
      confs/freebsd.sh
  59. 3
      confs/linux-nowayland.sh
  60. 3
      confs/linux.sh
  61. 3
      confs/openbsd.sh
  62. 2
      data/.gitignore
  63. 11
      data/Makefile.mk
  64. BIN
      data/backgrounds/Bamboo.edj
  65. BIN
      data/backgrounds/Brown_Rock_Hi.edj
  66. BIN
      data/backgrounds/Colorful_Roses.edj
  67. BIN
      data/backgrounds/Curly_Leaves.edj
  68. BIN
      data/backgrounds/Dark_Gradient.edj
  69. BIN
      data/backgrounds/Darkconcrete.edj
  70. BIN
      data/backgrounds/Dunes.edj
  71. BIN
      data/backgrounds/Flat-Fan.edj
  72. BIN
      data/backgrounds/Flat-Stone-Pattern.edj
  73. BIN
      data/backgrounds/Flower_Petals.edj
  74. BIN
      data/backgrounds/Foggy-Trees.edj
  75. BIN
      data/backgrounds/Go_Away.edj
  76. BIN
      data/backgrounds/God-Rays.edj
  77. BIN
      data/backgrounds/Grassy.edj
  78. BIN
      data/backgrounds/Green-Maple.edj
  79. BIN
      data/backgrounds/Green_Stem.edj
  80. BIN
      data/backgrounds/Hills.edj
  81. BIN
      data/backgrounds/Japanesemaple.edj
  82. BIN
      data/backgrounds/Lakegrass.edj
  83. BIN
      data/backgrounds/Lantern_Cluster.edj
  84. BIN
      data/backgrounds/Leafy_Red.edj
  85. BIN
      data/backgrounds/Lichen-Branches.edj
  86. BIN
      data/backgrounds/Light.edj
  87. BIN
      data/backgrounds/Light_Gradient.edj
  88. 41
      data/backgrounds/Makefile.mk
  89. BIN
      data/backgrounds/Mossstring.edj
  90. BIN
      data/backgrounds/Motleyrock.edj
  91. BIN
      data/backgrounds/Mountain.edj
  92. BIN
      data/backgrounds/Newgrowth.edj
  93. BIN
      data/backgrounds/Orange_Roses.edj
  94. BIN
      data/backgrounds/Paper-Flower.edj
  95. BIN
      data/backgrounds/Pattern_Radial.edj
  96. BIN
      data/backgrounds/Pattern_Vertical.edj
  97. BIN
      data/backgrounds/Pattern_Vertical_Hi.edj
  98. BIN
      data/backgrounds/Peaks.edj
  99. BIN
      data/backgrounds/Pine_Silhouettes.edj
  100. BIN
      data/backgrounds/Purple_Flower_Bunch.edj
  101. Some files were not shown because too many files have changed in this diff Show More

@ -0,0 +1,4 @@
{
"project_id" : "enlightenment",
"conduit_uri" : "https://phab.enlightenment.org/"
}

43
.gitignore vendored

@ -7,6 +7,45 @@
# command after changing this file, to see if there are
# any tracked files which get ignored after the change.
#
Session.vim
/build
*.o
*.a
*.la
*.lo
Makefile
Makefile.in
.deps
.libs
*.gmo
*~
*.cfg
*.dirstamp
default.edj
/ABOUT-NLS
/aclocal.m4
/autom4te.cache/
/compile
/config.cache
/config.cache-env
/config.guess
/config.h
/config.h.in
/config.log
/config.rpath
/config.status
/config.sub
/configure
/depcomp
/enlightenment.pc
/enlightenment.spec
/install-sh
/libtool
/ltmain.sh
/missing
/mkinstalldirs
/stamp-h1
/data/units/enlightenment.service
*.eo.c
*.eo.h
Session.vim
#Ignore all autogenerated wayland protocol
*-protocol.[ch]

@ -16,12 +16,11 @@ Cedric BAIL <cedric.bail@free.fr> Cedric BAIL <cedric@osg.samsung.com>
Vincent Torri <vincent.torri@gmail.com> Vincent Torri <vtorri@univ-evry.fr>
Vincent Torri <vincent.torri@gmail.com> Vincent Torri <vincent dot torri at gmail dot com>
Vincent Torri <vincent.torri@gmail.com> Vincent Torri <vincent.torri@univ-evry.fr>
Vincent Torri <vincent.torri@gmail.com> Vincent 'vtorri' Torri <vincent.torri@gmail.com>
Tom Hacohen <tom@stosb.com> Tom 'TAsn' Hacohen <tom@stosb.com>
Tom Hacohen <tom@stosb.com> Tom <tom@stosb.com>
Gustavo Sverzut Barbieri <barbieri@gmail.com> Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
Gustavo Sverzut Barbieri <barbieri@gmail.com> Gustavo Sverzut Barbieri <gustavo.barbieri@intel.com>
Christopher Michael <devilhorns@comcast.net> Christopher Michael <cpmichael@comcast.net>
Christopher Michael <devilhorns@comcast.net> Christopher Michael <cp.michael@samsung.com>
Christopher Michael <devilhorns@comcast.net> Christopher Michael <cpmichael1@comcast.net>
Christopher Michael <devilhorns@comcast.net> Chris Michael <devilhorns@comcast.net>
Christopher Michael <devilhorns@comcast.net> Christopher Michael <devilhorns@comcast.net>
@ -29,8 +28,6 @@ Christopher Michael <devilhorns@comcast.net> Christopher <devilhorns@comcast.net
Christopher Michael <devilhorns@comcast.net> Chris Michael <cp.michael@samsung.com>
Christopher Michael <devilhorns@comcast.net> Christopher Michael <cpmichael@osg.samsung.com>
Christopher Michael <devilhorns@comcast.net> Chris Michael <cpmichael@osg.samsung.com>
Christopher Michael <devilhorns@comcast.net> Chris Micheal <cp.michael@samsung.com>
Christopher Michael <devilhorns@comcast.net> Christopher Michael <cp.michael@samsung.com>
Sebastian Dransfeld <sd@tango.flipp.net> Sebastian Dransfeld <sebastian.dransfeld@sintef.no>
Sebastian Dransfeld <sd@tango.flipp.net> sebastid <sebastid>
Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Mike Blumenkrantz <m.blumenkran@samsung.com>
@ -38,21 +35,13 @@ Mike Blumenkrantz <michael.blumenkrantz@gmail.com> discomfitor <michael.blumenkr
Mike Blumenkrantz <michael.blumenkrantz@gmail.com> zmike <michael.blumenkrantz@gmail.com>
Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Mike Blumenkrantz <zmike@samsung.com>
Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Mike Blumenkrantz <zmike@osg.samsung.com>
Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Michael Blumenkrantz <mike@zentific.com>
Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Mike Blumenkrantz <zmike@enlightenment.org>
ChunEon Park <hermet@hermet.pe.kr> ChunEon Park <chuneon.park@samsung.com>
ChunEon Park <hermet@hermet.pe.kr> Hermet Park <hermet@hermet.pe.kr>
ChunEon Park <hermet@hermet.pe.kr> Hermet Park <hermetpark@gmail.com>
ChunEon Park <hermet@hermet.pe.kr> hermet <hermet@neoni.(none)>
ChunEon Park <hermet@hermet.pe.kr> Hermet <hermet@hermet.pe.kr>
ChunEon Park <hermet@hermet.pe.kr> chuneon.park <chuneon.park@samsung.com>
David Walter Seikel <onefang@gmail.com> David Walter Seikel <won_fang@yahoo.com.au>
Rafael Antognolli <antognolli@gmail.com> Rafael Antognolli <rafael.antognolli@intel.com>
Rafael Antognolli <antognolli@gmail.com> Rafael Antognolli <rafael.antognolli@linux.intel.com>
Iván Briano <sachieru@gmail.com> Ivan Briano <ivan.briano@intel.com>
Iván Briano <sachieru@gmail.com> Ivan Briano <sachieru@gmail.com>
Iván Briano <sachieru@gmail.com> Iván Briano <ivan.briano@intel.com>
Iván Briano <sachieru@gmail.com> Ivan Briano <ivan@profusion.mobi>
Lucas De Marchi <lucas.demarchi@profusion.mobi> Lucas De Marchi <lucas.de.marchi@gmail.com>
Lucas De Marchi <lucas.demarchi@profusion.mobi> Lucas De Marchi <lucas.demarchi@intel.com>
Jihoon Kim <imfine98@gmail.com> Jihoon Kim <jihoon48.kim@samsung.com>
@ -71,29 +60,21 @@ Mike McCormack <mike@atratus.org> Mike McCormack <mj.mccormack@samsung.com>
Mike McCormack <mike@atratus.org> Mike McCormack <mikem@ring3k.org>
Mike McCormack <mike@atratus.org> Mike McCormack <mikem@atratus.org>
Boris Faure <billiob@gmail.com> Boris 'billiob' Faure <billiob@gmail.com>
Boris Faure <billiob@gmail.com> Boris Faure <boris@fau.re>
Eduardo Lima <eduardo.lima@intel.com> Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
Panagiotis Galatsanos <galatsanosp@gmail.com> Godfath3r <galatsanosp@gmail.com>
Samuel F. Baggen <thanatermesis@gmail.com> Thanatermesis <thanatermesis@gmail.com>
Samuel F. Baggen <thanatermesis@gmail.com> Samuel F. Baggen <thanatermesis.elive@gmail.com>
Samuel F. Baggen <thanatermesis@gmail.com> Thanatermesis <thanatermesis.ecvs@gmail.com>
Jean Guyomarc'h <jeanguyomarch.github@gmail.com> Jean Guyomarc'h <jean.guyomarch@gmail.com>
Jean Guyomarc'h <jeanguyomarch.github@gmail.com> Jean GUYOMARC'H <jean.guyomarch@gmail.com>
Jean Guyomarc'h <jeanguyomarch.github@gmail.com> Jean Guyomarc'h <jean.guyomarch@openwide.fr>
Jean Guyomarc'h <jeanguyomarch.github@gmail.com> Jean Guyomarc'h <jean@guyomarch.bzh>
Marcel Hollerbach <mail@marcel-hollerbach.de> Marcel Hollerbach <marcel.hollerbach@stzedn.de>
Marcel Hollerbach <mail@marcel-hollerbach.de> Marcel Hollerbach <marcel-hollerbach@t-online.de>
Marcel Hollerbach <mail@marcel-hollerbach.de> Marcel Hollerbach <marcel@osg.samsung.com>
Jean Guyomarc'h <jean.guyomarch@gmail.com> Jean GUYOMARC'H <jean.guyomarch@gmail.com>
Marcel Hollerbach <marcel-hollerbach@t-online.de> Marcel Hollerbach <marcel.hollerbach@stzedn.de>
Jean-Philippe ANDRÉ <jpeg@videolan.org> Jean-Philippe Andre <jp.andre@samsung.com>
Jean-Philippe ANDRÉ <jpeg@videolan.org> Jean-Philippe ANDRE <jpeg@videolan.org>
Jean-Philippe ANDRÉ <jpeg@videolan.org> Jean-Philippe Andre <jpeg@videolan.org>
Jean-Philippe ANDRÉ <jpeg@videolan.org> Jean-Philippe André <jpeg@videolan.org>
Amitesh Singh <amitesh.sh@samsung.com> Amitesh Singh <amitesh.sh@samsung.com>
Amitesh Singh <amitesh.sh@samsung.com> ami <singh.amitesh@gmail.com>
Amitesh Singh <amitesh.sh@samsung.com> Amitesh Singh <singh.amitesh@gmail.com>
Tae-Hwan Kim <the81.kim@samsung.com> bluezery <ohpowel@gmail.com>
Tae-Hwan Kim <the81.kim@samsung.com> Bluezery <ohpowel@gmail.com>
Tae-Hwan Kim <the81.kim@samsung.com> bluezery <the81.kim@samsung.com>
Daniel Kolesa <daniel@octaforge.org> q66 <quaker66@gmail.com>
Daniel Kolesa <daniel@octaforge.org> q66 <d.kolesa@samsung.com>
Daniel Kolesa <daniel@octaforge.org> q66 <d.kolesa@osg.samsung.com>
@ -110,52 +91,7 @@ Daniel Zaoui <daniel.zaoui@samsung.com> Daniel Zaoui <daniel.zaoui@yahoo.com>
Daniel Zaoui <daniel.zaoui@samsung.com> daniel.zaoui@samsung.com <daniel.zaoui@samsung.com>
Jérémy Anger <angerj.dev@gmail.com> kidanger <angerj.dev@gmail.com>
Andy Williams <andy@andywilliams.me> handyande <handyande>
Andy Williams <andy@andywilliams.me> Andy Williams <andy@andywillias.me>
Davide Andreoli <dave@gurumeditation.it> Dave Andreoli <dave@gurumeditation.it>
Davide Andreoli <dave@gurumeditation.it> davemds <dave@gurumeditation.it>
Simon Lees <simon@simotek.net> Simon <simon@simotek.net>
Simon Lees <simon@simotek.net> Simon Lees (SUSE) <sflees@suse.de>
Subhransu Mohanty <sub.mohanty@samsung.com> SubhransuSekhar Mohanty <sub.mohanty@samsung.com>
Subhransu Mohanty <sub.mohanty@samsung.com> Subhransu Sekhar Mohanty <sub.mohanty@samsung.com>
Subhransu Mohanty <sub.mohanty@samsung.com> SubhransuSekhar Mohanty <sub.mohanty@samsung.com>
Subhransu Mohanty <sub.mohanty@samsung.com> sub.mohanty@samsung.com <sub.mohanty@samsung.com>
Subhransu Mohanty <sub.mohanty@samsung.com> subhransu <subhransu@subhransu-System.(none)>
Subhransu Mohanty <sub.mohanty@samsung.com> subhransu mohanty <sub.mohanty@samsung.com>
Thiep Ha <thiepha@gmail.com> Thiep Ha <thiep.ha@samsung.com>
Thiep Ha <thiepha@gmail.com> Thiep Ha <thiep.ha@gmail.com>
Thiep Ha <thiepha@gmail.com> thiepha (Thiep Ha) <thiepha@gmail.com>
Derek Foreman <derekf@osg.samsung.com> Derek Foreman <derek.foreman.samsung@gmail.com>
Daniel Hirt <hirt.danny@gmail.com> Daniel Hirt <daniel.hirt@samsung.com>
Jiyoun Park <jijibe99@gmail.com> Ji-Youn Park <jy0703.park@samsung.com>
Jiyoun Park <jijibe99@gmail.com> Jiyoun Park <jy0703.park@samsung.com>
Bruno da Silva Belo <brunodasilvabelo@gmail.com> Bruno da Silva Belo <bruno.belo@expertisesolutions.com.br>
Rafael Fonseca <rfonseca@profusion.mobi> Rafael Fonseca <r4f4rfs@gmail.com>
Lauro Moura <lauromoura@expertisesolutions.com.br> Lauro Moura <lauromoura@gmail.com>
Jaehyun Cho <jae_hyun.cho@samsung.com> Jaehyun Cho <jae_hyun_cho@naver.com>
Jérémy Zurcher <jeremy@asynk.ch> Jeremy Zurcher <jeremy@asynk.ch>
Youngbok Shin <youngb.shin@samsung.com> Youngbok Shin <youngb.shin@samsung.net>
Stephen 'Okra' Houston <smhouston88@gmail.com> Stephen okra Houston <smhouston88@gmail.com>
Stephen 'Okra' Houston <smhouston88@gmail.com> Stephen Houston <smhouston88@gmail.com>
Stephen 'Okra' Houston <smhouston88@gmail.com> Stephen Houston <stephen@localhost.localdomain>
Stephen 'Okra' Houston <smhouston88@gmail.com> Stephen Houston <stephen@lenovo.fedora>
Stephen 'Okra' Houston <smhouston88@gmail.com> Stephen Houston <stephen@stephen.laptop>
WooHyun Jung <wh0705.jung@samsung.com> WooHyun Jung <woohyun0705@gmail.com>
Jaeun Choi <jaeun12.choi@samsung.com> Jaeun Choi <jaeun_choi@naver.com>
Michael BOUCHAUD <michael.bouchaud@gmail.com> Michael Bouchaud (yoz) <yoz@efl.so>
Michael BOUCHAUD <michael.bouchaud@gmail.com> Michael Bouchaud <yoz@efl.so>
Michael BOUCHAUD <michael.bouchaud@gmail.com> michael bouchaud <michael.bouchaud@gmail.com>
Michael Jennings <mej@kainx.org> Michael Jennings <mej@lbl.gov>
Taehyub Kim <taehyub.kim@samsung.com> taehyub <taehyub.kim@samsung.com>
Yury Usishchev <y.usishchev@samsung.com> Yury Usischev <y.usishchev@samsung.com>
Lukasz Stanislawski <l.stanislaws@samsung.com> Lukasz Stanislawski <l.stanislaws@AMDC2785.digital.local>
Lukasz Stanislawski <l.stanislaws@samsung.com> Lukasz Stanislawski <lukasz.stanislawski@gmail.com>
Ryuan Choi <ryuan.choi@gmail.com> Ryuan Choi <ryuan.choi@samsung.com>
Bryce Harrington <bryce@osg.samsung.com> Bryce Harrington <bryce@bryceharrington.org>
Jonathan Atton <jonathan.atton@gmail.com> Atton Jonathan <jonathan.atton@gmail.com>
Yeongjong Lee <yj34.lee@samsung.com> YeongJong Lee <yj34.lee@samsung.com>
Jaehwan Kim <jae.hwan.kim@samsung.com> Jaehwan Kim <jae.hwan.kim.neo@gmail.com>
Jaehwan Kim <jae.hwan.kim@samsung.com> Jae Hwan Kim <jae.hwan.kim@samsung.com>
Jaehwan Kim <jae.hwan.kim@samsung.com> 김재환 <jae.hwan.kim@samsung.com>
Jee-Yong Um <jc9.um@samsung.com> Jeeyong Um <jc9.um@samsung.com>
Savio Sena <savio@expertisesolutions.com.br> Savio S. Machado <savio.sena@acm.org>
Savio Sena <savio@expertisesolutions.com.br> Savio Sena <savio.sena@acm.org>

@ -60,5 +60,4 @@ Luis de Bethencourt (luisbg) <luis@debethencourt.com>
bu5hm4n (Marcel Hollerbach) <marcel-hollerbach@t-online.de>
simotek (Simon Lees) <simon@simotek.net>
Derek Foreman <derekf@osg.samsung.com>
netstar (Alastair Poole) <netstar@gmail.com>
jf_simon (Simon Tischer) <simon@t-tischer.de>
netstar (Al Poole) <netstar@gmail.com>

106
BUGS

@ -0,0 +1,106 @@
From: Kim Woelders <kim@woelders.dk>
To: enlightenment-devel@lists.sourceforge.net
Subject: Re: [E-devel] Re: bugs with iconification/deiconification in e17.
Date: Fri, 02 Dec 2005 19:14:46 +0100
Sender: enlightenment-devel-admin@lists.sourceforge.net
Carsten Haitzler (The Rasterman) wrote:
> On Fri, 02 Dec 2005 09:19:20 +0200 <vkojouharov@gmail.com>
> babbled:
>
>
>>On Thu, 2005-12-01 at 18:26 +0100, Kim Woelders wrote:
>>
>>>Carsten Haitzler (The Rasterman) wrote:
>>>
>>>>On Wed, 30 Nov 2005 19:44:37 +0200
>>>><vkojouharov@gmail.com> babbled:
>>>
>>>...
>>>
>>>>>The other app is with deiconifying a window. Some programs (actually,
>>>>>only alltray comes to mind right now) use xlib to do the whole
>>>>>iconification thing. For the alltray instance, it seems to use
>>>>>XSetWMHints, set the state to NormalState, and basically that's it. And
>>>>>it seems to work for a lot of window managers too, so that must be a
>>>>>proper way to do it. But that doesn't work for e17, and the window stays
>>>>>iconified.
>>>>
>>>>
>>>>e waits for a map request. it doesn't respond to a change in hints for a
>>>>map. we can make it do so though :) i will write these down in the TODO.
>>>>
>>>
>>>I don't think a client can deiconify by changing a hint. e16 doesn't but
>>>does work with alltray. The normal way is to map the client window. In
>>>some cases clients send a _NET_ACTIVE_WINDOW message, but IIRC always to
>>>deiconify some other client as in tasklist and pager type
>>
>>I'm just curious here, what does alltray use to deiconify a window? cuz
>>that's the only relevant thing I could find in the code
>
>
> it prbably SHOULD use XMapWindow() or XMapRaised()
>
After having taken a peek at what is does in e16.8 on "alltray xterm",
the short version is that it uses XMapWindow() to map the client (which
actually is an alltray window containing the reparented real client)
first time. After that, when having been iconified, it sends a
_NET_ACTIVE_WINDOW client message to deiconify.
/Kim
dj2 raster, heres an interesting bug for you
dj2 i have twinview setup on my box
dj2 i can move the mouse between the 2 heads and e17 sees tehm as 2 heads
dj2 (2 pages etc)
dj2 if i try to drag a window between the 2 heads (say from left to right)
the mouse will lmove as expected
dj2 but when the window hits the right edge of the left monitor it will
appear again off the left edge of the left monitor
dj2 tho the mouse is now on the right monitor
raster xdpyinfo
raster see how many screens u have
raster screen #0:...
raster is there a screen #1 ?
dj2 number of screens: 2
dj2 yea screen #0 and screen #1
NB: in multihead if the mouse exits a screen during move or resize - either
disallow it (warp back to previous position ) or limit resize/move
From: Daniel Kasak <dkasak@nusconsulting.com.au>
To: enlightenment-devel@lists.sourceforge.net
Subject: [E-devel] Crasher ... switch to an app that's closing
Date: Mon, 20 Mar 2006 11:07:12 +1100
Sender: enlightenment-devel-admin@lists.sourceforge.net
Hi all.
I have a sort-of reproducible bug.
If you try to switch to an app which is in the process of shutting down,
and you do it at *just* the right moment, Enlightenment-0.17 will crash.
I've done this only about 3 times over probably more than a year of usage.
This particular time, I hit the 'close' button on a vmware-player
window. When this app gets the close signal, it actually minimises
itself, and then proceeds to shutdown ( which includes saving the
current VM state, which takes a while, hence the minimising first ).
After hitting close, I went to switch to another app by middle-clicking
on the desktop, but I missed the other app, and hit vmware-player
accidentally. Then everything came down in a heap :)
Sorry I don't have any debugging info.

@ -1,6 +1,6 @@
Copyright notice for Enlightenment:
Copyright (C) 2000-2020 Carsten Haitzler and various contributors (see AUTHORS)
Copyright (C) 2000-2012 Carsten Haitzler and various contributors (see AUTHORS)
All rights reserved.
@ -9,11 +9,11 @@ modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
@ -23,119 +23,3 @@ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
With the following exceptions:
These ttf files (All SIL/OFL license):
src/modules/shot/data/IndieFlower.ttf:
https://fontlibrary.org/en/font/indie-flower
Copyright (c) 2010, Kimberly Geswein (kimberlygeswein.com)
src/modules/shot/data/Puk-Regular.ttf
https://fontlibrary.org/en/font/puk
Copyright (c) 2018, Robert Martinez (mail@mray.de)
src/modules/shot/data/Yantiq.ttf
https://fontlibrary.org/en/font/yantiq
Copyright (c) 2016, Aydi Rainkarnichi (https://github.com/rainkarnichi)
src/modules/shot/data/intuitive.ttf
https://fontlibrary.org/en/font/intuitive
Copyright (x) 2011, Bruno de Souza Le (kylesatori@gmail.com)
This ttf is GPL-FE (GPL Font Exception):
data/fonts/Topaz_a500_v1.0.ttf
data/fonts/README.txt
https://github.com/rewtnull/amigafonts
https://www.gnu.org/licenses/gpl-faq.html#FontException
SIL/OFL:
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

@ -1,5 +1,3 @@
Please see NEWS file from now on, not Changelog
2013-12-21
* 0.18.0 release

@ -0,0 +1,370 @@
Installation Instructions
*************************
Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without warranty of any kind.
Basic Installation
==================
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package. Some packages provide this
`INSTALL' file but do not implement all of the features documented
below. The lack of an optional feature in a given package is not
necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. Caching is
disabled by default to prevent problems with accidental use of stale
cache files.
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You need `configure.ac' if
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
Running `configure' might take a while. While running, it prints
some messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package, generally using the just-built uninstalled binaries.
4. Type `make install' to install the programs and any data files and
documentation. When installing into a prefix owned by root, it is
recommended that the package be configured and built as a regular
user, and only the `make install' phase executed with root
privileges.
5. Optionally, type `make installcheck' to repeat any self-tests, but
this time using the binaries in their final installed location.
This target does not install anything. Running this target as a
regular user, particularly if the prior `make install' required
root privileges, verifies that the installation completed
correctly.
6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
7. Often, you can also type `make uninstall' to remove the installed
files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the
GNU Coding Standards.
8. Some packages, particularly those that use Automake, provide `make
distcheck', which can by used by developers to test that all other
targets like `make install' and `make uninstall' work correctly.
This target is generally not run by end users.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. Run `./configure --help'
for details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
is an example:
./configure CC=c99 CFLAGS=-g LIBS=-lposix
*Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'. This
is known as a "VPATH" build.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
installed the package for one architecture, use `make distclean' before
reconfiguring for another architecture.
On MacOS X 10.5 and later systems, you can create libraries and
executables that work on multiple system types--known as "fat" or
"universal" binaries--by specifying multiple `-arch' options to the
compiler but only a single `-arch' option to the preprocessor. Like
this:
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CPP="gcc -E" CXXCPP="g++ -E"
This is not guaranteed to produce working output in all cases, you
may have to build one architecture at a time and combine the results
using the `lipo' tool if you have problems.
Installation Names
==================
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX', where PREFIX must be an
absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them. In general, the
default for these options is expressed in terms of `${prefix}', so that
specifying just `--prefix' will affect all of the other directory
specifications that were not explicitly provided.
The most portable way to affect installation locations is to pass the
correct locations to `configure'; however, many packages provide one or
both of the following shortcuts of passing variable assignments to the
`make install' command line to change installation locations without
having to reconfigure or recompile.
The first method involves providing an override variable for each
affected directory. For example, `make install
prefix=/alternate/directory' will choose an alternate location for all
directory configuration variables that were expressed in terms of
`${prefix}'. Any directories that were specified during `configure',
but not in terms of `${prefix}', must each be overridden at install
time for the entire installation to be relocated. The approach of
makefile variable overrides for each directory variable is required by
the GNU Coding Standards, and ideally causes no recompilation.
However, some platforms have known limitations with the semantics of
shared libraries that end up requiring recompilation when using this
method, particularly noticeable in packages that use GNU Libtool.
The second method involves providing the `DESTDIR' variable. For
example, `make install DESTDIR=/alternate/directory' will prepend
`/alternate/directory' before all installation names. The approach of
`DESTDIR' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters. On the other hand,
it does better at avoiding recompilation issues, and works well even
when some directory options were not specified in terms of `${prefix}'
at `configure' time.
Optional Features
=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Some packages offer the ability to configure how verbose the
execution of `make' will be. For these packages, running `./configure
--enable-silent-rules' sets the default to minimal output, which can be
overridden with `make V=1'; while running `./configure
--disable-silent-rules' sets the default to verbose, which can be
overridden with `make V=0'.
Particular systems
==================
On HP-UX, the default C compiler is not ANSI C compatible. If GNU
CC is not installed, it is recommended to use the following options in
order to use an ANSI C compiler:
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
HP-UX `make' updates targets which have the same time stamps as
their prerequisites, which makes it generally unusable when shipped
generated files such as `configure' are involved. Use GNU `make'
instead.
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
a workaround. If GNU CC is not installed, it is therefore recommended
to try
./configure CC="cc"
and if that doesn't work, try
./configure CC="cc -nodtk"
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
directory contains several dysfunctional programs; working variants of
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
in your `PATH', put it _after_ `/usr/bin'.
On Haiku, software installed for all users goes in `/boot/common',
not `/usr/local'. It is recommended to use the following options:
./configure --prefix=/boot/common
Specifying the System Type
==========================
There may be some features `configure' cannot figure out
automatically, but needs to determine by the type of machine the package
will run on. Usually, assuming the package is built to be run on the
_same_ architectures, `configure' can figure that out, but if it prints
a message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM
where SYSTEM can have one of these forms:
OS
KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
use the option `--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
eventually be run) with `--host=TYPE'.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
an Autoconf bug. Until the bug is fixed you can use this workaround:
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
`configure' Invocation
======================
`configure' recognizes the following options to control how it
operates.
`--help'
`-h'
Print a summary of all of the options to `configure', and exit.
`--help=short'
`--help=recursive'
Print a summary of the options unique to this package's
`configure', and exit. The `short' variant lists options used
only in the top level, while the `recursive' variant lists options
also present in any nested packages.
`--version'
`-V'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally `config.cache'. FILE defaults to `/dev/null' to
disable caching.
`--config-cache'
`-C'
Alias for `--cache-file=config.cache'.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`--prefix=DIR'
Use DIR as the installation prefix. *note Installation Names::
for more details, including other options available for fine-tuning
the installation locations.
`--no-create'
`-n'
Run the configure checks, but stop before creating any output
files.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.

@ -0,0 +1,86 @@
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
AUTOMAKE_OPTIONS = subdir-objects
SUBDIRS = .
if HAVE_PO
SUBDIRS += po
endif
CLEANFILES =
DISTCLEANFILES =
INSTALL_DATA_HOOKS =
PHONIES =
MAINTAINERCLEANFILES = \
ABOUT-NLS* \
Makefile.in \
aclocal.m4 \
compile \
config.guess \
config.h.in \
config.h.in~ \
config.rpath \
config.sub \
configure \
depcomp \
install-sh \
ltmain.sh \
missing \
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz \
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.bz2 \
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc.tar.bz2
EXTRA_DIST = \
config.rpath \
README \
AUTHORS \
COPYING \
enlightenment.spec.in \
enlightenment.spec \
enlightenment.pc \
pkgbuild/PKGBUILD \
pkgbuild/enlightenment.install
include m4/Makefile.mk
if HAVE_PO
include po/Makefile.mk
endif
DISTCHECK_CONFIGURE_FLAGS = --disable-systemd
include config/Makefile.mk
include data/Makefile.mk
include src/Makefile.mk
filesdir = $(datadir)/enlightenment/
files_DATA = AUTHORS COPYING
if HAVE_FREEBSD
pkgconfigdir = $(libdir)data/pkgconfig
else
pkgconfigdir = $(libdir)/pkgconfig
endif
pkgconfig_DATA = enlightenment.pc
include doc/Makefile.mk
.PHONY: $(PHONIES)
clean-local: doc-clean
rm -rf config/*.cfg config/*~
rm -rf config/standard/*.cfg config/standard/*~
rm -rf config/tiling/*.cfg config/tiling/*~
rm -rf config/mobile/*.cfg config/mobile/*~
rm -rf config/default/*.cfg config/default/*~
rm -f data/themes/*.edj
install-data-hook: $(INSTALL_DATA_HOOKS)

4245
NEWS

File diff suppressed because it is too large Load Diff

@ -0,0 +1,32 @@
Please report bugs and send patches to phab.enlightenment.org
Enlightenment 0.19.0
Requirements:
-------------
Must:
efl elementary
libc libm libX11 libXext
xcb xcb-shape xcb-keysyms
Heavily suggested:
evas_generic_loaders (all loaders)
NOTE: Users of DR16 will need to rename the $prefix/bin/enlightenment
file prior to installing DR19 or it will be overwritten.
You can also use the configure --prefix option to put enlightenment in a separate tree
of its own (recommended) like:
./configure --prefix=/usr/local/e19
You will, as usual, need to add the subsequent bin dir to your $PATH etc.
NOTES:
* if you do not want security issues make sure sysactions.conf is in
/etc/enlightenment (not PREFIX/etc/enlightenment) as this is the first place
it looks at. This file is intended to be customized by packagers and
system integrators to match your policies and scripts/tools.

@ -1,225 +0,0 @@
![Enlightenment](/data/readme/enlightenment.png)
# Enlightenment
![Screenshot](/data/readme/screenshot.png)
-----
*Please report bugs/issues at*
[git.enlightenment.org](https://git.enlightenment.org/enlightenment/enlightenment/issues)
-----
Enlightenment is a Window Manager, Compositor and basic "Desktop
Shell". It replaces your GUI environment that runs your day to day
graphical Desktop. It includes a built-in File Manager, Application
Launcher, Shelves, Settings Dialogs, Menus, Audio Mixer Controls, Network
Control front-end (for Connman), Battery Monitoring, CPU Frequency
Controls, Screen Blanking and Backlight controls, Screenshotting and
editing, Clock and Calendar, Temperature Guages, Mpris2 Music Controls,
Packagekit Update Front-end, Bluetooth controls for BlueZ 5, Screen
resolution and layout controls and much much more.
Enlightenment is one of the lowest resource environments around
relative to its featureset.
Enlightenment is primarly developed for X11, but does have an
experimental Wayland mode that will have issues, so only try it if
you are adventurous or willing to work on it.
For more information please see
[Enlightenment's About Page](https://www.enlightenment.org/about-enlightenment).
![Screenshot 2](/data/readme/screenshot2.png)
![Screenshot 3](/data/readme/screenshot3.png)
![Screenshot 4](/data/readme/screenshot4.png)
![Screenshot 5](/data/readme/screenshot5.png)
![Screenshot 6](/data/readme/screenshot6.png)
-----
Things that need doing:
[TODO](TODO.md)
-----
## Requirements
Must:
* [efl](https://git.enlightenment.org/enlightenment/efl)
* libpam (Required on Linux, not BSD)
Highly suggested:
* libexif (exif metadata display support)
* bluez5 (BT support and l2ping tool)
* connman
* bc (For everything calculator)
* pulseaudio
* acpid (Unless your system doesn't have ACPI at all)
* packagekit (For packagekit module updates status)
* udisks2
* gdb (If you want automatic bactraces in ~/.e-crashdump.txt)
-----
## Compiling and Installing
Meson is the build system used for this project. For more information
please see [mesonbuild.com](https://mesonbuild.com)
You will need normal build tooling installed such as a compiler (gcc
or clang for example), pkg-config, ninja, any relevant package-dev or
package-devel packages if your distribution splits out development
headers (e.g. libc6-dev) etc.
Depending on where dependencies (like efl) are installed, you might have to
set your `PKG_CONFIG_PATH` environment variable like:
```sh
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
```
Also note that some distributions like to add extra arch directories
to your library locations so you might have to have more like:
```sh
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig
```
You will need to ensure that the destination library directory (e.g.
`/usr/local/lib` is in your /etc/ld.so.conf or /etc/ld.so.conf.d/
files and after installing anything that installs libraries you
re-run `ldconfig`. Please see relevant documentation on ldconfig and
ld.so.conf for your distribution.
You might also want to add the destination bin dir to your environment
variable PATH (see documentation on your shell PATH variable) such as:
```sh
export PATH=/usr/local/bin:/usr/bin:/bin
```
Normal compilation in /usr/local:
```sh
meson . build
ninja -C build
sudo ninja -C build install
```
For meson build generic options:
```sh
meson --help
```
For a list of project specific options supported:
```sh
cat meson_options.txt
```
To set 1 or more project specific options:
```sh
meson --prefix=/path/to -Doption=value [-Dother=value2] [...] . build
```
To display current configuration:
```sh
meson configure build
```
The above will only work after at least the following is done:
```sh
meson . build
```
### Quick build help
How to clean out the build and config and start fresh:
```sh
rm -rf build
```
How to make a dist tarball and check its build:
(must do it from git tree clone and commit all changes to git first)
```sh
ninja -C build dist
```
How to change prefix:
```sh
meson --prefix=/path/to/prefix . build
```
How to install in a specific destination directory for packaging:
```sh
DESTDIR=/path/to/destdir ninja -C build install
```
How to build with verbose output (full commands run):
```sh
ninja -C build -v
```
-----
**NOTE:** Once Enlightenment is started by `enlightenment_start`, all
output logs are put in `~/.e-log.log`. The previous log for the
previous execution of Enlightenment will be moved to `~/.e-log.log.old`.
-----
**NOTE:** If you install enlightenment to the default compile prefix
(`/usr/local`) then you might want to ensure the session file is
accessible to your login manager (assuming you use one) by doing
something like:
```sh
sudo ln -s /usr/local/share/xsessions/enlightenment.desktop /usr/share/xsessions/enlightenment.desktop
```
You can also just set up a custom launcher script. Edit the
`~/.xinitrc` file in your home directory and have it have this content:
```sh
#!/bin/sh
exec /usr/local/bin/enlightenment_start >& ~/.xsession-errors
```
(`exec` tells the shell to replace itself with the following command
and `>& ~/.xsession-errors` ensures all output is logged to the
`~/.xsession-errors` file).
You may also want your `~/.xsession` file to be the same, so make a link:
```sh
ln -s .xinitrc .xsession
```
This assumes `/usr/local` as well and just modify based on your
install prefix location.
If you do not use a login manager you can just log into a text console
and run `startx` after the above `.xinitrc` file is set up.
-----
**NOTE:** If you do not want security issues make sure `sysactions.conf` is in
`/etc/enlightenment` (not `PREFIX/etc/enlightenment`) as this is the first
place it looks at. This file is intended to be customized by packagers and
system integrators to match your policies and scripts/tools. This also
applies to `system.conf` in the same directory.
-----
**NOTE:** To enable Wayland support (still considered experimental and not for
regular end users) use the meson `-Dwl=true option`. To run Enlightenment in
Wayland mode, just login on any text VT and run `enlightenment_start`. If you
wish to debug and see all the output try using something like screen then
attaching to the remote screen session by sshing in etc.
-----
**NOTE:** Nvidia support - do *not* enable Wayland support if you have
Nvidia cards and use Nvidia drivers. You will need to use **full**
OpenGL+GLX with EFL instead of the default OpenGL-ES/EGL for those to not
have problems and this conflicts with any **DRM** and **Wayland** support.
You will

@ -0,0 +1,98 @@
*Wayland support in Enlightenment*
Running Enlightenment as a Wayland compositor is not considered "safe"
for everyday desktop use, though it is functional enough to test or
use in specialized environments.
A list of known issues can be found at the bottom of this file.
Requirements:
-------------
Aside from the normal requirements that Enlightenment needs, there are
a few things to note in order to get Enlightenment to build with
Wayland support.
Firstly, you MUST have EFL built with the following options:
--enable-drm
--enable-gl-drm (for hardware acceleration)
--enable-wayland
--enable-systemd
--enable-elput
Note that the drm engine will not be functional unless the target system
has libsystemd-login installed.
This Readme does not address the dependencies needed to enable Wayland
in EFL. If you require any information for that, please see:
https://phab.enlightenment.org/w/wayland/
If you would like support for EGL in Wayland, then also build EFL with:
--enable-egl
--with-opengl=es
The above options can be enabled for EFL without any adverse effects to
existing applications.
Compiling:
-------------
Next, you will need to adjust the options that you pass to
Enlightenment during the compile phase.
In order for Enlightenment to be compiled as Wayland compositor you will need to
pass an option to the configure stage of Enlightenment:
--enable-wayland
If you also want support for running X applications under Wayland you might want
to try out XWayland support:
--enable-xwayland
NOTE: DO NOT DISABLE THE MIXER MODULE BUILD IF YOU ARE USING XWAYLAND.
You have been warned.
At this stage, you should have EFL properly built, and Enlightenment
properly built. Let's move on to running it...
Usage:
-------------
Hopefully at this stage you have successfully built EFL and
Enlightenment in preparation for a Wayland-supported setup. Congratulations!!
Now, let's get it running...
Enlightenment, when compiled with Wayland support and started from a tty,
will automatically attempt to load the wl_drm output module and start
a Wayland session. Simply start as usual:
enlightenment_start
If you have a separate configuration profile that you would like to use,
you can tell Enlightenment to use that when you start it:
enlightenment_start -profile <my_profile>
To run a wayland session inside x11, export E_WL_FORCE=x11 before starting
enlightenment.
Known Issues
-------------
* Internal window (eg. filemanager), DnD is not currently functional
- Requires various improvements
* Restarting Enlightenment kills some applications
- Requires upstream external protocol support, XWayland improvements
* XWayland clients do not smoothly resize
- Requires upstream XWayland improvements
* The first-launched X11 client will sometimes fail to show
- Requires upstream XWayland improvements
* There are not more than 4 keyboard layouts possible
- Requires libxkbcommon changes - https://github.com/xkbcommon/libxkbcommon/issues/37
* XWayland crashes on start
- Requires XWayland release - https://bugs.freedesktop.org/show_bug.cgi?id=95337

@ -1,337 +0,0 @@
* need a better "extra" that allows shot-module like sharing of:
* themes
* wallpapers
* ... anything else?
* built in tool to listbrowse/preview/download etc.
* built in tool should allow for share/upload too
* on the www side - nicely show and index themes with previews in html
* clean up e profiles, elm profiles and per screen profiles
* move to a new profile method which has a fallback profile
* also has to include scaling options like manual or based on dpi
* then per screen profiles + scaling too but do this all via the per
screen profile infra - always go that path
* illume: work on this again given pinephone + librem5 appeared
* single app at a time with switching mode
* winlist should do the switching with another layout mode...
* shelf can expamnd/slow down to show more (indicator/notification)
* gadget bar too... ? or just gad bar?
* shelf autohide. Move this to edje.
* vkbd integrates with proper sizing and layout
* manual show/hide with various controls (actions, swipes, gadget)
* finger friendly desklock
* integrate with vkbd, also allow pin no. or pattern or camera or bt?
* notification in gadget i shelf (pull down)
* scrollable list with / X/swipe dismiss
* handle edge swipes (middle/left/right of edge) with edge bindings
* also swipe along an edge (in each dir)
* add swiping to type in vkbd
* home screen launcher + switcher (single instance mode debugged and on)
* pre-launch window show with icon/splash img/past screenshot show
* replace when app actually starts and shows window
* aggressive sigstop of bg apps unless whitelisted or when desklocked/blanked
* aggressive cpufreq limiting when desklocked/blanked
* ambient light sensor control of backlight
* hide/show mouse pointer base on real mouse device
* vibrator support api in e (efl)
* hide/show vkbd based on real kbd device pluggd/unplugged
* pull in convertible for rotation
* need to handle ofono / incoming call+sms notifications without
dialler always running
* longpress bindings for key/mouse/etc.
* use xinput for edge bindings and other gestures (always listen to ev)
* need apps:
* dialler/phone incoming call handling
* sms app
* camera app (video and still)
* gallery app
* audio recorder + playback
* browser (just use ffox etc.?)
* ofono config
* bt tethering
* usb tehtering
* wifi tethering
* fix vkbd to work in wl - e_kbd_send.c - look at ecore_wl2_input.c
* clean up some old actions that are handled better by newer ones
* like suspend intelligently is better than regular suspend but
suspend now is very explicit and worth keeping
* clock - add event/alarm/appointment tracking and notifications etc.
* this perhaps can be merged with the cron front-end
* cmdline tools to import/export events and alarms
* dbus api to imports/export calendar
* some kind of intrgration to ical/outlook and other calendar data
* display events/alarms in calendar
* ability to wake up from screen sleep and show an alarm or
notification even if locked
* ability to wake up from suspend/hibernate like above
* ability to even power on/boot from nothing
* the above will require RTC and other deep integration...
* magnifier - need a magnifier tool
* live follow the mouse and zoom around it in some corner /region of
the screen
* toggle on/off or bring up only while key or button pressed
* freeze the zooms like a screenshot/xmag like thing
* offer coordinates and measuring by pixel
* pam/auth - exotic auth things like fingerprint readers etc. need to work
* smart card
* face auth (howdy / pam-face / pam-face-authentication / pam-facial-auth)
* yubikey
* usb drive (pam_usb)
* support setting up smartcard as auth
* support setting up face auth (howdy / pam-face / pam-face-authentication / pam-facial-auth)
* support setting up yubikey as auth
* support setting up usb drive for auth (pam_usb)
* wifi/bt net: associate app/desktop(s) or actions to run when:
* bt device comes or goes (alongside lock device feature)
* wifi appears or disappears
* wifi or wired network connected or disconnected to/from
* perhaps need a more generic "events" bindings and these are events?
* clipboard manager - monitor clipboard changes + history + select from it
* scriptlets: stdin/out module that provides gui services to some
back-end script or process where e just talks via stdin/out.
things to provide:
* only run scriptlet every N seconds to poll then send back data
* only run scriptlet at specific times of day (cron-like)
* only run scriptlet when some event happens
* dbus signals (some way to define what to listen for)
* acpi bindings
* key bindings
* mouse bindings
* startup, shutdown, suspend, resume, lock/unlock, ...
* ... screen add/del, backlight dim/undim, ...
* ... blank/unblank, ac plug/unplug, battery full, ...
* ... battery charge begin, battery charge end, ...
* ... network connect/disconnect (connman), ...
* ... bt device find/lose, ...
* ... volume/mute/audio dev change, virtual desktop change, ...
* ... app window appear/disappear/exit, ...
* ... something goes fullscreen/unfluscreen, ...
* other events on the system or in e?
* run script all the time and talk to it and "keep state"
* provide menu content in menu specific tree...
* provide popups like pager mid-screen one with content like below...
* provide gadgets with display content like below...
* provide gadget popups (like mixer/clock) with content like below...
* provide full windows with content like below...
* possible content in a tree:
* probably have to provide markdown of below in some way...
* thinkimg of mustache style {{{ }}} ?
* shell friendly so it doesnt have special meanings in sh
* image (png/jpg/gif/video ... whatever)
* edje theme element/file fallback
* send/get signals
* set text parts
* send/get messages
* create, delete, swallow other edje/image objects
* box
* table
* grid
* scroller (content holder)
* lists to select from (icon, text, icon at end, groups - genlist)
* button
* radio
* check
* label/text
* entry (editable single/multi line, passwd)
* separator
* frame (content holder)
* slider
* progress/busy spinner
* dropdown/hoversel
* graph (multiple overlayed with N points horiz or vert, line/solid)
* dials (like cpufreq)
* mixers like ... mixer
* temperature guages like temperature
* scrollable logs with per line/item content objects
* list trees (genlist)
* grid lists (gengrid)
* efm show dir
* efm open specific file with default mime handler
* efm open specific file with mime handler chooser
* tell scriptlet where it is stored (env var)
* tmpdir setup/deletion for scriptlet (env var)
* more permanent config dir setup/storage for scriptlet (env var)
* pop up specified menu content
* display screen popup with content
* display gadget popup with content
* get events from content (clicked, selected, etc.)
* get state of content
* create timers and get called on timeout
* built in wget via e/ecore_con_url
* built in tcp/tcp+ssl netcat provided by ecore_con
* direct notification display (via notification module) e/stdin/out
* provide built-in editor to edit scripts and auto-re-run as you edit
* entry or elm code based?
* massive lowering of barrier ro create/change scriptlets
* offer a share mechanism like shots?
* security issue - they run. verification needed?
* S keyboard backlight controls, not just screen
* login manager mode - be able to function as a login manager/gui since
most everything you want in a login manager is already present in e
like suspend/resume on lid open/close, multi screen config and even
auto-extension, backlight and other such controls.
* console logger much like quake console like dropdown for logging etc
(api to append logs. always stores to disk to specific file.
add button to explicitly share like screenshots. add higher level
logging like tables, icons, timelines and graphs that can be output
in text emulation and to screen - change eina log to go into here
with eina_log_print_cb_set() )
* settings: config dialog redo and simplification
* simplify the config and remove useless options
* focus on new simpler config dialog(s) first
* cover all the major e config uses now
* drop some weird/niche/unused stuff
* once new config is done, remove old config dialogs
* integrate more config of elm into e
* add more system setup stuff like:
* system locale config
* system locales supported (locale.gen)