Compare commits

...

683 Commits

Author SHA1 Message Date
Carsten Haitzler 15ce7118f8 elm theme - notification - note signals for category and urgency 2022-06-18 10:08:16 +01:00
Carsten Haitzler b3eac8b838 elm theme - notification break and feat add - needed
this is bad but it's necessary. need to make the htextblock accept
events so links can be put in it. this then also requires it become
editable to support anchors and items which are needed for
notification links and inline images.

since this has to break nayway, embrace the break and add action box
swallow - and action buttons. the action buttons will probably need a
swallow added for icons still - but debating that still.

@fix / break / feat
2022-06-18 00:42:03 +01:00
Carsten Haitzler 919e646ad3 po - ru - fix typo that makes compile fail 2022-06-07 16:43:11 +01:00
Dmitri Chudinov 90e1ab7a39 Update russian translation 2022-06-07 07:43:43 -07:00
Carsten Haitzler 6670a57054 readme - fix typos 2022-06-07 15:40:13 +01:00
Christopher Michael 853fb69417 readme: Fix some typos
There are probably more in here, but these stuck out on quick glance
2022-06-07 10:14:03 -04:00
Carsten Haitzler c142783851 efl - fix readme icon to be real orig icon 2022-06-04 22:10:35 +01:00
Carsten Haitzler 869255d068 readme remove typo in compil and install 2022-06-04 16:50:19 +01:00
Carsten Haitzler 6b3eaf41e7 don't mention efl as a dep of efl in compiling 2022-06-04 16:47:50 +01:00
Carsten Haitzler 5f3c627661 more typo-- in readme 2022-06-04 16:47:11 +01:00
Carsten Haitzler bb2a4e8a4f redme typo-- 2022-06-04 16:45:56 +01:00
Carsten Haitzler 241d67116f readme typo removed 2022-06-04 16:44:17 +01:00
Carsten Haitzler e5170acebf more readme massaging 2022-06-04 16:14:08 +01:00
Carsten Haitzler 7a0118e7f1 move to readme.md 2022-06-04 16:10:20 +01:00
Carsten Haitzler 83d598a79c remove files we aren't using anymore or are not relevant 2022-06-04 14:06:16 +01:00
Marcel Hollerbach c3d1f19ed8 ecore_evas_x: correctly use offset of the drag window 2022-05-31 21:16:24 +02:00
Marcel Hollerbach af6134aa6c ecore_evas: add API to offset drag position relative to cursor
The values are stored in the ee itself. And it is the responsibility of
the engine to use that value correctly.
2022-05-31 21:15:03 +02:00
Carsten Haitzler 54c6516373 evas psd loader - don't crash on loading non rgb psd's
at least fail gracefully.

@fix
2022-05-22 09:26:32 +01:00
Christopher Michael 0dc787ee6b elementary_test: Fix warning about truncated string
gcc reports output between 7 and 17 bytes into a dest of size 16 so
increase destination size slightly

@fix
2022-05-18 08:27:59 -04:00
Carsten Haitzler 3008e1cd4c evas canvas - init res var to avoid uninit warning
@fix
2022-05-18 13:20:19 +01:00
Carsten Haitzler 712c0d5b0d edje - fix warnings with string buffer lens
@fix
2022-05-18 12:48:47 +01:00
Carsten Haitzler a4a0dc7a75 eldbus - fix warning about buffer being a bit small for string
@fix
2022-05-18 12:16:08 +01:00
Carsten Haitzler b0232b5e1d emile - handle possible invalid compress type more gracefully
check length return is < 0 and handle that.

@fix
2022-05-18 12:16:05 +01:00
Carsten Haitzler f682178017 ecore-x - use current time not vblank timestamp for animator time
sometimes on some systems and drviers time here is not what we
want/expect. it can be in the future. there are reasons so, work
around this and use the timestamp of "now" when we get the event as
opposed to the timestamp given to work around odd weirdnesses and
complaints time went backwards.

@fix
2022-05-17 15:02:20 +01:00
Carsten Haitzler 5f85967da1 evas - textgrid - guard against null/empty glyphs
not sure how someone got to this point - but this should not be null,
so don't crash if it is.

@fix
2022-05-16 18:36:56 +01:00
Carsten Haitzler e9e40eb610 eet - add eet_sync_sync() that syncs data to disk and fdatasyncs it
this ensures that if eet_sync_sync() returns that all data has been
synced to disk (as best possible with fdatasync()).

@feat
2022-05-16 14:02:31 +01:00
Carsten Haitzler 165589875b ecore_wince doesnt even exist anymore in efl... remove from README
remove this - it's not there anymore
2022-05-11 19:11:31 +01:00
Vincent Torri 11843f1991 Merge pull request 'README: add deprecation note for Ecore WinCE' (#1) from vtorri/efl:master into master
Reviewed-on: http://git.enlightenment.org/enlightenment/efl/pulls/1
2022-05-11 09:13:27 -07:00
Vincent Torri 329163c290 README: add deprecation note for Ecore WinCE 2022-05-11 18:11:05 +02:00
Carsten Haitzler ad2276d8c2 elm colors - fix name of empty - oops 2022-05-10 10:54:04 +01:00
Carsten Haitzler c535a3a6f4 elm - palettes - add an empty palette by default for edj colorclasses
edj files can (and should) ship their own color_classes and
definitions. these color palette files override those. if you want to
purely use what is in the theme edj you need no palette - or an empty
one. this is that palette.
2022-05-09 17:25:28 +01:00
Carsten Haitzler 7743b17dba evas - png loader - work around libpng arm bug where rgb > a on decode
on arm when a is 0 ... per pixel rgb can be > 0 which violates premul
rgb leading to junk rendering. this now is worked around in the png
loader and forces rgb to 0 when a is 0 per pixel.

@fix
2022-05-04 18:12:24 +01:00
Carsten Haitzler 9490cf857b evas -jxl - bump version needed because we need neweer than 0.6.1
the jxl loader requires code that is unreleased from jxl (changes made
after 0.6.1 release), thus bump to 0.6.2 to indicate this. will have
to adjust once a newer jxl comes out.
2022-05-01 09:51:36 +01:00
Carsten Haitzler bdbac3ae45 evas - jxl - remove timing debug 2022-04-28 19:15:02 +01:00
Carsten Haitzler d7521c69dd jxl - add actual files ... as i had to get patch manually from phab
missed these... arc broken... sorry
2022-04-28 17:43:39 +01:00
Vincent Torri 01fb3233eb Evas: add jxl loader and saver
add jxl loader and saver to Evas.

Entice for loading, animated jxl files or not some conformances files :
https://github.com/libjxl/conformance/tree/master/testcases
2022-04-28 17:00:40 +01:00
Carsten Haitzler d4ee3a158a eina bt - it seems tab plus space doesnt produce always a space fix
as this is machine-read ... a single space will do and will produce
the right format.

@fix
2022-04-28 16:28:51 +01:00
Carsten Haitzler 6fd2852b14 add urilist support to cnp part of cnp not just dnd
this also makes urilist things work for copy & paste like with dnd.
goers with commit 8d4a2a70cf
2022-04-27 16:02:59 +01:00
Carsten Haitzler 5aa9a59c33 efreet - fix missing use of eina prefix for finding path to efreetd
fixes relocation with eina prefix by using it to launch efreetd

@fix
2022-04-20 19:46:19 +01:00
Carsten Haitzler 4ee80acc49 evas - fix install of data and install checkme file for prefix reloc
checkme file not installed.... wow... this was not found for a long
time... this fixes it.

@fix
2022-04-20 11:46:07 +01:00
Carsten Haitzler 1e623d3350 ecore evas - x - dont dfisable dnd if we are listening for drop events
on mouse release/up dont disable xdnd awareness if we're listening for
dnd events still

@fix
2022-04-04 20:58:15 +01:00
Carsten Haitzler 1e19806faf elm - dnd - fix missing out callback when mouse leaves window
@fix
2022-04-04 20:32:16 +01:00
Carsten Haitzler 8d4a2a70cf elm cnp - add uri list so you can sensibly do dnd for a filemanager 2022-04-03 21:11:59 +01:00
Carsten Haitzler d8fe6e9450 evas - handle odd case where smat child is not removed to avoid inf loop
with som refcount fun some o9bjects may not get removed until later
thus causing infinite loops trying to remove comtained objects so
remove anyway in this case to avoid looping forever

@fix
2022-04-03 21:10:25 +01:00
Carsten Haitzler 4ba44bd865 elm - be more robust in the face of null cnp obj and bad app code
someone decided passing a null obj to elm_cnp_selection_set from an app
is a good idea. it's not... but let's not crash 9nside efl if someone
does and instead survive and complain

@fix
2022-03-26 23:07:38 +00:00
Carsten Haitzler da0a6f9ed0 evas - smart obj - set smart data to null after del func to avoid bugs
so smart data get cleanly returns null ... set it to nukll after del
func called as now the smart data shiuld be gone and not usable
anymore. this means we dont return junk smart data if called after this.

@fix
2022-03-26 23:07:38 +00:00
Christopher Michael dc81e925c8 ecore_evas_drm: Remove hardcoded depth & bpp
As we have an ecore_drm2 function to get preferred depth & bpp, we
should be using that so remove hardcoded values and set the
edata->depth & bpp using the ecore_drm2 function
2022-03-25 08:13:33 -04:00
Carsten Haitzler 41dd584789 ecore-x - in order to only handle "new kbds" instead of maps add ev info
als flag in the xkb event to look at in this case. this allows for
fixes in e to not redo kbd layout when xmodmap changes modmap

@feat
2022-03-25 10:45:37 +00:00
Carsten Haitzler 0f6e1c03f0 ecore-x - fix xkb emitted hash handling to del just that serial
don't delete any item with a data of 1 which could be multiple
items.... delete by the serial instead.

also - don't leak the event... this leaks the event as the free func
never freed the event...

@fix
2022-03-25 10:45:37 +00:00
Vincent Torri 0a1ae11586 build: use meson warning_level to pass -Wall to compiler
meson has a builtin option to pass some warning flags to compiler. 'warning_level=1' passes -Wall

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D12315
2022-03-20 10:08:08 +01:00
Carsten Haitzler 107b19d427 ecore-x - fix netwm moveresize request to send to the right window
e handles this but other wm's don't ... fic to send to root

@fix
2022-03-08 11:58:00 +00:00
Carsten Haitzler ac6734d217 elm theme - fix notify blocker group to inherit visible - fix white box
@fix
2022-03-08 10:23:21 +00:00
Carsten Haitzler d051e08876 elm theme - fix comp container to not block events in fullscreen
fix events for mouse to not disappear when in fullscreen mode

@fix
2022-03-08 01:26:45 +00:00
Carsten Haitzler 0ec15a2ecb elm theme - borders - fix "oversized" resize areas
fix alignment, sizing, and easier debug with defines of
overflow/oversized resize rect regions

@fix
2022-02-24 18:39:55 +00:00
Jaehyun Cho 3756b88cde edje_calc: fix check return of _edje_fetch
Summary: checks if _edje_fetch returns null before calling _edje_recalc_do.

Reviewers: Hermet, raster, kimcinoo, jsuya

Reviewed By: jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12322
2022-02-24 17:26:36 +09:00
Carsten Haitzler d3a1b077fb edje - improve number of signlas/messages we can do per second
use a 0 timer delay not 0.001s before processing messages thus being
able to handle more especially when they self-feed a bit.

@opt
2022-02-20 11:20:43 +00:00
Carsten Haitzler d3b8f40ff0 elm theme - fix part name for ilist typebuf
typebuf was always blank... because part had wrong name. add alias so
it can be addressed as both the real name and the one we'd like it to be

@fix
2022-02-20 11:20:04 +00:00
Christopher Michael e3e5314950 ecore_buffer: Remove duplicate function calls
As we already set these variables at the top of the function, there is
no need to reget the xcb connection or generate the pixmap id.
2022-02-10 09:32:09 -05:00
Carsten Haitzler 5e1023f64b ecore x - ensure pointer is not outside barriers when settingh for screens
it might be possible the pointer is outside the screen areas and
perhaps gets caught there, so move the pointer in first before setting
up new barriers

@fix
2022-01-20 12:14:57 +00:00
Carsten Haitzler 33c0b2a82d theme - pointer - remove min size and let pointer size do it
user sets size and it is 32 * scale alreadyso this works well enough.

@fix
2022-01-17 21:37:32 +00:00
Carsten Haitzler 1650f9f723 theme - ibar - align overlay label according to code
@fix
2022-01-17 21:37:15 +00:00
junsu choi 7b4c9284a9 vg_common_svg: Fix when the number of polygon points is odd
Summary: If the number of points is odd, an overflow occurs in array[i+1].

Test Plan:
Test Svg image
```
<svg xmlns="http://www.w3.org/2000/svg" id="svg1" viewBox="0 0 200 200">
    <title>Not enough points</title>
    <desc>Must contain at least 4 points</desc>

    <polygon id="polygon1" points="20 40 160 40 10" fill="none" stroke="red"/>

    <!-- image frame -->
    <rect id="frame" x="1" y="1" width="198" height="198" fill="none" stroke="black"/>
</svg>
```

Reviewers: Hermet, raster, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12319
2022-01-12 11:35:31 +09:00
junsu choi ef784708b9 evas_vg_load_svg: Fix colorstop offset parser
Summary:
Values different from numbers and percentages should be ignored
and the default values should be applied (zeros).
And set the min and max of the offset value to be 0, 1.
Also, this patch make that the offset is not input in the reverse order.

Test Plan:
Test SVG Image
```
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
    <linearGradient id="grad" x1="0" y1="0" x2="1" y2="1">
        <stop offset="10%" stop-color="white"/>
        <stop offset="0.2" stop-color="red"/>
        <stop offset="30% k" stop-color="blue"/>
        <stop offset="40%" stop-color="yellow"/>
        <stop offset="0.5m" stop-color="red"/>
        <stop offset="0.6 " stop-color="green"/>
        <stop offset="70%m" stop-color="black"/>
        <stop offset="80%" stop-color="white"/>
    </linearGradient>
    <rect x="20" y="20" width="160" height="160" fill="url(#grad)"/>
</svg>

```

Result
{F4792365}

Reviewers: Hermet, raster, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12318
2022-01-12 11:34:29 +09:00
junsu choi 92f77c5123 evas_vg_load_svg: Add check that stroke-dasharray is "none"
Summary:
"none" is the default value of dasharray and can actually be used.
Currently using "none" causes a segfault. This patch prevents it.

Test Plan:
SVG image
```
<svg viewBox="0 0 30 10" xmlns="http://www.w3.org/2000/svg">
  <line x1="0" y1="3" x2="30" y2="3" stroke="black" stroke-dasharray="none" />
</svg>
```

Reviewers: Hermet, raster, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12317
2022-01-12 11:33:44 +09:00
junsu choi 5ebebe4698 Efl.Gfx.Path: Remove unnecessary optimization code for small arc
Summary:
This condition(optimization) is not a step suggested by arc implementation.
https://www.w3.org/TR/SVG11/implnote.html#ArcCorrectionOutOfRangeRadii (Step2)
This code is useful if the arc is too small to represent.
However, scaling often occurs in vectors, which can create unnecessary problems.

Test Plan:
SVG Image
```
<svg viewBox="0 0 50 50" height="50" width="50">
<path d="M32.41,20.49a.41.41,0,1,1-.41-.42A.41.41,0,0,1,32.41,20.49Z" transform="translate(-70, -50) scale(3.3)" fill="#020202"/>
</svg>
```
image file
{F4792225}
result
{F4792221}

Reviewers: Hermet, raster, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12316
2022-01-12 11:32:42 +09:00
junsu choi 3411c604f2 evas_vg_load_svg: Fix negative attrs length
Summary:
After finding no attributes but spaces, attrsLength could be negative.
This will cause a segfault in parser functions.
So, change the position of attrs_length to prevent this.

Test Plan:
Example SVG
```
<?xml version="1.0" encoding="UTF-8"?>
<svg><g  ></g></svg>
```

Reviewers: Hermet, raster, kimcinoo

Reviewed By: Hermet

Subscribers: #reviewers, cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12314
2022-01-12 11:19:24 +09:00
Carsten Haitzler 7a674c6a29 ecore input - fix - hopefully - build on freebsd with joystick support
no eeze there to move the include there and on linux only

@fix
2022-01-11 11:16:35 +00:00
junsu choi a32373195b evas_vg_load_svg: Prevent array overflow
Summary: sz must be less than 20 to append 'carriage return'

Test Plan:
Example SVG
```
<?xml version="1.0" encoding="UTF-8"?>
<svg><aaaaaaaaaaaaaaaaaaaa > </aaaaaaaaaaaaaaaaaaaa></svg>
```

@fix

Reviewers: Hermet, raster, kimcinoo

Reviewed By: raster

Subscribers: cedric, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12313
2022-01-11 00:41:41 +00:00
Carsten Haitzler ec80ef2ce4 efreetd - use putenv for better porting to weird os's 2022-01-09 21:14:23 +00:00
Carsten Haitzler 6c9784b918 elm - test - disable 2 negative tests that are failing to fail
efl ui suite passes now
@fix
2022-01-04 14:13:32 +00:00
Carsten Haitzler ebd8632dba elm test - disabble elm mpa focus tes - map widget is disabled
,map is broken - it has been for ages so its been disabled, disable in
test.
2022-01-04 14:06:49 +00:00
Carsten Haitzler f817041d69 elm test - disable excess video tests - gst freezes internally
gst seems to multi-init even tho we avoid it or something... when you
don't fork check. disable all but 1 video test then.

@fix
2022-01-04 14:06:06 +00:00
Carsten Haitzler 4ccbe49b92 elm tests - disable toggle test - changed theme
fix tests to pass

@fix
2022-01-04 13:34:28 +00:00
Carsten Haitzler 34a36b49e1 eet - fix seg when doing unusual things with eet write then read
if you write and read0-back before writign out (non-sensical to do as
you would write out in full and close and then open file and read
separately) the dictionary will be empty. fill it in these paths.
fixes needed resulting from optimizations in 1.26.0

@fix
2022-01-04 09:44:20 +00:00
Carsten Haitzler 29029bc781 lety's go back to dev mode .99 version 2022-01-03 12:10:34 +00:00
Carsten Haitzler 0d3c7c820d elm theme - fix placement of procstats and volume so they dont fight
@fix
2021-12-31 13:46:47 +00:00
Carsten Haitzler b1ddbd8408 edje entry - complete key handling for cut (shft+del)
fixes T8975

@fix
2021-12-30 19:38:48 +00:00
Carsten Haitzler 0fe3c751d1 edje entry - fix past to use shft+ins for paste and no ctl
fix key handling for paste (insert key one)

@fix
2021-12-30 19:32:42 +00:00
Carsten Haitzler 95b3fec338 elm theme - fix mis-named colorclass for inwin bg
was missing a / and ended up white.

@fix
2021-12-30 18:20:24 +00:00
Vincent Torri 8189c1a529 Eio: fix functions name
Summary: 2 functions has wrong names, hence link error

Test Plan: compilation

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12312

@fix
2021-12-29 16:57:00 +00:00
Carsten Haitzler e5d3319693 elm theme - win - fix mystery off-by-1 resize of content
theme made this happen. tbh the window theme setup is a MESS... but it
cant change for compat reasons. argh...

@fix
2021-12-29 12:19:35 +00:00
Carsten Haitzler 40147b36e9 release - 1.26 2021-12-26 14:21:48 +00:00
Ali Alzyod 57b2bedac3 remove space 2021-12-24 09:34:46 +02:00
Carsten Haitzler 24a24c19c0 elm theme - document some cc's for bg recoloring 2021-12-20 14:17:43 +00:00
Vincent Torri 4f15af95e6 avif saver: fix test on the returned type of fwrite()
Test Plan: save as avif file

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12310
2021-12-16 20:40:27 +00:00
Carsten Haitzler 9fd52205c9 elm theme - fix little mis-alignment in mixer 2021-12-16 20:39:41 +00:00
Maximilian Lika 7802e92849 Make passing data pointer to format_cb possible
Summary:
Hello,
For my perl binding it is important that one can pass a data pointer to all callbacks, especially to "Format_Cbs" as in elm_slider_units_format_function_set(), elm_slider_indicator_format_function_set() of elm_progressbar_unit_format_function_set(). Another "problematic" function would be elm_calendar_format_function_set().

Enclosed you find a approach to solve this problem.

It would be wonderful, if the Efl-libraries could make data pointers also in format cbs possible...

Thanks in advance,
Max

Reviewers: bowonryu, eagleeye, zmike, cedric, raster

Reviewed By: raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12298
2021-12-14 08:53:15 +00:00
Carsten Haitzler f6c99bd806 ecore evas - wl - detect timestamsp too far in the past and complain
this has all sorts of nasty side effects by rewinding time far too
much and thus causing timers to expire early and so on - these
timestamps are MEANT to be like a frame vsync time... they thus should
be like normally 0.02sec or so in the past or less... (0.008s on
average) so at 0.1 sec complain and ignore the old timestamp. weston
does this and sends us timestmaps 0.33sec in the past ... and its not
nice.

@fix
2021-12-10 10:54:32 +00:00
Carsten Haitzler 61a462c04d elm theme - make busy fade follow duration cactor 2021-12-05 19:57:15 +00:00
Carsten Haitzler 2fb5530be7 evas - loaders - avif, heif - allow threaded loading
i see no good reason to not allow these loaders to run in threads.
they are isolated and i don't see a reason for the libs called to not
be threadsafe.
2021-12-04 09:18:47 +00:00
Carsten Haitzler 71818d93f8 elm theme - add split icons now in elm theme - handy 2021-12-04 09:18:47 +00:00
Carsten Haitzler 1d57aa2a4c ecore - loop time - do not allow setting into the future - not intended
setting a loop time timestamp in the future will lead to all sorts of
bad things. the idea is it was meant to go back a little in time AFTER
some sync/animation etc. event to pretend to be at the time when that
event happend (it just took some time ot arrive at the process) and so
animation and other timelines all agree to be at this time a little
bit in the past. going forwards leads to bad things so disallow it and
complain. this fixes weston in a window problems when it sends
timestamps in the future from weston...

@fix
2021-12-04 09:18:47 +00:00
Vincent Torri 711638c7d2 Elm_tests: resize windows according to elm scale
Summary: On laptop with 4K display, windows are too small, so resize windows according to elm scale

Test Plan: elm_tests

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12307
2021-12-04 09:18:47 +00:00
Alastair Poole 981e85f99c ecore_thread: Add ecore_thread_name_set API.
This function can only be successfully called from the given
thread. For debugging purposes, it's useful to be able to give
a name to an Ecore_Thread.

ecore_thread_name_set(Ecore_Thread *thread, const char *name);

@feature
2021-12-04 06:36:36 +00:00
Taehyub Kim d5c8311470 edje lua2: check string ptr before dereference
Summary: fix null pointer dereference

Reviewers: Hermet, kimcinoo, jsuya, raster

Reviewed By: kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12309
2021-11-30 10:49:00 +09:00
Alastair Poole 38a4c53a84 eio_mon: separate dir/file concerns.
As per ecore_file_monitor.
2021-11-26 08:32:17 +00:00
Alastair Poole 43108e772a ecore_file: Monitor file writes (kevent).
Trigger ECORE_FILE_EVENT_MODIFIED on file write.

@fix
2021-11-25 19:20:49 +00:00
Carsten Haitzler 9ba7c3667c elm - spinner - fix entry mysteriously hiding in paledit
some logic ws off in how to hide/show and handle visibility of
swallowed entry. fix it - let edje deal with show/hide and dont fight
with it and ensure we emit a signal to have entry active when it needs
to be visible

@fix
2021-11-21 12:10:49 +00:00
Carsten Haitzler 922663f842 elm cc - add another palette 2021-11-16 22:14:30 +00:00
Carsten Haitzler 97a2f6a959 elm cc - add another palette 2021-11-16 21:26:34 +00:00
Carsten Haitzler f2c5bb93a6 elm theme - make min music control size scale 2021-11-12 22:34:50 +00:00
Carsten Haitzler dcf34cef77 efl ui text - handle edje cc classes for text 2021-11-11 19:57:13 +00:00
Carsten Haitzler 50dc94b478 elm theme - this text style in edc/efl/text.edc is not used. remove 2021-11-11 19:57:05 +00:00
Vincent Torri b5b0222ae0 Eina: sanitize eina_path output on Windows
Summary:
 * remove additional \ character
 * use only / as path separator

Test Plan:
compilation and run

test program :

```
{
        elm_app_bin_dir_get();
        printf("%s\n", eina_vpath_resolve("(:tmp:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:home:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.desktop:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.documents:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.downloads:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.music:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.pictures:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.public:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.templates:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.videos:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.data:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.config:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.cache:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.run:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.tmp:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.dir:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.bin:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.lib:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.data:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.locale:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.config:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.local:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.tmp:)/foo"));
    }
```

before patch :

```
C:\Documents\msys2\tmp/foo
C:\Users\vincent.torri/foo
C:\Users\vincent.torri\Desktop/foo
C:\Users\vincent.torri\Documents/foo
C:\Users\vincent.torri\Downloads/foo
C:\Users\vincent.torri\Music/foo
C:\Users\vincent.torri\Pictures/foo
C:\Users\Public\/foo
C:\Users\vincent.torri\AppData\Roaming\Microsoft\Windows\Templates/foo
C:\Users\vincent.torri\Videos/foo
C:\Users\vincent.torri\AppData\Local\/foo
C:\Users\vincent.torri\AppData\Roaming\/foo
C:\Users\vincent.torri\AppData\Local\/foo
C:\Users\vincent.torri\AppData\Roaming/foo
C:\Users\vincent.torri\AppData\Local\Temp/foo
C:/Documents/msys2/opt/entice_64/bin/foo
C:/Documents/msys2/opt/entice_64/bin/foo
C:/Documents/msys2/opt/entice_64/lib/foo
C:/Documents/msys2/opt/entice_64/share/foo
C:/Documents/msys2/opt/entice_64/share/foo
C:\Users\vincent.torri\AppData\Roaming\/entice/foo
C:\Users\vincent.torri\AppData\Local\/entice/foo
C:\Users\vincent.torri\AppData\Local\Temp/entice/foo
```

after patch

```
C:/Documents/msys2/tmp/foo
C:/Users/vincent.torri/foo
C:/Users/vincent.torri/Desktop/foo
C:/Users/vincent.torri/Documents/foo
C:/Users/vincent.torri/Downloads/foo
C:/Users/vincent.torri/Music/foo
C:/Users/vincent.torri/Pictures/foo
C:/Users/Public/foo
C:/Users/vincent.torri/AppData/Roaming/Microsoft/Windows/Templates/foo
C:/Users/vincent.torri/Videos/foo
C:/Users/vincent.torri/AppData/Local/foo
C:/Users/vincent.torri/AppData/Roaming/foo
C:/Users/vincent.torri/AppData/Local/foo
C:/Users/vincent.torri/AppData/Roaming/foo
C:/Users/vincent.torri/AppData/Local/Temp/foo
C:/Documents/msys2/opt/entice_64/bin/foo
C:/Documents/msys2/opt/entice_64/bin/foo
C:/Documents/msys2/opt/entice_64/lib/foo
C:/Documents/msys2/opt/entice_64/share/foo
C:/Documents/msys2/opt/entice_64/share/foo
C:/Users/vincent.torri/AppData/Roaming/entice/foo
C:/Users/vincent.torri/AppData/Local/entice/foo
C:/Users/vincent.torri/AppData/Local/Temp/entice/foo
```

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12306
2021-11-10 12:51:23 +00:00
Carsten Haitzler 173c9cdbe1 eina vpath - fix trailing extra / after home
fixes T8965

@fix
2021-11-07 09:26:03 +00:00
Carsten Haitzler 992fb22ac4 eina vpath - fix public vpath location - docs say say public not pub
@fix
2021-11-07 09:09:28 +00:00
Carsten Haitzler 0ee01279f1 elm theme - add another palette 2021-11-06 23:20:51 +00:00
Carsten Haitzler 4b906a9e5a elm theme - add another palette to default set 2021-11-06 22:56:42 +00:00
Carsten Haitzler f040f4b71b elm theme - add light palette file 2021-11-05 16:34:43 +00:00
Taehyub Kim 3b1eede582 efl_canvas_image : remove the animated image limitation
Summary: remove FRAME_MAX limitation to play the huge animated image which has more than 1024 frames

Test Plan: load gif image which has more than 1024 frames

Reviewers: Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12303
2021-11-04 16:38:48 +09:00
Carsten Haitzler 21f91960f7 elm theme - some fine tuning of theme to allow for dark and light 2021-11-02 13:20:37 +00:00
Carsten Haitzler ce301b6896 elm theme - colorsel - make the preview color on top dragable 2021-10-31 19:46:30 +00:00
Carsten Haitzler 904d80e0ae elm - palette - add api to check if palette has a system version 2021-10-31 18:27:32 +00:00
Carsten Haitzler cf0df4872d edje + elm - add new explicit tracking of all cc's used in edj themes
edje_cc now lists all cc's used in an edj file. edje provides an api
to list this. elm now uses this api to expose a list of all cc's used
acorss all the theme(s) selected by the user. this will then be used
by paledit to produce a nicer gui with a list of available cc's to add
etc. and split between basic and extended.

@feat
2021-10-31 11:44:57 +00:00
Carsten Haitzler 0846ce9635 elm theme - final commit on theme and make default palette right
default palette now matches build-in cc's in theme. it;'s possible for
a user to copy the default palette then modify it to their liking.

what is left?

1. edje_cc needs to list all cc's used in parts in the edj file
2. an api in edje to read this list of cc's in #1
3. elm api to expose the cc list in #2
4. elm api to expose the cc tree simpler cc's

enlightenment paledit ->
1. use info from above to select a new cc from where + - is
2. simple vs complex mode -> simple hides + and - and above list
3. add undo
2021-10-29 04:20:26 +01:00
Carsten Haitzler b955b85c66 elm theme - more cc finals 2021-10-26 20:16:44 +01:00
Vincent Torri 7dcaab26cf Evas engines: remove last bits of evas_cserve2
Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12302
2021-10-26 14:52:53 +01:00
Carsten Haitzler 247c2de1b3 elm theme - more cc works 2021-10-26 00:41:20 +01:00
Carsten Haitzler 7f759bc42d evas - software x11 - remove unused xlib+egl code in sw x11
this code is unused and just wastest space, compile time etc.
2021-10-25 10:15:21 +01:00
Vincent Torri 30207a6165 Evas: remove old xcb code in software_x11 code
Summary: this backend code was for selecting XCB over Xlib. Now XCB is removed, this code is useless

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12299
2021-10-25 10:08:57 +01:00
Carsten Haitzler fdd4f923be eet - fix bug I added in optimization patch in unusual code path
fixes bug in d08bb74255 in fallback code
path.
2021-10-25 09:34:14 +01:00
Carsten Haitzler f3ecb37dd3 elm theme - more cc polish 2021-10-24 22:59:35 +01:00
Carsten Haitzler 5b64b138ce elm theme - more cc cleaning 2021-10-24 22:48:32 +01:00
Carsten Haitzler 180318717d elm theme - cc - fine tune 2021-10-24 22:33:02 +01:00
Carsten Haitzler 7085add8d5 elm theme - more cc work 2021-10-24 21:00:34 +01:00
Carsten Haitzler f2c8ee6642 elm theme - make default palette empty - it should be. 2021-10-24 19:13:13 +01:00
Carsten Haitzler d3b89b3fe1 elm theme - more cc work now with generic colors in colon space 2021-10-24 14:57:55 +01:00
Carsten Haitzler d08bb74255 eet - optimize eet dictionary building
this massively speeds up efreet's icon cache building for huge icon
themes... in my nasty test case of some insanely huge icon themes that
have like 50,000 - 100,000 files... each - and multiple where the icon
cache has to scan all of them and build the cache files... i see a
speedup of going from 80 seconds to build down to 15-16 seconds. so
over 5 times faster.

This builds the dictionary in a temporary eina superfast string hash
in ram and then just before writing flattens it out into a regular eet
dict format.

@opt
2021-10-23 12:15:17 +01:00
Carsten Haitzler 05bee4b2ab elm theme - final cc work for elm code cc's 2021-10-18 18:50:08 +01:00
Shinwoo Kim 24c4fbb99e tests: enhance evas_map test
Reviewers: raster, Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12296
2021-10-18 09:10:17 +01:00
Carsten Haitzler 5d13df5f7a elm theme - prepare to move elm code over to new cc's 2021-10-17 21:24:37 +01:00
Carsten Haitzler 5aaadceef2 elm theme - more cc 2021-10-17 21:18:41 +01:00
Shinwoo Kim 2728408cd1 tests: add evas_map test
Reviewers: raster, Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12295
2021-10-12 08:36:23 +01:00
Carsten Haitzler 84b7e13add elm theme - more cc 2021-10-11 11:57:32 +01:00
Carsten Haitzler 8527ab1543 welm theme - remove old cc's 2021-10-11 11:50:47 +01:00
Carsten Haitzler dba0ca7c10 elm theme - more cc 2021-10-11 11:46:00 +01:00
Carsten Haitzler 653bf2d6f7 elm theme - more cc 2021-10-11 11:21:59 +01:00
Carsten Haitzler 4717248fc9 elm theme - more cc 2021-10-11 10:02:45 +01:00
Carsten Haitzler 5a3af9e0a0 elm theme - cleaning 2021-10-11 10:00:11 +01:00
Carsten Haitzler 33f460e542 elm theme - more cc 2021-10-11 09:58:43 +01:00
Carsten Haitzler 095c1d7a3a elm theme - more cc 2021-10-11 09:45:30 +01:00
Carsten Haitzler 56e9cdeb52 elm theme - more cc 2021-10-11 09:43:11 +01:00
Carsten Haitzler 40656fed5c elm theme - more cc 2021-10-11 09:38:59 +01:00
Carsten Haitzler 97ddb9e3e0 elm theme - more cc 2021-10-11 09:38:43 +01:00
Carsten Haitzler f14a2f6b88 elm theme - more cc 2021-10-11 09:27:24 +01:00
Carsten Haitzler d579c19204 elm theme - more cc work 2021-10-11 09:18:09 +01:00
Carsten Haitzler b399dd1847 elm theme - winlist large item - add title label next to icon 2021-10-10 11:35:29 +01:00
Christopher Michael 57a5655f88 exactness: Fix compiler warning of uninitialized variable
Compiler is warning us here that ex_img has not been initialized after
being malloc'd, so let's initialize it
2021-10-05 10:27:45 -04:00
Carsten Haitzler c0826212ef evas - loader - rsvg - work around rsvg now returning 0 sized dims
also work around rsvg now returning a 0 em/ex values for dimensions too.
rsvg 2.52 brought us this fun.

@fix
2021-10-05 01:00:33 +01:00
Carsten Haitzler f2f1cc42a2 elm theme - more cc 2021-10-03 23:57:42 +01:00
Carsten Haitzler cc9b4fdffc elm theme - more cc work 2021-10-03 23:49:32 +01:00
Carsten Haitzler b905a0036e ecore anim - just for paranoia also cancel the thread
we send -1 to say exit to the thread but also cancel thread too with
ecore "in case"
2021-10-03 23:48:58 +01:00
Carsten Haitzler 323d604d01 elm theme - more cc - fix modal blocker to be semi-trans 2021-10-01 15:29:42 +01:00
Carsten Haitzler a639e50665 elm theme - more cc 2021-09-29 19:04:53 +01:00
Carsten Haitzler 2ce7feb3d5 emotion - properly track subtitle mute state and init emotion obj early
fix setting things on an emotion obj early bu initting engine early
and also track spu mute flags to set on pipe later

@fix
2021-09-26 21:23:24 +01:00
Joshua Strobl ec527a9026 Ensure we check for the correct minimum rsvg version for rsvg_handle_get_intrinsic_size_in_pixels
In commit cbcf5bc64a, newer librsvg APIs were used that are not available in versions between 2.36.0 and 2.50.0, e.g. rsvg_handle_get_intrinsic_size_in_pixels which was included in 2.51.x.

This has been resolved by adding a HAVE_SVG_2_51 and using it for both rsvg_handle_get_intrinsic_size_in_pixels and rsvg_handle_render_document, though the later technically landed in 2.46.0.

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D12293
2021-09-22 15:38:37 -04:00
Christopher Michael 3f1d183c06 eina-test: Fix unchecked return value
Coverity CID1401015 complains about an unchecked return value here, so
let's check that fread actually succeeded (return > 0).

Fixes CID1401015

@fix
2021-09-21 10:35:34 -04:00
Christopher Michael 2c7b1a992c evas-pdf: Properly set return value before cleanup is called
Coverity CID1437717 tells us that this code is unreachable
(obviously), so let's set the return value Before we go to cleanup.

Fixes CID1437717

@fix
2021-09-21 10:27:47 -04:00
Christopher Michael cbcf5bc64a evas-rsvg: Update rsvg code to not use deprecated functions
A few of the functions used in this code have been deprecated in the
latest librsvg. This patch fixes the deprecated warnings by using
possible.

NB: As I am no cairo expert, someone may want to check that the proper
dimensions are used in read_svg_data function. I was not sure if this
should be using the 'scaled' dimensions or not.
2021-09-21 09:35:34 -04:00
Christopher Michael 66dcdf6b70 evas-rsvg: Minor formatting fixes 2021-09-21 08:54:17 -04:00
Shinwoo Kim 2bf995efa1 evas_map: use source size for uv instead of proxy size
Summary:
Usually application sets uv point value using proxy object size.
if source object is bigger than proxy object, then only part of
source image is used for map, and it leads to unexpected result.

This patch is solving this problem make map use source object size
instead of proxy object size by comparing both size.

Test Plan:
[Samle Code]
{F4606414}

[Sample Image]
{F4606413}

[Before apply map]
{F4606418}

[After apply map WITHOUT patch]
{F4606416}

[After apply map WITH patch]
{F4606417}

Reviewers: raster, Hermet

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12292
2021-09-20 10:11:11 +01:00
Carsten Haitzler 7d434bdcc0 elm theme - more cc 2021-09-17 00:47:30 +01:00
Carsten Haitzler 57328b0228 elm theme - more cc 2021-09-17 00:32:34 +01:00
Carsten Haitzler 6150f0e0b1 elm theme - more cc 2021-09-17 00:25:41 +01:00
Carsten Haitzler c36d61729c elm theme - more cc work 2021-09-14 17:49:38 +01:00
Carsten Haitzler 20a9c060eb elm theme - more cc 2021-09-07 20:28:25 +01:00
Carsten Haitzler 834b2288fc elm theme - more cc 2021-09-07 20:19:18 +01:00
Carsten Haitzler 9c658596e1 elm theme - more cc 2021-09-07 20:14:04 +01:00
Carsten Haitzler 51bb2f48e1 elm theme - more cc 2021-09-07 20:13:21 +01:00
Carsten Haitzler 16e3d3a8c4 elm theme - more cc 2021-09-07 20:05:35 +01:00
Carsten Haitzler 70054c3392 elm theme - cc procstats 2021-09-07 19:53:11 +01:00
Carsten Haitzler daa7b6c7e1 elm theme - add procstats mini border gadget 2021-09-07 14:05:21 +01:00
Carsten Haitzler 6c084b19b0 evas - gl x11 - dont crearte eglimage multiple times in same frame
if we're rendering in multiple scissor regions/updates - dont create
the eglimage multiple times for each bind+pass - only once for that
frame.
2021-09-06 13:29:31 +01:00
Carsten Haitzler 11e82fd7f4 eo - make no_anon EO_API for test suite 2021-09-06 12:09:05 +01:00
Carsten Haitzler 14946e9cf4 efl mem - every mmap anon - allow envv ar to turn it off to be malloc
helps with memory debug to use libc mallocs/callocs etc.
set EFL_NO_MMAP_ANON env var to anything to stop anon mmaps
2021-09-06 10:05:15 +01:00
Alastair Poole ab02b4fa46 code: add simple shell syntax highlighting. 2021-09-06 09:39:01 +01:00
Carsten Haitzler aa96bf5987 elm - map widget - empty out and clean out code and tests - broken
elm map has been broken for a long time now sue to upstream web api
changes/breaks made by openstreetmaps. this isn't sustainable to have
code do this. since it's broken there is little point keeping code for
something that is totally non-functional, so reduce code, document it
as broken and remove tests. at least symbols remain so no missing
symbols and code using it will end up with an empty non-functional
widget (much like they would without these changes anyway).

@feat
2021-09-05 11:47:22 +01:00
Vincent Torri 03dae0a900 Elm Config: adapt elm_config scale on HiDPI devices on Windows
Summary: with HiDPI monitor (like 4k ones), the size of the windows are upsized with the Windows algo. The result leads to blocky font rendering for exemple. Set the scale in elm_config according to the values of the scale.

Test Plan: elm test with a text

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12290
2021-09-05 09:11:59 +01:00
Carsten Haitzler 724b1aa560 evas - gl - ensure surfaces are 0 when destroyed
easier on debugging when we know that we destroyed them already
2021-09-05 00:35:24 +01:00
Carsten Haitzler 66f95b7637 elm theme - more cc work 2021-09-03 19:54:02 +01:00
Carsten Haitzler 3ec33f5d6c elm theme - more cc - this is rough and ugly as its useless 2021-09-03 19:13:12 +01:00
Carsten Haitzler 12f594cd26 elm theme - more cc 2021-09-03 18:31:45 +01:00
Carsten Haitzler 8bd9795993 elm theme - more cc 2021-09-03 18:06:06 +01:00
Vincent Torri 71f7d01b6c Evil: improve timer resolution of timers and waiters
Test Plan: running the efl since several months without problem

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12289
2021-09-03 09:10:07 +01:00
Carsten Haitzler f8b262037f ecore-x - add force refresh call to randr api 2021-09-03 09:09:53 +01:00
Ali Alzyod 5f419d5b5f fix if state formatting 2021-08-30 21:19:14 +03:00
Ali Alzyod 3a5d04b125 Content Fit Enhancment
Summary:
Allow user to get currently used font size when Text Fitting is enabled.

previously, the user can not know what is current font size, he only specifies font size ranges, and the algorithm internally decides suitable font size.
with this change, the user has the ability to know the font size, that the fitting algorithm has picked

Reviewers: raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12288
2021-08-30 21:13:38 +03:00
Carsten Haitzler dfd0bafdcc elm theme - more cc 2021-08-29 13:05:41 +01:00
Carsten Haitzler 484a07d545 elm theme - more cc 2021-08-29 12:44:14 +01:00
Carsten Haitzler ef6dc3c2ba elm theme - more cc 2021-08-29 12:00:50 +01:00
Carsten Haitzler 5e957ce806 elm theme - more cc 2021-08-29 11:41:58 +01:00
Carsten Haitzler f2510d4a08 elm theme - more cc work - now 70 percent done 2021-08-17 18:57:08 +01:00
Carsten Haitzler e1052fab4c elm theme - more cc 2021-08-17 18:50:36 +01:00
Carsten Haitzler 9eaa5ceca0 elm theme - more cc 2021-08-17 18:45:39 +01:00
Carsten Haitzler fd63d07fb9 elm theme - more cc 2021-08-17 18:21:35 +01:00
Carsten Haitzler f123f057a7 elm theme - more cc work 2021-08-17 18:05:05 +01:00
Carsten Haitzler bb01e601fe elm theme - fix cc for gadman move 2021-08-17 15:06:33 +01:00
Carsten Haitzler 6e692decf7 elm theme - more cc fixing 2021-08-17 13:55:01 +01:00
Carsten Haitzler ebf4b945d6 elm theme - more cc 2021-08-16 16:58:38 +01:00
Carsten Haitzler 5a12ceaa7d edje cc lookup - fix to proper path fallback - mis-lookups fixed 2021-08-16 11:48:41 +01:00
Carsten Haitzler 9ef86222c8 elm theme - more cc 2021-08-14 21:33:04 +01:00
Carsten Haitzler a931374ca5 efl ui focus - unbork focus from noise fix previous commit 2021-08-13 17:31:52 +01:00
Carsten Haitzler 324e74427c elm focus stuff - just handle corner cases during tree deletes quietly
like if parent is null in the process of a tree deletion etc....
2021-08-11 15:35:44 +01:00
Carsten Haitzler bace9d9ee7 elm theme - use coarse colon based cc's now 2021-08-09 19:05:01 +01:00
Carsten Haitzler 4596fdd375 elm - config - support coarse palette entires with colon 2021-08-09 19:04:53 +01:00
Carsten Haitzler 276513f58b edje - fix up colorclass lookups to always be recrusvie now 2021-08-09 19:04:53 +01:00
Carsten Haitzler a5c7c65658 edje - we can't rely on string ptr coming from eet file anymore... 2021-08-09 18:22:06 +01:00
Carsten Haitzler 0a3a28525c pdf loader - also handle non-small letter extns 2021-08-09 08:20:23 +01:00
Carsten Haitzler abd6947e8b elm theme - more cc 2021-08-08 17:30:45 +01:00
Carsten Haitzler 0b596ea6e8 elm theme - more cc 2021-08-08 17:27:30 +01:00
Carsten Haitzler 76e61a701c elm theme - more cc 2021-08-08 17:18:18 +01:00
Carsten Haitzler aeb78842df elm theme - more cc work 2021-08-08 17:04:19 +01:00
Carsten Haitzler bfe0d5b09a elm theme - more cc 2021-08-08 16:25:38 +01:00
Carsten Haitzler 4734726a61 elm theme - more cc 2021-08-08 16:12:48 +01:00
Carsten Haitzler 3cbf40c48b elm theme - more cc 2021-08-08 15:49:01 +01:00
Carsten Haitzler f8d9fe7a66 elm theme - more cc 2021-08-08 15:28:28 +01:00
Carsten Haitzler 36ae2aa85b elm theme - more cc 2021-08-08 15:08:44 +01:00
Carsten Haitzler a43d38a426 elm theme - more cc 2021-08-08 00:29:05 +01:00
Carsten Haitzler 12ef80292e elm theme - more cc 2021-08-08 00:23:31 +01:00
Carsten Haitzler 2b41ee338a elm theme - more cc 2021-08-08 00:17:21 +01:00
Carsten Haitzler 435bd5175e elm theme - more cc 2021-08-08 00:16:14 +01:00
Carsten Haitzler 648bbf8b37 elm theme - more cc 2021-08-08 00:13:22 +01:00
Carsten Haitzler e2a767f7ca elm theme - more cc 2021-08-07 23:51:19 +01:00
Carsten Haitzler 3055824548 elm theme - more cc 2021-08-07 23:50:00 +01:00
Vincent Torri 5f768eb1eb RADME: Update Windows status
Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12287
2021-08-06 08:40:24 +01:00
Carsten Haitzler 671fb7ee5f elm theme - more cc 2021-07-30 16:33:27 +01:00
Carsten Haitzler e5e9be1e85 elm theme - more cc work 2021-07-30 15:03:53 +01:00
Carsten Haitzler d109e1a057 elm theme - more cc work 2021-07-30 11:51:11 +01:00
Carsten Haitzler 2efabb074b elm theme - more cc 2021-07-29 21:58:49 +01:00
Carsten Haitzler cd6e9f3e56 elm theme - more cc work 2021-07-29 00:09:10 +01:00
Carsten Haitzler 001a153791 elm theme - more cc 2021-07-29 00:09:10 +01:00
Shinwoo Kim e9a73c5b81 evas gl: bind texture with external target for map
Summary:
egl images created using tbm surface for native surface set use
GL_TEXTURE_EXTERNA_OES as texture target, so we should bind to
this target when rendering. Or there is a GL_INVALID_OPERATION
error on glBindTexture in function _orig_shader_array_flush.

Thia patch follows logic of following commit;

7db0e20 evas/gl: Bind texture with external target for tbm surface

Reviewers: Hermet, raster, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12286
2021-07-28 14:48:46 +09:00
Carsten Haitzler a5a3521729 elm theme - add lock and unlock icons 2021-07-21 11:07:37 +01:00
Carsten Haitzler b8004542bd elm theme - more cc fixing 2021-07-18 03:01:13 +01:00
Carsten Haitzler d1ce5d5dd0 talk about confs/
make that compile and install more std in readme
2021-07-18 01:42:52 +01:00
Carsten Haitzler 329266937a elm theme - fix fprint icon to be recolored right 2021-07-17 23:12:21 +01:00
Carsten Haitzler be505919e4 elm theme - more cc work 2021-07-15 19:56:45 +01:00
Marcel Hollerbach 34e4e110a2 eldbus: fix to dbus_name_to_c method
"-" in names should be converted to _
2021-07-14 15:28:59 +02:00
Marcel Hollerbach bad5440b2b Revert "eldbus: do not generate method names with - in name"
This reverts commit 364cc9dcba.

Not for master yet
2021-07-14 15:12:11 +02:00
Marcel Hollerbach 364cc9dcba eldbus: do not generate method names with - in name 2021-07-14 15:03:57 +02:00
Carsten Haitzler d6a896ef96 elm theme - more cc 2021-07-08 14:02:33 +01:00
Carsten Haitzler 53801eb1b8 elm theme - more cc work 2021-07-08 13:28:43 +01:00
Carsten Haitzler 33a5a94e4c elm theme - more cc work 2021-07-08 11:08:17 +01:00
Carsten Haitzler f370184d04 elm theme - more cc work 2021-07-07 00:57:48 +01:00
Carsten Haitzler 24a17ee963 evas - tga - remove errant printf 2021-07-05 16:01:37 +01:00
Hermet Park afba465735 ecore_wl2: prevent invalid timer if the input is invalid.
Summary:
It is non-sense that running timer even if the input/timer is invalid.
Stop the timer to prevent invalid key down repeating.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12285
2021-07-05 18:10:02 +09:00
Carsten Haitzler a651cbe1a7 elm theme - support fingerprint status in desklock 2021-07-02 13:25:42 +01:00
Carsten Haitzler 1977964072 elm theme - add lock and unlock e icons 2021-07-01 16:47:54 +01:00
Carsten Haitzler 8f0ba01374 elm theme - more cc work 2021-06-30 18:02:04 +01:00
Carsten Haitzler b703469f76 elm theme - fix old e raidos ... 2021-06-29 20:01:23 +01:00
Carsten Haitzler 90f32f77ff elm theme - more cc 2021-06-29 19:57:33 +01:00
Carsten Haitzler c8947b5778 elm theme - more cc work 2021-06-29 18:42:19 +01:00
Carsten Haitzler 62000272b2 elm theme - more cc 2021-06-29 18:20:02 +01:00
Carsten Haitzler 5f2cd0e875 elm theme - more cc 2021-06-28 18:51:21 +01:00
Carsten Haitzler 59b4732444 elm theme - more cc 2021-06-28 18:51:21 +01:00
Christopher Michael 868a5c28ff exactness: Make sure image valid before usage....
dh
2021-06-28 00:14:49 -04:00
Carsten Haitzler ffc6c33dd8 elm theme - more cc work 2021-06-27 19:09:12 +01:00
Carsten Haitzler e1a117e0d4 elm theme - more cc work 2021-06-27 19:08:13 +01:00
Carsten Haitzler 89993e39ff elm theme - more cc work 2021-06-27 18:18:46 +01:00
Carsten Haitzler 10282241f8 elm theme - more cc 2021-06-27 17:19:58 +01:00
Carsten Haitzler 0c67b70d15 elm theme - more cc polishing 2021-06-27 10:13:51 +01:00
Carsten Haitzler 4ab074c468 elm theme - cc work 2021-06-27 08:59:46 +01:00
Carsten Haitzler 74da29321c ecore evas - fix leake and possile seg i added in cnp paste fix
previous commit fixed a bug but added this possible one. this fixes
that.
2021-06-26 22:47:31 +01:00
Carsten Haitzler b8be127171 ecore evas - cnp - look for exact mime matches before conversions
fixes chrome -> efl copy and paste.

@fix
2021-06-26 21:40:10 +01:00
Carsten Haitzler 53c67c83bd elm theme - try a new intro sample 2021-06-26 20:02:10 +01:00
Carsten Haitzler 8e6376c035 elm theme - more cc work 2021-06-26 01:05:28 +01:00
Carsten Haitzler 047a9a9589 elm theme - more cc work 2021-06-26 00:54:52 +01:00
Carsten Haitzler d7e64acc21 elm theme - more cc work 2021-06-22 10:16:55 +01:00
Carsten Haitzler c491066178 elm theme - more cc 2021-06-20 12:29:55 +01:00
Carsten Haitzler 7bce24743b elm theme - more cc 2021-06-18 18:39:56 +01:00
Carsten Haitzler fe52ef19af elm theme - more cc 2021-06-18 18:24:04 +01:00
junsu choi fe60e94007 evas_vg_load_svg: Fix color parsing
Summary:
Remove unnecessary point movement in rgb(255, 255, 255) case in svg parsing.
In svg parsing, move the pointer by 'rgb(' before calling
_color_parser() in the rgb(255, 255, 255) case.
In function, string pointer moved unnecessary, so parsing is incorrect.
Therefore, remove unnecessary point movement.

Test Plan:
svg sample code
```
<svg xmlns:svg="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
  <path d="M 0 0 h 200 v 200 z" style="fill:rgb(255, 155, 55);"/>
</svg>
```

before
{F4504779}

after
{F4504778}

Reviewers: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12284
2021-06-18 10:24:58 +01:00
Carsten Haitzler 7a26c09309 elm theme - more cc work 2021-06-17 21:09:30 +01:00
Carsten Haitzler 65a021dc6a elm theme - more cc 2021-06-17 21:08:22 +01:00
Carsten Haitzler 21f641d9a1 elm theme - more cc's 2021-06-17 20:54:32 +01:00
Carsten Haitzler dc621dc6ca elm theme - more cc 2021-06-16 20:00:21 +01:00
Carsten Haitzler 7fcf5a4f17 elm theme - more cc 2021-06-16 17:34:22 +01:00
Carsten Haitzler c1ffc96970 elm - theme - more cc 2021-06-09 19:23:41 +01:00
Carsten Haitzler 9553b167be elm theme - more cc 2021-06-07 19:03:38 +01:00
Carsten Haitzler f73f03ed07 elm theme - more cc 2021-06-07 19:02:14 +01:00
Carsten Haitzler 01b08c7a0a elm theme - more cc 2021-06-07 18:51:18 +01:00
Carsten Haitzler f4734ac989 ecore-x - flag move events in more cases 2021-06-06 21:59:33 +01:00
Carsten Haitzler c493765702 ecore - fix name/ref for source of fix analysis etc. 2021-06-05 20:41:06 +01:00
Carsten Haitzler 51344cb21a elm theme - fix warning in theme due to cc work 2021-06-04 12:29:22 +01:00
Carsten Haitzler 4f5b1b2fad ecore - mainloop - select - increase max set size and check fd if over
if fd's exceed max set size then things will ... god bad. how - ...
depends on the OS but at least report that there is an issue.
2021-06-04 12:29:22 +01:00
Carsten Haitzler ac1460dab3 elm theme - more cc work 2021-06-04 12:29:22 +01:00
Carsten Haitzler 221b8075de scroller - limit wheel accel a bit to something saner 2021-06-04 12:29:22 +01:00
Shinwoo Kim 45aeaa6750 atspi: add atspi bridge ready event
Summary:
calling elm_init does not guarantee of readiness of atspi bridge
even though elm_init is calling _elm_atspi_bridge_init.
widget or user could want to know when the atspi bridge is ready.

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12283
2021-06-04 20:20:14 +09:00
Shinwoo Kim bc48081c93 atspi: move duplicated code in one place
Summary: we do not have to change several place for updating.

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12282
2021-06-03 12:48:41 +09:00
Carsten Haitzler 6fb139f5f1 elm theme - more cc work 2021-06-01 10:07:18 +01:00
Carsten Haitzler c550b16c3a elm theme - more cc's 2021-05-31 12:23:16 +01:00
josef radinger 6b38c62314 fix typo
Summary: just a small typo

Test Plan: -

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12281
2021-05-30 20:43:41 +01:00
maxerba 8128581751 Updating french translation 2021-05-28 10:32:02 +02:00
maxerba 0300853282 Updating Potfiles.in 2021-05-28 10:29:52 +02:00
Carsten Haitzler 96f10ecba0 elm theme - more cc work 2021-05-26 19:18:02 +01:00
Carsten Haitzler 0083affabc elm theme - cc work 2021-05-26 17:49:23 +01:00
Carsten Haitzler 39b48ca430 Revert "fix warnings about redefinting EWAPI etc. due to windows EAPI changes"
This reverts commit e2d6691d52.
This reverts commit c02b796fdb.
This reverts commit 6c969f6b7d.
This reverts commit 74204bccd7.
This reverts commit 1304d95717.
This reverts commit 7c85be9674.

revert the EAPI changes that break cxx bindings build. sorry :( more
fixes needed than i thought
2021-05-26 15:46:25 +01:00
Carsten Haitzler 26ea0eaac2 embryo - embryo_cc - one more warning bites the dust 2021-05-26 13:50:07 +01:00
Carsten Haitzler 0dab01b44d embryo - embryo_cc - silence some new gcc warnings - try 2
all warnings bar 1 fixed. my manual strncpy seems ot have an issue -
commented out.
2021-05-26 04:42:22 +01:00
Carsten Haitzler e9fcaa7339 Revert "embryo - embryo_cc - silence some new gcc warnings"
This reverts commit f4ff12406c.

hmm - it seems this warning silencing didn't work. revisit...
2021-05-26 04:40:09 +01:00
Carsten Haitzler f4ff12406c embryo - embryo_cc - silence some new gcc warnings
lets us focus on real errors in warnings if we have silence
2021-05-26 04:33:54 +01:00
Carsten Haitzler 11e4cad03e eina file - expand buf a bit to silence warning about data beyond buffer 2021-05-26 03:48:31 +01:00
Carsten Haitzler 43b41f2383 emile - disable warnings when they are wrong ifor new buffers
emile in these 2 cases allocates an empty uninitilised buffer that
will then be filled - gcc thinks we're passing uninit data to a func -
which is right but intended as it is later filled. disable this
warning for these segments of code.
2021-05-26 03:43:31 +01:00
Carsten Haitzler d6005e9df8 emile - dont check return of alloca as it is not defined to fail 2021-05-26 03:43:31 +01:00
Carsten Haitzler eaf41e2223 elm - efl ui calendar - fix buffer truncate warning 2021-05-26 03:43:31 +01:00
Carsten Haitzler a6d0adccad elm - fix buffer truncate warning in elm calendar 2021-05-26 03:43:31 +01:00
Carsten Haitzler 36458db9dd elm theme - more cc work 2021-05-26 03:43:15 +01:00
Carsten Haitzler 434fddacdb elm theme - more cc 2021-05-26 03:43:15 +01:00
Carsten Haitzler 630f887657 elm theme - more cc work 2021-05-26 03:43:15 +01:00
Ali Alzyod a083a3fa7d update documentation for content fit 2021-05-25 03:13:30 +03:00
Shinwoo Kim 66c5729494 eeze: remove memory leak
Summary: udev_enumerate_new needs to call udev_enumerate_unref before leaving.

Reviewers: raster, Hermet, herb, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12280
2021-05-24 19:48:43 +09:00
Taehyub Kim 25aced168a gif loader: show the current frame image if getting row is failed
Summary:
Change-Id: I17c79f89550e9a758a532babd55826b3c7ad2810

To show gif animation smoothly, we keep the current frame even if getting line is failed.
Currently,  the frame image will be freed if getting gif line is failed and this makes the frame drop.

Reviewers: Hermet, kimcinoo, raster

Reviewed By: raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12277
2021-05-24 19:48:22 +09:00
Jaehyun Cho 3db14bf8dd eet: initialize descriptor class' func.type_get and func.type_set
Summary:
Descriptor class' func.type_get and func.type_set are initialized with
NULL.

Change-Id: I94526c2421c1fa2924a705cd2341130905df1da0

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12279
2021-05-24 17:50:04 +09:00
Carsten Haitzler e2d6691d52 fix warnings about redefinting EWAPI etc. due to windows EAPI changes 2021-05-23 20:47:23 +01:00
Felipe Magno de Almeida c02b796fdb elementary: Add EOAPI definition in Elementary to allow removal in other libraries
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

=  The Rationale =

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
EAPI is the only solution that worked for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: vtorri, raster

Reviewed By: raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12273
2021-05-23 20:47:23 +01:00
Felipe Magno de Almeida 6c969f6b7d edje: Add weak symbol
Summary:
The symbols will be needed when we change how Eolian generates
import/export symbols in Eio

Reviewers: vtorri, raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12272
2021-05-23 20:47:23 +01:00
Felipe Magno de Almeida 74204bccd7 ecore: Rename EAPI macro to ECORE_API in Ecore library
Summary:
=  The Rationale =

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
EAPI is the only solution that worked for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: vtorri, raster

Reviewed By: raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12271
2021-05-23 20:47:23 +01:00
Felipe Magno de Almeida 1304d95717 eldbus: Rename EAPI macro to ELDBUS_API in Eldbus library
Summary:
=  The Rationale =

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
EAPI is the only solution that worked for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: vtorri, raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12270
2021-05-23 20:47:13 +01:00
Felipe Magno de Almeida 7c85be9674 efl: Rename EAPI macro to EFL_API in Efl sub-library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

=  The Rationale =

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
EAPI is the only solution that worked for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: vtorri, raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12274
2021-05-23 20:47:03 +01:00
Ali Alzyod a129ea3bc0 TextBlock: Fix content Fit with Markup-font-size
Summary:
This patch fixes wrong behavior for text block content fit when markup contains a part with specified font sizes (these parts will not be fitted by content fit algorithm).

+ THIS STILL NEED TEST TO BE ADDED

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12275
2021-05-23 19:54:20 +01:00
Carsten Haitzler 47b0fc1384 elm theme - more cc's 2021-05-21 13:14:57 +01:00
maxerba 4e20d09570 updating french and italian translations 2021-05-19 14:24:16 +02:00
Carsten Haitzler 9294568e4c evas - evas_all_sync - only inc loop/retry counter if not advancing 2021-05-19 11:01:38 +01:00
Carsten Haitzler 6f5cc5f614 evas render - fix all sync - inverse while loop logic
fix prev commit
2021-05-18 22:55:15 +01:00
Alastair Poole 01f4e44fde egl: silence warning of deprecated feature test. 2021-05-18 16:34:44 +01:00
Carsten Haitzler 4e8bd36ce8 evas all sync - put a limit on loops and loop while rendering still 2021-05-18 15:10:43 +01:00
Carsten Haitzler 14d6d85ca3 elm theme - pager popup - scale 2021-05-18 13:42:07 +01:00
Carsten Haitzler 01123ab654 elm theme - fix dialog text cc - wrong name 2021-05-17 15:55:17 +01:00
Carsten Haitzler 6c4fc5bc8d elm theme - more cc's 2021-05-15 13:39:29 +01:00
Carsten Haitzler d07ddb74db elm theme - more cc work 2021-05-15 11:26:11 +01:00
Carsten Haitzler f3bec3dc42 elm theme - elm entry - colorclass me up baby... 2021-05-15 11:01:24 +01:00
Carsten Haitzler a7c8ec2a56 elm theme - cc's for mono icons 2021-05-15 10:32:52 +01:00
Carsten Haitzler 2920834a3d elm theme - csd shadow - mirror ssd shadow colorclasses 2021-05-15 10:27:58 +01:00
Carsten Haitzler fe11ac1e92 elm theme - do cc's for border 2021-05-14 19:18:06 +01:00
Carsten Haitzler 09517aa03b ecore - animator - remove some DBG lines to keep leaner 2021-05-13 11:14:06 +01:00
Carsten Haitzler f3682a34f7 ecore - animator - found some truly messed up behavior inside vbox...
add debug/error detection for the animator thread that might just sit
ans sleep waiting on epoll_wait + timerfd to expire... and it doesn't.
it SHOULD expire in less than 1 ft (frame time eg 16.66666667ms). but
i'm seeing it sometimes take 4 or 6 or 8 SECONDS to have epoll_wait
wake up... even thought i now set epoll_wait to always expire in 200ms
no matter what... even that it doesn't honor. something truly messed
up is happening with scheduling and i think this cascades through
everything - i see evas doing eglSwapBuffers() with nothing appearing
in the vbox screen... truly messed up. at least this adds some rror
detection for this and is at least a warning to a user that something
is messed up.
2021-05-13 01:00:06 +01:00
Carsten Haitzler 75fe29b1f5 ecore - fix other ifdef path for debug malinfo 2021-05-12 22:31:22 +01:00
Carsten Haitzler 3f08cd7156 exactness - fix warnings for casts from 32bit ptr to larger long long 2021-05-12 19:54:55 +01:00
Carsten Haitzler c83b52bab0 ecore - fix 32bit pointer size warnings in debug logs 2021-05-12 19:52:49 +01:00
Carsten Haitzler 600a1767f6 fnmatch - warning remove on arm 2021-05-12 11:08:15 +01:00
Carsten Haitzler cabf08e6de elm config - add palette config and adjust icons in toolbar 2021-05-11 12:20:23 +01:00
Carsten Haitzler 598a2c9328 elm theme - more list cc work 2021-05-10 20:58:55 +01:00
Carsten Haitzler d9484cf293 elm theme - genlist polishin + colorclasses 2021-05-10 19:55:43 +01:00
Carsten Haitzler 53e64a9967 el, theme - genlist - fix compress mode 2021-05-10 18:23:26 +01:00
Carsten Haitzler eae18be54a evas vg - don't make bounds 0 sized ... which leads to no rendering
@fix
2021-05-10 12:22:26 +01:00
Carsten Haitzler b159df022a elm theme - more colorclasses 2021-05-09 20:24:48 +01:00
Carsten Haitzler ba64f5e8a1 elm theme - more color classes 2021-05-09 20:23:07 +01:00
Carsten Haitzler 87f8156ef2 elm theme - fix shadow border scale to match image 2021-05-08 13:15:37 +01:00
Carsten Haitzler bd16e7d903 elm theme - colorsel - fine tuning 2021-05-07 14:25:12 +01:00
Carsten Haitzler bd1656ed48 elm theme - add add and sub icons 2021-05-07 14:25:12 +01:00
Carsten Haitzler 4e70c3f358 elm config - replace old colorclass systme with newer pallete one
the old one was a bit... rough. the new one relies on the new fallback
to parent classes in edje to simplify colorclasses and can now apply
immediately. i've started on a palette editor gui - and it works
relatively well and applies live as you slide colors around. it looks
vaguely good too. i don't thnk we should hsave a widget to do this as
it's probably too much in elementary (the lib) that is far too niche
in use.
2021-05-07 14:25:12 +01:00
Carsten Haitzler 64e02a0413 elm theme - do more colorclasses 2021-05-07 14:25:02 +01:00
Carsten Haitzler e80779d67d elm - config - compress default configs 2021-05-07 00:02:05 +01:00
Carsten Haitzler 8b6e91d8bd elm - add color palette file build with the start of a default palette 2021-05-07 00:02:05 +01:00
Carsten Haitzler 2b91c4d9b8 edje - add new color class apply func to force cc to apply now 2021-05-07 00:02:05 +01:00
Carsten Haitzler 694136e4c8 wayland - update code generate private code and have no warnings 2021-05-07 00:02:05 +01:00
Carsten Haitzler 954c1ea387 exactness player edj - tag for right efl version 2021-05-07 00:02:05 +01:00
Carsten Haitzler 9fab234064 evas - fix seg on setting immage src if invalid obj
@fix
2021-05-05 19:44:34 +01:00
Vincent Torri 032e86f4aa Elementary: include fnmatch.h only on non Windows OS
Summary: Windows has no fnmatch.h, so usage of Elementary on that OS will fail

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12268
2021-05-05 10:22:25 +01:00
Carsten Haitzler 6297159c5d elm - fnmatch - fix typo 2021-05-03 20:54:23 +01:00
Vincent Torri ab2d602ff8 Build: remove fnmatch checks
Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12263
2021-05-03 20:53:41 +01:00
Carsten Haitzler d7f9735a90 eina + elm - add fnmatch.h back for compat 2021-05-03 20:52:37 +01:00
Carsten Haitzler 0509fbe16d evas gl - dont swap with damages if we are debugging partial 2021-05-03 20:43:56 +01:00
Vincent Torri de296b13c8 Eina: use eina_fnmatch() instead of fnmatch()
Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12262
2021-05-03 18:48:24 +01:00
Carsten Haitzler 84e907ef7d evas - image loader - tiff - switch types to avoid deprecated warnings 2021-05-03 18:01:29 +01:00
Carsten Haitzler a3510d5085 evas - saver - tiff - change types to remove deprecated warnings 2021-05-03 17:02:33 +01:00
Carsten Haitzler c855204271 fnmatch - fix warnings coming from original src so less noise 2021-05-03 16:57:52 +01:00
Vincent Torri 3d374692f7 Eina: API addition: interface musl's fnmatch() implementation
Summary: addd musl's fnmatch() implementation to Eina

Test Plan: compilation and simple test case

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12261
2021-05-03 16:26:38 +01:00
Carsten Haitzler f7449d802c elm theme - begin applying colorclasses 2021-04-29 01:05:03 +01:00
Carsten Haitzler 9d457fcc3f edje - color classes totally did nothing in textblock styles
this never worked... the code just was not there to look uop color
classes in text styles and change/replace them. this fixes that. it
implements them. it implements color_class to replace color=xxx but
also supports color=cc:colorclassname (so backing_color=cc:xxx works
too to specify a colorclass for a backing color, and underline and so
on). so now it's implemented and actually works... it can be used.
this SHOULD have alwasy worked... but hey. apoparently not.

@fix
2021-04-28 13:14:34 +01:00
Woochanlee 74832777f4 efl_net_dialer_http: Do curl shutdown in destructor
Summary:
curl_global_init() in efl_net_dialer_http constructor.
curl_global_cleanup() need to call when it destructor.

Without this, module and libcurl internal data are leaking.

Reviewers: Hermet, raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12259
2021-04-28 10:45:26 +01:00
Carsten Haitzler 215e9ca9b3 edje - add color-class fallback for lookups in prep for proper theme cc 2021-04-27 15:25:46 +01:00
maxerba 994f520bfd Updating french translation 2021-04-23 18:16:49 +02:00
Alastair Poole d10b1fcfc3 scripts: OpenBSD Build Helper Script.
As per recent changes.
2021-04-23 11:44:12 +01:00
Carsten Haitzler 492a310840 elm theme - combobox - make dropdown event area obvious 2021-04-22 11:21:49 +01:00
Carsten Haitzler 39b2486418 elm - win - dont report override windows that are shown as withdrawn 2021-04-21 03:37:26 +01:00
Carsten Haitzler 42f3b49d05 elm win - fix eval to not be delayed after shows and state changes
this allows insgtant response to being de-iconified which mean instant
beginniung of rendering. we should enable this by default too so
modify config to do just that.

this basically means if a window is iconified, efl will not render to
it to save power/effort. it'll start again when it de-iconifies
2021-04-20 18:55:17 +01:00
Carsten Haitzler 7f02c57092 elm theme - add clock freeze/thaw support 2021-04-20 10:16:51 +01:00
Carsten Haitzler 0f6ff82d2a elm - frame - add new styles to docs 2021-04-18 20:42:12 +01:00
Carsten Haitzler 54c120db7a elm test - add cbs to other border style 2021-04-18 20:38:30 +01:00
Carsten Haitzler 301bd78a19 elm theme - emit right signal for frame close 2021-04-18 20:20:36 +01:00
Carsten Haitzler 5f89819782 elm theme - fix e slider theme vert to scale 2021-04-18 13:19:57 +01:00
Carsten Haitzler 7878d3624c confs - we dont need theser anymore as system/elogind are runtime
efl runtiem detects elgoind vs systemd vs nothing at runtime - no need
for build options anymore
2021-04-18 12:10:24 +01:00
Jérémy Zurcher 0018f2093f fix modules/ecore_evas/engines/wayland compilation
broken after introduction of EMODAPI by a33138
Differential Revision: https://phab.enlightenment.org/D1222
2021-04-18 08:21:23 +02:00
Carsten Haitzler 7c16765e1b elm frame - add more styles (icon, border and overlay variants)
this shoulpd have been day 0, but now add new styles that add an
elm.swallow.icon spot for an icon in the frame and a style that looks
like a border (also with icon as borders have them) and a close button
too. overlay variants are for overlaying so might be semi-transparent
2021-04-18 00:59:09 +01:00
Carsten Haitzler 6a657acf13 elm theme - add icon 2021-04-18 00:59:09 +01:00
Felipe Magno de Almeida a331384eed modules: Rename EAPI macro to MODAPI for modules
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

=  The Rationale =

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
EAPI is the only solution that worked for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: vtorri, jptiz, woohyun, lucas, SPAM-smith78899

Reviewed By: vtorri, SPAM-smith78899

Subscribers: SPAM-smith78899, raster, SPAM-cabanacatalogs, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12228
2021-04-17 16:07:56 -03:00
Wander Lairson Costa 65d528a379 Implement eina_thread for native windows
Summary:
eina: Implement Eina_Thread for native windows

The implementation design respects the fact that Eina_Thread is an
uintptr_t. Thus we allocate the thread struct in the heap and return a
pointer to it.

As such, we store the created thread structure in the target thread
TLS slot. For threads that were not created through eina API, in
eina_thread_self we allocate a new structure, push it to the TLS slot
and mark it to be freed on thread exit.

Reviewers: jptiz, vtorri, cedric, walac

Reviewed By: jptiz, cedric

Subscribers: raster, cedric, #reviewers, #committers, lucas

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12037
2021-04-17 16:00:32 -03:00
Vincent Torri 287834b0da Fix TIFF file signature in big endian
Summary: see https://www.adobe.io/content/dam/udp/en/open/standards/tiff/TIFF6.pdf page 13

Reviewers: raster, bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12258
2021-04-17 10:59:14 +01:00
Carsten Haitzler 4263c08760 evas gl - drm - native bind - handle null eglimage create on bind
this can happen if dmabuf is invalid (already destroyed) so handle
this so evas knows and falls back to rendering a rect and complains to
stderr so we know

@fix
2021-04-16 03:15:31 +00:00
Carsten Haitzler 5b17444313 edje - edje_cc - add no warning for unused images and use it
a test edje has lots of unused images - it's not important so silence
warnings.
2021-04-16 04:09:06 +01:00
Carsten Haitzler aef36c6e5b edje_cc - dont try strip images that are unused at all
my previous disable didnt disable all the unused image stripping. this
now does. this code is buggy especially with image sets, to remove it
and let the warnings to the job for those compiling themes.
2021-04-16 03:54:53 +01:00
Carsten Haitzler 0c0d2c33bc elm theme - add orig svg icon used for e mods 2021-04-14 23:27:41 +01:00
Carsten Haitzler a0301c298b Revert "meson - subprojects missed eeze as dep for elput"
This reverts commit 84f596c83b.

actually deps is for includes only for installed headers - so revert.
as eeze is internal only to elput.
2021-04-12 12:18:48 +01:00
Carsten Haitzler 84f596c83b meson - subprojects missed eeze as dep for elput 2021-04-12 11:13:00 +01:00
Carsten Haitzler 7ea786d7df elm theme - add gradient bg's 2021-04-10 21:53:35 +01:00
Carsten Haitzler 7d0715ca77 elm theme - bg - add stripe and check std bg's 2021-04-10 19:53:22 +01:00
Carsten Haitzler 9c6469d974 elm theme - some more original svgs used for e modules - handy in flat 2021-04-10 18:34:15 +01:00
Carsten Haitzler 71024f30e2 elm theme - redo zoom icons to work better at small sizes 2021-04-10 18:31:27 +01:00
Carsten Haitzler 4a080fc315 elm theme - add sub icon in addition to add 2021-04-10 17:31:35 +01:00
Carsten Haitzler 220992f85c elm theme - make about dialogs scale more nicely - also match buttons 2021-04-10 12:41:07 +01:00
Marcel Hollerbach be9e83e0db eina_promise: do not self feedback when canceling
when canceling a all_promise it will cancel all futures. When that
happens, and one future is containing a promise, the value is unrolled,
and delivered as "Operation canceled" if this is happening to the last
future in all or any in race, the promise will then free its base ctx
which is already happening due to canceling.

With this this is not happening anymore.
2021-04-10 13:11:07 +02:00
Marcel Hollerbach 65dd51b1a4 efl_io_model: initialize memory
or this is causing trouble
2021-04-10 13:11:07 +02:00
Marcel Hollerbach 1ef48e2f44 efl_io_model: do not self reference, this is dangerous
what happened here is that people passed private data with a reference
to the object. Which is kind of a bad idea, as in some unthought of
conditions, events are forgot, which results in freeed memory beeing
accessed. This way its at least a error.
2021-04-10 13:11:07 +02:00
Marcel Hollerbach 0dc949709f elm_genlist: ensure item is not deleted while beeing processed
the downside of doing things like genlist is doing, is that a object can
be deleted, due to the fact that the processing call does not have a eo
call in its stack trace, the object is not reffed at all. Hence it
simply gets deleted in the middle of beeing proceded.
With this, this is at least here not happening.
2021-04-10 13:11:07 +02:00
Alastair Poole b02cef69d1 freebsd: eeze support if enabled.
ifr_netmask is not available on FreeBSD. On Linux ifr_addr is
same union.

Peter2121 did this work.
2021-04-10 08:58:38 +01:00
Vincent Torri 77a3b908ed improve heif loader: * efl coding style * faster head callback * faster copy of image data
Summary: and minor fix of some values in avif loader

Test Plan: entice still can read heif

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12257
2021-04-09 21:09:05 +01:00
Carsten Haitzler 012d3cf797 elm theme - sysncon - polish scaling 2021-04-09 13:29:53 +01:00
Carsten Haitzler f63f270a85 elm entry - tune appending to be faster
this is not perfect, but it tuned things to take less time overall but
can be a bit more jerky given massive amounts of text like
warandpeace, but it takes less time to finish an append cycle in the
background for sure. (loading up war and peace goes from 42sec in the
background spinning appending to 3sec in an entry on my overpowered box).
on my oldest x86 box i have sitting here it goes from 95sec to 10sec.
2021-04-09 12:26:46 +01:00
Ali Alzyod b2f61deb37 evas_textblock: update color text parsingUpdate text color parsing for rgba(r, g, b, a) for alpha to be value between 0.0 - 1.0 same as CSS.
Summary: ... spam removed ...

Reviewers: woohyun, bowonryu, id213sin, AbdullehGhujeh, devilhorns

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12248
2021-04-08 02:02:09 +01:00
Carsten Haitzler 69cd4b4188 elm theme - polish theme - add util-term icon for edi elm code cols 2021-04-07 11:33:43 +01:00
Carsten Haitzler bc2ddc85ee elm theme - fix outdent frames and edi match color 2021-04-05 16:28:09 +01:00
Carsten Haitzler b6028cc708 elm - code - fix other colorclass query code path 2021-04-05 13:22:06 +01:00
Carsten Haitzler 5bfae355b0 elm theme - elm code - make selections semi-trans like entry 2021-04-05 13:18:32 +01:00
Carsten Haitzler e971355d26 elm - code - fix color multiplies from querying color classes directly 2021-04-05 13:18:13 +01:00
Carsten Haitzler e65ff7e1e6 evas - gl - optimize dither shader - use integer vecs and go to 2x2
a 2x2 matrix visually here is about as good as 4x4. at least in what i
see, but on low end gpu's it can halve the cost. in fact i was watching the
gpu on my old i5-4200u drop down to 340-410mhz (no dithering is 320-360mhz).
i got to 630-660mhz with the original 4x4 code.

the 4x4 is still there ifdefed out. perhaps i can bring it back with a
high-quality dither option, but 2x3 i think is good enough.
2021-04-04 03:41:40 +01:00
Marcel Hollerbach 0c2cf7e1bf build: enable elput per default
this is now needed by enlightenment in order to support gesture
recognition, even in xorg, hence enabling it per default.
2021-04-03 17:47:52 +02:00
Carsten Haitzler bbf293240f evas gl - add env var to disable dither because some gl's are broken
this adds a

EVAS_GL_RENDER_DISABLE_DITHER=1

env var (set it to anything) to disable dithered rendering.p this is
an added cost, but normally not much at all, but it seems some gl
implementations are broken, and they can't generate correct code for
the dither shader, so this disables this if this env var above is set
2021-04-02 23:28:38 +01:00
Carsten Haitzler a2680bb138 elm theme - fix centering of icon only buttons 2021-04-02 12:33:07 +01:00
Carsten Haitzler 0e97ae043f elm theme - add menu icon (hamburger menu) 2021-04-02 12:16:22 +01:00
Carsten Haitzler 61d816659c elm theme - remove color_classes - preparing to redo them 2021-04-02 01:53:26 +01:00
Carsten Haitzler 638b1a7c9b elm theme - icons - give them a logical min size of ICMIN 2021-04-01 20:42:19 +01:00
Christopher Michael 3d9590231e elput: Fix formatting
NB: No functional changes, just fixing formatting to match the rest of
the library
2021-04-01 14:49:35 -04:00
Carsten Haitzler c4128bd580 elm theme - fix efl ui progress signal handling 2021-04-01 16:56:22 +01:00
Carsten Haitzler 39152ab174 elm theme - fix efl ui progress icon 2021-04-01 16:56:22 +01:00
Marcel Hollerbach 8900c8048c theme: only emit press once
otherwise things go haywire.
2021-04-01 16:59:15 +02:00
Carsten Haitzler f4dc9d24de elm theme - fix fixed warning for radio 2021-04-01 14:55:51 +01:00
Marcel Hollerbach 665d62485b tests: fix efl_ui_suite 2021-04-01 15:22:57 +02:00
Marcel Hollerbach 8493a38876 elput: introduce gesture passing
In order to have that working on Xorg, this requires the libinput group
hack if you are not session leader.
For now this only has swipe bindings, other gestures can follow.
2021-04-01 15:05:51 +02:00
Carsten Haitzler 72f19cc9fa elm theme - fix disabled text style - missing heading 2021-04-01 00:41:44 +01:00
Carsten Haitzler d883a747eb elm theme - fix clip of efm toolbar 2021-03-31 19:03:21 +01:00
Carsten Haitzler 712cf6a2ce elm theme - work on sizing of icons 2021-03-31 18:47:25 +01:00
Carsten Haitzler b90a8a1819 elm theme - add overlay and blank styles for buttons
useful for things like entice
2021-03-31 11:29:33 +01:00
Vincent Torri 769066f606 Evas avif loader: fix segfault when the avif loader tries to load a non avif image
Test Plan: entice is not crashing

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12254
2021-03-31 10:29:50 +01:00
Vincent Torri 15078f757b Evas: add raw image extensions
Summary:
See https://en.wikipedia.org/wiki/Raw_image_format
for the list of the raw extension files

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12253
2021-03-30 21:19:17 +01:00
Carsten Haitzler a878f5f9b4 elm theme - improve mixer svg 2021-03-30 14:52:05 +01:00
Carsten Haitzler ef0df8f441 elm theme - fix hoversel button align to match items 2021-03-30 14:41:45 +01:00
Carsten Haitzler aebedcafdf elm theme - add heading tag 2021-03-30 14:41:39 +01:00
Carsten Haitzler 8dd317ffd8 elm theme - add more icons for more audio devices 2021-03-29 11:34:23 +01:00
Carsten Haitzler db6dc82a41 elm theme - add some more icons for e
speakers and headphones
2021-03-29 01:24:43 +01:00
Carsten Haitzler 6f110a80e4 elm theme - add gadgets icon 2021-03-28 22:51:53 +01:00
Carsten Haitzler ff765e8856 elm theme - add battery e icon 2021-03-28 22:30:11 +01:00
Vincent Torri e52391c585 Avif image loader: add another check to verify that libavif has been built with an AV1 decoder
Summary: libavif can be built without a AV1 decoder. Check this in the image loader

Test Plan: entice

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12252
2021-03-28 21:56:55 +01:00
Carsten Haitzler a2f672455c elm theme - fix svg 2021-03-28 21:56:23 +01:00
Carsten Haitzler f65377db30 elm theme - remove commented out img 2021-03-28 15:31:48 +01:00
Carsten Haitzler 7b246f19ba elm theme - remove more images 2021-03-28 15:28:49 +01:00
Carsten Haitzler d684401fd0 elm theme - remove access image - use rect 2021-03-28 15:14:50 +01:00
Carsten Haitzler f7e83e8f73 elm theme - remove more old images 2021-03-28 15:12:34 +01:00
Carsten Haitzler fe092932da elm - theme - remove more old dark images 2021-03-28 15:08:00 +01:00
Carsten Haitzler ccae27fcbe elm theme - remove more unused images 2021-03-28 14:59:27 +01:00
Carsten Haitzler b5cf6c874c elm - theme - clean up old randr theme design to nuke old images 2021-03-28 14:52:02 +01:00
Carsten Haitzler 9a37e49949 elm - theme - remove ews stuff as now gone and remove images not needed 2021-03-28 14:04:13 +01:00
Carsten Haitzler db081f9648 ecore evas ews - deprecate/remove
it's broken. it doesnt render anything. input is broken. it isn't in
use so it doesnt justify fixing. no one has complained it's brokne
thus proof of it not in use, so proof that it's not needed, so do the
right thing and nuke it to save work

@feat
2021-03-28 13:56:33 +01:00
Carsten Haitzler 0e3a2e6ec7 elm theme - move to usnig same icons and remove unused images 2021-03-28 02:20:24 +01:00
Carsten Haitzler d40e2d8771 elm theme - sys - nuke unused images and be flat 2021-03-28 02:13:18 +01:00
Carsten Haitzler 235d2c9a2f elm theme - use proper icon not png direct 2021-03-28 02:07:55 +01:00
Carsten Haitzler 41407f2516 elm theme - remove unused groups and edc files
bryce is no more and it was experimental so... remove. less stuff to
work on.
2021-03-28 02:03:52 +01:00
Carsten Haitzler 423fd93ef3 elm - theme - fix border move/resize hover info to be fully flat 2021-03-28 00:39:44 +00:00
Carsten Haitzler 75d62f9b92 elm - theme - remove commented out png from about theme 2021-03-28 00:28:05 +00:00
Carsten Haitzler 41143faf57 elm theme - fix dup i-home icon 2021-03-28 00:26:53 +00:00
Carsten Haitzler 56059389e0 elm - theme - comment out icon not used yet for less warnings 2021-03-28 00:22:34 +00:00
Carsten Haitzler c73afd9023 elm - theme - make theme smaller with lz4hc and 91perc qual background 2021-03-28 00:19:56 +00:00
Carsten Haitzler 5687e0e928 exactness - fix build due to removal of files from default theme 2021-03-27 19:21:46 +00:00
Carsten Haitzler 46cdab7050 elm - theme - clean out lots of unused image files 2021-03-27 19:13:51 +00:00
Carsten Haitzler 5f3e662184 elm theme - efl ui tag - fix to be rect part 2021-03-27 18:54:15 +00:00
Carsten Haitzler 0499b6bdf4 elm them - gnelist - remove unused image entries 2021-03-27 18:53:29 +00:00
Carsten Haitzler 93a0ac694e elm theme - tab bar - fix old unused images - rmeove entries 2021-03-27 18:52:26 +00:00
Carsten Haitzler 830ebaf22d elm - theme - remove unused images and fix efl.ui separator 2021-03-27 18:49:45 +00:00
Carsten Haitzler 272adbfbc3 elm - make elm test edje build again - was including default theme stuff 2021-03-27 18:05:29 +00:00
Carsten Haitzler bf4e5b3afa elm theme - remove unused jpegs 2021-03-27 16:31:57 +00:00
Carsten Haitzler f59b5fd0e0 elm theme - move svg's to svg dir as they are src files not in build 2021-03-27 16:29:43 +00:00
Carsten Haitzler 3bad72a824 elm theme - remove edc includes that were removed 2021-03-27 15:07:48 +00:00
Carsten Haitzler 3ed3f82ca5 x 2021-03-27 15:04:33 +00:00
Carsten Haitzler 84c2da2c0f eln - theme - flat theme lands
This is where flat is now good enough to get to master, so ... in it
goes. it needs a lot of cleaning. lots of images no longer used in the
tree. needs wortk on colorclasses and what not. needs polishing for
scaling (much better than old default though). probably needs a
once-over yto ensure things have not been missed.

@feat
2021-03-27 15:02:13 +00:00
Carsten Haitzler cf6b3667c3 evas - gl add export for getting dmabuf formats and modifiers
we need this to do formats and modifiers properly... and this is what
broke on the rpi4 - it started using  interesting formats etc. ... new
feature to support a bug fix in e

@feat
2021-03-26 20:31:27 +00:00
Carsten Haitzler 80140f7724 evas - gl - respect yinvert now as it ... seems to work. 2021-03-26 20:31:06 +00:00
Carsten Haitzler 49ac4121cf elm - efl ui tab - raise the selected tab item obj so we can do tabs
need stacking to relfect tabs if the theme wants to look like tabs...
which is what i am doing with flat.
2021-03-23 21:09:47 +00:00
Carsten Haitzler 5f4524295a efl ui scroller - support signals for up/down/elft/right show/hide 2021-03-21 01:37:20 +00:00
Carsten Haitzler 796e345da1 evas - gl - stop leaking images and never freeing them from cache
the subject says it all

@fix
2021-03-20 21:58:25 +00:00
junsu choi 3666574f88 ector image: Prevents drawing images outside buffer
Summary:
A crash may occur when image size is set larger than buffer.
So, modify boundary of the image drawing the image
so that it does not go out of the buffer.

Test Plan: N/A

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers, kimcinoo

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12251
2021-03-18 17:10:05 +09:00
Hermet Park b9b2b72205 ecore_con: add null check for safety. 2021-03-16 10:28:27 +09:00
Marcel Hollerbach 046c5cd58e eeze_scanner: do not crash
the free logic here was wrong. The udev_device_get_parent results get
automatically unrefed when the original device is deleted.

This caused random segfaults when starting e.
2021-03-15 14:16:34 +01:00
Marcel Hollerbach 3cd6191409 ci: there is no heif 2021-03-14 14:56:08 +01:00
Marcel Hollerbach 5215421570 efl_ui_collection: disable desktop_entry behaviour when in api call
otherwise only the last item would have been selected.
2021-03-14 14:34:14 +01:00
Carsten Haitzler ec52433f3a elm - fix emitting of signals to theme for label existence
@fix
2021-03-12 10:51:14 +00:00
Carsten Haitzler aa7be1a96d evas gl - remove freed gl image from context image list
fix asan memory mis-access

@fix
2021-03-09 16:04:45 +00:00
Alastair Poole d8023529a1 theme: border procstats use swallow.
This is all debatable and "up in the air", but, using a swallow
here is probably better.
2021-03-06 11:05:38 +00:00
Carsten Haitzler 6899bd034c elm conffig - display icons if using elm icon theme
also use different sample icons i think work better
2021-03-04 13:44:30 +00:00
Shinwoo Kim 9da41a50cb evas_object_smart: enhance logic checking clipper visibility
Summary:
If current clipper object is equal to previous clipper object,
then the value of visible (or alpha) is same, because it is same object.

But there is a case that current visible value is different with
previous visible, when clipper object is same.

I added this patch to cover above case to draw childern of map.
See following flow.

  evas_render_mapped
    > if (_evas_render_has_map(obj) && !_evas_render_can_map(obj))
      > if (!changed) changed = evas_object_smart_changed_get(obj);

The evas_object_smart_changed_get returned FALSE, even though
current visible value is different with previous one in the same
clipper object.

Reviewers: raster, Hermet, herb, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12250
2021-03-03 16:44:28 +09:00
Carsten Haitzler 91f07de890 efl ui format - now dont leak and dont double free 2021-03-02 13:20:00 +00:00
Carsten Haitzler 81f962da75 efl ui format - only sety format fun to null if format func free exists 2021-03-02 13:11:35 +00:00
Carsten Haitzler 67acb15a1f elm slider - don't double-free output format. 2021-03-02 12:52:53 +00:00
Christopher Michael 914a85159b ecore_wl2: Remove legacy teamwork stuff
This patch removes the remainder of the Teamwork protocol &
implementation. The module has been removed from Enlightenment for
some time now so there is no need to generate a protocol or have any
legacy code remaining..
2021-03-01 11:22:58 -05:00
Christopher Michael f174e739e1 ecore-evas-wayland: Remove wayland wobbly windows junk
Never worked properly, is unsupported by upstream wayland, and is just
general clutter so let's remove it.
2021-03-01 10:33:31 -05:00
Christopher Michael 350b65fc21 ecore_wl2: Remove wayland wobbly windows stuffs
This cleans up the www mess that never worked properly and is
unsupported with no plans to ever be used
2021-03-01 10:32:08 -05:00
Christopher Michael fbfcb4b309 wayland_protocol: Remove wayland wobbly windows junk
This protocol never fully worked properly, is unsupported & unused,
would never be accepted in upstream wayland, and is just generally
worthless so let's remove it. There are no plans to ever support it...
2021-03-01 10:29:50 -05:00
Christopher Michael 95a88f5a6c eeze_disk: fix potential memory leak
If allocation for disk fails, then we leak memory from previously
called _new_device function.

This patch based on D12223 from akanad (Wonki Kim)

ref D12223
2021-02-25 10:05:26 -05:00
Christopher Michael 691621336a eeze_disk: Remove extra blank lines
NB: No functional changes
2021-02-25 09:57:47 -05:00
Christopher Michael 369f2b3d87 efl_loop: Fix unchecked return value
Small patch to check return value of eina_value_get reported by Coverity

Fixes CID1400919
2021-02-25 09:40:29 -05:00
Christopher Michael 3e5629f125 eio_test_manager: Fix unchecked return value
Small patch to check return value of eina_value_convert reported by
Coverity

Fixes CID1400976
2021-02-25 09:33:42 -05:00
Christopher Michael 359435bed9 eina_promise: Fix unchecked return value
Small patch to check return value of eina_value_get reported by Coverity

Fixes CID1400993
2021-02-25 09:27:15 -05:00
Christopher Michael 0df61dc4fd elm_glview: Fix unchecked return value
Small patch to check return value of evas_gl_make_current reported by
Coverity.

Fixes CID1401018
2021-02-25 09:25:25 -05:00
Christopher Michael 732e622a82 eina_value: Fix unchecked return value
Small patch to check return value of eina_value_type_setup reported by
Coverity

Fixes CID1401023
2021-02-25 09:23:23 -05:00
Christopher Michael 3a07f18294 eldbus_fake_server: Fix unchecked return value
Small patch to check return values of
eldbus_message_iter_arguments_get reported by Coverity.

Fixes CID1401042
2021-02-25 09:18:46 -05:00
Christopher Michael 598b7a1be6 elm_slider: Fix unchecked return value
Small patch to check the return value of eina_value_get reported by
Coverity

Fixes CID1401061
2021-02-25 09:11:17 -05:00
Christopher Michael d70f9484c6 ecore: Update to not use deprecated mallinfo
mallinfo (the structure) and mallinfo (the function) have both been
deprecated in favor of mallinfo2 which has been updated to
handle allocations > 4GB.

This patch updates ecore usage of deprecated mallinfo to use
mallinfo2. If the system does NOT have mallinfo2, then this code will
fallback to using mallinfo.
2021-02-25 08:25:29 -05:00
Christopher Michael c6f20933c6 header_checks: Add check for mallinfo2 2021-02-25 08:25:09 -05:00
Carsten Haitzler 9f142be03c elm - efl ui format - remove leak on format info 2021-02-25 11:18:51 +00:00
Christopher Michael d0288f4730 eina_tests: Fix argument cannot be negative
Coverity reports that 'fd' returned from 'open' here returns a
negative number. Passing a negative number to the 'write' function is
not allowed, so we should change the 'fail_if' checks here to make
sure 'fd' is not negative.

Fixes CID1400940

@fix
2021-02-24 08:00:13 -05:00
Christopher Michael 1842d3997a Revert "ecore: Update to not use deprecated mallinfo"
Reverting this, for now, because some distro's are still not
updated... This should probably use a malloc version check, but I
don't have time this week for a proper fix...

This reverts commit 17137316ee.
2021-02-17 10:53:15 -05:00
Shinwoo Kim ccf77acc22 eeze: fix a potention memory leak
Summary:
if udev device get parents fails, memory leaks.
this patch fixes the problem.

Reviewers: raster, Hermet, jsuya, herb, ali.alzyod, devilhorns

Reviewed By: ali.alzyod, devilhorns

Subscribers: ali.alzyod, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12249
2021-02-17 10:18:43 +09:00
Christopher Michael 17137316ee ecore: Update to not use deprecated mallinfo
mallinfo (the structure) and mallinfo (the function) have both been
deprecated in favor of mallinfo2 which has been updated to handle
allocations > 4GB.

This patch updates ecore usage of deprecated mallinfo to use mallinfo2
2021-02-16 12:41:56 -05:00
Shinwoo Kim f8a98e5bf2 gl: remove memory leak of orient_set
Summary:
The tex->pt->references is descreased by
evas_gl_common_texture_free -> pt_unref

if tex->references is 0

And tex->pt->texture is removed by
evas_gl_common_texture_free -> pt_unref -> glDeleteTextures

if tex->pt->references is 0

The evas_gl_common_texture_free decreases tex->references only
if tex->references is bigger than 0. There is no chance to decrease
tex->pt->references at this point.

So if orient_set increases both references of tex and tex->pt, then
the tex->pt->reference is not decreased till tex->references is 0.

So do not increase tex->pt->references in eng_orient_set.

Reviewers: raster, cedric, Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12243
2021-02-13 11:51:16 +00:00
Alastair Poole b3a1c400ac theme: Silence warning. 2021-02-09 19:31:08 +00:00
thierry1970 97f95e7362 Added the heif loader
Summary: that supports images : *.heif, *hiec and *.avif I have disabled *.avif images, there is already a loader.

Reviewers: stefan_schmidt, raster

Subscribers: raster, vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12135
2021-02-06 18:58:04 +00:00
Vincent Torri ec4ef69115 Efreet: fix file:// scheme on Windows
Summary: On Windows, file:///c:/path/to/file is correct and not managed. Use a Win API for manage it correctly

Test Plan: test case

Reviewers: raster, cedric

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12244
2021-02-06 14:49:54 +00:00
Vincent Torri d8d52861a6 Efreet: do not translate standard directories on Windows
Summary: The directories on hard disk are not translated on Windows

Test Plan: test case

Reviewers: raster, cedric

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12246
2021-02-06 14:38:55 +00:00
Carsten Haitzler f323664bc7 evas - gl engine - look for extension in the right extension string set
this fixes slow operation on what seems to be a minority of instances
that dont advertise the extension in both egl and gl strings

@fix
2021-02-06 14:38:55 +00:00
Jaehyun Cho d3d3af369b edje_entry: fix a potential error of null deref
Summary:
This is a patch to fix a potential error of null dereferencing.
This patch is based on D12087.

Reviewers: Hermet, jsuya

Reviewed By: jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12241
2021-02-04 11:00:14 +09:00
Shinwoo Kim ab969c5915 eet, emile: safety++
Summary:
(1) EVP_MD_CTX_new could return NULL
(2) EVP_DigestUpdate returns 0 for failure.
  https://www.openssl.org/docs/man1.0.2/man3/EVP_DigestUpdate.html

Reviewers: raster, Hermet, cedric, devilhorns

Reviewed By: devilhorns

Subscribers: SPAM-roll99, devilhorns, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12237
2021-02-04 10:11:33 +09:00
Carsten Haitzler 90e5fd831d ecore-x - vsync - also log the direct device timestamp if it goes back 2021-02-03 02:26:54 +00:00
Carsten Haitzler 4013c98af1 ecore_x - vsync ... this handles time going backwards
yes - time went backwards. we get time from the device driver and
vsync events... this is so incredibly wrong ... it should not have
ever happened... but it did and that caused all sorts of bad things to
happen to animators. this guards against that and tries to get the
system clock time and if that doesnt work it just takes last time +
0.901.

@fix
2021-02-03 00:43:20 +00:00
Carsten Haitzler 9890c2b135 evas - tga loader - ignore origin as it leads to valid tga's not loading
@fix
2021-02-01 18:06:43 +00:00
Carsten Haitzler 6f803ad233 ecore x - allow vsync animator to delay by some fraction of a frame
@feat
2021-02-01 18:06:43 +00:00
junsu choi 77c9adf1fd Efl.Canvas.Vg.Object: Skip render, if size of the drawing area is 0
Summary:
If the size of the boundary of path is 0, there is no area to draw.
Therefore, it is the same as hide().
If there is no area to draw, there is no need to create a buffer or perform rendering.

Test Plan: N/A

Reviewers: Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: devilhorns, cedric, #reviewers, #committers, herb

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12235
2021-02-01 09:59:33 +09:00
Alastair Poole 44425e7489 ecore_file_monitor: add kevent backend.
Summary:
This is a very simple kevent backend, very similar to the eio_monitor
implementation. On BSD systems, some core features within in E and
other applications are always using the poll engine, which is not
ideal.  This is better, and simpler.

Reviewers: devilhorns, raster, bu5hm4n, vtorri

Reviewed By: vtorri

Subscribers: vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12239
2021-01-31 14:45:46 +00:00
Ali Alzyod 39c305cf86 efl_ui_textpath: mathmatical calculations
Summary: Reduce number of sqrt calls.

Reviewers: cedric, raster, bu5hm4n, vtorri, woohyun, Hermet

Subscribers: vtorri, bu5hm4n, raster, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8747

Differential Revision: https://phab.enlightenment.org/D11949
2021-01-29 11:53:16 +02:00
Ali Alzyod e138962dd7 evas_textblock: allow default font size to be set without fontname
Reviewers: woohyun, bowonryu, id213sin

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12211
2021-01-29 09:05:51 +02:00
Christopher Michael 6a3522352b ecore-evas: Formatting fix
NB: No functional changes
2021-01-27 15:11:57 -05:00
Carsten Haitzler e1226ecfff elm - test - genlist - add more callback event printfs for testing 2021-01-27 11:56:42 +00:00
Wonki Kim 257dced038 eeze walk: fix a memory leaking
Summary:
there is a memory leak in a logic for walking along child-parent relation,
in case of device_get_sysattr_value failure.
this patch fixes the leak.

Change-Id: I95e9484b1549d1c794ec529c995af33da9b8a0ee

Reviewers: bu5hm4n, zmike

Subscribers: raster, SPAM-TeresaButler, vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12224
2021-01-25 08:55:24 +00:00
Carsten Haitzler d37958c1b0 ethumb - fix asan complaint on mis-accessing struct after free in client
@fix
2021-01-24 15:59:55 +00:00
Carsten Haitzler c40e80dd48 elm - fix elm_config args parsing/collecting
@fix
2021-01-21 19:41:19 +00:00
Wonki Kim 728d4dba16 slider: fix a potentional crashing problem
null pointer dereferencing could happen once eina_value_setup fails.
this patch fixes the problem in adavnace

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D12173
2021-01-19 16:33:13 -05:00
Carsten Haitzler 0d9cc0a562 evas - let's not set dynamic img hints if extns not there 2021-01-14 19:48:18 +00:00
Shinwoo Kim 34b0d0e973 gl: remove invalid read and write
Summary:
There could be 2 evas_gl_image referencing 1 evas_gl_texture.
evas_object_image_orient_set could make this case.
In this case, when one evas_gl_image is removed(free), the evas_gl_texture
is not removed because its reference count.
After this point, if the other evas_gl_image is removed without drawing
(see function evas_gl_common_image_draw, line "im->tex->im = im")
then evas_gl_texture is reading invalid adress when it is removed.

Reviewers: Hermet, jsuya, herb, devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12229
2021-01-14 13:47:26 +09:00
Carsten Haitzler f6d0bc1b29 evas - missing EVAS_API - add. 2021-01-11 11:04:32 +00:00
Felipe Magno de Almeida c118886043 emotion: emotion EAPI macro to EMOTION_API in Emotion library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

=  The Rationale =

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
EAPI is the only solution that worked for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: vtorri, woohyun, jptiz, lucas

Reviewed By: vtorri, lucas

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12227
2021-01-11 10:31:30 +00:00
Carsten Haitzler 0472f21979 evas webp loader - stop complainig its an invalid file
when a file has no extension to guess by.. evas goes back to trying
every loader until one works. this leads to noise. loaders should not
printf/stder or eina log err anything if the file seems to not be valid.

@fix
2021-01-06 14:13:04 +00:00
Carsten Haitzler c3577929b3 elm - genlist - fix leak if someone steals objects on unrealize
elm_genlist_item_all_contents_unset() can steal away the item content.
this is how you do a cache of your own objects... BUT this meant
genlist couldnt remove its hash entires... as it lost them. this fixes
that. leak fixed. (this affected evisum)

@fix
2021-01-03 19:36:50 +00:00
Carsten Haitzler b27a0f2b2d ecore - call freeq reduce again on idle enter...
this led to a nasty leak unless you had ilders runnig every now and
again. freeq would just epxand and expand...

@fix
2021-01-03 19:36:50 +00:00
Felipe Magno de Almeida 6f23a9daa1 ector: Rename EAPI macro to ECTOR_API in Ector library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

=  The Rationale =

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
EAPI is the only solution that worked for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: vtorri, woohyun, jptiz, lucas

Reviewed By: vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12226
2021-01-01 17:34:01 -03:00
Carsten Haitzler ff73049593 efl ui tests - disable cursor movement test as some systems have issues
i just want travis to pass again for now...
2020-12-29 20:42:18 +00:00
Carsten Haitzler b8cccbdd95 efl ui test - set cursor pos compare right 2020-12-28 21:57:12 +00:00
Carsten Haitzler 2f1795d8bc efl ui tests - for now use plain ascii to test if travis fail bc of fnt 2020-12-28 20:56:52 +00:00
Carsten Haitzler ad486d35af travis - disable exactness. too many failures for a remote system
being a pixel off will be a filure... let's do exactness by hand for now
2020-12-28 20:55:18 +00:00
Carsten Haitzler 72e91de9b5 travis - disable osx as it does nothnig but error on installing deps 2020-12-28 18:20:25 +00:00
Felipe Magno de Almeida 86493e160a ecore_con: Rename EAPI macro to ECORE_CON_API in Ecore Con library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
EAPI is the only solution that worked for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: vtorri, woohyun, jptiz, lucas

Reviewed By: vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12225
2020-12-28 13:58:06 -03:00
Wonki Kim b1c9b8cec0 eeze_syspaty: fix a potention memory leak
Summary:
if udev device get sysname fails, memory leaks.
this patch fixes the problem.

Change-Id: I2d02a6e6eb98e9262255ab3c02cf99f347b8c5f9

Reviewers: bu5hm4n, Hermet, zmike

Reviewed By: Hermet

Subscribers: vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12222
2020-12-24 11:48:53 +09:00
Woochanlee 9a31278299 elm_gesture_layer: fix config value type
Summary:
The value will read as unsigned char not double.

@fix

Reviewers: Hermet, raster, zmike

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12195
2020-12-24 11:48:08 +09:00
Woochanlee ed0c46fa3b eo_base_class: Avoid useless memory alloc
Summary:
The pd->ext will be NULL when the target object on invalidate state or edje object or isolated object etc..

In above case, If data is NULL and ext is not needed, it seems there is no need to create a node.

Reviewers: raster, cedric, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12206
2020-12-24 11:47:04 +09:00
Wonki Kim 37cecd5413 eeze_net: fix a potentional memory leak case
Summary:
if `net` equals zero and `device` has allocated properly at the same time, memory leaks.
this patch fixes it.

Reviewers: Hermet, bu5hm4n, zmike

Reviewed By: Hermet

Subscribers: vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12221
2020-12-24 11:43:28 +09:00
Carsten Haitzler 00f5eed1d2 evas - avif - fix for 0.8.2 libavif that broke api
also require 0.8.2 ... as well - no point trying to support older
versions forever and this is still experimental.

fixes T8844
@fix
2020-12-18 11:28:10 +00:00
Vincent Torri 5f3152a30b Evas, Eolian: install missing *_api.h files
Summary: previous patches forgot to install *_api.h

Reviewers: raster, felipealmeida, lucas, jptiz

Reviewed By: lucas, jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12216
2020-12-17 15:28:26 +00:00
junsu choi 745012e6c2 edje_data: Add missing descriptor for image.max(min).limit
Summary:
Edje_Part_Description_Image uses EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB,
EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB is missing max.limit and min.limit descriptors.
Therefore, max:SOURCE and min:SOURCE did not work in EDC.
Adds a descriptor to it.

https://www.enlightenment.org/_legacy_embed/edcref.html#sec_toplevel_images
max [width] [height] or SOURCE
The maximum size of the state. A size of -1 means that it will be ignored in one direction.
When max is set to SOURCE, edje will enforce the part to be not more than the original image size.
The part must be an IMAGE part.

Test Plan:
{F4230539}
edje_cc test.edc && gcc -o test test.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
./test

Reviewers: Hermet, Jaehyun_Cho, cedric, raster

Reviewed By: Hermet

Subscribers: #reviewers, #committers, kimcinoo, herb

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12215
2020-12-17 12:50:48 +09:00
Felipe Magno de Almeida 0363fd8238 evas: Rename EAPI macro to EVAS_API in Evas library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

=  The Rationale =

This patch is from a series of patches to rename EAPI symbols to
specific library DSOs.

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
LIBAPI is the only solution that works for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>

Reviewers: vtorri, woohyun, jptiz, lucas

Reviewed By: vtorri, lucas

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12214
2020-12-15 23:06:12 -03:00
Felipe Magno de Almeida 75f07e41c0 ecore_audio: Rename EAPI macro to ECORE_AUDIO_API in Ecore Audio library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

=  The Rationale =

This patch is from a series of patches to rename EAPI symbols to
specific library DSOs.

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
LIBAPI is the only solution that works for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>

Reviewers: vtorri, woohyun, lucas, jptiz

Reviewed By: vtorri, lucas

Subscribers: vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12212
2020-12-15 11:36:42 -03:00
junsu choi 1f9e528b50 evas: Prevent null pointer access
Summary: add null check

Test Plan: N/A

Reviewers: Hermet, cedric, kimcinoo, raster

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12213
2020-12-15 11:47:41 +00:00
Felipe Magno de Almeida 8d2c652104 evil: Fix fcntl for F_SETLK and F_SETLKW wrong length calculation
Summary:
If length and start are both 0, size is wrongfully negative. Besides,
using length as a delimitator in a range means that [0, length) is a
half-closed interval, so we don't need to subtract by 1.

Reviewers: vtorri, woohyun, lucas, jptiz

Reviewed By: vtorri, lucas

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12208
2020-12-14 11:50:48 -03:00
Felipe Magno de Almeida 4e5b01f8a0 eio: Rename EAPI macro to EIO_API in Eio library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

=  The Rationale =

This patch is from a series of patches to rename EAPI symbols to
specific library DSOs.

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
LIBAPI is the only solution that works for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>

Reviewers: vtorri, woohyun, lucas, jptiz

Reviewed By: vtorri, lucas

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12210
2020-12-14 11:45:35 -03:00
Carsten Haitzler a43c2dad50 evas generic pdf - handle cleanupp on crashes in poppler and other errors
if poppler_init fails or it crashes in poppler or a timeout we didnt clean
up the tmpdir... this forces a cleanuo and ups timeout to 30sec.
2020-12-12 02:22:06 +00:00
João Antônio Cardoso dc0173fdf6 Fixing conversion from size_t to high-low dwords for _WIN64.
Reviewers: vtorri, woohyun, lucas, jptiz

Reviewed By: vtorri, jptiz

Subscribers: joaoantoniocardoso, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12207
2020-12-09 17:12:10 -03:00
João Antônio Cardoso 2b08306875 evil: Define environ macro when using VS based on UCRT definition
Summary:
Microsoft Visual Studio defines _environ, but not environ. Create
a macro #define environ _environ like other analogous solutions

Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: vtorri, woohyun, joaoantoniocardoso, lucas, jptiz

Reviewed By: jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12209
2020-12-09 16:53:30 -03:00
Felipe Magno de Almeida 138e9e5294 eo: Rename EAPI macro to EO_API in Eo library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

=  The Rationale =

This patch is from a series of patches to rename EAPI symbols to
specific library DSOs.

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
LIBAPI is the only solution that works for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>

Reviewers: jptiz, lucas, vtorri, woohyun

Reviewed By: jptiz, lucas, vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12203
2020-12-09 13:52:25 -03:00
Woochanlee cfd17f145a edje_util: Fix memory leak
Summary:
evas_object_data_set call callc for internal node.
It's not free before call evas_object_data_del or evas_object_data_set(obj, NULL)

Reviewers: raster, cedric, Hermet

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12205
2020-12-08 12:17:57 +00:00
Shinwoo Kim 25dba9ebcf png: handle 9-patch ends with stretch
Summary:
The strech region has paired information; total and strechable.
Refer to function _strech_region_load retrieving strech region info.

But if 9-patch information line ends with strechable,
png did not push the strechable information.
And it leads to devide by zero.

This patch is adding strechable info to the strech region,
if 9-patch information ends with strechable.

Test Plan:
[Code]
{F4219278}
{F4219280}

[Test]
ECORE_EVAS_ENGINE=opengl_x11 ./evas-image-9patch ./end_with_strech.9.png

Reviewers: Hermet, jsuya, herb, cedric

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12204
2020-12-07 16:53:08 +09:00
Felipe Magno de Almeida 1aef7c697a eldbus: Add Eldbus.h include entry point header to eldbus_instrospection.h
Summary:
Add #include Eldbus.h so we can have EAPI definition for
eldbus_instrospection.h header

Reviewers: jptiz, lucas, vtorri, woohyun

Reviewed By: vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12202
2020-12-06 12:39:32 -03:00
Felipe Magno de Almeida b01cc905ea eio: Add weak symbol
Summary:
Add definition for EAPI_WEAK because this macro will be needed when we
change how Eolian generates import/export symbols for the Eio library.

=  The Rationale =

This patch is from a series of patches to rename EAPI symbols to
specific library DSOs.

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
LIBAPI is the only solution that works for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>

Reviewers: jptiz, lucas, vtorri, woohyun

Reviewed By: vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12201
2020-12-06 12:32:34 -03:00
Felipe Magno de Almeida 3523f106b8 benchmark: Remove unnecessary import and export macros from benchmark executables
Summary:
Benchmark executables do not need to export and import symbols because
they are not loaded by other executables. Removing is important because
EAPI will be removed in some later commit and would break benchmark
executables.

=  The Rationale =

This patch is from a series of patches to rename EAPI symbols to
specific library DSOs.

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
LIBAPI is the only solution that works for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>

Reviewers: vtorri, woohyun, jptiz, lucas

Reviewed By: vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12200
2020-12-06 12:25:19 -03:00
Felipe Magno de Almeida 8d18009419 eolian: Add -e parameter to pass export symbol to eolian generator
Summary:
Eolian generator must have a parameter so it can generate the correct
symbol export/import macro for the API generated.

This makes it possible to define the symbols as being local to a
single DSO without the need to guard the generated headers or
generated source files with #define and #undef preprocessor
statements.

=  The Rationale =

This patch is from a series of patches to rename EAPI symbols to
specific library DSOs.

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
LIBAPI is the only solution that works for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>

Reviewers: q66, vtorri, woohyun, jptiz, lucas

Reviewed By: vtorri, lucas

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12197
2020-12-04 10:35:35 -03:00
Carsten Haitzler 650578b573 evas - fix build on bigendian
macro forgot to () a param ... so it broke on bigendian as it has
spaces and a | ...

fixes T8860
2020-11-30 14:28:36 +00:00
Carsten Haitzler b59b605021 evas gl - experiment with dithered gl rendering
this adds a dither func (4x4 dither matrix) to experiment with higher
quality rendering in gl - this assumes you have a normal 8bit per
channel buffer for now (99% of people) and will approximate values in
between the 256 steps 8 bits provides by using the dither matrix based
on gl_FragCoord position. it's just a flag in the shader flags for now
so can be turned on/off in code. this definitely makes blurs look much
better... everything else seems basicall the same. let's see how this
goes.

@feat
2020-11-27 15:02:58 +00:00
Felipe Magno de Almeida f08f0548da eolian: Rename EAPI macro to EOLIAN_API in Eolian library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
EAPI is the only solution that worked for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: vtorri, woohyun, jptiz, lucas

Reviewed By: vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12196
2020-11-25 11:43:53 -03:00
Lucas Cavalcante de Sousa 4797602e84 efl_mono: Use architecture independent ECANCELED
Summary:
`efl_mono` was assuming ECANCELED as in Linux, which made some tests
fail.

`test_simple_futere_cancel` and `test_cancel_after_resolve` checks if
the returned error code is `ECANCELED` but `Eina.Error.ECANCELED` was
base on Linux `ECANCELED` which is diferent from OSX causing:
```
[ ERROR       ] AssertionException: /Users/lucas/expertise/efl1/src/tests/efl_mono/Promises.cs:138 (test_simple_future_cancel) Left hand side "Eina.Error(89)", right hand side "Eina.Error(125)"
at Test.AssertEquals[T](T lhs, T rhs, String msg, Int32 line, String file, String member) in /Users/lucas/expertise/efl1/src/tests/efl_mono/TestUtils.cs:line 73
at TestSuite.TestPromises.test_simple_future_cancel() in /Users/lucas/expertise/efl1/src/tests/efl_mono/Promises.cs:line 138
[        FAIL ] TestPromises.test_simple_future_cancel
```
```
[ ERROR       ] AssertionException: /Users/lucas/expertise/efl1/src/tests/efl_mono/Promises.cs:256 (test_cancel_after_resolve) Left hand side "Eina.Error(89)", right hand side "Eina.Error(125)"
at Test.AssertEquals[T](T lhs, T rhs, String msg, Int32 line, String file, String member) in /Users/lucas/expertise/efl1/src/tests/efl_mono/TestUtils.cs:line 73
at TestSuite.TestPromises.test_cancel_after_resolve() in /Users/lucas/expertise/efl1/src/tests/efl_mono/Promises.cs:line 256
[        FAIL ] TestPromises.test_cancel_after_resolve
```

And `iwraper.cs:WrapAssync` was only considering Linux `ECANCELED` thus causing
a rise of an `Efl.FutureException: Future failed` instead of the expected
`TaskCanceledException` making fail at `TestEoAsyncMethods.test_async_cancel`:
```
[ RUN         ] TestEoAsyncMethods.test_async_cancel
[ ERROR       ] AssertionException: Assertion failed: /Users/lucas/expertise/efl1/src/tests/efl_mono/EoPromises.cs:175 (test_async_cancel) AggregateException must have been TaskCanceledException
   at Test.Assert(Boolean res, String msg, Int32 line, String file, String member) in /Users/lucas/expertise/efl1/src/tests/efl_mono/TestUtils.cs:line 53
   at TestSuite.TestEoAsyncMethods.<>c.<test_async_cancel>b__1_0(Exception x) in /Users/lucas/expertise/efl1/src/tests/efl_mono/EoPromises.cs:line 175
   at System.AggregateException.Handle(Func`2 predicate)
   at TestSuite.TestEoAsyncMethods.test_async_cancel() in /Users/lucas/expertise/efl1/src/tests/efl_mono/EoPromises.cs:line 171
[        FAIL ] TestEoAsyncMethods.test_async_cancel
```

Depends on D12156

Test Plan:
Compare with master and note that with this diff all tests pass.
- Configure as especified by Enlightenment man page + `-Dbindigns=mono -Ddotnet=true`:
```
meson -Dsystemd=false -Dv4l2=false -Davahi=false -Deeze=false -Dx11=false -Dopengl=full -Dcocoa=true -Dnls=false -Demotion-loaders-disabler=gstreamer1,libvlc,xine -Decore-imf-loaders-disabler=scim,ibus -Dbindigns=cxx,mono -Ddotnet=true build
```
- Build normally
- Test `efl-mono-suite`

Reviewers: felipealmeida

Reviewed By: felipealmeida

Subscribers: ProhtMeyhet, cedric, #reviewers, #committers, woohyun

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12157
2020-11-25 10:44:41 -03:00
Lucas Cavalcante de Sousa 4de94638a6 efl-mono: Correctly load dynamic libs for OSX
Summary:
OSX libs end with `.dylib`, so it made failed to load libs, for instance
dl name is `dl.dylib` making it unable to load as it was before
(`libdl.so`).

Test Plan:
Compare with master and note that this diff is able to fail on tests, and
not about importing libs.
- Configure as especified by Enlightenment man page + `-Dbindigns=mono -Ddotnet=true`:
```
meson -Dsystemd=false -Dv4l2=false -Davahi=false -Deeze=false -Dx11=false -Dopengl=full -Dcocoa=true -Dnls=false -Demotion-loaders-disabler=gstreamer1,libvlc,xine -Decore-imf-loaders-disabler=scim,ibus -Dbindigns=cxx,mono -Ddotnet=true --prefix=$PWD/prefix build
```
- Build normally
- Test `efl-mono-suite`

Reviewers: felipealmeida

Reviewed By: felipealmeida

Subscribers: stefan_schmidt, cedric, #reviewers, #committers, woohyun

Tags: #efl, #expertise_solutions

Differential Revision: https://phab.enlightenment.org/D12156
2020-11-25 10:43:47 -03:00
Felipe Magno de Almeida ccc1849263 eina: Rename EAPI macro to EINA_API in Eina library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
EAPI is the only solution that worked for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: jptiz, lucas, woohyun, vtorri, raster

Reviewed By: jptiz, lucas, vtorri

Subscribers: ProhtMeyhet, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12188
2020-11-25 09:42:47 -03:00
Hermet Park 6b1f281f17 ui transit: improve zoom effect smoothness by subpixel rendering.
Summary:
evas image might have a better quaility if scaling/transform is not necessary,
so we have a condition to check if image is axis-aligned transformed or not.

On the other hand sub-pixel(floating point coordinates unit) rendering necessary
if image has an effect such a zooming. This would result in a smoother effect
than integer coodinate system.

We need a more precise condition to confirm this,
so we intrduce "anti-alias" option to decide the condition.
now, anti-aliased objects will have a sub-pixel rendering always.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12194
2020-11-25 10:11:59 +09:00
Carsten Haitzler 841ceced52 ecore x - dont free previous resource db 2020-11-22 21:14:56 +00:00
Carsten Haitzler 148aec9d9c ecore-x - add xresource set/get/load etc.
new ecore-x calls to support the things xrdb does

@feat
2020-11-22 20:33:07 +00:00
Shinwoo Kim 5f8e4dabea evas gl: make 9 patch work
Summary:
The 9 patch is using image_stretch_region_get, but GL did not override it.
So the 9 patch did not work for GL engine at all.

Test Plan:
Evas_Object*img = evas_object_image_filled_add(evas);
evas_object_image_file_set(img, "test.9.png", 0);
evas_object_show(img);

Reviewers: Hermet, jsuya, herb, cedric

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12192
2020-11-20 11:22:55 +09:00
Ali Alzyod f56004db6e evas_textblock: reduce content fit calculations
Reviewers: woohyun, id213sin

Reviewed By: woohyun, id213sin

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12187
2020-11-19 10:29:48 +02:00
Ali Alzyod ac2987b363 elm_entry: legacy smart selection[start,cleared] callback fix
Summary:
due to changes in latest text apis in unified, legacy selection call back [start,clear] does not work anymore,
Now add the support for legacy callback [selection,start   selection,cleared]

Reviewers: woohyun, bowonryu, stefan_schmidt

Reviewed By: bowonryu

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12126
2020-11-18 15:54:57 +02:00
Carsten Haitzler 6b47edd998 evas test - fix evas suite image data compare
the test was wrong and waiting to fail. it worked by luck before, but
it was comparing a deleted image's data vs a new one that replaced it.

this fixes that. makes the test suite now reliable. asan pointed this
out.

@fix
2020-11-13 09:51:13 +00:00
Felipe Magno de Almeida 8f9255e2c1 evil: Rename EAPI macro to EVIL_API in Evil library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

EAPI was designed to be able to pass
```__attribute__ ((visibility ("default")))``` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).
```

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
```__atttribute__((visibility("default")))```

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
EAPI is the only solution that worked for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: raster, vtorri, jptiz, lucas, woohyun

Reviewed By: vtorri, jptiz

Subscribers: ProhtMeyhet, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12182
2020-11-12 17:40:21 -03:00
Carsten Haitzler 64ce7a2c45 ecore evas - wayland clients - dont set invalid min/max width
max width < 0 is wrong.. dont set it. min width < 1 for efl is
stupid/invalid and dont set it either, so clamp these and now things
work right in corner cases.

@fix
2020-11-10 12:01:52 +00:00
Carsten Haitzler fff5b4919e evas - object - grabs - dont delete NULL event grabs
segv while shutting down and removing grabs - obj->events was null...
dont follow that poointer while deleting grabs.

@fix
2020-11-10 08:12:18 +00:00
Carsten Haitzler ddfa2ef41c Revert "eo_test_general.c: Make eo_signals tests pass on Windows"
This reverts commit fc949660f7.
2020-11-05 12:17:42 +00:00
Wander Lairson Costa fc949660f7 eo_test_general.c: Make eo_signals tests pass on Windows
Summary:
EFL_CALLBACKS_ARRAY_DEFINE reorders the callbacks according to
efl_callbacks_cmp. efl_callbacks_cmp compares the address of the desc
field, which depends on the memory layout generated by the linker.

To make the test run deterministically, we define the array of callbacks
manually.

Reviewers: vtorri, felipealmeida, raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers, jptiz, felipealmeida

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12043
2020-11-04 18:56:37 +00:00
junsu choi 888e1e7401 vg_load_svg: Prevent memory overflow for tag_name
Summary:
When copying tag_name, if length of referenced string is longer
than general case, it is not used as tag_name.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: kimcinoo, herb, cedric, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12185
2020-11-02 13:05:45 +09:00
Youngbok Shin 94c2d2295f evas/textblock: apply style paddings in fit calculation
Summary:
The style paddings should be calculated for fitting text into
the given object's size.

Test Plan:
1. Put shadow effect in your style string.
"... style=shadow,far_bottom shadow_color=#000 ..."

2. Apply fit option( and ellipsis to see how it goes wrong without this patch.)

3. See results.

Reviewers: woohyun, ali.alzyod

Reviewed By: woohyun, ali.alzyod

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12183
2020-10-28 14:50:23 +09:00
Felipe Magno de Almeida e9ee9cc3a0 evil: undef setlocale to avoid recursion
Summary:
evil_setlocale implementation must not call itself, so it must #undef
setlocale to avoid replacing with evil_setlocale.

Reviewers: vtorri, jptiz, lucas

Reviewed By: vtorri, jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12184
2020-10-27 11:05:51 -03:00
abdulleh Ghujeh d6a6dd54a1 efl.ui.text : Fixing cursor movement using keyboard arrows/mouse click
Summary:
if we have an emoji or a cluster combining multiple Unicode inside ui textbox, we can move the cursor inside the emoji/cluster using keyboard arrows/mouse click.
so we should use cluster movement instead of character movement (same as entry).

{F3868931}

this should resolve T8666

Test Plan:
  #define EFL_EO_API_SUPPORT 1
  #define EFL_BETA_API_SUPPORT 1

  #include <Efl_Ui.h>

  static void
  _gui_quit_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
  {
     efl_exit(0);
  }

  static void
  _gui_setup()
  {
     Eo *win, *box;

     win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
                   efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                   efl_text_set(efl_added, "Hello World"),
                   efl_ui_win_autodel_set(efl_added, EINA_TRUE));

     // when the user clicks "close" on a window there is a request to delete
     efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _gui_quit_cb, NULL);

     box = efl_add(EFL_UI_BOX_CLASS, win,
                  efl_content_set(win, efl_added),
                  efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(360, 240)));

     efl_add(EFL_UI_TEXTBOX_CLASS, box,
             efl_gfx_hint_weight_set(efl_added, 1.0, 1.0),
             efl_gfx_hint_align_set(efl_added, 1.0, 1.0),
             efl_text_markup_set(efl_added, "A&#x262a;&#xfe0f;"),
             efl_pack(box, efl_added));
  }

  EAPI_MAIN void
  efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
  {
     _gui_setup();
  }
  EFL_MAIN()

Reviewers: ali.alzyod, zmike, woohyun, bu5hm4n

Reviewed By: ali.alzyod, woohyun

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8666

Differential Revision: https://phab.enlightenment.org/D11745
2020-10-20 19:20:28 +09:00
junsu choi 3274390f73 vg_load_svg: Implement ClipPath feature
Summary:
Supports case of using style attribute for defined <clipPath> and node.
In SVG, <clipPath> can be used as a "clipPath" attribute or a style "clip-path".
If there is a clip-path node, save it as a composition node and
use composition method(matte_alpha) to compose it.

Below node types support clip-path.
<circle>
<ellipse>
<g>
<path>
<polygon>
<polyline>
<rect>

Test Plan:
Please see attached svg files
{F4026162}

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: #reviewers, #committers, cedric, herb, kimcinoo

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12179
2020-10-14 19:16:53 +09:00
Vincent Torri 25e64a9a4e Ecore_Win32: add the API ecore_win32_window_maximized_set()
Summary:
ecore_evas win32 engine is updated to support it. This fixes the
"maximized/unmaximized" elm "windows states" test.

Test Plan: elm_test

Reviewers: raster, jptiz, felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12177
2020-10-13 15:19:39 +01:00
Vincent Torri b9df223fa2 Ecore_Evas win32: fix activate() function
Summary: activating the function needs un-iconified first

Test Plan: elm windows status tests

Reviewers: raster, jptiz, felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12176
2020-10-13 15:19:26 +01:00
junsu choi d5f728bd72 evas svg: Fix build error
Fix build error from 9e14a57020
2020-10-12 19:03:58 +09:00
Hermet Park 9e14a57020 evas svg: avoid unnecessary memory clear. 2020-10-12 18:37:55 +09:00
junsu choi 862e65c260 vg_load_svg: Add points copy of missing polygon/polyline
Summary:
When using <use> node, do atrribute copy.
At that time, when target(url) is polygon or polyline,
points array is not copied, causing a problem in output.
So, add missing array copy.

Test Plan:
 - Test SVG code

<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve">
    <g opacity="0.5">
        <defs>
            <polygon id="test" opacity="0.5" points="41.8,14.5 22.2,14.5 22.2,22.8 41.8,40.7"/>
        </defs>
        <use xlink:href="#test"  overflow="visible"/>
    </g>
</svg>

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: #reviewers, #committers, kimcinoo, herb, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12174
2020-10-12 18:37:26 +09:00
Vincent Torri 0742a6c78e Ecore_Evas win32 module: do not set evas viewport size to 0
Summary: When a window is iconified, its size is 0x0 and is passed to evas viewport. Set the size to 1x1 in that case

Test Plan: Elementary "windows states" test

Reviewers: raster, jpcordovae, felipealmeida, jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12171
2020-10-10 13:56:03 +01:00
Vincent Torri 6bc22474bd elua test: fix undeclared variable
Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12172
2020-10-09 23:26:00 +01:00
Carsten Haitzler 0c79b8f94b efl ui image - dont cancel preload on image if image is an edje object
fixes invalid request on non-image object.
@fix
2020-10-09 13:34:23 +01:00
Vincent Torri eacee53c2e Evil : move mkstemp(s) and mkdtemp in eina_file directly
Summary:
Also replace all mkstemp(s) and mkdtemp with the eina_file functions in
the source

Test Plan: run eina_file test

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12170
2020-10-08 11:58:11 +01:00
WooHyun Jung 509e3fcc7a Revert "Revert "evas_textblock: rainbow flag emoji treated as two clusters(update unibreak to version 4.2)""
This reverts commit 173b3a108e.
This was reverted because of freezing codes for release.
Now, release work was over. So, I think it's ok to restore this.
2020-10-08 12:32:53 +09:00
Vincent Torri 0a08a860a8 Ecore_file: on Windows, fix errno value when dst exists.
Summary: This also fixes the saving of elementary_config file

Test Plan: execution of elementary_config

Reviewers: jptiz, raster

Reviewed By: raster

Subscribers: johnny1337, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12165
2020-10-06 15:09:31 +01:00
Carsten Haitzler 387a720091 eina - eina eifle - rename eina_file.c to indicate its for posix 2020-10-05 16:22:24 +01:00
Hermet Park b6a98bb3be elementary image zoomable: fix non supported oversized image.
Summary:
if image size is larger than system support, photocam can not show the image.

Not like other types of image, photocam is originally designed for huge-size of image,
this result is not allowed by users, we should avoid the worst case as we can do.

This might not be the best idea, so you can improve it if you have a better solution.

Reviewers: kimcinoo

Reviewed By: kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12164
2020-10-05 12:56:03 +09:00
Carsten Haitzler 42c123d1d7 singularize srand in eina_init - only once in one place
simplify down to having a single srand() in eina_init and use urandom
if it works and is there - if not, time(NULL) will do. it's the best
we can...
2020-10-03 20:46:50 +01:00
Vincent Torri de5ac32870 Windows: fix copy'n paste
Summary: fix seat id and clean cnp data when needed

Test Plan: Ctrl-c and Ctrl-V (elm-->app, app--> elm elm-->elm)

Reviewers: jptiz, walac, cochisecesar, bu5hm4n, felipealmeida, raster

Reviewed By: felipealmeida, raster

Subscribers: netstar, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12166
2020-09-30 13:59:27 +01:00
Carsten Haitzler 3d351b98c2 efreet - windows - still call stat but skip lstat/readlink
now stat is filled with data on windows

@fix
2020-09-29 10:32:02 +01:00
Youngbok Shin 85a0af8281 evas: sw font draw - protect against null pointer access
The image data of dst could be null in a rare case.
@fix

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D12163
2020-09-28 13:44:50 -04:00
Marcel Hollerbach 4700af9c7d build: addition to abf0e9dffe
the fix is also needed in ecore_imf modules.

Thank you Ross!
2020-09-25 14:07:47 +02:00
Vincent Torri e4866ae3ff fix order and simplify a bit order of _init|_shutdown functions
Summary:
in bin/
ecore_evas.c : remove useless ecore_init
eetpack.c : remove use eina_init and evas_init
eet_main.c : reorder eet_init
efl_debug.c : remove useless eina_init
efl_debugd : reorder log domain
ethumbd.c : remove eina_init
ethumbd_client.c : remove ecore_init (which was anyway misplaced)

Test Plan: compilation

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12162
2020-09-25 10:30:20 +01:00
Vincent Torri 994904098c Ethumb: reorder _init/shutdown functions, ecore and evas init/shutdown are useless, as ecore_evas already manages them
Test Plan: compilation

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12161
2020-09-25 10:30:04 +01:00
Vincent Torri 9bfba0867d edje_external_inspector: re-order _init a bit: log after eina, remove ecore_init/shutdown as it is already managed by edje_init/shutdown
Reviewers: raster

Reviewed By: raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12160
2020-09-25 10:29:54 +01:00
Marcel Hollerbach abf0e9dffe build: fix dependencies of software engine
before the efl-one refactoring ecore_x_deps contained all the
dependencies for x11. After that not anymore, however, we should link
software_x11 to x11 libs directly, which is again happening after this
here.
2020-09-24 10:35:53 +02:00
Shinwoo Kim 46eca1108c evas vg: check vg changed
Summary:
It is not able to render even though vg object has a chance to render,
because evas_object_smart_changed_get checks only Evas_Object_Protected_Data,
when Efl_Canvas_Vg_Object_Data.changed is TRUE.

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12152
2020-09-24 12:16:49 +09:00
Alastair Poole f3014132ce theme: border pass events. 2020-09-24 00:32:24 +01:00
Alastair Poole 9e57a89965 theme: basic theme handling of procstats. 2020-09-23 19:51:48 +01:00
Stefan Schmidt 9f4c6faee6 NEWS: fix some typos for 1.25 update
Vicent spotted some typos. Get them fixed here.
2020-09-23 10:15:53 +02:00
Stefan Schmidt 080dbdee51 edje: efl: add new EFL_VERSION_1_26 define for new dev cycle
Thios allows to mark edje file supported for specific versions.
2020-09-22 20:27:18 +02:00
Stefan Schmidt 7ca0e129ed build: release freeze is over
1.25 is done and we are back to development mode.
2020-09-22 20:17:05 +02:00
Stefan Schmidt eedf6cb339 release: Update NEWS and bump version for 1.25.0 release 2020-09-22 19:54:20 +02:00
junsu choi 0b5f658510 efl_gfx_path: When path end(Z,z), Current point are returned to starting point(M,m)
Summary:
When path ends with 'z' or 'Z' command, if 'm' comes as next command,
the current point is incorrectly referenced.
Since 'Z', 'z' means to close the path,
so, Save point and reuse it when 'M' or 'm' is called.

Test Plan:
[Error Case]
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
    <path d="M 52.17,20
             H 11.92
             V 43
             H 52.17
             Z
             m -1.5,21.5
             H 13.42
             v -20
             H 50.67
             Z
" fill="#a8b7c1" stroke="#F00" stroke-width="0.5" />
</svg>

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: cedric, herb, kimcinoo, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12158
2020-09-22 14:52:42 +09:00
Vincent Torri 3aeffe0bec elm_config: don't prepend /tmp/ to file name
eina_file_mkstemp() already takes care of this.

Differential Revision: https://phab.enlightenment.org/D12155
2020-09-21 11:26:23 +02:00
Stefan Schmidt ddd0736264 Revert "elm - collection view - check return and fix coverity wanring"
This reverts commit f3fdcf5692.

This commit leads to ninja test timeout. When returning result here the
future will never fire and we will keep spinning.
2020-09-21 11:09:07 +02:00
Carsten Haitzler 1638a79bd6 elm - toiolbar - use correct theme icon for more item
there is a specific thme icon for "more" items when a toolbar
compresses. it literally was not being used. it should use it.
"go-down" that it was using isn't exactly very expressive of what this
item does...

@fix
2020-09-21 09:35:06 +01:00
Carsten Haitzler 52b02055f4 ecore - efl thread - dont close invalid < 0 fd's
fix CID 1396951
2020-09-20 00:20:42 +01:00
Carsten Haitzler ca4b939364 ecore - efl exe - check returns of open and dup2 for stdin etc. fds
check returns - fix CID 1397002
2020-09-20 00:20:42 +01:00
Carsten Haitzler 568dd7e45b eina bench - have default values inside benc dtoa
addess CID 1400856
2020-09-20 00:20:42 +01:00
Carsten Haitzler 82de87dfc5 evas test - check return of ftell and malloc and handle properly
fix CID 1400871
2020-09-20 00:20:36 +01:00
Carsten Haitzler 485ecc24ed eina thread - check return of pthread_attr_init
fix CID 1401031
2020-09-19 23:37:22 +01:00
Carsten Haitzler 2bea2c7b87 emotion - check return of eet data write
fix CID 1401040
2020-09-19 23:34:39 +01:00
Carsten Haitzler ec4076b895 ethumb - fix idx range check
fix CID 1402612
2020-09-19 23:15:44 +01:00
Carsten Haitzler d64d4568bd ethumb - fix index range check
fix CID 1402628
2020-09-19 23:13:08 +01:00
Carsten Haitzler fd93bed3d1 ethumb - fix index range check
fix CID 1402631
2020-09-19 23:11:53 +01:00
Carsten Haitzler fa2f0b67b9 ethumb - check size read
fix CID 1402633
2020-09-19 23:09:05 +01:00
Carsten Haitzler 99636bdd5f ethumb - check inoput index from stdin
fix CID 1402646
2020-09-19 23:03:20 +01:00
Carsten Haitzler e243a60bb2 evas - psd loader - check read values to try make coverity happy
this is trying to fix CID 1402688, 1402687, 1402682, 1402665. not sure
it will or will not but it does dot i's and cross t's
2020-09-19 22:32:57 +01:00
Carsten Haitzler f3fdcf5692 elm - collection view - check return and fix coverity wanring
fix CID 1405808
2020-09-19 20:38:12 +01:00
Carsten Haitzler f76d925318 ecore con url - curl is actually optional and only needs to init on use
ecore_con_utl_init is kind of pointless when we can init at the first
use of a url and just have it fail. the problem is anyone initting
ecore_con's url stuff will then pull in curl at that point and not
laer "on first use" which is kind of nw how the dlopen fun was
intended, so push it off until then.
2020-09-19 18:29:55 +01:00
Vincent Torri 364323881c elm_config: remove useless init|shutdown of ecore_win32 and eocore_cocoa (done in ecore_evas module), and useless wayland variable
ecore_win32 and ecore_cocoa was init. wayland variable was also unused

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D12149
2020-09-18 09:04:00 -04:00
nerdopolis 57354e01ec call sd_seat_can_tty to determine if ttys should be used, instead of hard-coding seat0
Summary: All TTYs are on seat0, but not all seat0s have TTYs

Reviewers: #efl, devilhorns

Reviewed By: #efl, devilhorns

Subscribers: bu5hm4n, stefan_schmidt, raster, cedric, #reviewers, #committers

Tags: #efl

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D12143
2020-09-18 11:48:19 +02:00
Woochanlee 875f05cef5 evas_outbuf: Fix memory leak.
Summary: In certain use cases, when image data is created twice, the existing memory pointer is isolated and a memory leak occurs.

Reviewers: raster, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8813

Differential Revision: https://phab.enlightenment.org/D12148
2020-09-17 17:23:42 +09:00
Woochanlee ca2900be8a evas_main: Fix memory leak.
Summary: If the inlist has only one item when it removed. the data is not freed in descturctor.

Reviewers: Hermet, raster, vtorri

Reviewed By: Hermet

Subscribers: vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12147
2020-09-17 17:23:10 +09:00
Shinwoo Kim e5958965e8 evas vg: check object changed as well 2
Summary:
evas cannot render vg object if Efl_Canvas_Vg_Node_Data flag is not
EFL_GFX_CHANGE_FLAG_NONE and Evas_Object_Protected_Data.changed is FALSE,
when vg object marks its node as changed.

Above case could be possible if vg object render_pre is not called, and
only nd->vd->obj->changed is set to false by evas_object_change_reset.

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12142
2020-09-17 10:40:25 +09:00
Ali Alzyod 3bd066c7db evas_textblock: prevent textnodes with <ps>/<br> without format node
this will prevent textnodes content with <ps> or <br> without format node

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D12145
2020-09-16 14:40:55 +02:00
junsu choi 35f17a13fa vg_load_svg: Support dasharray attribute for stroke
Summary:
It supports stroke-dasharray, one of the stroke properties of svg.
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray

Test Plan:
[Test SVG]
<svg viewBox="0 0 30 10" xmlns="http://www.w3.org/2000/svg">
  <!-- No dashes nor gaps -->
  <line x1="0" y1="1" x2="30" y2="1" stroke="black" />

  <!-- Dashes and gaps of the same size -->
  <line x1="0" y1="3" x2="30" y2="3" stroke="black"
          stroke-dasharray="4" />

  <!-- Dashes and gaps of different sizes -->
  <line x1="0" y1="5" x2="30" y2="5" stroke="black"
          stroke-dasharray="4 1" />

  <!-- Dashes and gaps of various sizes with an odd number of values -->
  <line x1="0" y1="7" x2="30" y2="7" stroke="black"
          stroke-dasharray="4 1 2" />

  <!-- Dashes and gaps of various sizes with an even number of values -->
  <line x1="0" y1="9" x2="30" y2="9" stroke="black"
          stroke-dasharray="4 1 2 3" />
</svg>

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: kimcinoo, herb, cedric, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12146
2020-09-15 12:11:49 +09:00
Stefan Schmidt c412406487 release: Update NEWS and bump version for 1.25.0-beta3 release 2020-09-14 12:12:31 +02:00
junsu choi 53e8bf9dab Efl.Canvas.Vg: When VG container has transparency, ector buffer created synchronously
Summary:
If the container has transparency, it internally alpha blends with ector buffer.
So ector buffer must be created synchronously.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: #reviewers, #committers, cedric, herb, kimcinoo

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12140
2020-09-11 17:02:24 +09:00
junsu choi 725219e319 vg_load_svg: Add Mask, ClipPath nodees as dummy.
Summary:
Mask and clippath TAG are not supported yet.
If this TAG is used, the Child TAG declared with this TAG may cause problems.
To prevent that, declare them as Unknown types until they are supported. (display=none)

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: cedric, herb, #reviewers, kimcinoo, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12139
2020-09-11 11:49:09 +09:00
junsu choi fbf8db3699 vg_load_svg: Fix missing loader.gradients update
Summary:
When both <defs> and <svg> gradients are declared,
the update of gradient declared in is omitted.
Therefore, this patch fixes any missing gradient updates.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: #reviewers, #committers, cedric, herb, kimcinoo

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12138
2020-09-11 11:48:30 +09:00
junsu choi 0e01e9778c Efl.Canvas.Vg.Object: Fix typo
Summary:
The 3th parameter of ector_buffer_pixels_get is the width.
So chnage px to pw.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: cedric, herb, #reviewers, kimcinoo, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12141
2020-09-11 11:46:59 +09:00
Myoungwoon Roy, Kim f59a166063 docs: Correct the mismatched group name in Evas.
I had found mismatched group name in Evas and fixed them.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D12134
2020-09-10 09:21:31 +02:00
junsu choi d9c3b3f1b9 vg_load_svg: Supports case when only rx or ry is declared
Summary:
In relation to the declaration of rx and ry attribute of rect, the following three cases occur.
rx="10" (or ry="10"
rx="10" ry = "0" (or rx="0" ry = "10")
rx="10" ry = "10"
To cover these case, we check the rx and ry declarations.

Test Plan: N/A

Reviewers: Hermet, smohanty

Subscribers: kimcinoo, herb, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12137
2020-09-10 14:59:29 +09:00
Shinwoo Kim 7b7f69e09f evas vg: check object changed as well
Summary:
evas cannot render vg object if Efl_Canvas_Vg_Object_Data.changed is ture
and Evas_Object_Protected_Data.changed is false, when vg object marks itself
as changed.

Above case is possible depending on the draw area which is calculated by
eng_output_redraws_next_update_get. If this function returns NULL,
the vg object render function is not called, and vd->changed remains true.
Only vd->obj->changed is set to false by vas_object_change_reset.

Reviewers: Hermet, jsuya, herb, raster

Reviewed By: raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12136
2020-09-09 12:14:48 +01:00
Stefan Schmidt 1fa8409b97 release: Update NEWS and bump version for 1.25.0-beta2 release 2020-09-07 12:54:04 +02:00
Jaehyun Cho cb059ea0af elm_gesture_layer: fix crash caused by elm_gesture_layer_cb_del in cb
elm_gesture_layer_cb_del can be called in Elm_Gesture_Event_Cb cb set by
elm_gesture_layer_cb_set and cb_info of the cb is free in the cb.

This causes crash if cb_info is searched with EINA_INLIST_FOREACH.
2020-09-07 15:18:12 +09:00
Carsten Haitzler 5d058c98fd elm cnp - make matchers const and static too 2020-09-05 15:03:44 +01:00
Marcel Hollerbach f8ef50eaaa elm_cnp: adjust image type to real format
we should never say that we have image/png etc. if we do not have the
respective format. Otherwise we are just confusing the other client.

With this you can copy things from elm to thunderbird / libreoffice
writer / firefox / telegram / chromium.

Please note if you test this: Start *a new xorg session* it was
discovered that xorg clients tent to be totally confused if there was a
protocol error before, or some wrong mime type was delivered before,
thunderbird even likes to crash if this is not done.

This should at some point be extended to more image types.
2020-09-05 09:43:43 +02:00
Marcel Hollerbach 6e85742b42 ecore_evas_x: reply in *any* way with XdndStatus
otherwise Xorg stops sometimes to continue sending callbacks to us.
Which results in a broken state maschine.
2020-09-04 18:30:36 +02:00
Carsten Haitzler 8cb57ecc1b ecore x - fix typo in internal backdoor api to get vsync debug 2020-09-04 14:42:07 +01:00
Carsten Haitzler e0d21286c2 ecore drm - increase timeout for flips from 0.05 to 2.0 sec
so our timeout is far too agressive. we cant stay hung on buggy
devices/drivers though so make the timeout 2s instead of 0.05s so we
dont go retrying flips too agressively which causes stuttering

@fix
2020-09-04 13:25:52 +01:00
junsu choi 39ccd92394 vg_load_svg: Fix pointing to wrong parent
Summary:
If defs type is open empty style, it is not included in stack.
Because the current logic is weak to group tags in sibling relationships.
If defs of open-empty type is placed before the group tag,
the group tag refers to the wrong parent. This patch prevents it.

This change is the same concept as the D12127, which was reverted to 5065c9d0c2.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: cedric, herb, kimcinoo, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12129
2020-09-04 11:14:59 +09:00
Myoungwoon Roy, Kim add087837c docs: Add the missing API page name to elementary and evas
I had found missing API reference page name. There should be page name to each API defgroup

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D12128
2020-09-03 11:17:53 +02:00
Carsten Haitzler 9544c87428 edje - calc - handle swallow disappearing mid-calc due to callabcks
callbacks attached to move/resize etc. can change a swallow and ..
well.. i hit a crash where it happens. so handle this case.

@fix
2020-09-03 09:42:31 +01:00
Hermet Park 5065c9d0c2 Revert "SvgLoader: Defs type nodes are not saved in loader's node list."
This reverts commit 40b6e44947.

This has some side effects, we will intrdouce it again after fix it.
2020-09-03 16:45:27 +09:00
junsu choi 40b6e44947 SvgLoader: Defs type nodes are not saved in loader's node list.
Summary:
If there is an empty (unused) <defs /> inside the svg file, this can cause problems.
<defs> node is managed separately in loader->def.
So it doesn't have to be added to loader's list.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers, kimcinoo, herb

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12127
2020-09-02 18:34:59 +09:00
Vincent Torri af8bf56c98 eina file test: check rmdir result.
Fix CID 1432267

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D12125
2020-09-02 10:44:19 +02:00
Marcel Hollerbach e2a1cdfda7 build: only find env once
this was a bit messy, and we might have caused a bug on the ML with
that.
2020-09-02 09:25:51 +02:00
Marcel Hollerbach f9ade56cf8 efl_ui_focus_manager_calc: fix CID
coverity was complaining that the DIRECTION ACCESS macro might access
over a negative direction. However, complement of a 2D direction is
always a 2D direction. But coverity cannot detect that.
2020-09-01 14:12:31 +02:00
Marcel Hollerbach 9fb91f4a9f eldbus: use the const macros we have
clang warns about that, its rather harmless, but nicer.
2020-09-01 14:12:31 +02:00
Marcel Hollerbach 13a76dded0 efl: resolve warnings over misleading code
this is meant to be like this, but clang thought of an intention mistake
here that went unsighted.
2020-09-01 14:12:31 +02:00
Marcel Hollerbach 9673ed6269 benchmarks: specify this outside extern "C"
uint128 is defined as a c++ specific type.
2020-09-01 14:12:31 +02:00
Marcel Hollerbach c40c279308 eldbus_fake_server: fix string format usage
we know that there is no % etc. formatting in this string, however, we
can just use the ck abort msg macro from libcheck directly.
2020-09-01 14:12:31 +02:00
Marcel Hollerbach 0817c49e75 efl: remove unused functions
these are not used, if they are used again in the future, they can be
get back via git.
2020-09-01 14:12:31 +02:00
Marcel Hollerbach 5f73d13047 efl: remove bool and string pointer mixup 2020-09-01 14:12:31 +02:00
Woochanlee 8198345e1f edje_cc: Fix uninitialized scalar variable
Summary:
mo_path can using for fprintf in using_file function without initialize.
fix coverity.

Reviewers: Hermet, raster

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12120
2020-09-01 21:02:57 +09:00
Carsten Haitzler d5d7c55302 elm icon/thumb - fix handling of a wider range of video extns
the xetension list for video files was far too small. it menas it
missed many kinds of video files. this fixes that to have a much wider
range/list.

@fix
2020-09-01 12:26:01 +01:00
Stefan Schmidt 173b3a108e Revert "evas_textblock: rainbow flag emoji treated as two clusters(update unibreak to version 4.2)"
This reverts commit 1ab71284db.

We are in freeze.
2020-09-01 13:00:33 +02:00
Youngbok Shin 6e02557535 evas_textblock: remove style padding from native width and formatted height
Summary:
The style padding was included in native width(not in native height)
and formatted height(not in formatted width).
This is so weired. In addition, there is no enough document about
the relation between formatted size, native size and the style padding.
This issue is caused by a confusing code which is about how to handle
the style padding on item's width and height.("x_adjustment"!)

When Evas calculates "c->wmax" in line finalization stage, it explicitly subtract
style padding from line width. So, I assumed the formatted size has not to include
style padding. It is same for the native size.

The style padding will not be included in formatted size and native size by this commit.
@fix

Test Plan:
A test case is included in this commit.

Evas_Object *tb = evas_object_textblock_add(evas);

newst = evas_textblock_style_new();
evas_textblock_style_set(newst, "DEFAULT='font=Sans font_size=50 color=#000 text_class=entry'");
evas_object_textblock_style_set(tb, newst);

evas_object_textblock_text_markup_set(tb, "<style=far_soft_shadow>Test</>");
evas_object_textblock_style_insets_get(tb, &l, &r, &t, &b);
fail_if((l != 0) || (r != 4) || (t != 0) || (b != 4));

/* Size with style padding */
evas_object_textblock_size_formatted_get(tb, &w, &h);
evas_object_textblock_size_native_get(tb, &nw, &nh);

/* It is non-sense if the following condition is true. */
fail_if((w + l + r == nw) && (h == nh + t + b));

Reviewers: raster, ali.alzyod, woohyun, bowonryu

Reviewed By: ali.alzyod

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12110
2020-09-01 19:39:13 +09:00
AbdullehGhujeh 1ab71284db evas_textblock: rainbow flag emoji treated as two clusters(update unibreak to version 4.2)
Summary:
if we have rainbow flag emoji (&#x1f3f3;&#xfe0f;&#x200d;&#x1f308;)
we can use mouse/keyboard to move cursor inside it because we break it into two clusters, we break on 1F308,

This is wrong as we should treat emoji as a single cluster (based on rules mentioned in Unicode segmentation standard “Do not break within emoji modifier sequences or emoji ZWJ sequences” (https://unicode.org/reports/tr29/#GB11 )).

this issue happens because we don’t give 1F308 its correct grapheme break property value, I think this is a bug in the unibreak library as this Unicode 1F308 should have word break class value equals to Glue_After_ZWJ (based on https://www.unicode.org/reports/tr29/tr29-31.html#Glue_After_Zwj_WB and http://unicode.org/Public/emoji/5.0/emoji-zwj-sequences.txt) which will not make it break and we will get a single cluster.

I noticed that the current unibreak lib used in EFL  seems to implement Unicode 9  (latest is Unicode 13) which uses obsolete and unused grapheme break property, such as E_Modifier & Glue_After_ZWJ, so if a new emoji introduced (rainbow flag was introduced after Unicode 9)  and based on Unicode 9 it should use property  E_Modifier or Glue_After_ZWJ we will have issue with it.

So I have updated unibreak lib using latest released version of unibreak (4.2) which implement Unicode 12.

I needed to remove **BREAK_AFTER(i)** to pass the tests in D1140 as spaces do not break on latest update (also related to T995).

{F3868712}

this should fix T8665 & T8688

Reviewers: ali.alzyod, woohyun, bowonryu, zmike, segfaultxavi, bu5hm4n

Reviewed By: ali.alzyod

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8665

Differential Revision: https://phab.enlightenment.org/D11743
2020-09-01 19:33:52 +09:00
Vincent Torri ba3b082d06 eeze_mount binary: more secure check extension ('.iso' and not 'iso')
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D12123
2020-09-01 09:35:49 +02:00
Vincent Torri 2261332969 ecore_file_can_exec: fix .bat case
the test on the .bat file was too early

Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D12122
2020-09-01 09:35:46 +02:00
4351 changed files with 149716 additions and 71618 deletions

View File

@ -1,7 +0,0 @@
{
"project_id" : "efl",
"projects" : "efl",
"conduit_uri" : "https://phab.enlightenment.org/",
"phabricator.uri" : "https://phab.enlightenment.org/",
"repository.callsign" : "EFL"
}

View File

@ -1,7 +0,0 @@
#!/bin/sh
mkdir build-bootstrap-native
meson --prefix=/usr/ --libdir=/usr/lib -Dbuild-examples=false -Dbuild-tests=false -Dbindings=cxx build-bootstrap-native
ninja -C build-bootstrap-native install
rm -rf build-bootstrap-native
ldconfig

View File

@ -1,16 +0,0 @@
#!/bin/sh
set -e
if [ -d /usr/local/lib64 ] ; then
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
else
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
fi
cd .ci/example
#build the example
mkdir build
meson . build
ninja -C build all

View File

@ -1,7 +0,0 @@
max_size = 500M
compression = true
compression_level = 1
sloppiness = time_macros,include_file_mtime,include_file_ctime,file_macro
run_second_cpp = false
hash_dir = false

View File

@ -1,20 +0,0 @@
#!/bin/bash
set -e
if [ "$1" = "codecov" ] || [ "$1" = "coverity" ] || [ "$1" = "mingw" ] || [ "$1" = "release-ready" ]; then
exit 0
fi
travis_fold start "app-compile-test"
travis_time_start "app-compile-test"
if [ "$DISTRO" != "" ] ; then
docker exec --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) .ci/build-example.sh
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
exit 0
#FIXME: we don't install efl_ui.pc on osx?
export PATH="$(brew --prefix gettext)/bin:$PATH"
.ci/build-example.sh
fi
travis_time_finish "app-compile-test"
travis_fold end "app-compile-test"

View File

@ -1,13 +0,0 @@
#!/bin/bash
set -e
travis_fold start "ccache-stats"
travis_time_start "ccache-stats"
if [ "$DISTRO" != "" ] ; then
docker exec $(cat $HOME/cid) ccache -s
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
ccache -s
fi
travis_time_finish "ccache-stats"
travis_fold end "ccache-stats"

View File

@ -1,114 +0,0 @@
#!/bin/bash
set -e
travis_fold start "meson"
travis_time_start "meson"
if [ "$DISTRO" != "" ] ; then
# Why do we need to disable the imf loaders here?
OPTS=" -Decore-imf-loaders-disabler=scim,ibus"
MONO_LINUX_COPTS=" -Dbindings=cxx,mono -Dmono-beta=true"
WAYLAND_LINUX_COPTS=" -Dwl=true -Ddrm=true -Dopengl=es-egl -Dwl-deprecated=true -Ddrm-deprecated=true"
# TODO:
# - No libelogind package in fedora 30 repo
# - Ibus
ENABLED_LINUX_COPTS=" -Dfb=true -Dsdl=true -Dbuffer=true -Dbuild-id=travis-build \
-Ddebug-threads=true -Dglib=true -Dg-mainloop=true -Dxpresent=true -Dxinput22=true \
-Devas-loaders-disabler=json,avif -Decore-imf-loaders-disabler= \
-Dharfbuzz=true -Dpixman=true -Dhyphen=true -Defl-one=true \
-Dvnc-server=true -Delua=true -Dbindings=lua,cxx,mono -Delogind=false -Dinstall-eo-files=true -Dphysics=true"
# Enabled png, jpeg evas loader for in tree edje file builds
DISABLED_LINUX_COPTS=" -Daudio=false -Davahi=false -Dx11=false -Dphysics=false -Deeze=false \
-Dopengl=none -Deina-magic-debug=false -Dbuild-examples=false -Dbuild-tests=false \
-Dcrypto=gnutls -Dglib=false -Dgstreamer=false -Dsystemd=false -Dpulseaudio=false \
-Dnetwork-backend=connman -Dxinput2=false -Dtslib=false \
-Devas-loaders-disabler=gst,pdf,ps,raw,svg,xcf,bmp,dds,eet,generic,gif,ico,jp2k,json,pmaps,psd,tga,tgv,tiff,wbmp,webp,xpm,avif \
-Decore-imf-loaders-disabler=xim,ibus,scim \
-Dfribidi=false -Dfontconfig=false \
-Dedje-sound-and-video=false -Dembedded-lz4=false -Dlibmount=false -Dv4l2=false \
-Delua=false -Dnls=false -Dbindings= -Dlua-interpreter=luajit -Dnative-arch-optimization=false"
#evas_filter_parser.c:(.text+0xc59): undefined reference to `lua_getglobal' with interpreter lua
RELEASE_READY_LINUX_COPTS=" --buildtype=release"
MINGW_COPTS="--cross-file .ci/cross_toolchain.txt -Davahi=false -Deeze=false -Dsystemd=false \
-Dpulseaudio=false -Dx11=false -Dopengl=none -Dlibmount=false \
-Devas-loaders-disabler=json,pdf,ps,raw,svg,rsvg,avif \
-Dharfbuzz=true -Dpixman=true -Dembedded-lz4=false "
if [ "$1" = "default" ]; then
OPTS="$OPTS $MONO_LINUX_COPTS"
elif [ "$1" = "options-enabled" ]; then
OPTS="$OPTS $ENABLED_LINUX_COPTS $WAYLAND_LINUX_COPTS"
elif [ "$1" = "options-disabled" ]; then
OPTS="$OPTS $DISABLED_LINUX_COPTS"
elif [ "$1" = "wayland" ]; then
OPTS="$OPTS $WAYLAND_LINUX_COPTS"
elif [ "$1" = "release-ready" ]; then
OPTS="$OPTS $RELEASE_READY_LINUX_COPTS"
elif [ "$1" = "coverity" ]; then
travis_fold start "cov-download"
travis_time_start "cov-download"
OPTS="$OPTS $WAYLAND_LINUX_COPTS"
docker exec --env COVERITY_SCAN_TOKEN=$COVERITY_SCAN_TOKEN $(cat $HOME/cid) sh -c '.ci/coverity-tools-install.sh'
travis_time_finish "cov-download"
travis_fold end "cov-download"
elif [ "$1" = "mingw" ]; then
travis_fold start "cross-native"
travis_time_start "cross-native"
OPTS="$OPTS $MINGW_COPTS"
docker exec $(cat $HOME/cid) sh -c '.ci/bootstrap-efl-native-for-cross.sh'
travis_time_finish "cross-native"
travis_fold end "cross-native"
fi
if [ "$1" = "asan" ]; then
docker exec --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
--env CXX="ccache g++" --env CFLAGS="-O0 -g" --env CXXFLAGS="-O0 -g" \
--env LD="ld.gold" $(cat $HOME/cid) sh -c "mkdir build && meson build $OPTS -Db_sanitize=address"
elif [ "$1" = "mingw" ]; then
docker exec --env EIO_MONITOR_POLL=1 --env PKG_CONFIG_PATH="/ewpi-64-install/lib/pkgconfig/" \
$(cat $HOME/cid) sh -c "mkdir build && meson build $OPTS"
elif [ "$1" = "coverity" ]; then
docker exec --env EIO_MONITOR_POLL=1 --env CFLAGS="-fdirectives-only" --env CC="gcc" --env CXX="g++"\
--env CXXFLAGS="-fdirectives-only" $(cat $HOME/cid) sh -c "mkdir build && meson build $OPTS"
else
docker exec --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
--env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
--env LD="ld.gold" $(cat $HOME/cid) sh -c "mkdir build && meson build $OPTS"
fi
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
# Prepare OSX env for build
mkdir -p ~/Library/LaunchAgents
ln -sfv /usr/local/opt/d-bus/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
export CFLAGS="-I/usr/local/opt/openssl/include -frewrite-includes $CFLAGS"
export LDFLAGS="-L/usr/local/opt/openssl/lib $LDFLAGS"
LIBFFI_VER=$(brew list --versions libffi|head -n1|cut -d' ' -f2)
export CC="ccache gcc"
#force using system zlib, which doesn't have a pc file provided because that's the smartest thing possible
zlib_vers=$(grep ZLIB_VERSION /usr/include/zlib.h|head -n1|awk '{print $3}'|cut -d'"' -f2)
sed -iE "s/REPLACE_THIS/$zlib_vers/" .ci/zlib.pc
export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig:/usr/local/Cellar/libffi/$LIBFFI_VER/lib/pkgconfig:$(pwd)/.ci"
mkdir build && meson build -Dopengl=full -Decore-imf-loaders-disabler=scim,ibus -Dx11=false -Davahi=false -Deeze=false -Dsystemd=false -Dnls=false -Dcocoa=true -Dgstreamer=false -Dbuild-tests=false
else # Native Ubuntu Linux Travis builds (non-docker)
OPTS=" -Decore-imf-loaders-disabler=scim,ibus"
if [ "$TRAVIS_CPU_ARCH" = "ppc64le" ]; then
OPTS="$OPTS -Dbindings="
elif [ "$TRAVIS_CPU_ARCH" = "s390x" ] ; then
OPTS="$OPTS -Dbindings= -Delua=false -Dlua-interpreter=lua"
fi
if [ "$1" = "codecov" ]; then
OPTS="$OPTS -Db_coverage=true"
fi
mkdir build && meson build $OPTS
fi
travis_time_finish "meson"
travis_fold end "meson"

View File

@ -1,16 +0,0 @@
#!/bin/bash
set -e
if [ "$1" != "exactness" ] ; then
exit 0
fi
travis_fold start "exactness"
travis_time_start "exactness"
if [ "$DISTRO" != "" ] ; then
docker exec --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) sh -c 'git -C /exactness-elm-data pull'
docker exec --env EIO_MONITOR_POLL=1 --env LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/local/lib64 --env EINA_LOG_LEVELS_GLOB=eina_*:0,ecore*:0,efreet*:0,eldbus:0,elementary:0 $(cat $HOME/cid) exactness -j 20 -b /exactness-elm-data/default-profile -p /exactness-elm-data/default-profile/ci-fedora32-tests.txt
fi
travis_time_finish "exactness"
travis_fold end "exactness"

View File

@ -1,17 +0,0 @@
#!/bin/bash
set -e
if [ "$1" != "default" ] ; then
exit 0
fi
travis_fold start "ninja-benchmark"
travis_time_start "ninja-benchmark"
if [ "$DISTRO" != "" ] ; then
docker exec --env EIO_MONITOR_POLL=1 --env ELM_ENGINE=buffer $(cat $HOME/cid) ninja benchmark -C build
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
ninja benchmark -C build
fi
travis_time_finish "ninja-benchmark"
travis_fold end "ninja-benchmark"

View File

@ -1,41 +0,0 @@
#!/bin/bash
set -e
if [ "$1" = "release-ready" ] || [ "$1" = "mingw" ] || [ "$1" = "coverity" ] || [ "$1" = "options-enabled" ] || [ "$1" = "options-disabled" ] ; then
exit 0
fi
NUM_TRIES=5
if [ "$1" = "codecov" ] ; then
travis_fold start "codecov"
travis_time_start "codecov"
for tries in $(seq 1 ${NUM_TRIES}); do
export EFL_TEST_ECORE_CON_IPV6=1
meson test -t 120 -C build --wrapper dbus-launch && break
cat build/meson-logs/testlog-dbus-launch.txt
if [ $tries != ${NUM_TRIES} ] ; then echo "tests failed, trying again!" ; fi
false
done
curl -s https://codecov.io/bash | bash -s -
travis_time_finish "codecov"
travis_fold end "codecov"
exit 0
fi
travis_fold start "ninja-test"
travis_time_start "ninja-test"
if [ "$DISTRO" != "" ] ; then
for tries in $(seq 1 ${NUM_TRIES}); do
(docker exec --env EINA_LOG_BACKTRACE="0" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) meson test -t 120 -C build --wrapper dbus-launch ) && break
docker exec --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) cat build/meson-logs/testlog-dbus-launch.txt
if [ $tries != ${NUM_TRIES} ] ; then echo "tests failed, trying again!" ; fi
false
done
fi
ret=$?
travis_time_finish "ninja-test"
travis_fold end "ninja-test"
exit $ret

View File

@ -1,22 +0,0 @@
#!/bin/bash
set -e
if [ "$1" != "release-ready" ] ; then
exit 0
fi
travis_fold start "ninja-dist"
travis_time_start "ninja-dist"
if [ "$DISTRO" != "" ] ; then
docker exec --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
--env CXX="ccache g++" \
--env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
--env LD="ld.gold" $(cat $HOME/cid) dbus-launch ninja -C build dist || \
(sudo cat efl-*/_build/sub/src/test-suite.log; false)
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
ninja -C build dist
fi
travis_time_finish "ninja-dist"
travis_fold end "ninja-dist"

View File

@ -1,20 +0,0 @@
#!/bin/bash
set -e
if [ "$1" = "release-ready" ] || [ "$1" = "coverity" ] ; then
exit 0
fi
travis_fold start "ninja-install"
travis_time_start "ninja-install"
if [ "$DISTRO" != "" ] ; then
docker exec --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) ninja -C build install
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
ninja -C build install
else
sudo ninja -C build install
fi
travis_time_finish "ninja-install"
travis_fold end "ninja-install"

View File

@ -1,31 +0,0 @@
#!/bin/bash
set -e
if [ "$1" = "release-ready" ] ; then
exit 0
fi
travis_fold start "ninja"
travis_time_start "ninja"
if [ "$DISTRO" != "" ] ; then
if [ "$1" = "coverity" ] ; then
docker exec --env EIO_MONITOR_POLL=1 --env PATH="/src/cov-analysis-linux64-2019.03/bin:$PATH" $(cat $HOME/cid) sh -c "cov-build --dir cov-int ninja -C build"
docker exec --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) sh -c "tar caf efl-$(git rev-parse --short HEAD).xz cov-int"
docker exec --env EIO_MONITOR_POLL=1 --env COVERITY_SCAN_TOKEN=$COVERITY_SCAN_TOKEN $(cat $HOME/cid) sh -c ".ci/coverity-upload.sh"
else
docker exec --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) ninja -C build
if [ "$1" = "options-enabled" ]; then # we have efl-one on and want to check it after build
docker exec --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) python scripts/test-efl-one.py build
fi
fi
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
latest_brew_python3_bin="$(ls -1d /usr/local/Cellar/python/3.*/bin | sort -n | tail -n1)"
export PATH="${latest_brew_python3_bin}${PATH:+:}${PATH}"
export PATH="$(brew --prefix gettext)/bin:$PATH"
ninja -C build
else
ninja -C build
fi
travis_time_finish "ninja"
travis_fold end "ninja"

View File

@ -1,17 +0,0 @@
#!/bin/bash
set -e
travis_fold start "ccache-setup"
travis_time_start "ccache-setup"
if [ "$DISTRO" != "" ] ; then
docker exec $(cat $HOME/cid) sh -c ".ci/docker-ccache-setup.sh $1"
docker exec $(cat $HOME/cid) ccache -pz
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
cp .ci/ccache.conf ~/.ccache
sed -iE '/^base_dir/d' ~/.ccache/ccache.conf
echo "base_dir = $pwd" >> ~/.ccache/ccache.conf
ccache -pz
fi
travis_time_finish "ccache-setup"
travis_fold end "ccache-setup"

View File

@ -1,4 +0,0 @@
#!/bin/sh
wget https://scan.coverity.com/download/linux64 --post-data="token=$COVERITY_SCAN_TOKEN&project=Enlightenment+Foundation+Libraries" -O coverity_tool.tgz
tar xzf coverity_tool.tgz

View File

@ -1,8 +0,0 @@
#!/bin/sh
curl --form token=$COVERITY_SCAN_TOKEN \
--form email=stefan@datenfreihafen.org \
--form file=@efl-$(git rev-parse --short HEAD).xz \
--form version=$(git rev-parse --short HEAD) \
--form description="Submission from Travis CI" \
https://scan.coverity.com/builds?project=Enlightenment+Foundation+Libraries

View File

@ -1,20 +0,0 @@
[binaries]
c = ['ccache', 'x86_64-w64-mingw32-gcc']
cpp = ['ccache', 'x86_64-w64-mingw32-g++']
ar = 'x86_64-w64-mingw32-ar'
ranlib = 'x86_64-w64-mingw32-ranlib'
strip = 'x86_64-w64-mingw32-strip'
windres = 'x86_64-w64-mingw32-windres'
pkgconfig = 'x86_64-w64-mingw32-pkg-config'
[host_machine]
system = 'windows'
cpu_family = 'x86_64'
cpu = 'x86_64'
endian = 'little'
[properties]
c_args = ['-D_WIN32_WINNT=0x0601', '-I/ewpi-64-install/include', '-O2', '-pipe', '-march=x86-64']
c_link_args = ['-L/ewpi-64-install/lib', '-s']
cpp_args = ['-D_WIN32_WINNT=0x0601', '-I/ewpi-64-install/include', '-O2', '-pipe', '-march=x86-64']
cpp_link_args = ['-L/ewpi-64-install/lib', '-s']

View File

@ -1,8 +0,0 @@
#!/bin/sh
CI_BUILD_TYPE="$1"
cp .ci/ccache.conf ~/.ccache
sed -iE '/^base_dir/d' ~/.ccache/ccache.conf
echo "base_dir = $pwd" >> ~/.ccache/ccache.conf

View File

@ -1,13 +0,0 @@
project(
'efl-example', 'c',
version : '0.0.1',
default_options: [ 'c_std=gnu99', 'warning_level=2' ],
meson_version : '>= 0.38.0')
eina = dependency('eina', version : '>=1.20.99')
efl = dependency('efl-ui', version : '>=1.20.99')
elm = dependency('elementary', version : '>=1.20.99')
inc = include_directories('.')
subdir('src')

View File

@ -1,11 +0,0 @@
#define EFL_BETA_API_SUPPORT 1
#define EFL_NOLEGACY_API_SUPPORT
#include <Efl_Ui.h>
EAPI_MAIN void
efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
{
return;
}
EFL_MAIN()

View File

@ -1,12 +0,0 @@
src = files([
'main.c',
])
deps = [eina, efl, elm]
executable('efl_example', src,
dependencies : deps,
include_directories : inc,
install : true
)

View File

@ -1,19 +0,0 @@
#!/bin/bash
set -e
travis_fold start "bionic-deps"
travis_time_start "bionic-deps"
sudo apt-get update -y
sudo apt-get install -y build-essential autoconf automake autopoint doxygen check libharfbuzz-dev libpng-dev libudev-dev libwebp-dev libssl-dev libfribidi-dev libcogl-gles2-dev libgif-dev libtiff5-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libdbus-1-dev libmount-dev libblkid-dev libpulse-dev libxrandr-dev libxtst-dev libxcursor-dev libxcomposite-dev libxinerama-dev libxkbfile-dev libbullet-dev libsndfile1-dev libraw-dev libspectre-dev libpoppler-cpp-dev libpam0g-dev liblz4-dev faenza-icon-theme gettext git imagemagick libasound2-dev libbluetooth-dev libfontconfig1-dev libfreetype6-dev libibus-1.0-dev libiconv-hook-dev libjpeg-dev libjpeg-turbo8-dev libpoppler-dev libpoppler-private-dev libproxy-dev librsvg2-dev libscim-dev libsystemd-dev libtool libudisks2-dev libunibreak-dev libxcb-keysyms1-dev libxss-dev linux-tools-common libcurl4-openssl-dev systemd ccache git binutils-gold python3-pip ninja-build dbus-x11 libavahi-client-dev python3-setuptools libopenjp2-7-dev libc6-dev libpcre3-dev
# s390x on Ubuntu Bionic on Travis does not have a luajit package and fails install, use lua5.1
if [ "$TRAVIS_CPU_ARCH" = "s390x" ] ; then
sudo apt-get install -y liblua5.1-dev
else
sudo apt-get install -y luajit libluajit-5.1-dev
fi
sudo pip3 install meson==0.54.3
travis_time_finish "bionic-deps"
travis_fold end "bionic-deps"

View File

@ -1,13 +0,0 @@
prefix=/usr
exec_prefix=${prefix}
libdir=/usr/lib64
sharedlibdir=${libdir}
includedir=/usr/include
Name: zlib
Description: zlib compression library
Version: REPLACE_THIS
Requires:
Libs: -L${libdir} -L${sharedlibdir} -lz
Cflags: -I${includedir}

View File

@ -1 +0,0 @@
geninfo_auto_base=1

View File

@ -1,7 +0,0 @@
extraction:
python:
python_setup:
version: 3
queries:
-
exclude: cpp/fixme-comment

View File

@ -1,157 +0,0 @@
version: ~> 1.0
language: c
cache:
directories:
- $HOME/cachedir
- $HOME/.ccache
dist: bionic
osx_image: xcode11.3
addons:
homebrew:
packages:
- gettext
- check
- bullet
- dbus
- fontconfig
- freetype
- fribidi
- gst-plugins-good
- gstreamer
- luajit
- openssl
- webp
- libsndfile
- glib
- libspectre
- libraw
- librsvg
- poppler
- lz4
- pulseaudio
- ccache
- ninja
- python3
- libffi
update: true
env:
global:
- EIO_MONITOR_POLL=1
- CC="ccache gcc"
- CXX="ccache g++"
jobs:
include:
- os: osx
- os: linux
env: DISTRO=Fedora32-mingw CI_BUILD_TYPE=mingw
- os: linux
env: DISTRO=Fedora32 CI_BUILD_TYPE=options-enabled
- os: linux
env: DISTRO=Fedora32 CI_BUILD_TYPE=options-disabled
- os: linux
env: DISTRO=Fedora32 CI_BUILD_TYPE=wayland
- os: linux
env: DISTRO=Fedora32 CI_BUILD_TYPE=default
- os: linux
if: type = cron
env: DISTRO=Fedora32 CI_BUILD_TYPE=release-ready
- os: linux
if: type = cron
env: DISTRO=Ubuntu2004
- os: linux
if: type = cron
env: DISTRO=Ubuntu1910
- os: linux
if: type = cron
env: DISTRO=Debian103
- os: linux
if: type = cron
env: DISTRO=Fedora31 CI_BUILD_TYPE=coverity
- os: linux
if: type = cron
env: DISTRO=Fedora32 CI_BUILD_TYPE=asan
- os: linux
if: type = cron
env: DISTRO=Fedora32-exactness CI_BUILD_TYPE=exactness
- os: linux
if: type = cron
env: CI_BUILD_TYPE=codecov
- os: linux
if: type = cron
arch: arm64
env: CI_BUILD_TYPE=default
- os: linux
if: type = cron
arch: ppc64le
env: CI_BUILD_TYPE=no-bindings
- os: linux
if: type = cron
arch: s390x
env: CI_BUILD_TYPE=no-bindings
services:
- docker
before_install:
- export -f travis_nanoseconds
- export -f travis_fold
- export -f travis_time_start
- export -f travis_time_finish
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
rm -rf $HOME/Library/Caches/Homebrew
rm -rf $HOME/cachedir/Homebrew/Homebrew
mv $HOME/cachedir/Homebrew $HOME/Library/Caches/Homebrew
pip3 install meson
fi
before_script:
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$DISTRO" != "" ]]; then
docker pull stefanschmidt1/ci-support-files:$DISTRO
docker version
docker run --cap-add SYS_PTRACE --cidfile $HOME/cid -t -d -v `pwd`:/src -v $HOME/.ccache:/root/.ccache -w /src stefanschmidt1/ci-support-files:$DISTRO bash
fi
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$DISTRO" == "" ]]; then
.ci/ubuntu-bionic-install-deps.sh
fi
- .ci/ci-ccache-stats.sh
script:
- .ci/ci-configure.sh "$CI_BUILD_TYPE"
- .ci/ci-setup-ccache.sh "$CI_BUILD_TYPE"
- .ci/ci-make.sh "$CI_BUILD_TYPE"
- .ci/ci-make-install.sh "$CI_BUILD_TYPE"
- .ci/ci-make-benchmark.sh "$CI_BUILD_TYPE"
- .ci/ci-make-check.sh "$CI_BUILD_TYPE"
- .ci/ci-exactness.sh "$CI_BUILD_TYPE"
- .ci/ci-make-distcheck.sh "$CI_BUILD_TYPE"
- .ci/ci-build-test.sh "$CI_BUILD_TYPE"
before_cache:
- .ci/ci-ccache-stats.sh
- |
mkdir -p $HOME/cachedir
if [[ "$TRAVIS_OS_NAME" == "linux" ]] ; then
sudo chown travis:travis $HOME/.ccache
else
mv $HOME/Library/Caches/Homebrew $HOME/cachedir/Homebrew
fi
notifications:
irc:
channels:
- "chat.freenode.net#edevelop"
on_success: change
on_failure: always
template:
- "TravisCI build %{build_number} in branch %{branch}: %{result} - %{message} (%{elapsed_time})"
- "Commit: %{commit_subject} (%{commit}) from %{author}"
- "Change view : %{compare_url}"
- "Build details : %{build_url}"

View File

@ -1,10 +0,0 @@
Gesture Layer 2 (all the icons in data/elementary/images/g_layer):
Illustrations provided by GestureWorks® (www.gestureworks.com)
Creative Commons Attribution Sharealike license v 3.0.
http://gestureworks.com/
http://gestureworks.com/icons-fonts
http://creativecommons.org/licenses/by-sa/3.0/us/
EFL Bluish-X icons theme (all the icons in data/elementary/themes/fdo):
GNU General Public License v3
see the README in data/elementary/themes/fdo for more info

1486
ChangeLog

File diff suppressed because it is too large Load Diff

59
INSTALL
View File

@ -1,59 +0,0 @@
** COMPILING and INSTALLING **
------------------------------
Meson is the build system used for this project. For more information please
see:
http://mesonbuild.com
----
Normal compilation in /usr/local:
meson . build
ninja -C build
sudo ninja -C build install
For meson build generic options:
meson --help
For a list of project specific options supported:
cat meson_options.txt
To set 1 or more project specific options:
meson --prefix=/path/to -Doption=value [-Dother=value2] [...] . build
To display current configuration:
meson configure build
The above will only work after at least the following is done:
meson . build
** QUICK AND DIRTY HELP **
--------------------------
How clean out the build and config and start fresh:
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)
ninja -C build dist
How to change prefix:
meson --prefix=/path/to/prefix . build
How to install in a specific destination directory for packaging:
DESTDIR=/path/to/destdir ninja -C build install
How to build with verbose output (full commands run):
ninja -C build -v

6
NEWS
View File

@ -53,6 +53,12 @@ Fixes:
* ecore con - curl - fix error map to map right enum
* eina - statgen (stat generation) - fix enable api to actually enable
* evas - image cache - fix loading with skip head on to load changed files
* evas_textblock: remove style padding from native width and formatted height
* elm icon/thumb - fix handling of a wider range of video extns
* edje - calc - handle swallow disappearing mid-calc due to callabcks
* ecore drm - increase timeout for flips from 0.05 to 2.0 sec
* docs: Correct the mismatched group name in Evas.
* elm - toolbar - use correct theme icon for more items
Changes since 1.23.0:
---------------------

524
README
View File

@ -1,524 +0,0 @@
EFL
===
******************************************************************************
FOR ANY ISSUES PLEASE EMAIL:
enlightenment-devel@lists.sourceforge.net
******************************************************************************
EFL is a collection of libraries for handling many common tasks a
developer may have such as data structures, communication, rendering,
widgets and more.
There are many components inside EFL. They also build various things
like shared libraries, loadable plug-in modules and also binary
executables. Different elements will end up being licensed differently
too. Below is a rundown of the components, what they do and their
licensing.
All library source is in the src/lib/ directory. All binaries are in
src/bin/. All loadable modules are in src/modules/. All data files are
in the data/ directory. Licensing details are listed in COPYING and
the licenses/ directory. The pc/ directory holds all the Package
Config files installed to help developers build against EFL.
For more documentation please see:
https://www.enlightenment.org/docs
PLATFORMS
---------
EFL is primarily developerd on Linux (GNU/Linux) and should work on
most distributions as long as dependencies are provided. It has been
compiled and run also on Windows (using MINGW32 - please see
http://www.winbuilds.org ), Mac OS X, FreeBSD and NetBSD.
COMPONENTS
----------
**Ecore:**
//BSD 2-Clause license//
This is the core main-loop, system events and execution layer. This
handles running the main loop, integrating with external data and
timing sources (the system clock, file descriptors, system signals),
and producing an event queue, walking that queue and dispatching
events to appropriate callbacks.
**Ecore Audio:**
//BSD 2-Clause license//
This library provides an API for audio playback and recording. It uses
pulse audio underneath to handle mixing and policies. The API for this
should not be considered stable right now because it relies on EO and
EO is not considered finalized yet.
**Ecore Cocoa:**
//BSD 2-Clause license//
This provides wrappers/abstractions around Max OS-X Cocoa APIs to help
Mac porting.
**Ecore Con:**
//BSD 2-Clause license//
This provides a completely event-based TCP/UDP and Unix domain socket
API that integrates with the main-loop. This means no blocking to send
or receive data, supporting "infinite send buffers" with storage and
spooling being done by Ecore Con. It also supports SSL encryption
transparently turned on or not on the same connection, certificate
verification, CURL wrapping for HTTP connection usage (GETs, POSTs
etc.), asynchronous DNS lookups and provides the ability to also be a
server, not just a client, with the same event-based API.
**Ecore Evas:**
//BSD 2-Clause license//
This acts as glue between the display target (X11, Wayland,
Frame buffer, Cocoa on OSX, Win32 etc.) and Evas. It creates/provides a
target for Evas to render to (a Window or Surface etc.) and feeds
input events (Keyboard, Mouse, Multi-touch) into Evas, which then
selects the target object and calls the callbacks. It also provides
wrappers/glue for manipulating the Window/Surface.
**Ecore Fb:**
//BSD 2-Clause license//
This provides virtual terminal allocation, access and handling,
frame buffer information, raw input handling for keyboard, mouse and
touch (via tslib).
**Ecore File:**
//BSD 2-Clause license//
This provides file access convenience APIs for doing simple file
operations like renames, copies, listing directories and more. It also
supports file change monitoring and URL downloads.
**Ecore IMF:**
//BSD 2-Clause license//
This is an input method abstraction framework to allow EFL to talk to
things like SCIM, IBus, Wayland and XIM. This allows for complex text
entry in languages such as Chinese, Japanese and Korean.
**Ecore IMF Evas:**
//BSD 2-Clause license//
This library glues Input method support from Ecore IMF and Evas
together.
**Ecore Input:**
//BSD 2-Clause license//
This acts as a generic input layer where multiple display systems can
post events in the same format to the event queue.
**Ecore Input Evas:**
//BSD 2-Clause license//
This Routes events from Ecore Input into a given Evas canvas which
will then route the event further to the destination object and
callbacks.
**Ecore IPC:**
//BSD 2-Clause license//
This acts as a layer on top of Ecore Con which handles entire IPC
message packets, dealing with header delta compression and
portability, as well as ensuring an entire message is received in one
go as a single IPC message, regardless of payload data size. The
entire API is event based almost exactly like Ecore Con and thus it
supports all the transport layers Ecore Con supports.
**Ecore SDL:**
//BSD 2-Clause license//
This acts as a wrapper/glue around SDL to handle SDL Windows as well
as input events from SDL and tie them to the Ecore main-loop and event
queue.
**Ecore Wayland:**
//BSD 2-Clause license//
This is a glue/wrapper library to interface EFL to Wayland libraries
to tie them into the Ecore main-loop and event queue.
**Ecore Win32:**
//BSD 2-Clause license//
This acts as glue/wrapper around Windows Win32 APIs to tie them into
the Ecore main-loop and event queue.
**Ecore WinCE:**
//BSD 2-Clause license//
This acts as glue/wrapper around Windows CE APIs to tie them into the
Ecore main-loop and event queue.
**Ecore X:**
//BSD 2-Clause license//
This is a library to wrap/deal with Xlib make dealing with X11 less painful
and less footwork as well as being glue to tie these into the Ecore main-loop
and event queue.
**Edje:**
//BSD 2-Clause license// (except the epp binary which is GPLv2)
This is a graphics event, input, theme, animation and theme
abstraction library used to place many UI/UX elements into data files
(called edj files) that define how to react to incoming
events/signals, and define animation time lines, states, relative
scalable layout and much much more. It comes with a compiler that
compiles source "edc" files into "edj" files (which are actually just
data files managed by Eet). These "edj" files are fully portable and
can work on any OS/Architecture just like a JPEG or PNG might be
portable.
**Eet:**
//BSD 2-Clause license//
This library is a data storage, encoding and decoding library
designed to be extremely compact, fast and easy to use. It can take
data structures directly from memory and serialize them portably to
disk, then de-serialize them right back to the same data structures in
memory, handling allocation and population of memory all for you in 1
call. It handles indirections such as pointers, linked lists, arrays
and hash tables too, so almost any level of data structure complexity
can be easily saved and loaded back. It is used for "edj" files by
Edje as well as all configuration in Enlightenment, Elementary and
Terminology. It supports encryption of data too via SSL, signing of
files, as well as various compression techniques. It also supports
encoding and decoding of image data in lossless or lossy form.
**Eeze:**
//BSD 2-Clause license//
This library acts as an abstraction to discovering hardware interfaces
for sensors as well as removable media and much more.
**EFL:**
//BSD 2-Clause license//
This is just some core common header data like a common version number
for EFL and how to expose the EO API.
**Efreet:**
//BSD 2-Clause license//
This library provides code for handling Freedesktop.org standards such
as .desktop files, XDG Menus, Icon search paths and more. It provides
a central daemon to handle monitoring for changes that the library
talks to, and the daemon handles updating local cache files the
library reads.
**Eina:**
//LGPL v2 license//
This library provides low-level routines for common things like linked
lists, hash tables, growable arrays, basic string buffers, shared
string tokens, mmaped() file access, thread abstraction and locking,
memory pools, copy-on-write segments, iterators, matrices, general
data models, red/black trees, quad-trees, a simple SAX XML parser and
more.
**EIO:**
//LGPL v2 license//
This is an asynchronous I/O library for doing disk I/O without blocking.
**ElDBus:**
//LGPL v2 license//
This is a DBus access library to allow you to create DBus services as
well as clients. This glues in DBus into the main-loop so all access is
asynchronous.
**Embryo:**
//Small license (same as ZLib license)//
This is a small C-like language compiler and byte-code interpreter
library. This is used for scripting in Edje. The code is based on
original source from the Pawn/Small Language but has been made
portable (endianness issues fixed) and 64bit issues fixed, with the
runtime library being refactored to be extremely small.
**Emotion:**
//BSD 2-Clause license//
This is a wrapper around Gstreamer 1.x pluggable decoder libraries
This glues in the decoder library, and its output into a smart Evas object
that will display the playback for you as the video plays, as well as
providing higher level controls to seek, play, pause and query the stream
regardless of the back-end used.
**EO:**
//BSD 2-Clause license//
This is a core object system API that EFL 1.8 and on depend on. The
API is not finalized, so do not depend on it yet in EFL 1.8, but
future EFL versions will lock it down.
This object system does simple and multiple inheritance, refcounting,
strong and weak references, auto-deletion of child objects, unifies
callback handling with a single path, and also abstracts object
pointers to be indirect table lookups for increased safety at runtime.
**EPhysics:**
//BSD 2-Clause license//
This library provides a wrapper around the Bullet physics library,
allowing for it to be linked directly with Evas objects and control
their behavior as if they were real physical objects. This is now
disabled by default as it's rarely if ever used by anything.
**Ethumb:**
//LGPL v2 license//
This library provides core API for a thumbnailing daemon as well as
the thumbnail daemon itself. Ethumb Client talks with Ethumb to pass
off thumbnail generation to a central location to be done
asynchronously.
**Ethumb Client:**
//LGPL v2 license//
This is the client-side part of Ethumb that provides an API for
clients to request the Ethumb thumbnailer to generate or find cached
thumbnails of files.
**Evas:**
//BSD 2-Clause license//
This is the core rendering and scene graph abstraction library for
EFL. It manages a stateful 2D scene graph that defines the entire
content of any canvas. This supplies rendering back-ends for many
display systems like X11, Windows, Wayland, Frame-buffer etc. and via
many rendering APIs like OpenGL, OpenGL-ES 2, and pure software
implementations that are fast and accurate.
**Evil:**
//BSD 2-Clause license//
This library acts as a porting library for Windows to provide missing
libc calls not in Mingw32 that EFL needs.
COMPILING AND INSTALLING
------------------------
See the INSTALL file: https://git.enlightenment.org/core/efl.git/tree/INSTALL
REQUIREMENTS
------------
EFL requires a C and C++ compiler by default. C++ exists mostly to interface
to C++ libraries like Bullet and our C++ bindings.
Required by default:
* libpng
* libjpeg
* openjpeg2
* gstreamer (Ensure all codecs you want are installed.)
* zlib
* luajit (lua 5.1 or 5.2 support optional)
* libtiff
* openssl
* curl
* dbus
* libc
* fontconfig
* freetype2
* fribidi
* harfbuzz
* libpulse
* libsndfile
* libx11
* libxau
* libxcomposite
* libxdamage
* libxdmcp
* libxext
* libxfixes
* libxinerama
* libxrandr
* libxrender
* libxss
* libxtst
* libxcursor
* libxi (2.2 or newer)
* opengl(mesa etc.) (opengl/glx/full or opengl-es2/egl. full opengl only on osx - must be explicitly specified to be full to have support)
* giflib/libgif
* util-linux (limbount + libblkid)
* systemd / libudev
* poppler / poppler-cpp
* libraw
* libspectre
* librsvg
* openmp (clang needs libomp, while gcc uses libgomp)
* libwebp
Wayland support:
You may also want wayland support when on Linux. This enables support
for EFL to trget wayland support for client applications. To do this
supply:
-Dwl=true
Framebuffer support:
This requires linux frame-buffer support, headers etc. This supports
basic frame-buffers like /dev/fb as well as input via /dev/input for
keyboards and mice in a basic way. Enable this with:
-Dfb=true
For more modern framebuffer support you may want drm/kms rendering
support so enable this. This is what you also want for wayland
compositor support in enlightenment as it will want to be able to
render to a moder framebuffer tarbet with atomic buffer swapping. To
do this provide:
-Ddrm=true
You may want to change the install prefix for EFL with:
--prefix=/path/to/prefix
The default prefix if not given is "/usr/local". Many people like to
use prefixes like /opt/e or /opt/efl or /home/USERNAME/software etc.
COMPILER FLAGS
--------------
You can affect compilation optimization, debugging and other factors
by setting your CFLAGS environment variable (and CXXFLAGS). Be aware
that to ensure ABI stability you should use the exact same CFLAGS /
CXXFLAGS for all the build of EFL and any applications/libraries that
depend on them.
There are many other configure options that can be used, but in
general it is not a good idea to go enabling or disabling things
unless you wish to break things. The defaults are well tested, with
the above recommended options also being well tested. Go much further
and your mileage may vary wildly. Disabling features is a good way of
breaking EFL functionality, so it is not recommended to mess with
these without understanding the implications. The defaults
have been carefully considered to provide full functionality so users
will not be missing anything.
CRYPTOGRAPHY
------------
EFL officially offers openssl or gnutls as cryptography backends. By
default it uses "openssl" to do signature, cipher and related. Alternatively
one can use "gnutls" (some distros are strict about licenses and want gnutls
instead of openssl) You can switch to gnutls with:
-Dcrypto=gnutls

546
README.md Normal file
View File

@ -0,0 +1,546 @@
![EFL](/data/readme/efl.png)
# EFL
-----
*Please report bugs/issues at*
[git.enlightenment.org](https://git.enlightenment.org/enlightenment/efl/issues)
-----
EFL is a collection of libraries for handling many common tasks a
developer may have such as data structures, communication, rendering,
widgets and more.
There are many components inside EFL. They also build various things
like shared libraries, loadable plug-in modules and also binary
executables. Different elements will end up being licensed differently
too. Below is a rundown of the components, what they do and their
licensing.
All library source is in the src/lib/ directory. All binaries are in
src/bin/. All loadable modules are in src/modules/. All data files are
in the data/ directory. Licensing details are listed in COPYING and
the licenses/ directory. The pc/ directory holds all the Package
Config files installed to help developers build against EFL.
For more documentation please see:
[www.enlightenment.org/doc](https://www.enlightenment.org/docs)
## Platforms
EFL is primarily developed on Linux (GNU/Linux) and should work on
most distributions as long as dependencies are provided. It has been
compiled and run also on Windows (using MSYS2 + mingw-w64 - please see
[Phabricator windows docs](https://phab.enlightenment.org/w/windows)),
Mac OS X, FreeBSD and NetBSD.
## Components
**Ecore:**
*BSD 2-Clause license*
This is the core main-loop, system events and execution layer. This
handles running the main loop, integrating with external data and
timing sources (the system clock, file descriptors, system signals),
and producing an event queue, walking that queue and dispatching
events to appropriate callbacks.
**Ecore Audio:**
*BSD 2-Clause license*
This library provides an API for audio playback and recording. It uses
pulse audio underneath to handle mixing and policies. The API for this
should not be considered stable right now because it relies on EO and
EO is not considered finalized yet.
**Ecore Cocoa:**
*BSD 2-Clause license*
This provides wrappers/abstractions around Max OS-X Cocoa APIs to help
Mac porting.
**Ecore Con:**
*BSD 2-Clause license*
This provides a completely event-based TCP/UDP and Unix domain socket
API that integrates with the main-loop. This means no blocking to send
or receive data, supporting "infinite send buffers" with storage and
spooling being done by Ecore Con. It also supports SSL encryption
transparently turned on or not on the same connection, certificate
verification, CURL wrapping for HTTP connection usage (GETs, POSTs
etc.), asynchronous DNS lookups and provides the ability to also be a
server, not just a client, with the same event-based API.
**Ecore Evas:**
*BSD 2-Clause license*
This acts as glue between the display target (X11, Wayland,
Frame buffer, Cocoa on OSX, Win32 etc.) and Evas. It creates/provides a
target for Evas to render to (a Window or Surface etc.) and feeds
input events (Keyboard, Mouse, Multi-touch) into Evas, which then
selects the target object and calls the callbacks. It also provides
wrappers/glue for manipulating the Window/Surface.
**Ecore Fb:**
*BSD 2-Clause license*
This provides virtual terminal allocation, access and handling,
frame buffer information, raw input handling for keyboard, mouse and
touch (via tslib).
**Ecore File:**
*BSD 2-Clause license*
This provides file access convenience APIs for doing simple file
operations like renames, copies, listing directories and more. It also
supports file change monitoring and URL downloads.
**Ecore IMF:**
*BSD 2-Clause license*
This is an input method abstraction framework to allow EFL to talk to
things like SCIM, IBus, Wayland and XIM. This allows for complex text
entry in languages such as Chinese, Japanese and Korean.
**Ecore IMF Evas:**
*BSD 2-Clause license*
This library glues Input method support from Ecore IMF and Evas
together.
**Ecore Input:**
*BSD 2-Clause license*
This acts as a generic input layer where multiple display systems can
post events in the same format to the event queue.
**Ecore Input Evas:**
*BSD 2-Clause license*
This Routes events from Ecore Input into a given Evas canvas which
will then route the event further to the destination object and
callbacks.
**Ecore IPC:**
*BSD 2-Clause license*
This acts as a layer on top of Ecore Con which handles entire IPC
message packets, dealing with header delta compression and
portability, as well as ensuring an entire message is received in one
go as a single IPC message, regardless of payload data size. The
entire API is event based almost exactly like Ecore Con and thus it
supports all the transport layers Ecore Con supports.
**Ecore SDL:**
*BSD 2-Clause license*
This acts as a wrapper/glue around SDL to handle SDL Windows as well
as input events from SDL and tie them to the Ecore main-loop and event
queue.
**Ecore Wayland:**
*BSD 2-Clause license*
This is a glue/wrapper library to interface EFL to Wayland libraries
to tie them into the Ecore main-loop and event queue.
**Ecore Win32:**
*BSD 2-Clause license*
This acts as glue/wrapper around Windows Win32 APIs to tie them into
the Ecore main-loop and event queue.
**Ecore X:**
*BSD 2-Clause license*
This is a library to wrap/deal with Xlib make dealing with X11 less painful
and less footwork as well as being glue to tie these into the Ecore main-loop
and event queue.
**Edje:**
*BSD 2-Clause license* (except the epp binary which is GPLv2)
This is a graphics event, input, theme, animation and theme
abstraction library used to place many UI/UX elements into data files
(called edj files) that define how to react to incoming
events/signals, and define animation time lines, states, relative
scalable layout and much much more. It comes with a compiler that
compiles source "edc" files into "edj" files (which are actually just
data files managed by Eet). These "edj" files are fully portable and
can work on any OS/Architecture just like a JPEG or PNG might be
portable.
**Eet:**
*BSD 2-Clause license*
This library is a data storage, encoding and decoding library
designed to be extremely compact, fast and easy to use. It can take
data structures directly from memory and serialize them portably to
disk, then de-serialize them right back to the same data structures in
memory, handling allocation and population of memory all for you in 1
call. It handles indirections such as pointers, linked lists, arrays
and hash tables too, so almost any level of data structure complexity
can be easily saved and loaded back. It is used for "edj" files by
Edje as well as all configuration in Enlightenment, Elementary and
Terminology. It supports encryption of data too via SSL, signing of
files, as well as various compression techniques. It also supports
encoding and decoding of image data in lossless or lossy form.
**Eeze:**
*BSD 2-Clause license*
This library acts as an abstraction to discovering hardware interfaces
for sensors as well as removable media and much more.
**EFL:**
*BSD 2-Clause license*
This is just some core common header data like a common version number
for EFL and how to expose the EO API.
**Efreet:**
*BSD 2-Clause license*
This library provides code for handling Freedesktop.org standards such
as .desktop files, XDG Menus, Icon search paths and more. It provides
a central daemon to handle monitoring for changes that the library
talks to, and the daemon handles updating local cache files the
library reads.
**Eina:**
*LGPL v2 license*
This library provides low-level routines for common things like linked
lists, hash tables, growable arrays, basic string buffers, shared
string tokens, mmaped() file access, thread abstraction and locking,
memory pools, copy-on-write segments, iterators, matrices, general
data models, red/black trees, quad-trees, a simple SAX XML parser and
more.
**EIO:**
*LGPL v2 license*
This is an asynchronous I/O library for doing disk I/O without blocking.
**ElDBus:**
*LGPL v2 license*
This is a DBus access library to allow you to create DBus services as
well as clients. This glues in DBus into the main-loop so all access is
asynchronous.
**Embryo:**
*Small license (same as ZLib license)*
This is a small C-like language compiler and byte-code interpreter
library. This is used for scripting in Edje. The code is based on
original source from the Pawn/Small Language but has been made
portable (endianness issues fixed) and 64bit issues fixed, with the
runtime library being refactored to be extremely small.
**Emotion:**
*BSD 2-Clause license*
This is a wrapper around Gstreamer 1.x pluggable decoder libraries
This glues in the decoder library, and its output into a smart Evas object
that will display the playback for you as the video plays, as well as
providing higher level controls to seek, play, pause and query the stream
regardless of the back-end used.
**EO:**
*BSD 2-Clause license*
This is a core object system API that EFL 1.8 and on depend on. The
API is not finalized, so do not depend on it yet in EFL 1.8, but
future EFL versions will lock it down.
This object system does simple and multiple inheritance, refcounting,
strong and weak references, auto-deletion of child objects, unifies
callback handling with a single path, and also abstracts object
pointers to be indirect table lookups for increased safety at runtime.
**EPhysics:**
*BSD 2-Clause license*
This library provides a wrapper around the Bullet physics library,
allowing for it to be linked directly with Evas objects and control
their behavior as if they were real physical objects. This is now
disabled by default as it's rarely if ever used by anything.
**Ethumb:**
*LGPL v2 license*
This library provides core API for a thumbnailing daemon as well as
the thumbnail daemon itself. Ethumb Client talks with Ethumb to pass
off thumbnail generation to a central location to be done
asynchronously.
**Ethumb Client:**
*LGPL v2 license*
This is the client-side part of Ethumb that provides an API for
clients to request the Ethumb thumbnailer to generate or find cached
thumbnails of files.
**Evas:**
*BSD 2-Clause license*
This is the core rendering and scene graph abstraction library for
EFL. It manages a stateful 2D scene graph that defines the entire
content of any canvas. This supplies rendering back-ends for many
display systems like X11, Windows, Wayland, Frame-buffer etc. and via
many rendering APIs like OpenGL, OpenGL-ES 2, and pure software
implementations that are fast and accurate.
**Evil:**
*BSD 2-Clause license*
This library acts as a porting library for Windows to provide missing
libc calls not in Mingw32 that EFL needs. It is used internally and
no symbol is public.
-----
## Requirements
EFL requires a C and C++ compiler by default. C++ exists mostly to interface
to C++ libraries like Bullet and our C++ bindings.
Required by default:
* libpng
* libjpeg
* openjpeg2
* gstreamer (Ensure all codecs you want are installed.)
* zlib
* luajit (lua 5.1 or 5.2 support optional)
* libtiff
* openssl
* curl
* dbus
* libc
* fontconfig
* freetype2
* fribidi
* harfbuzz
* libpulse
* libsndfile
* libx11
* libxau
* libxcomposite
* libxdamage
* libxdmcp
* libxext
* libxfixes
* libxinerama
* libxrandr
* libxrender
* libxss
* libxtst
* libxcursor
* libxi (2.2 or newer)
* opengl(mesa etc.) (opengl/glx/full or opengl-es2/egl. full opengl only on osx - must be explicitly specified to be full to have support)
* giflib/libgif
* util-linux (limbount + libblkid)
* systemd / libudev
* poppler / poppler-cpp
* libraw
* libspectre
* librsvg
* openmp (clang needs libomp, while gcc uses libgomp)
* libwebp
### Wayland support
You may also want wayland support when on Linux. This enables support
for EFL to target wayland support for client applications. To do this
supply:
``` sh
-Dwl=true
```
### Framebuffer support
For more modern framebuffer support you may want drm/kms rendering
support so enable this. This is what you also want for wayland
compositor support in enlightenment as it will want to be able to
render to a modern framebuffer target with atomic buffer swapping. To
do this provide:
``` sh
-Ddrm=true
```
Legacy fbcon support also exists, but you probably no longer want to
use this as it is not maintained anymore. This supports basic frame-buffers
like /dev/fb as well as input via /dev/input for keyboards and mice in a
basic way. Enable this with:
``` sh
-Dfb=true
```
You may want to change the install prefix for EFL with:
``` sh
--prefix=/path/to/prefix
```
The default prefix if not given is "/usr/local". Many people like to
use prefixes like /opt/e or /opt/efl or /home/USERNAME/software etc.
### Compiler flags
You can affect compilation optimization, debugging and other factors
by setting your `CFLAGS` environment variable (and `CXXFLAGS`). Be aware
that to ensure ABI stability you should use the exact same `CFLAGS` /
`CXXFLAGS` for all the build of EFL and any applications/libraries that
depend on them.
There are many other configure options that can be used, but in
general it is not a good idea to go enabling or disabling things
unless you wish to break things. The defaults are well tested, with
the above recommended options also being well tested. Go much further
and your mileage may vary wildly. Disabling features is a good way of
breaking EFL functionality, so it is not recommended to mess with
these without understanding the implications. The defaults
have been carefully considered to provide full functionality so users
will not be missing anything.
### Cryptography
EFL officially offers openssl or gnutls as cryptography backends. By
default it uses "openssl" to do signature, cipher and related. Alternatively
one can use "gnutls" (some distros are strict about licenses and want gnutls
instead of openssl) You can switch to gnutls with:
``` sh
-Dcrypto=gnutls
```
-----
## 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, 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
```

View File

@ -1,3 +1,3 @@
#!/bin/sh -e
meson -Dsystemd=false -Dv4l2=false -Deeze=false \
meson -Dsystemd=false -Dv4l2=false -Deeze=false -Dinput=false \
$@ . build

View File

@ -1,3 +0,0 @@
#!/bin/sh -e
meson -Dfb=true -Ddrm=true -Dwl=true -Dsystemd=false -Delogind=true \
$@ . build

View File

@ -1,3 +0,0 @@
#!/bin/sh -e
meson -Dfb=true -Dsystemd=false\
$@ . build

View File

@ -1,3 +1,3 @@
#!/bin/sh -e
meson -Dsystemd=false -Dv4l2=false -Deeze=false \
meson -Dsystemd=false -Dv4l2=false -Deeze=false -Dinput=false \
$@ . build

View File

@ -0,0 +1,698 @@
group "Elm_Palette" struct {
group "colors" list {
group "Elm_Palette_Color" struct {
value "name" string: ":bg";
value "r" uchar: 243;
value "g" uchar: 189;
value "b" uchar: 189;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-semi";
value "r" uchar: 245;
value "g" uchar: 187;
value "b" uchar: 187;
value "a" uchar: 182;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-trans";
value "r" uchar: 243;
value "g" uchar: 189;
value "b" uchar: 189;
value "a" uchar: 192;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dimmest";
value "r" uchar: 150;
value "g" uchar: 58;
value "b" uchar: 58;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dimmer";
value "r" uchar: 175;
value "g" uchar: 49;
value "b" uchar: 49;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-alt-dark";
value "r" uchar: 205;
value "g" uchar: 99;
value "b" uchar: 99;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-alt-light";
value "r" uchar: 247;
value "g" uchar: 201;
value "b" uchar: 201;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-alt";
value "r" uchar: 241;
value "g" uchar: 175;
value "b" uchar: 175;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dim";
value "r" uchar: 244;
value "g" uchar: 164;
value "b" uchar: 164;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dark";
value "r" uchar: 231;
value "g" uchar: 111;
value "b" uchar: 111;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dark-invisible";
value "r" uchar: 231;
value "g" uchar: 111;
value "b" uchar: 111;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-darkest";
value "r" uchar: 235;
value "g" uchar: 111;
value "b" uchar: 111;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dark-alt";
value "r" uchar: 219;
value "g" uchar: 69;
value "b" uchar: 69;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-medium";
value "r" uchar: 243;
value "g" uchar: 173;
value "b" uchar: 173;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-high";
value "r" uchar: 227;
value "g" uchar: 141;
value "b" uchar: 141;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-higher";
value "r" uchar: 251;
value "g" uchar: 229;
value "b" uchar: 229;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-highest";
value "r" uchar: 192;
value "g" uchar: 32;
value "b" uchar: 32;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-light";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-light-alt";
value "r" uchar: 249;
value "g" uchar: 215;
value "b" uchar: 215;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-dim";
value "r" uchar: 211;
value "g" uchar: 163;
value "b" uchar: 163;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg";
value "r" uchar: 100;
value "g" uchar: 60;
value "b" uchar: 60;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-prehigh";
value "r" uchar: 83;
value "g" uchar: 45;
value "b" uchar: 45;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-high";
value "r" uchar: 83;
value "g" uchar: 51;
value "b" uchar: 51;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-higher";
value "r" uchar: 60;
value "g" uchar: 36;
value "b" uchar: 36;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-light";
value "r" uchar: 224;
value "g" uchar: 224;
value "b" uchar: 224;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected";
value "r" uchar: 110;
value "g" uchar: 190;
value "b" uchar: 80;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-light";
value "r" uchar: 110;
value "g" uchar: 90;
value "b" uchar: 80;
value "a" uchar: 25;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-medium";
value "r" uchar: 110;
value "g" uchar: 190;
value "b" uchar: 80;
value "a" uchar: 128;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-heavy";
value "r" uchar: 110;
value "g" uchar: 190;
value "b" uchar: 80;
value "a" uchar: 192;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-alt";
value "r" uchar: 239;
value "g" uchar: 175;
value "b" uchar: 110;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-alt-trans";
value "r" uchar: 255;
value "g" uchar: 153;
value "b" uchar: 51;
value "a" uchar: 64;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-alt-dim";
value "r" uchar: 231;
value "g" uchar: 182;
value "b" uchar: 134;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-dim";
value "r" uchar: 55;
value "g" uchar: 95;
value "b" uchar: 40;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected2";
value "r" uchar: 179;
value "g" uchar: 232;
value "b" uchar: 127;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected2-dim";
value "r" uchar: 206;
value "g" uchar: 239;
value "b" uchar: 174;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected3";
value "r" uchar: 255;
value "g" uchar: 51;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected4";
value "r" uchar: 228;
value "g" uchar: 118;
value "b" uchar: 118;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected4-dim";
value "r" uchar: 229;
value "g" uchar: 140;
value "b" uchar: 140;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected5";
value "r" uchar: 119;
value "g" uchar: 0;
value "b" uchar: 238;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected5-dim";
value "r" uchar: 179;
value "g" uchar: 127;
value "b" uchar: 230;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected6";
value "r" uchar: 0;
value "g" uchar: 121;
value "b" uchar: 61;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected6-dim";
value "r" uchar: 104;
value "g" uchar: 202;
value "b" uchar: 142;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":win-normal";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":win-selected";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-off";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 0;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-medium";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 128;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-high";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 200;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-on";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-glow";
value "r" uchar: 255;
value "g" uchar: 220;
value "b" uchar: 160;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-invisible";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 0;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-lightest";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 12;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-lighter";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 18;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-light";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 44;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 96;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-dark";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 122;
}
group "Elm_Palette_Color" struct {
value "name" string: ":shadow";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 128;
}
group "Elm_Palette_Color" struct {
value "name" string: ":shadow-selected";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":shadow-disabled";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 64;
}
group "Elm_Palette_Color" struct {
value "name" string: ":outline";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":validate-fail";
value "r" uchar: 255;
value "g" uchar: 32;
value "b" uchar: 16;
value "a" uchar: 80;
}
group "Elm_Palette_Color" struct {
value "name" string: ":validate-pass";
value "r" uchar: 32;
value "g" uchar: 255;
value "b" uchar: 16;
value "a" uchar: 80;
}
group "Elm_Palette_Color" struct {
value "name" string: ":success";
value "r" uchar: 0;
value "g" uchar: 169;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":success-dim";
value "r" uchar: 125;
value "g" uchar: 212;
value "b" uchar: 125;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":keyword";
value "r" uchar: 255;
value "g" uchar: 43;
value "b" uchar: 43;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":keyword-dim";
value "r" uchar: 194;
value "g" uchar: 157;
value "b" uchar: 157;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":match";
value "r" uchar: 227;
value "g" uchar: 174;
value "b" uchar: 68;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":match-dim";
value "r" uchar: 229;
value "g" uchar: 196;
value "b" uchar: 123;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":comment";
value "r" uchar: 51;
value "g" uchar: 153;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":comment-dim";
value "r" uchar: 165;
value "g" uchar: 202;
value "b" uchar: 202;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":number";
value "r" uchar: 153;
value "g" uchar: 153;
value "b" uchar: 26;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":number-dim";
value "r" uchar: 192;
value "g" uchar: 192;
value "b" uchar: 111;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":class";
value "r" uchar: 119;
value "g" uchar: 170;
value "b" uchar: 221;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":class-dim";
value "r" uchar: 169;
value "g" uchar: 189;
value "b" uchar: 209;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":note";
value "r" uchar: 160;
value "g" uchar: 80;
value "b" uchar: 17;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":note-dim";
value "r" uchar: 236;
value "g" uchar: 141;
value "b" uchar: 65;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":todo";
value "r" uchar: 40;
value "g" uchar: 80;
value "b" uchar: 160;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":todo-dim";
value "r" uchar: 134;
value "g" uchar: 164;
value "b" uchar: 225;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/normal/frame/title";
value "r" uchar: 110;
value "g" uchar: 190;
value "b" uchar: 80;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/titlebar";
value "r" uchar: 110;
value "g" uchar: 190;
value "b" uchar: 80;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/menu/title";
value "r" uchar: 86;
value "g" uchar: 42;
value "b" uchar: 42;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/button";
value "r" uchar: 210;
value "g" uchar: 174;
value "b" uchar: 174;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/selected/button";
value "r" uchar: 128;
value "g" uchar: 64;
value "b" uchar: 64;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/disabled/button";
value "r" uchar: 169;
value "g" uchar: 87;
value "b" uchar: 87;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/selected/button/bar";
value "r" uchar: 110;
value "g" uchar: 190;
value "b" uchar: 80;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/pressed/button";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/pressed/button-anchor";
value "r" uchar: 110;
value "g" uchar: 190;
value "b" uchar: 80;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/pointer/base";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/menu/item/base";
value "r" uchar: 110;
value "g" uchar: 190;
value "b" uchar: 80;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/entry/cursor";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/pressed/titlebar/buttons/close";
value "r" uchar: 238;
value "g" uchar: 146;
value "b" uchar: 146;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/gadgets/ibar/menu/item/base";
value "r" uchar: 231;
value "g" uchar: 185;
value "b" uchar: 185;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/pressed/syscon/button/text";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/selected/fileman/nav/path/text";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/grid/item/fileman/desktop";
value "r" uchar: 189;
value "g" uchar: 131;
value "b" uchar: 131;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/text-hilight";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/text-heading";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/text-heading-sub";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 200;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/normal/hoversel/item";
value "r" uchar: 110;
value "g" uchar: 190;
value "b" uchar: 80;
value "a" uchar: 0;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/hoversel/item";
value "r" uchar: 110;
value "g" uchar: 190;
value "b" uchar: 80;
value "a" uchar: 255;
}
}
value "version" int: 1000;
}

View File

@ -0,0 +1,82 @@
group "Elm_Palette" struct {
value "version" int: 1000;
group "colors" list {
group "Elm_Palette_Color" struct { value "name" string: ":bg"; value "r" uchar: 64; value "g" uchar: 64; value "b" uchar: 64; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-semi"; value "r" uchar: 64; value "g" uchar: 64; value "b" uchar: 64; value "a" uchar: 182; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-trans"; value "r" uchar: 64; value "g" uchar: 64; value "b" uchar: 64; value "a" uchar: 192; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-dimmest"; value "r" uchar: 36; value "g" uchar: 36; value "b" uchar: 36; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-dimmer"; value "r" uchar: 44; value "g" uchar: 44; value "b" uchar: 44; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-alt-dark"; value "r" uchar: 54; value "g" uchar: 54; value "b" uchar: 54; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-alt-light"; value "r" uchar: 58; value "g" uchar: 58; value "b" uchar: 58; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-alt"; value "r" uchar: 56; value "g" uchar: 56; value "b" uchar: 56; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-dim"; value "r" uchar: 48; value "g" uchar: 48; value "b" uchar: 48; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-dark"; value "r" uchar: 32; value "g" uchar: 32; value "b" uchar: 32; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-dark-invisible"; value "r" uchar: 32; value "g" uchar: 32; value "b" uchar: 32; value "a" uchar: 0; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-darkest"; value "r" uchar: 16; value "g" uchar: 16; value "b" uchar: 16; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-dark-alt"; value "r" uchar: 28; value "g" uchar: 28; value "b" uchar: 28; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-medium"; value "r" uchar: 72; value "g" uchar: 72; value "b" uchar: 72; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-high"; value "r" uchar: 80; value "g" uchar: 80; value "b" uchar: 80; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-higher"; value "r" uchar: 96; value "g" uchar: 96; value "b" uchar: 96; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-highest"; value "r" uchar: 112; value "g" uchar: 112; value "b" uchar: 112; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-light"; value "r" uchar: 192; value "g" uchar: 192; value "b" uchar: 192; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":bg-light-alt"; value "r" uchar: 184; value "g" uchar: 184; value "b" uchar: 184; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":fg-dim"; value "r" uchar: 128; value "g" uchar: 128; value "b" uchar: 128; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":fg"; value "r" uchar: 160; value "g" uchar: 160; value "b" uchar: 160; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":fg-prehigh"; value "r" uchar: 192; value "g" uchar: 192; value "b" uchar: 192; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":fg-high"; value "r" uchar: 200; value "g" uchar: 200; value "b" uchar: 200; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":fg-higher"; value "r" uchar: 220; value "g" uchar: 220; value "b" uchar: 220; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":fg-light"; value "r" uchar: 255; value "g" uchar: 255; value "b" uchar: 255; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":selected"; value "r" uchar: 51; value "g" uchar: 153; value "b" uchar: 255; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":selected-light"; value "r" uchar: 51; value "g" uchar: 153; value "b" uchar: 255; value "a" uchar: 25; }
group "Elm_Palette_Color" struct { value "name" string: ":selected-medium"; value "r" uchar: 51; value "g" uchar: 153; value "b" uchar: 255; value "a" uchar: 128; }
group "Elm_Palette_Color" struct { value "name" string: ":selected-heavy"; value "r" uchar: 51; value "g" uchar: 153; value "b" uchar: 255; value "a" uchar: 192; }
group "Elm_Palette_Color" struct { value "name" string: ":selected-alt"; value "r" uchar: 255; value "g" uchar: 153; value "b" uchar: 51; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":selected-alt-trans"; value "r" uchar: 255; value "g" uchar: 153; value "b" uchar: 51; value "a" uchar: 64; }
group "Elm_Palette_Color" struct { value "name" string: ":selected-alt-dim"; value "r" uchar: 128; value "g" uchar: 76; value "b" uchar: 25; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":selected-dim"; value "r" uchar: 25; value "g" uchar: 76; value "b" uchar: 128; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":selected2"; value "r" uchar: 153; value "g" uchar: 255; value "b" uchar: 51; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":selected2-dim"; value "r" uchar: 76; value "g" uchar: 128; value "b" uchar: 25; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":selected3"; value "r" uchar: 255; value "g" uchar: 51; value "b" uchar: 153; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":selected4"; value "r" uchar: 255; value "g" uchar: 51; value "b" uchar: 51; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":selected4-dim"; value "r" uchar: 153; value "g" uchar: 34; value "b" uchar: 34; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":selected5"; value "r" uchar: 153; value "g" uchar: 51; value "b" uchar: 255; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":selected5-dim"; value "r" uchar: 76; value "g" uchar: 25; value "b" uchar: 127; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":selected6"; value "r" uchar: 51; value "g" uchar: 255; value "b" uchar: 153; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":selected6-dim"; value "r" uchar: 56; value "g" uchar: 160; value "b" uchar: 96; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":win-normal"; value "r" uchar: 255; value "g" uchar: 255; value "b" uchar: 255; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":win-selected"; value "r" uchar: 255; value "g" uchar: 255; value "b" uchar: 255; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":light-off"; value "r" uchar: 255; value "g" uchar: 255; value "b" uchar: 255; value "a" uchar: 0; }
group "Elm_Palette_Color" struct { value "name" string: ":light-medium"; value "r" uchar: 255; value "g" uchar: 255; value "b" uchar: 255; value "a" uchar: 128; }
group "Elm_Palette_Color" struct { value "name" string: ":light-high"; value "r" uchar: 255; value "g" uchar: 255; value "b" uchar: 255; value "a" uchar: 200; }
group "Elm_Palette_Color" struct { value "name" string: ":light-on"; value "r" uchar: 255; value "g" uchar: 255; value "b" uchar: 255; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":light-glow"; value "r" uchar: 255; value "g" uchar: 220; value "b" uchar: 160; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":dim-invisible"; value "r" uchar: 0; value "g" uchar: 0; value "b" uchar: 0; value "a" uchar: 0; }
group "Elm_Palette_Color" struct { value "name" string: ":dim-lightest"; value "r" uchar: 0; value "g" uchar: 0; value "b" uchar: 0; value "a" uchar: 32; }
group "Elm_Palette_Color" struct { value "name" string: ":dim-lighter"; value "r" uchar: 0; value "g" uchar: 0; value "b" uchar: 0; value "a" uchar: 64; }
group "Elm_Palette_Color" struct { value "name" string: ":dim-light"; value "r" uchar: 0; value "g" uchar: 0; value "b" uchar: 0; value "a" uchar: 80; }
group "Elm_Palette_Color" struct { value "name" string: ":dim"; value "r" uchar: 0; value "g" uchar: 0; value "b" uchar: 0; value "a" uchar: 160; }
group "Elm_Palette_Color" struct { value "name" string: ":dim-dark"; value "r" uchar: 0; value "g" uchar: 0; value "b" uchar: 0; value "a" uchar: 200; }
group "Elm_Palette_Color" struct { value "name" string: ":shadow"; value "r" uchar: 0; value "g" uchar: 0; value "b" uchar: 0; value "a" uchar: 128; }
group "Elm_Palette_Color" struct { value "name" string: ":shadow-selected"; value "r" uchar: 0; value "g" uchar: 0; value "b" uchar: 0; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":shadow-disabled"; value "r" uchar: 0; value "g" uchar: 0; value "b" uchar: 0; value "a" uchar: 64; }
group "Elm_Palette_Color" struct { value "name" string: ":outline"; value "r" uchar: 0; value "g" uchar: 0; value "b" uchar: 0; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":validate-fail"; value "r" uchar: 255; value "g" uchar: 32; value "b" uchar: 16; value "a" uchar: 80; }
group "Elm_Palette_Color" struct { value "name" string: ":validate-pass"; value "r" uchar: 32; value "g" uchar: 255; value "b" uchar: 16; value "a" uchar: 80; }
group "Elm_Palette_Color" struct { value "name" string: ":success"; value "r" uchar: 51; value "g" uchar: 255; value "b" uchar: 51; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":success-dim"; value "r" uchar: 51; value "g" uchar: 153; value "b" uchar: 51; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":keyword"; value "r" uchar: 255; value "g" uchar: 153; value "b" uchar: 153; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":keyword-dim"; value "r" uchar: 128; value "g" uchar: 80; value "b" uchar: 80; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":match"; value "r" uchar: 255; value "g" uchar: 187; value "b" uchar: 51; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":match-dim"; value "r" uchar: 128; value "g" uchar: 96; value "b" uchar: 25; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":comment"; value "r" uchar: 51; value "g" uchar: 153; value "b" uchar: 153; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":comment-dim"; value "r" uchar: 56; value "g" uchar: 96; value "b" uchar: 96; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":number"; value "r" uchar: 220; value "g" uchar: 220; value "b" uchar: 48; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":number-dim"; value "r" uchar: 128; value "g" uchar: 128; value "b" uchar: 56; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":class"; value "r" uchar: 119; value "g" uchar: 170; value "b" uchar: 221; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":class-dim"; value "r" uchar: 59; value "g" uchar: 85; value "b" uchar: 110; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":note"; value "r" uchar: 160; value "g" uchar: 80; value "b" uchar: 17; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":note-dim"; value "r" uchar: 80; value "g" uchar: 40; value "b" uchar: 8; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":todo"; value "r" uchar: 40; value "g" uchar: 80; value "b" uchar: 160; value "a" uchar: 255; }
group "Elm_Palette_Color" struct { value "name" string: ":todo-dim"; value "r" uchar: 20; value "g" uchar: 40; value "b" uchar: 80; value "a" uchar: 255; }
}
}

View File

@ -0,0 +1,558 @@
group "Elm_Palette" struct {
group "colors" list {
group "Elm_Palette_Color" struct {
value "name" string: ":bg";
value "r" uchar: 16;
value "g" uchar: 16;
value "b" uchar: 16;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-semi";
value "r" uchar: 16;
value "g" uchar: 16;
value "b" uchar: 16;
value "a" uchar: 182;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-trans";
value "r" uchar: 16;
value "g" uchar: 16;
value "b" uchar: 16;
value "a" uchar: 192;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dimmest";
value "r" uchar: 8;
value "g" uchar: 8;
value "b" uchar: 8;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dimmer";
value "r" uchar: 14;
value "g" uchar: 14;
value "b" uchar: 14;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-alt-dark";
value "r" uchar: 20;
value "g" uchar: 20;
value "b" uchar: 20;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-alt-light";
value "r" uchar: 42;
value "g" uchar: 42;
value "b" uchar: 42;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-alt";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dim";
value "r" uchar: 33;
value "g" uchar: 33;
value "b" uchar: 33;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dark";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dark-invisible";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 0;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-darkest";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dark-alt";
value "r" uchar: 8;
value "g" uchar: 8;
value "b" uchar: 8;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-medium";
value "r" uchar: 50;
value "g" uchar: 50;
value "b" uchar: 50;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-high";
value "r" uchar: 50;
value "g" uchar: 50;
value "b" uchar: 50;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-higher";
value "r" uchar: 69;
value "g" uchar: 69;
value "b" uchar: 69;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-highest";
value "r" uchar: 99;
value "g" uchar: 99;
value "b" uchar: 99;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-light";
value "r" uchar: 123;
value "g" uchar: 123;
value "b" uchar: 123;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-light-alt";
value "r" uchar: 125;
value "g" uchar: 125;
value "b" uchar: 125;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-dim";
value "r" uchar: 221;
value "g" uchar: 221;
value "b" uchar: 221;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-prehigh";
value "r" uchar: 209;
value "g" uchar: 209;
value "b" uchar: 209;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-high";
value "r" uchar: 192;
value "g" uchar: 192;
value "b" uchar: 192;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-higher";
value "r" uchar: 190;
value "g" uchar: 190;
value "b" uchar: 190;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-light";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected";
value "r" uchar: 255;
value "g" uchar: 171;
value "b" uchar: 19;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-light";
value "r" uchar: 242;
value "g" uchar: 180;
value "b" uchar: 0;
value "a" uchar: 25;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-medium";
value "r" uchar: 242;
value "g" uchar: 180;
value "b" uchar: 0;
value "a" uchar: 128;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-heavy";
value "r" uchar: 242;
value "g" uchar: 180;
value "b" uchar: 0;
value "a" uchar: 192;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-alt";
value "r" uchar: 255;
value "g" uchar: 132;
value "b" uchar: 4;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-alt-trans";
value "r" uchar: 255;
value "g" uchar: 90;
value "b" uchar: 51;
value "a" uchar: 64;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-alt-dim";
value "r" uchar: 128;
value "g" uchar: 60;
value "b" uchar: 25;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-dim";
value "r" uchar: 121;
value "g" uchar: 76;
value "b" uchar: 2;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected2";
value "r" uchar: 153;
value "g" uchar: 255;
value "b" uchar: 51;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected2-dim";
value "r" uchar: 76;
value "g" uchar: 128;
value "b" uchar: 25;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected3";
value "r" uchar: 255;
value "g" uchar: 51;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected4";
value "r" uchar: 255;
value "g" uchar: 51;
value "b" uchar: 51;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected4-dim";
value "r" uchar: 153;
value "g" uchar: 34;
value "b" uchar: 34;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected5";
value "r" uchar: 153;
value "g" uchar: 51;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected5-dim";
value "r" uchar: 76;
value "g" uchar: 25;
value "b" uchar: 127;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected6";
value "r" uchar: 51;
value "g" uchar: 255;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected6-dim";
value "r" uchar: 56;
value "g" uchar: 160;
value "b" uchar: 96;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":win-normal";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":win-selected";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-off";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 0;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-medium";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 128;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-high";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 200;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-on";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-glow";
value "r" uchar: 255;
value "g" uchar: 220;
value "b" uchar: 160;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-invisible";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 0;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-lightest";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 32;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-lighter";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 64;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-light";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 80;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 160;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-dark";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 200;
}
group "Elm_Palette_Color" struct {
value "name" string: ":shadow";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 128;
}
group "Elm_Palette_Color" struct {
value "name" string: ":shadow-selected";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":shadow-disabled";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 64;
}
group "Elm_Palette_Color" struct {
value "name" string: ":outline";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":validate-fail";
value "r" uchar: 255;
value "g" uchar: 32;
value "b" uchar: 16;
value "a" uchar: 80;
}
group "Elm_Palette_Color" struct {
value "name" string: ":validate-pass";
value "r" uchar: 32;
value "g" uchar: 255;
value "b" uchar: 16;
value "a" uchar: 80;
}
group "Elm_Palette_Color" struct {
value "name" string: ":success";
value "r" uchar: 51;
value "g" uchar: 255;
value "b" uchar: 51;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":success-dim";
value "r" uchar: 51;
value "g" uchar: 153;
value "b" uchar: 51;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":keyword";
value "r" uchar: 255;
value "g" uchar: 153;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":keyword-dim";
value "r" uchar: 128;
value "g" uchar: 80;
value "b" uchar: 80;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":match";
value "r" uchar: 255;
value "g" uchar: 187;
value "b" uchar: 51;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":match-dim";
value "r" uchar: 128;
value "g" uchar: 96;
value "b" uchar: 25;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":comment";
value "r" uchar: 51;
value "g" uchar: 153;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":comment-dim";
value "r" uchar: 56;
value "g" uchar: 96;
value "b" uchar: 96;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":number";
value "r" uchar: 220;
value "g" uchar: 220;
value "b" uchar: 48;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":number-dim";
value "r" uchar: 128;
value "g" uchar: 128;
value "b" uchar: 56;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":class";
value "r" uchar: 119;
value "g" uchar: 170;
value "b" uchar: 221;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":class-dim";
value "r" uchar: 59;
value "g" uchar: 85;
value "b" uchar: 110;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":note";
value "r" uchar: 160;
value "g" uchar: 80;
value "b" uchar: 17;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":note-dim";
value "r" uchar: 80;
value "g" uchar: 40;
value "b" uchar: 8;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":todo";
value "r" uchar: 40;
value "g" uchar: 80;
value "b" uchar: 160;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":todo-dim";
value "r" uchar: 20;
value "g" uchar: 40;
value "b" uchar: 80;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/titlebar";
value "r" uchar: 242;
value "g" uchar: 148;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/menu/item";
value "r" uchar: 242;
value "g" uchar: 148;
value "b" uchar: 0;
value "a" uchar: 255;
}
}
value "version" int: 1000;
}

View File

@ -0,0 +1,3 @@
group "Elm_Palette" struct {
value "version" int: 1000;
}

View File

@ -0,0 +1,698 @@
group "Elm_Palette" struct {
value "version" int: 1000;
group "colors" list {
group "Elm_Palette_Color" struct {
value "name" string: ":bg";
value "r" uchar: 216;
value "g" uchar: 216;
value "b" uchar: 216;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-semi";
value "r" uchar: 216;
value "g" uchar: 216;
value "b" uchar: 216;
value "a" uchar: 182;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-trans";
value "r" uchar: 216;
value "g" uchar: 216;
value "b" uchar: 216;
value "a" uchar: 192;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dimmest";
value "r" uchar: 104;
value "g" uchar: 104;
value "b" uchar: 104;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dimmer";
value "r" uchar: 112;
value "g" uchar: 112;
value "b" uchar: 112;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-alt-dark";
value "r" uchar: 152;
value "g" uchar: 152;
value "b" uchar: 152;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-alt-light";
value "r" uchar: 224;
value "g" uchar: 224;
value "b" uchar: 224;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-alt";
value "r" uchar: 208;
value "g" uchar: 208;
value "b" uchar: 208;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dim";
value "r" uchar: 204;
value "g" uchar: 204;
value "b" uchar: 204;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dark";
value "r" uchar: 171;
value "g" uchar: 171;
value "b" uchar: 171;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dark-invisible";
value "r" uchar: 160;
value "g" uchar: 160;
value "b" uchar: 160;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-darkest";
value "r" uchar: 173;
value "g" uchar: 173;
value "b" uchar: 173;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dark-alt";
value "r" uchar: 144;
value "g" uchar: 144;
value "b" uchar: 144;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-medium";
value "r" uchar: 208;
value "g" uchar: 208;
value "b" uchar: 208;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-high";
value "r" uchar: 184;
value "g" uchar: 184;
value "b" uchar: 184;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-higher";
value "r" uchar: 240;
value "g" uchar: 240;
value "b" uchar: 240;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-highest";
value "r" uchar: 112;
value "g" uchar: 112;
value "b" uchar: 112;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-light";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-light-alt";
value "r" uchar: 232;
value "g" uchar: 232;
value "b" uchar: 232;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-dim";
value "r" uchar: 187;
value "g" uchar: 187;
value "b" uchar: 187;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg";
value "r" uchar: 80;
value "g" uchar: 80;
value "b" uchar: 80;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-prehigh";
value "r" uchar: 64;
value "g" uchar: 64;
value "b" uchar: 64;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-high";
value "r" uchar: 67;
value "g" uchar: 67;
value "b" uchar: 67;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-higher";
value "r" uchar: 48;
value "g" uchar: 48;
value "b" uchar: 48;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-light";
value "r" uchar: 224;
value "g" uchar: 224;
value "b" uchar: 224;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected";
value "r" uchar: 119;
value "g" uchar: 136;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-light";
value "r" uchar: 119;
value "g" uchar: 136;
value "b" uchar: 153;
value "a" uchar: 25;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-medium";
value "r" uchar: 119;
value "g" uchar: 136;
value "b" uchar: 153;
value "a" uchar: 128;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-heavy";
value "r" uchar: 119;
value "g" uchar: 136;
value "b" uchar: 153;
value "a" uchar: 192;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-alt";
value "r" uchar: 239;
value "g" uchar: 175;
value "b" uchar: 110;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-alt-trans";
value "r" uchar: 255;
value "g" uchar: 153;
value "b" uchar: 51;
value "a" uchar: 64;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-alt-dim";
value "r" uchar: 231;
value "g" uchar: 182;
value "b" uchar: 134;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-dim";
value "r" uchar: 166;
value "g" uchar: 176;
value "b" uchar: 186;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected2";
value "r" uchar: 179;
value "g" uchar: 232;
value "b" uchar: 127;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected2-dim";
value "r" uchar: 206;
value "g" uchar: 239;
value "b" uchar: 174;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected3";
value "r" uchar: 255;
value "g" uchar: 51;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected4";
value "r" uchar: 228;
value "g" uchar: 118;
value "b" uchar: 118;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected4-dim";
value "r" uchar: 229;
value "g" uchar: 140;
value "b" uchar: 140;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected5";
value "r" uchar: 119;
value "g" uchar: 0;
value "b" uchar: 238;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected5-dim";
value "r" uchar: 179;
value "g" uchar: 127;
value "b" uchar: 230;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected6";
value "r" uchar: 0;
value "g" uchar: 121;
value "b" uchar: 61;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected6-dim";
value "r" uchar: 104;
value "g" uchar: 202;
value "b" uchar: 142;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":win-normal";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":win-selected";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-off";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 0;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-medium";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 128;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-high";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 200;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-on";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-glow";
value "r" uchar: 255;
value "g" uchar: 220;
value "b" uchar: 160;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-invisible";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 0;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-lightest";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 12;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-lighter";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 18;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-light";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 44;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 96;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-dark";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 122;
}
group "Elm_Palette_Color" struct {
value "name" string: ":shadow";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 128;
}
group "Elm_Palette_Color" struct {
value "name" string: ":shadow-selected";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":shadow-disabled";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 64;
}
group "Elm_Palette_Color" struct {
value "name" string: ":outline";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":validate-fail";
value "r" uchar: 255;
value "g" uchar: 32;
value "b" uchar: 16;
value "a" uchar: 80;
}
group "Elm_Palette_Color" struct {
value "name" string: ":validate-pass";
value "r" uchar: 32;
value "g" uchar: 255;
value "b" uchar: 16;
value "a" uchar: 80;
}
group "Elm_Palette_Color" struct {
value "name" string: ":success";
value "r" uchar: 0;
value "g" uchar: 169;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":success-dim";
value "r" uchar: 125;
value "g" uchar: 212;
value "b" uchar: 125;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":keyword";
value "r" uchar: 255;
value "g" uchar: 43;
value "b" uchar: 43;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":keyword-dim";
value "r" uchar: 194;
value "g" uchar: 157;
value "b" uchar: 157;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":match";
value "r" uchar: 227;
value "g" uchar: 174;
value "b" uchar: 68;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":match-dim";
value "r" uchar: 229;
value "g" uchar: 196;
value "b" uchar: 123;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":comment";
value "r" uchar: 51;
value "g" uchar: 153;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":comment-dim";
value "r" uchar: 165;
value "g" uchar: 202;
value "b" uchar: 202;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":number";
value "r" uchar: 153;
value "g" uchar: 153;
value "b" uchar: 26;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":number-dim";
value "r" uchar: 192;
value "g" uchar: 192;
value "b" uchar: 111;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":class";
value "r" uchar: 119;
value "g" uchar: 170;
value "b" uchar: 221;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":class-dim";
value "r" uchar: 169;
value "g" uchar: 189;
value "b" uchar: 209;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":note";
value "r" uchar: 160;
value "g" uchar: 80;
value "b" uchar: 17;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":note-dim";
value "r" uchar: 236;
value "g" uchar: 141;
value "b" uchar: 65;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":todo";
value "r" uchar: 40;
value "g" uchar: 80;
value "b" uchar: 160;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":todo-dim";
value "r" uchar: 134;
value "g" uchar: 164;
value "b" uchar: 225;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/normal/frame/title";
value "r" uchar: 119;
value "g" uchar: 136;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/titlebar";
value "r" uchar: 119;
value "g" uchar: 136;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/menu/title";
value "r" uchar: 64;
value "g" uchar: 64;
value "b" uchar: 64;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/button";
value "r" uchar: 192;
value "g" uchar: 192;
value "b" uchar: 192;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/selected/button";
value "r" uchar: 96;
value "g" uchar: 96;
value "b" uchar: 96;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/disabled/button";
value "r" uchar: 128;
value "g" uchar: 128;
value "b" uchar: 128;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/selected/button/bar";
value "r" uchar: 119;
value "g" uchar: 136;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/pressed/button";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/pressed/button-anchor";
value "r" uchar: 119;
value "g" uchar: 136;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/pointer/base";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/menu/item/base";
value "r" uchar: 119;
value "g" uchar: 136;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/entry/cursor";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/pressed/titlebar/buttons/close";
value "r" uchar: 192;
value "g" uchar: 192;
value "b" uchar: 192;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/gadgets/ibar/menu/item/base";
value "r" uchar: 208;
value "g" uchar: 208;
value "b" uchar: 208;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/pressed/syscon/button/text";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/selected/fileman/nav/path/text";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/grid/item/fileman/desktop";
value "r" uchar: 160;
value "g" uchar: 160;
value "b" uchar: 160;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/text-hilight";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/text-heading";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/text-heading-sub";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 200;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/normal/hoversel/item";
value "r" uchar: 119;
value "g" uchar: 136;
value "b" uchar: 153;
value "a" uchar: 0;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/hoversel/item";
value "r" uchar: 119;
value "g" uchar: 136;
value "b" uchar: 153;
value "a" uchar: 255;
}
}
}

View File

@ -0,0 +1,558 @@
group "Elm_Palette" struct {
value "version" int: 1000;
group "colors" list {
group "Elm_Palette_Color" struct {
value "name" string: ":bg";
value "r" uchar: 62;
value "g" uchar: 55;
value "b" uchar: 73;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-semi";
value "r" uchar: 62;
value "g" uchar: 55;
value "b" uchar: 78;
value "a" uchar: 182;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-trans";
value "r" uchar: 62;
value "g" uchar: 55;
value "b" uchar: 78;
value "a" uchar: 192;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dimmest";
value "r" uchar: 37;
value "g" uchar: 30;
value "b" uchar: 42;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dimmer";
value "r" uchar: 43;
value "g" uchar: 35;
value "b" uchar: 53;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-alt-dark";
value "r" uchar: 51;
value "g" uchar: 45;
value "b" uchar: 63;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-alt-light";
value "r" uchar: 53;
value "g" uchar: 45;
value "b" uchar: 71;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-alt";
value "r" uchar: 55;
value "g" uchar: 48;
value "b" uchar: 64;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dim";
value "r" uchar: 46;
value "g" uchar: 39;
value "b" uchar: 57;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dark";
value "r" uchar: 28;
value "g" uchar: 25;
value "b" uchar: 39;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dark-invisible";
value "r" uchar: 28;
value "g" uchar: 25;
value "b" uchar: 39;
value "a" uchar: 0;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-darkest";
value "r" uchar: 16;
value "g" uchar: 13;
value "b" uchar: 19;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dark-alt";
value "r" uchar: 26;
value "g" uchar: 24;
value "b" uchar: 32;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-medium";
value "r" uchar: 70;
value "g" uchar: 61;
value "b" uchar: 83;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-high";
value "r" uchar: 78;
value "g" uchar: 67;
value "b" uchar: 93;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-higher";
value "r" uchar: 99;
value "g" uchar: 79;
value "b" uchar: 113;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-highest";
value "r" uchar: 113;
value "g" uchar: 92;
value "b" uchar: 132;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-light";
value "r" uchar: 194;
value "g" uchar: 182;
value "b" uchar: 202;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-light-alt";
value "r" uchar: 185;
value "g" uchar: 174;
value "b" uchar: 194;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-dim";
value "r" uchar: 138;
value "g" uchar: 120;
value "b" uchar: 75;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg";
value "r" uchar: 224;
value "g" uchar: 222;
value "b" uchar: 202;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-prehigh";
value "r" uchar: 204;
value "g" uchar: 202;
value "b" uchar: 180;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-high";
value "r" uchar: 239;
value "g" uchar: 239;
value "b" uchar: 234;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-higher";
value "r" uchar: 238;
value "g" uchar: 237;
value "b" uchar: 232;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-light";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected";
value "r" uchar: 242;
value "g" uchar: 180;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-light";
value "r" uchar: 242;
value "g" uchar: 180;
value "b" uchar: 0;
value "a" uchar: 25;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-medium";
value "r" uchar: 242;
value "g" uchar: 180;
value "b" uchar: 0;
value "a" uchar: 128;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-heavy";
value "r" uchar: 242;
value "g" uchar: 180;
value "b" uchar: 0;
value "a" uchar: 192;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-alt";
value "r" uchar: 255;
value "g" uchar: 86;
value "b" uchar: 51;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-alt-trans";
value "r" uchar: 255;
value "g" uchar: 90;
value "b" uchar: 51;
value "a" uchar: 64;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-alt-dim";
value "r" uchar: 128;
value "g" uchar: 43;
value "b" uchar: 25;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-dim";
value "r" uchar: 121;
value "g" uchar: 76;
value "b" uchar: 2;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected2";
value "r" uchar: 153;
value "g" uchar: 255;
value "b" uchar: 51;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected2-dim";
value "r" uchar: 76;
value "g" uchar: 128;
value "b" uchar: 25;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected3";
value "r" uchar: 255;
value "g" uchar: 51;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected4";
value "r" uchar: 255;
value "g" uchar: 51;
value "b" uchar: 51;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected4-dim";
value "r" uchar: 153;
value "g" uchar: 34;
value "b" uchar: 34;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected5";
value "r" uchar: 153;
value "g" uchar: 51;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected5-dim";
value "r" uchar: 76;
value "g" uchar: 25;
value "b" uchar: 127;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected6";
value "r" uchar: 51;
value "g" uchar: 255;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected6-dim";
value "r" uchar: 56;
value "g" uchar: 160;
value "b" uchar: 96;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":win-normal";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":win-selected";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-off";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 0;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-medium";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 128;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-high";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 200;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-on";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-glow";
value "r" uchar: 255;
value "g" uchar: 220;
value "b" uchar: 160;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-invisible";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 0;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-lightest";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 32;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-lighter";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 64;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-light";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 80;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 160;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-dark";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 200;
}
group "Elm_Palette_Color" struct {
value "name" string: ":shadow";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 128;
}
group "Elm_Palette_Color" struct {
value "name" string: ":shadow-selected";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":shadow-disabled";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 64;
}
group "Elm_Palette_Color" struct {
value "name" string: ":outline";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":validate-fail";
value "r" uchar: 255;
value "g" uchar: 32;
value "b" uchar: 16;
value "a" uchar: 80;
}
group "Elm_Palette_Color" struct {
value "name" string: ":validate-pass";
value "r" uchar: 32;
value "g" uchar: 255;
value "b" uchar: 16;
value "a" uchar: 80;
}
group "Elm_Palette_Color" struct {
value "name" string: ":success";
value "r" uchar: 51;
value "g" uchar: 255;
value "b" uchar: 51;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":success-dim";
value "r" uchar: 51;
value "g" uchar: 153;
value "b" uchar: 51;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":keyword";
value "r" uchar: 255;
value "g" uchar: 153;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":keyword-dim";
value "r" uchar: 128;
value "g" uchar: 80;
value "b" uchar: 80;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":match";
value "r" uchar: 255;
value "g" uchar: 187;
value "b" uchar: 51;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":match-dim";
value "r" uchar: 128;
value "g" uchar: 96;
value "b" uchar: 25;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":comment";
value "r" uchar: 51;
value "g" uchar: 153;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":comment-dim";
value "r" uchar: 56;
value "g" uchar: 96;
value "b" uchar: 96;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":number";
value "r" uchar: 220;
value "g" uchar: 220;
value "b" uchar: 48;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":number-dim";
value "r" uchar: 128;
value "g" uchar: 128;
value "b" uchar: 56;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":class";
value "r" uchar: 119;
value "g" uchar: 170;
value "b" uchar: 221;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":class-dim";
value "r" uchar: 59;
value "g" uchar: 85;
value "b" uchar: 110;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":note";
value "r" uchar: 160;
value "g" uchar: 80;
value "b" uchar: 17;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":note-dim";
value "r" uchar: 80;
value "g" uchar: 40;
value "b" uchar: 8;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":todo";
value "r" uchar: 40;
value "g" uchar: 80;
value "b" uchar: 160;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":todo-dim";
value "r" uchar: 20;
value "g" uchar: 40;
value "b" uchar: 80;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/titlebar";
value "r" uchar: 242;
value "g" uchar: 180;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/menu/item";
value "r" uchar: 242;
value "g" uchar: 180;
value "b" uchar: 0;
value "a" uchar: 255;
}
}
}

View File

@ -0,0 +1,19 @@
pals = [
'default',
'empty',
'light',
'mauve-sunset',
'candy-mint',
'ebony-brass',
'white-pill'
]
foreach p: pals
custom_target('colors_' + p + '.ecl',
input: p + '.src',
output: p + '.pal',
command: [eet_bin, '-e', '@OUTPUT@', 'palette', '@INPUT@', '1'],
install: true,
install_dir: join_paths(dir_data, 'elementary', 'colors'),
)
endforeach

View File

@ -0,0 +1,726 @@
group "Elm_Palette" struct {
group "colors" list {
group "Elm_Palette_Color" struct {
value "name" string: ":bg";
value "r" uchar: 240;
value "g" uchar: 240;
value "b" uchar: 240;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-semi";
value "r" uchar: 226;
value "g" uchar: 226;
value "b" uchar: 226;
value "a" uchar: 182;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-trans";
value "r" uchar: 220;
value "g" uchar: 220;
value "b" uchar: 220;
value "a" uchar: 192;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dimmest";
value "r" uchar: 143;
value "g" uchar: 143;
value "b" uchar: 143;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dimmer";
value "r" uchar: 169;
value "g" uchar: 169;
value "b" uchar: 169;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-alt-dark";
value "r" uchar: 195;
value "g" uchar: 195;
value "b" uchar: 195;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-alt-light";
value "r" uchar: 230;
value "g" uchar: 230;
value "b" uchar: 230;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-alt";
value "r" uchar: 230;
value "g" uchar: 230;
value "b" uchar: 230;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dim";
value "r" uchar: 212;
value "g" uchar: 212;
value "b" uchar: 212;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dark";
value "r" uchar: 202;
value "g" uchar: 202;
value "b" uchar: 202;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dark-invisible";
value "r" uchar: 202;
value "g" uchar: 202;
value "b" uchar: 202;
value "a" uchar: 0;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-darkest";
value "r" uchar: 192;
value "g" uchar: 192;
value "b" uchar: 192;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-dark-alt";
value "r" uchar: 186;
value "g" uchar: 186;
value "b" uchar: 186;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-medium";
value "r" uchar: 222;
value "g" uchar: 222;
value "b" uchar: 222;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-high";
value "r" uchar: 194;
value "g" uchar: 194;
value "b" uchar: 194;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-higher";
value "r" uchar: 240;
value "g" uchar: 240;
value "b" uchar: 240;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-highest";
value "r" uchar: 153;
value "g" uchar: 153;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-light";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":bg-light-alt";
value "r" uchar: 241;
value "g" uchar: 241;
value "b" uchar: 241;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-dim";
value "r" uchar: 187;
value "g" uchar: 187;
value "b" uchar: 187;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg";
value "r" uchar: 80;
value "g" uchar: 80;
value "b" uchar: 80;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-prehigh";
value "r" uchar: 64;
value "g" uchar: 64;
value "b" uchar: 64;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-high";
value "r" uchar: 67;
value "g" uchar: 67;
value "b" uchar: 67;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-higher";
value "r" uchar: 48;
value "g" uchar: 48;
value "b" uchar: 48;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":fg-light";
value "r" uchar: 224;
value "g" uchar: 224;
value "b" uchar: 224;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected";
value "r" uchar: 120;
value "g" uchar: 120;
value "b" uchar: 120;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-light";
value "r" uchar: 70;
value "g" uchar: 70;
value "b" uchar: 70;
value "a" uchar: 25;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-medium";
value "r" uchar: 70;
value "g" uchar: 70;
value "b" uchar: 70;
value "a" uchar: 128;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-heavy";
value "r" uchar: 70;
value "g" uchar: 70;
value "b" uchar: 70;
value "a" uchar: 192;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-alt";
value "r" uchar: 135;
value "g" uchar: 135;
value "b" uchar: 135;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-alt-trans";
value "r" uchar: 113;
value "g" uchar: 113;
value "b" uchar: 113;
value "a" uchar: 64;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-alt-dim";
value "r" uchar: 116;
value "g" uchar: 116;
value "b" uchar: 116;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected-dim";
value "r" uchar: 70;
value "g" uchar: 70;
value "b" uchar: 70;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected2";
value "r" uchar: 179;
value "g" uchar: 232;
value "b" uchar: 127;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected2-dim";
value "r" uchar: 206;
value "g" uchar: 239;
value "b" uchar: 174;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected3";
value "r" uchar: 255;
value "g" uchar: 51;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected4";
value "r" uchar: 228;
value "g" uchar: 118;
value "b" uchar: 118;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected4-dim";
value "r" uchar: 229;
value "g" uchar: 140;
value "b" uchar: 140;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected5";
value "r" uchar: 119;
value "g" uchar: 0;
value "b" uchar: 238;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected5-dim";
value "r" uchar: 179;
value "g" uchar: 127;
value "b" uchar: 230;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected6";
value "r" uchar: 0;
value "g" uchar: 121;
value "b" uchar: 61;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":selected6-dim";
value "r" uchar: 104;
value "g" uchar: 202;
value "b" uchar: 142;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":win-normal";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":win-selected";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-off";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 0;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-medium";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 128;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-high";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 200;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-on";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":light-glow";
value "r" uchar: 255;
value "g" uchar: 220;
value "b" uchar: 160;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-invisible";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 0;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-lightest";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 12;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-lighter";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 18;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-light";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 44;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 96;
}
group "Elm_Palette_Color" struct {
value "name" string: ":dim-dark";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 122;
}
group "Elm_Palette_Color" struct {
value "name" string: ":shadow";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 64;
}
group "Elm_Palette_Color" struct {
value "name" string: ":shadow-selected";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":shadow-disabled";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 32;
}
group "Elm_Palette_Color" struct {
value "name" string: ":outline";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":validate-fail";
value "r" uchar: 255;
value "g" uchar: 32;
value "b" uchar: 16;
value "a" uchar: 80;
}
group "Elm_Palette_Color" struct {
value "name" string: ":validate-pass";
value "r" uchar: 32;
value "g" uchar: 255;
value "b" uchar: 16;
value "a" uchar: 80;
}
group "Elm_Palette_Color" struct {
value "name" string: ":success";
value "r" uchar: 0;
value "g" uchar: 169;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":success-dim";
value "r" uchar: 125;
value "g" uchar: 212;
value "b" uchar: 125;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":keyword";
value "r" uchar: 255;
value "g" uchar: 43;
value "b" uchar: 43;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":keyword-dim";
value "r" uchar: 194;
value "g" uchar: 157;
value "b" uchar: 157;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":match";
value "r" uchar: 227;
value "g" uchar: 174;
value "b" uchar: 68;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":match-dim";
value "r" uchar: 229;
value "g" uchar: 196;
value "b" uchar: 123;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":comment";
value "r" uchar: 51;
value "g" uchar: 153;
value "b" uchar: 153;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":comment-dim";
value "r" uchar: 165;
value "g" uchar: 202;
value "b" uchar: 202;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":number";
value "r" uchar: 153;
value "g" uchar: 153;
value "b" uchar: 26;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":number-dim";
value "r" uchar: 192;
value "g" uchar: 192;
value "b" uchar: 111;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":class";
value "r" uchar: 119;
value "g" uchar: 170;
value "b" uchar: 221;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":class-dim";
value "r" uchar: 169;
value "g" uchar: 189;
value "b" uchar: 209;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":note";
value "r" uchar: 160;
value "g" uchar: 80;
value "b" uchar: 17;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":note-dim";
value "r" uchar: 236;
value "g" uchar: 141;
value "b" uchar: 65;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":todo";
value "r" uchar: 40;
value "g" uchar: 80;
value "b" uchar: 160;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: ":todo-dim";
value "r" uchar: 134;
value "g" uchar: 164;
value "b" uchar: 225;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/normal/frame/title";
value "r" uchar: 136;
value "g" uchar: 136;
value "b" uchar: 136;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/titlebar";
value "r" uchar: 136;
value "g" uchar: 136;
value "b" uchar: 136;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/menu/title";
value "r" uchar: 64;
value "g" uchar: 64;
value "b" uchar: 64;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/button";
value "r" uchar: 192;
value "g" uchar: 192;
value "b" uchar: 192;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/selected/button";
value "r" uchar: 96;
value "g" uchar: 96;
value "b" uchar: 96;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/disabled/button";
value "r" uchar: 128;
value "g" uchar: 128;
value "b" uchar: 128;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/selected/button/bar";
value "r" uchar: 136;
value "g" uchar: 136;
value "b" uchar: 136;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/pressed/button";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/pressed/button-anchor";
value "r" uchar: 136;
value "g" uchar: 136;
value "b" uchar: 136;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/pointer/base";
value "r" uchar: 255;
value "g" uchar: 255;
value "b" uchar: 255;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/menu/item/base";
value "r" uchar: 136;
value "g" uchar: 136;
value "b" uchar: 136;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/entry/cursor";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/pressed/titlebar/buttons/close";
value "r" uchar: 192;
value "g" uchar: 192;
value "b" uchar: 192;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/gadgets/ibar/menu/item/base";
value "r" uchar: 208;
value "g" uchar: 208;
value "b" uchar: 208;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/pressed/syscon/button/text";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/selected/fileman/nav/path/text";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/grid/item/fileman/desktop";
value "r" uchar: 160;
value "g" uchar: 160;
value "b" uchar: 160;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/text-hilight";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/text-heading";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/fg/normal/text-heading-sub";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 200;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/normal/hoversel/item";
value "r" uchar: 119;
value "g" uchar: 136;
value "b" uchar: 153;
value "a" uchar: 0;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/hoversel/item";
value "r" uchar: 136;
value "g" uchar: 136;
value "b" uchar: 136;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/toolbar/base";
value "r" uchar: 64;
value "g" uchar: 64;
value "b" uchar: 64;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/selected/toolbar/bar";
value "r" uchar: 0;
value "g" uchar: 0;
value "b" uchar: 0;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/normal/naviframe/top";
value "r" uchar: 136;
value "g" uchar: 136;
value "b" uchar: 136;
value "a" uchar: 255;
}
group "Elm_Palette_Color" struct {
value "name" string: "/bg/normal/list/group";
value "r" uchar: 64;
value "g" uchar: 64;
value "b" uchar: 64;
value "a" uchar: 255;
}
}
value "version" int: 1000;
}

View File

@ -90,12 +90,12 @@ group "Elm_Config" struct {
value "year_min" int: 2;
value "year_max" int: 137;
value "softcursor_mode" uchar: 0;
value "auto_norender_withdrawn" uchar: 0;
value "auto_norender_iconified_same_as_withdrawn" uchar: 0;
value "auto_flush_withdrawn" uchar: 0;
value "auto_norender_withdrawn" uchar: 1;
value "auto_norender_iconified_same_as_withdrawn" uchar: 1;
value "auto_flush_withdrawn" uchar: 1;
value "auto_dump_withdrawn" uchar: 0;
value "auto_throttle" uchar: 0;
value "auto_throttle_amount" double: 0.1;
value "auto_throttle_amount" double: 0.03333333333;
value "magnifier_enable" uchar: 1;
value "magnifier_scale" double: 1.5;
value "audio_mute_effect" uchar: 0;

View File

@ -1,7 +1,7 @@
custom_target('config_'+config,
input: config_file,
output: 'base.cfg',
command: [eet_bin, '-e', '@OUTPUT@', 'config', '@INPUT@', '0'],
command: [eet_bin, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'],
install: true,
install_dir: join_paths(dir_data, 'elementary', 'config', config),
)

View File

@ -89,9 +89,9 @@ group "Elm_Config" struct {
value "auto_norender_withdrawn" uchar: 1;
value "auto_norender_iconified_same_as_withdrawn" uchar: 1;
value "auto_flush_withdrawn" uchar: 1;
value "auto_dump_withdrawn" uchar: 1;
value "auto_throttle" uchar: 1;
value "auto_throttle_amount" double: 0.0666666666;
value "auto_dump_withdrawn" uchar: 0;
value "auto_throttle" uchar: 0;
value "auto_throttle_amount" double: 0.03333333333;
value "indicator_service_0" string: "elm_indicator_portrait";
value "indicator_service_90" string: "elm_indicator_landscape";
value "indicator_service_180" string: "elm_indicator_portrait";

View File

@ -1,7 +1,7 @@
custom_target('config_'+config,
input: config_file,
output: 'base.cfg',
command: [eet_bin, '-e', '@OUTPUT@', 'config', '@INPUT@', '0'],
command: [eet_bin, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'],
install: true,
install_dir: join_paths(dir_data, 'elementary', 'config', config),
)

View File

@ -87,10 +87,10 @@ group "Elm_Config" struct {
value "year_min" int: 2;
value "year_max" int: 137;
value "softcursor_mode" uchar: 0;
value "auto_norender_withdrawn" uchar: 0;
value "auto_norender_iconified_same_as_withdrawn" uchar: 0;
value "auto_norender_withdrawn" uchar: 1;
value "auto_norender_iconified_same_as_withdrawn" uchar: 1;
value "auto_flush_withdrawn" uchar: 1;
value "auto_dump_withdrawn" uchar: 1;
value "auto_dump_withdrawn" uchar: 0;
value "auto_throttle" uchar: 0;
value "auto_throttle_amount" double: 0.0333333333;
value "magnifier_enable" uchar: 0;

View File

@ -1,7 +1,7 @@
custom_target('config_'+config,
input: config_file,
output: 'base.cfg',
command: [eet_bin, '-e', '@OUTPUT@', 'config', '@INPUT@', '0'],
command: [eet_bin, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'],
install: true,
install_dir: join_paths(dir_data, 'elementary', 'config', config),
)

View File

@ -9,7 +9,6 @@ Name[el]=Κανονικό
Name[eo]=Kutima
Name[es]=Estándar
Name[fi]=Vakio
Name[fr]=Standard
Name[gl]=Estándar
Name[hu]=Általános
Name[ja]=標準
@ -29,7 +28,7 @@ Comment[el]=Αυτό είναι το κανονικό προφίλ που είν
Comment[eo]=Tio estas la kutima profilo taŭga por preskaŭ ĉiuj oficejaj sistemoj kaj porteblaj sistemoj. Elektu ĝin se vi ne certas.
Comment[es]=Este es el perfil estándar y universal para la mayoría de ordenadores de escritorio y portátiles. Escójalo si no está seguro de cual elegir.
Comment[fi]=Tämä on vakioprofiili jota voidaan yleisesti käyttää työasemissa ja kannettavissa tietokoneissa. Valitse tämä jos et ole varma minkä valitsisit.
Comment[fr]=Le profil standard adapté à la quasi totalité des systèmes de bureau et ordinateurs portables. Choisissez ce profil si vous êtes indécis.
Comment[fr]=Le profil standard adapté à la quasi totalité des systèmes de bureau et ordinateurs portables. Choisissez ce profil en cas d'hésitation.
Comment[gl]=Este é o perfil estándar e universal para a maioría de ordenadores de escritorio e portátiles. Escóllao se non está seguro de cal elexir.
Comment[hu]=Ez az általános, alap beállítás, amely megfelelő a legtöbb laptop és asztali gép számára.
Comment[it]=Questo è il profilo standard, universale per la maggior parte dei sistemi desktop e portatili. Scegliete questo se non siete sicuri di cosa scegliere.

View File

@ -1,7 +1,10 @@
[Desktop Entry]
Type=Application
Name=Elementary Perf
Name[it]=Prestazioni di Elementary
Comment=Elementary Performance Test Application
Comment[fr]=Test de performance pour Elementary
Comment[it]=Test delle prestazioni per Elementary
Icon=elementary
Exec=elementary_perf
Terminal=false

View File

@ -6,7 +6,6 @@ Name[de]=Elementary-Test
Name[el]=Elementary Test
Name[eo]=Provo de Elementary
Name[fi]=Elementary-testiohjema
Name[fr]=Test Elementary
Name[gl]=Proba do Elementary
Name[it]=Test per Elementary
Name[ja]=Elementary テスト
@ -21,7 +20,7 @@ Comment[de]=Elementary-Testanwendung
Comment[eo]=Provoversia aplikaĵo de Elementary
Comment[es]=Aplicación de pruebas para Elementary
Comment[fi]=Elementaryn testisovellus
Comment[fr]=Programme de tests pour Elementary
Comment[fr]=Application de tests pour Elementary
Comment[gl]=Aplicativo de probas para Elementary
Comment[it]=Applicazione di test per Elementary
Comment[ja]=Elementary テストアプリケーション

View File

@ -1,6 +1,7 @@
subdir('config')
subdir('desktop')
subdir('themes')
subdir('colors')
subdir('objects')
subdir('edje_externals')

View File

@ -1,38 +1,32 @@
color_classes {
color_class {
name: "entry_text";
color: 0 0 0 255;
color_class { name: "/fg/normal/text";
color: 160 160 160 255;
}
}
collections {
group { name: "font_preview";
collections { group { name: "font_preview";
parts {
/* some fonts have weird alignments, thus they overflow badly */
part { name: "clipper";
type: RECT;
part { name: "clipper"; type: RECT;
description {
state: "default" 0.0;
}
}
part { name: "elm.text";
type: TEXT;
mouse_events: 0;
part { name: "elm.text"; type: TEXT;
scale: 1;
mouse_events: 0;
clip_to: "clipper";
description {
state: "default" 0.0;
color_class: "entry_text";
text {
font: "Sans";
description { state: "default" 0.0;
color_class: "/fg/normal/text";
text { font: "Sans";
min: 0 1;
size: 10;
align: 0.5 0.5;
text_class: "font_preview";
}
rel1.offset: 16 16;
rel2.offset: -17 -17;
offscale;
}
}
}

View File

@ -21,7 +21,8 @@ foreach edc_file : edc_files
input : edc_file,
output : '@BASENAME@.edj',
command : edje_cc_exe + [ '-beta', '-fastcomp',
'-sd', join_paths(meson.current_source_dir()),
'-no-warn-unused-images',
'-sd', elm_themes_sound_include,
'-id', elm_themes_image_include,
'-id', join_paths(meson.current_source_dir()),
'-fd', join_paths(meson.current_source_dir()),

View File

@ -434,6 +434,8 @@ collections {
}
} //group ends
#include "../../../data/elementary/themes/snd.edc"
#include "../../../data/elementary/themes/ic.edc"
#include "../../../data/elementary/themes/macros.edc"
#include "../../../data/elementary/themes/fonts.edc"
#include "../../../data/elementary/themes/colorclasses.edc"

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
efl_version: 1 22;
efl_version: 1 25;
#include "macros.edc"
@ -6,25 +6,26 @@ externals.external: "elm";
// theme api version. from 1.10 on we will check version to avoid
// compat issues
data.item: "version" "119";
data.item: "version" "125";
data.item: "efl_theme_base" "dark";
collections {
#include "snd.edc"
#include "ic.edc"
#include "fonts.edc"
#include "colorclasses.edc"
// elm
#include "edc/elm/bg.edc"
#include "edc/elm/button.edc"
// XXX: mobile mode needs invisible scrollers... make signals that do this
#include "edc/elm/scroller.edc"
// XXX: mobile mode needs different entry setup
#include "edc/elm/entry.edc"
#include "edc/elm/frame.edc"
#include "edc/elm/label.edc"
#include "edc/elm/separator.edc"
#include "edc/elm/check.edc"
#include "edc/elm/slider.edc"
#include "edc/elm/radio.edc"
#include "edc/elm/bubble.edc"
#include "edc/elm/panes.edc"
@ -67,7 +68,6 @@ collections {
#include "edc/elm/panel.edc"
#include "edc/elm/popup.edc"
#include "edc/elm/border.edc"
// XXX: min size calc problems - too wide! ... err ok on my 32bit box... eh?
#include "edc/elm/spinner.edc"
#include "edc/elm/menu.edc"
#include "edc/elm/clock.edc"
@ -75,35 +75,10 @@ collections {
#include "edc/elm/hover.edc"
#include "edc/elm/cursor.edc"
#include "edc/elm/code.edc"
#include "edc/elm/ews.edc"
#include "edc/elm/textpath.edc"
#include "edc/elm/slider.edc"
// desktop in general
#include "edc/wallpaper.edc"
#include "edc/comp.edc"
#include "edc/comp_compat.edc"
#include "edc/comp_effects.edc"
#include "edc/background.edc"
#include "edc/bryce.edc"
#include "edc/bryce_editor.edc"
#include "edc/shelf.edc"
#include "edc/border.edc"
#include "edc/dialog.edc"
#include "edc/conf.edc"
#include "edc/gadman.edc"
#include "edc/syscon.edc"
#include "edc/pointer.edc"
#include "edc/sys.edc"
#include "edc/winlist.edc"
#include "edc/desklock.edc"
#include "edc/deskmirror.edc"
#include "edc/wizard.edc"
#include "edc/init.edc"
#include "edc/about-e.edc"
#include "edc/about-theme.edc"
#include "edc/transitions.edc"
// widgets
#include "edc/menu.edc"
#include "edc/button.edc"
@ -125,6 +100,28 @@ collections {
#include "edc/cslider.edc"
#include "edc/spectrum.edc"
// desktop in general
#include "edc/wallpaper.edc"
#include "edc/comp.edc"
#include "edc/comp_compat.edc"
#include "edc/comp_effects.edc"
#include "edc/background.edc"
#include "edc/shelf.edc"
#include "edc/border.edc"
#include "edc/dialog.edc"
#include "edc/conf.edc"
#include "edc/gadman.edc"
#include "edc/syscon.edc"
#include "edc/pointer.edc"
#include "edc/winlist.edc"
#include "edc/desklock.edc"
#include "edc/deskmirror.edc"
#include "edc/wizard.edc"
#include "edc/init.edc"
#include "edc/about-e.edc"
#include "edc/about-theme.edc"
#include "edc/transitions.edc"
// modules
#include "edc/start.edc"
#include "edc/pager.edc"
@ -146,26 +143,18 @@ collections {
#include "edc/backlight.edc"
#include "edc/mixer.edc"
#include "edc/battery.edc"
#include "edc/batman.edc"
#include "edc/evrything.edc"
#include "edc/illume.edc"
#include "edc/bluez4.edc"
#include "edc/bluez5.edc"
#include "edc/packagekit.edc"
#include "edc/wireless.edc"
#include "edc/time.edc"
#include "edc/luncher.edc"
#include "edc/memusage.edc"
#include "edc/cpumonitor.edc"
#include "edc/netstatus.edc"
#include "edc/tiling.edc"
#include "edc/procstats.edc"
// icons
#include "edc/icons.edc"
#include "edc/border-icons.edc"
// port unchanged stuff so this can work as a replacement
#include "edc/O/efm_icons.edc"
#include "edc/O/icons.edc"
// New efl ui themes
#include "edc/efl/macros.edc"
#include "edc/efl/bg.edc"
@ -173,11 +162,9 @@ collections {
#include "edc/efl/calendar.edc"
#include "edc/efl/navigation_bar.edc"
#include "edc/efl/navigation_layout.edc"
// XXX: mobile mode needs invisible scrollers... make signals that do this
#include "edc/efl/scroller.edc"
#include "edc/efl/list.edc"
#include "edc/efl/grid.edc"
// XXX: mobile mode needs different entry setup
#include "edc/efl/text.edc"
#include "edc/efl/frame.edc"
#include "edc/efl/check.edc"
@ -197,7 +184,6 @@ collections {
#include "edc/efl/spin_button.edc"
#include "edc/efl/datepicker.edc"
#include "edc/efl/timepicker.edc"
// XXX: min size calc problems - too wide! ... err ok on my 32bit box... eh?
#include "edc/efl/cursor.edc"
#include "edc/efl/pointer.edc"
#include "edc/efl/textpath.edc"
@ -209,5 +195,4 @@ collections {
#include "edc/efl/tab_page.edc"
#include "edc/efl/collection.edc"
#include "edc/efl/group_item.edc"
#include "edc/efl/separator.edc"
}

View File

@ -1,470 +0,0 @@
// EFM icons //
//Base 1//
#define EFM_MIME_ICON(_NAME, _IMAGE, _ASPMIN, _ASPMAX, _STRING, _SIZE, _VALIGN) \
group { name: "e/icons/fileman/mime/"_NAME; \
max: _SIZE _SIZE; \
images.image: "efm_generic_icon_shadow.png" COMP; \
images.image: "efm_generic_icon_base.png" COMP; \
images.image: "efm_generic_icon_over.png" COMP; \
images.image: _IMAGE COMP; \
parts { \
part { name: "spacer"; type: SPACER; \
description { state: "default" 0.0; \
aspect: 1.0 1.0; aspect_preference: BOTH; \
} \
} \
part { name: "shadow"; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "spacer"; \
rel1.relative: (15/240) (10/240); \
rel2.to: "spacer"; \
rel2.relative: (225/240) (240/240); \
image.normal: "efm_generic_icon_shadow.png"; \
} \
} \
part { name: "base"; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "spacer"; \
rel1.relative: (30/240) (15/240); \
rel2.to: "spacer"; \
rel2.relative: (210/240) (225/240); \
image.normal: "efm_generic_icon_base.png"; \
} \
} \
part { name: "content"; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "base"; \
rel1.relative: (28/180) (28/210); \
rel2.to: "base"; \
rel2.relative: (152/180) (182/210); \
align: 0.5 _VALIGN; \
aspect: _ASPMIN _ASPMAX; aspect_preference: BOTH; \
image.normal: _IMAGE; \
} \
} \
part { name: "over"; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "base"; \
rel2.to: "base"; \
image.normal: "efm_generic_icon_over.png"; \
} \
} \
part { name: "typestr"; type: TEXT; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "over"; \
rel1.relative: (72/180) (142/210); \
rel2.to: "over"; \
rel2.relative: (178/180) (188/210); \
color: 255 255 255 255; \
text { font: FN; size: 8; \
fit: 0 1; \
align: 0.5 0.5; \
text: _STRING; \
} \
} \
} \
} \
}
//Python//
EFM_MIME_ICON("application/x-python-bytecode", "efm_generic_icon_content_python.png", (114/115), (114/115), ".PYC", 240, 0.5);
EFM_MIME_ICON("application/x-python", "efm_generic_icon_content_python.png", (114/115), (114/115), ".PY", 240, 0.5);
EFM_MIME_ICON("text/x-python", "efm_generic_icon_content_python.png", (114/115), (114/115), ".PY", 240, 0.5);
//.pyo .pyd??????????????????//
//Ruby//
EFM_MIME_ICON("application/x-ruby", "efm_generic_icon_content_ruby.png", (114/114), (114/114), ".RB", 240, 0.5);
EFM_MIME_ICON("text/x-ruby", "efm_generic_icon_content_ruby.png", (114/114), (114/114), ".RB", 240, 0.5);
//.rbw???//
//Perl//
EFM_MIME_ICON("application/x-perl", "efm_generic_icon_content_perl.png", (114/122), (114/122), ".PERL", 240, 0.5);
EFM_MIME_ICON("text/x-perl","efm_generic_icon_content_perl.png", (114/122), (114/122), ".PL", 240, 0.5);
//CAD//
EFM_MIME_ICON("application/acad", "efm_generic_icon_content_cad.png", (114/130), (114/130), ".DWG", 240, 0.5);
EFM_MIME_ICON("application/x-acad", "efm_generic_icon_content_cad.png", (114/130), (114/130), ".DWG", 240, 0.5);
EFM_MIME_ICON("application/autocad_dwg", "efm_generic_icon_content_cad.png", (114/130), (114/130), ".DWG", 240, 0.5);
EFM_MIME_ICON("image/x-dwg", "efm_generic_icon_content_cad.png", (114/130), (114/130), ".DWG", 240, 0.5);
EFM_MIME_ICON("application/dwg", "efm_generic_icon_content_cad.png", (114/130), (114/130), ".DWG", 240, 0.5);
EFM_MIME_ICON("application/x-dwg", "efm_generic_icon_content_cad.png", (114/130), (114/130), ".DWG", 240, 0.5);
EFM_MIME_ICON("application/x-autocad", "efm_generic_icon_content_cad.png", (114/130), (114/130), ".DWG", 240, 0.5);
EFM_MIME_ICON("image/vnd.dwg", "efm_generic_icon_content_cad.png", (114/130), (114/130), ".DWG", 240, 0.5);
EFM_MIME_ICON("drawing/dwg", "efm_generic_icon_content_cad.png", (114/130), (114/130), ".DWG", 240, 0.5);
//ISO//
EFM_MIME_ICON("application/x-iso9660-image", "efm_generic_icon_content_iso.png", (114/114), (114/114), ".ISO", 240, 0.5);
//Cue//
EFM_MIME_ICON("application/x-cue", "efm_generic_icon_content_iso.png", (114/114), (114/114), ".CUE", 240, 0.5);
//Audio//
EFM_MIME_ICON("audio/mpeg", "efm_generic_icon_content_audio.png", (54/154), (54/154), ".MP3", 240, 0.5);
EFM_MIME_ICON("audio/x-wav","efm_generic_icon_content_audio.png", (54/154), (54/154), ".WAV", 240, 0.5);
EFM_MIME_ICON("audio/x-flac","efm_generic_icon_content_audio.png", (54/154), (54/154), ".FLAC", 240, 0.5);
EFM_MIME_ICON("audio/flac","efm_generic_icon_content_audio.png", (54/154), (54/154), ".FLAC", 240, 0.5);
EFM_MIME_ICON("audio/x-musepack","efm_generic_icon_content_audio.png", (54/154), (54/154), ".MPC", 240, 0.5);
EFM_MIME_ICON("audio/x-vorbis+ogg","efm_generic_icon_content_audio.png",(54/154), (54/154), ".OGG", 240, 0.5);
EFM_MIME_ICON("application/x-audacity-project","efm_generic_icon_content_audio.png",(54/154), (54/154), ".AUP", 240, 0.5);
EFM_MIME_ICON("audio/x-ms-wma","efm_generic_icon_content_audio.png", (54/154), (54/154),".WMA", 240, 0.5);
EFM_MIME_ICON("audio/opus","efm_generic_icon_content_audio.png", (54/154), (54/154),".OPUS", 240, 0.5);
EFM_MIME_ICON("audio/ogg","efm_generic_icon_content_audio.png", (54/154), (54/154),".OPUS", 240, 0.5);
EFM_MIME_ICON("audio/x-opus+ogg","efm_generic_icon_content_audio.png", (54/154), (54/154),".OPUS", 240, 0.5);
EFM_MIME_ICON("audio/ape","efm_generic_icon_content_audio.png", (54/154), (54/154), ".APE", 240, 0.5);
EFM_MIME_ICON("audio/webm","efm_generic_icon_content_audio.png", (54/154), (54/154), ".WEBA", 240, 0.5);
EFM_MIME_ICON("audio/mp4","efm_generic_icon_content_audio.png", (54/154), (54/154), ".MP4", 240, 0.5);
EFM_MIME_ICON("audio/midi","efm_generic_icon_content_audio.png", (54/154), (54/154),".MIDI", 240, 0.5);
EFM_MIME_ICON("audio/speex","efm_generic_icon_content_audio.png",(54/154), (54/154), ".SPX", 240, 0.5);
EFM_MIME_ICON("audio/aac","efm_generic_icon_content_audio.png", (54/154), (54/154),".AAC", 240, 0.5);
EFM_MIME_ICON("audio/vnd.rn-realaudio","efm_generic_icon_content_audio.png", (54/154), (54/154),".RA", 240, 0.5);
EFM_MIME_ICON("audio/x-voc","efm_generic_icon_content_audio.png", (54/154), (54/154),".VOC", 240, 0.5);
EFM_MIME_ICON("audio/x-tta","efm_generic_icon_content_audio.png", (54/154), (54/154),".TTA", 240, 0.5);
EFM_MIME_ICON("audio/x-stm","efm_generic_icon_content_audio.png", (54/154), (54/154),".STM", 240, 0.5);
EFM_MIME_ICON("audio/x-speex+ogg","efm_generic_icon_content_audio.png", (54/154), (54/154),".SPX", 240, 0.5);
EFM_MIME_ICON("audio/x-wacpack","efm_generic_icon_content_audio.png", (54/154), (54/154),".WV", 240, 0.5);
EFM_MIME_ICON("audio/x-xmf","efm_generic_icon_content_audio.png", (54/154), (54/154),".XMF", 240, 0.5);
EFM_MIME_ICON("audio/x-xm","efm_generic_icon_content_audio.png", (54/154), (54/154),".XM", 240, 0.5);
EFM_MIME_ICON("audio/x-xi","efm_generic_icon_content_audio.png", (54/154), (54/154),".XI", 240, 0.5);
EFM_MIME_ICON("audio/x-wacpack-correction","efm_generic_icon_content_audio.png", (54/154), (54/154),".WVC", 240, 0.5);
EFM_MIME_ICON("audio/x-s3m","efm_generic_icon_content_audio.png", (54/154), (54/154),".S3M", 240, 0.5);
EFM_MIME_ICON("audio/x-riff","efm_generic_icon_content_audio.png", (54/154), (54/154),".RMI", 240, 0.5);
EFM_MIME_ICON("audio/x-psflib","efm_generic_icon_content_audio.png", (54/154), (54/154),".PSFLIB", 240, 0.5);
EFM_MIME_ICON("audio/x-psf","efm_generic_icon_content_audio.png", (54/154), (54/154),".PSF", 240, 0.5);
EFM_MIME_ICON("audio/x-scpls","efm_generic_icon_content_audio.png", (54/154), (54/154),".PLS", 240, 0.5);
EFM_MIME_ICON("audio/x-ms-asx","efm_generic_icon_content_audio.png", (54/154), (54/154),".ASX", 240, 0.5);
EFM_MIME_ICON("audio/x-mpegurl","efm_generic_icon_content_audio.png", (54/154), (54/154),".M3U", 240, 0.5);
EFM_MIME_ICON("audio/x-mod","efm_generic_icon_content_audio.png", (54/154), (54/154),".MOD", 240, 0.5);
EFM_MIME_ICON("audio/x-mo3","efm_generic_icon_content_audio.png", (54/154), (54/154),".MO3", 240, 0.5);
EFM_MIME_ICON("audio/x-minipsf","efm_generic_icon_content_audio.png", (54/154), (54/154),".MINIPSF", 240, 0.5);
EFM_MIME_ICON("audio/matroska","efm_generic_icon_content_audio.png", (54/154), (54/154),".MKV", 240, 0.5);
EFM_MIME_ICON("audio/x-m4b","efm_generic_icon_content_audio.png", (54/154), (54/154),".M4B", 240, 0.5);
EFM_MIME_ICON("audio/x-it","efm_generic_icon_content_audio.png", (54/154), (54/154),".IT", 240, 0.5);
EFM_MIME_ICON("audio/x-iriver-pla","efm_generic_icon_content_audio.png", (54/154), (54/154),".PLA", 240, 0.5);
EFM_MIME_ICON("audio/x-gsm","efm_generic_icon_content_audio.png", (54/154), (54/154),".GSM", 240, 0.5);
EFM_MIME_ICON("audio/x-flac+ogg","efm_generic_icon_content_audio.png",(54/154), (54/154), ".FLAC", 240, 0.5);
EFM_MIME_ICON("audio/x-amzxml","efm_generic_icon_content_audio.png",(54/154), (54/154), ".AMZ", 240, 0.5);
EFM_MIME_ICON("audio/x-aiff","efm_generic_icon_content_audio.png",(54/154), (54/154), ".AIFF", 240, 0.5);
EFM_MIME_ICON("audio/x-aifc","efm_generic_icon_content_audio.png",(54/154), (54/154), ".AIFC", 240, 0.5);
EFM_MIME_ICON("audio/x-adpcm","efm_generic_icon_content_audio.png",(54/154), (54/154), ".ADPCM", 240, 0.5);
EFM_MIME_ICON("audio/vdn.rn-realaudio","efm_generic_icon_content_audio.png",(54/154), (54/154), ".RA", 240, 0.5);
EFM_MIME_ICON("audio/vdn.dts","efm_generic_icon_content_audio.png",(54/154), (54/154), ".DTS", 240, 0.5);
EFM_MIME_ICON("audio/vdn.dts.hd","efm_generic_icon_content_audio.png",(54/154), (54/154), ".DTSHD", 240, 0.5);
EFM_MIME_ICON("audio/prs.sid","efm_generic_icon_content_audio.png",(54/154), (54/154), ".SID", 240, 0.5);
EFM_MIME_ICON("audio/mp2","efm_generic_icon_content_audio.png", (54/154), (54/154), ".MP2", 240, 0.5);
EFM_MIME_ICON("audio/basic","efm_generic_icon_content_audio.png", (54/154), (54/154), ".SND", 240, 0.5);
EFM_MIME_ICON("audio/annodex","efm_generic_icon_content_audio.png", (54/154), (54/154), ".AXA", 240, 0.5);
EFM_MIME_ICON("audio/AMR","efm_generic_icon_content_audio.png", (54/154), (54/154), ".AMR", 240, 0.5);
EFM_MIME_ICON("audio/amr","efm_generic_icon_content_audio.png", (54/154), (54/154), ".AMR", 240, 0.5);
EFM_MIME_ICON("audio/amr-wb","efm_generic_icon_content_audio.png", (54/154), (54/154), ".AWB", 240, 0.5);
EFM_MIME_ICON("audio/AMR-WB","efm_generic_icon_content_audio.png", (54/154), (54/154), ".AWB", 240, 0.5);
EFM_MIME_ICON("audio/ac3","efm_generic_icon_content_audio.png", (54/154), (54/154), ".AC3", 240, 0.5);
EFM_MIME_ICON("application/x-mpegurl","efm_generic_icon_content_audio.png", (54/154), (54/154),".M3U", 240, 0.5);
EFM_MIME_ICON("application/vnd.apple.mpegurl","efm_generic_icon_content_audio.png", (54/154), (54/154),".M3U", 240, 0.5);
//Code//
EFM_MIME_ICON("text/x-csrc","efm_generic_icon_content_code.png", (114/88), (114/88), ".C", 240, 0.3);
EFM_MIME_ICON("text/x-chdr","efm_generic_icon_content_code.png", (114/88), (114/88), ".H", 240, 0.3);
EFM_MIME_ICON("text/x-c++hdr","efm_generic_icon_content_code.png", (114/88), (114/88), ".HH", 240, 0.3);
EFM_MIME_ICON("text/x-c++src","efm_generic_icon_content_code.png", (114/88), (114/88), ".C++", 240, 0.3);
EFM_MIME_ICON("text/x-csharp","efm_generic_icon_content_code.png", (114/88), (114/88), ".C#", 240, 0.3);
EFM_MIME_ICON("application/x-awk","efm_generic_icon_content_code.png", (114/88), (114/88), ".AWK", 240, 0.3);
EFM_MIME_ICON("text/x-hdr","efm_generic_icon_content_code.png", (114/88), (114/88), ".HPP", 240, 0.3);
EFM_MIME_ICON("text/x-fortran","efm_generic_icon_content_code.png", (114/88), (114/88), ".F", 240, 0.3);
EFM_MIME_ICON("text/x-java-source","efm_generic_icon_content_code.png", (114/88), (114/88), ".JAVA", 240, 0.3);
//add moreeeeeee//
//Text//
EFM_MIME_ICON("text/x-patch","efm_generic_icon_content_text.png", (114/126), (114/126), ".PATCH", 240, 0.5);
EFM_MIME_ICON("text/plain","efm_generic_icon_content_text.png", (114/126), (114/126), ".TXT", 240, 0.5);
EFM_MIME_ICON("text/x-log","efm_generic_icon_content_text.png", (114/126), (114/126), ".LOG", 240, 0.5);
EFM_MIME_ICON("application/x-md5","efm_generic_icon_content_text.png", (114/126), (114/126), ".MD5", 240, 0.5);
EFM_MIME_ICON("text/x-makefile","efm_generic_icon_content_text.png", (114/126), (114/126), ".MK", 240, 0.5);
EFM_MIME_ICON("application/x-m4","efm_generic_icon_content_text.png", (114/126), (114/126), ".M4", 240, 0.5);
EFM_MIME_ICON("application/pkix-attr-cert","efm_generic_icon_content_text.png", (114/126), (114/126), ".AC", 240, 0.5);
EFM_MIME_ICON("text/x-subviewer","efm_generic_icon_content_text.png", (114/126), (114/126), ".SUB", 240, 0.5);
EFM_MIME_ICON("application/x-wais-source","efm_generic_icon_content_text.png", (114/126), (114/126), ".SRC", 240, 0.5);
//Web//
EFM_MIME_ICON("text/css","efm_generic_icon_content_web.png", (114/68), (114/68), ".CSS", 240, 0.3);
EFM_MIME_ICON("text/html","efm_generic_icon_content_web.png", (114/68), (114/68), ".HTML", 240, 0.3);
EFM_MIME_ICON("application/xml","efm_generic_icon_content_web.png", (114/68), (114/68), ".XML", 240, 0.3);
EFM_MIME_ICON("application/javascript","efm_generic_icon_content_web.png", (114/68), (114/68), ".JS", 240, 0.3);
EFM_MIME_ICON("application/json","efm_generic_icon_content_web.png", (114/68), (114/68), ".JSON", 240, 0.3);
EFM_MIME_ICON("text/json","efm_generic_icon_content_web.png", (114/68), (114/68), ".JSON", 240, 0.3);
//Enlightenment//
EFM_MIME_ICON("application/edje","efm_generic_icon_content_logo.png", (114/154), (114/154), ".EDJ", 240, 0.5);
EFM_MIME_ICON("text/edje","efm_generic_icon_content_logo.png", (114/154), (114/154), ".EDC", 240, 0.5);
//Document//
EFM_MIME_ICON("application/vnd.oasis.opendocument.text","efm_generic_icon_content_doc.png", (114/154), (114/154), ".ODT", 240, 0.5);
EFM_MIME_ICON("application/x-msword","efm_generic_icon_content_doc.png", (114/154), (114/154), ".DOC", 240, 0.5);
EFM_MIME_ICON("application/vnd.openxmlformats-officedocument.wordprocessingml.document","efm_generic_icon_content_doc.png", (114/154), (114/154), ".DOCX", 240, 0.5);
EFM_MIME_ICON("application/x-abiword","efm_generic_icon_content_doc.png", (114/154), (114/154), ".ABW", 240, 0.5);
EFM_MIME_ICON("application/vnd.scribus","efm_generic_icon_content_doc.png", (114/154), (114/154), ".SLA", 240, 0.5);
EFM_MIME_ICON("application/x-lyx","efm_generic_icon_content_doc.png", (114/154), (114/154), ".LYX", 240, 0.5);
//Spreadsheet//
EFM_MIME_ICON("application/vnd.oasis.opendocument.spreadsheet","efm_generic_icon_content_spread.png", (114/80), (114/80), ".ODS", 240, 0.5);
EFM_MIME_ICON("application/vnd.ms-excel","efm_generic_icon_content_spread.png", (114/80), (114/80), ".XLS", 240, 0.5);
//Presentation//
EFM_MIME_ICON("application/vnd.ms-powerpoint","efm_generic_icon_content_pres.png", (114/95), (114/95), ".PPT", 240, 0.5);
EFM_MIME_ICON("application/vnd.oasis.opendocument.presentation","efm_generic_icon_content_pres.png", (114/95), (114/95), ".ODP", 240, 0.5);
//Drawing//
EFM_MIME_ICON("application/x-vnd.oasis.opendocument.graphics","efm_generic_icon_content_draw.png", (114/96), (114/96), ".ODG", 240, 0.5);
//Data Base//
EFM_MIME_ICON("application/vnd.ms-binder","efm_generic_icon_content_db.png", (114/128), (114/128), ".ODB", 240, 0.5);
EFM_MIME_ICON("application/x-sqlite3","efm_generic_icon_content_db.png", (114/128), (114/128), ".SQLITE", 240, 0.5);
//Formula//
EFM_MIME_ICON("application/x-vnd.oasis.opendocument.formula","efm_generic_icon_content_formula.png", (114/85), (114/85), ".ODF", 240, 0.5);
//Template//
EFM_MIME_ICON("application/vnd.openxmlformats-officedocument.wordprocessingml.template","efm_generic_icon_content_template.png", (114/130), (114/130), ".DOTX", 240, 0.5);
EFM_MIME_ICON("application/vnd.openxmlformats-officedocument.spreadsheetml.template","efm_generic_icon_content_template.png", (114/130), (114/130),".XLTX", 240, 0.5);
EFM_MIME_ICON("application/vnd.openxmlformats-officedocument.presentationml.template","efm_generic_icon_content_template.png", (114/130), (114/130),".POTX", 240, 0.5);
EFM_MIME_ICON("application/vnd.oasis.opendocument.chart-template","efm_generic_icon_content_template.png", (114/130), (114/130),".OTC", 240, 0.5);
EFM_MIME_ICON("application/vnd.oasis.opendocument.formula-template","efm_generic_icon_content_template.png", (114/130), (114/130), ".OTF", 240, 0.5);
EFM_MIME_ICON("application/vnd.oasis.opendocument.graphics-template","efm_generic_icon_content_template.png", (114/130), (114/130), ".OTG", 240, 0.5);
EFM_MIME_ICON("application/vnd.oasis.opendocument.image-template","efm_generic_icon_content_template.png", (114/130), (114/130), ".OTI", 240, 0.5);
EFM_MIME_ICON("application/vnd.oasis.opendocument.presentation-template","efm_generic_icon_content_template.png", (114/130), (114/130), ".OTP", 240, 0.5);
EFM_MIME_ICON("application/vnd.oasis.opendocument.spreadsheet-template","efm_generic_icon_content_template.png", (114/130), (114/130), ".ODS", 240, 0.5);
EFM_MIME_ICON("application/vnd.oasis.opendocument.text-template","efm_generic_icon_content_template.png", (114/130), (114/130), ".OTT", 240, 0.5);
//Video (fallback)//
EFM_MIME_ICON("video/mpeg","efm_generic_icon_content_video.png", (114/83), (114/83), ".MPEG", 240, 0.5);
EFM_MIME_ICON("application/ogg","efm_generic_icon_content_video.png",(114/83), (114/83), ".OGG", 240, 0.5);
EFM_MIME_ICON("video/x-theora+ogg","efm_generic_icon_content_video.png",(114/83), (114/83), ".OGG", 240, 0.5);
EFM_MIME_ICON("video/x-msvideo","efm_generic_icon_content_video.png", (114/83), (114/83), ".AVI", 240, 0.5);
EFM_MIME_ICON("video/ogg","efm_generic_icon_content_video.png",(114/83), (114/83), ".OGG", 240, 0.5);
EFM_MIME_ICON("video/mp4","efm_generic_icon_content_video.png",(114/83), (114/83), ".MP4", 240, 0.5);
EFM_MIME_ICON("video/quicktime","efm_generic_icon_content_video.png",(114/83), (114/83), ".MOV", 240, 0.5);
EFM_MIME_ICON("video/x-matroska","efm_generic_icon_content_video.png",(114/83), (114/83), ".MKV", 240, 0.5);
EFM_MIME_ICON("video/x-flv","efm_generic_icon_content_video.png", (114/83), (114/83), ".FLV", 240, 0.5);
EFM_MIME_ICON("application/vnd.rn-realmedia","efm_generic_icon_content_video.png",(114/83), (114/83), ".REAL", 240, 0.5);
EFM_MIME_ICON("video/x-ms-wmv","efm_generic_icon_content_video.png",(114/83), (114/83), ".WMV", 240, 0.5);
EFM_MIME_ICON("video/webm","efm_generic_icon_content_video.png",(114/83), (114/83), ".WEBM", 240, 0.5);
//Image (fallback)//
EFM_MIME_ICON("image/png","efm_generic_icon_content_image.png", (114/128), (114/128), ".PNG", 240, 0.5);
EFM_MIME_ICON("image/jpeg","efm_generic_icon_content_image.png", (114/128), (114/128),".JPEG", 240, 0.5);
EFM_MIME_ICON("image/gif","efm_generic_icon_content_image.png", (114/128), (114/128),".GIF", 240, 0.5);
EFM_MIME_ICON("image/bmp","efm_generic_icon_content_image.png", (114/128), (114/128),".BMP", 240, 0.5);
EFM_MIME_ICON("application/x-xcf","efm_generic_icon_content_image.png", (114/128), (114/128),".XCF", 240, 0.5);
EFM_MIME_ICON("application/x-cbz","efm_generic_icon_content_image.png", (114/128), (114/128),".CBZ", 240, 0.5);
EFM_MIME_ICON("application/x-cbr","efm_generic_icon_content_image.png",(114/128), (114/128), ".CBR", 240, 0.5);
EFM_MIME_ICON("image/webp","efm_generic_icon_content_image.png", (114/128), (114/128),".WEBP", 240, 0.5);
//Font//
EFM_MIME_ICON("application/x-font-ttf","efm_generic_icon_content_font.png", (114/93), (114/93), ".TTF", 240, 0.5);
EFM_MIME_ICON("application/x-font-pcf","efm_generic_icon_content_font.png", (114/93), (114/93), ".PCF", 240, 0.5);
EFM_MIME_ICON("application/x-font-bdf","efm_generic_icon_content_font.png", (114/93), (114/93), ".BDF", 240, 0.5);
EFM_MIME_ICON("application/x-font-otf","efm_generic_icon_content_font.png", (114/93), (114/93), ".BDF", 240, 0.5);
//PS (fallback)//
EFM_MIME_ICON("application/postscript","efm_generic_icon_content_ps.png", (114/104), (114/104), ".PS", 240, 0.5);
//PDF (fallback)//
EFM_MIME_ICON("application/pdf","efm_generic_icon_content_pdf.png", (114/101), (114/101), ".PDF", 240, 0.5);
//Translate//
EFM_MIME_ICON("text/x-gettext-translation","efm_generic_icon_content_translate.png", (114/97), (114/97), ".PO", 240, 0.5);
EFM_MIME_ICON("application/x-gettext-translation","efm_generic_icon_content_translate.png", (114/97), (114/97), ".GMO", 240, 0.5);
//Base 2//
#define EFM_MIME_ICON_SIMPLE(_NAME, _IMAGE, _ASPMIN, _ASPMAX, _SIZE, _VALIGN) \
group { name: "e/icons/fileman/mime/"_NAME; \
max: _SIZE _SIZE; \
images.image: "efm_generic_icon_shadow_empty.png" COMP; \
images.image: "efm_generic_icon_base_empty.png" COMP; \
images.image: "efm_generic_icon_over_empty.png" COMP; \
images.image: _IMAGE COMP; \
parts { \
part { name: "spacer"; type: SPACER; \
description { state: "default" 0.0; \
aspect: 1.0 1.0; aspect_preference: BOTH; \
} \
} \
part { name: "shadow"; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "spacer"; \
rel1.relative: (15/240) (10/240); \
rel2.to: "spacer"; \
rel2.relative: (225/240) (240/240); \
image.normal: "efm_generic_icon_shadow_empty.png"; \
} \
} \
part { name: "base"; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "spacer"; \
rel1.relative: (30/240) (15/240); \
rel2.to: "spacer"; \
rel2.relative: (210/240) (225/240); \
image.normal: "efm_generic_icon_base_empty.png"; \
} \
} \
part { name: "content"; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "base"; \
rel1.relative: (28/180) (28/210); \
rel2.to: "base"; \
rel2.relative: (152/180) (182/210); \
align: 0.5 _VALIGN; \
aspect: _ASPMIN _ASPMAX; aspect_preference: BOTH; \
image.normal: _IMAGE; \
} \
} \
part { name: "over"; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "base"; \
rel2.to: "base"; \
image.normal: "efm_generic_icon_over_empty.png"; \
} \
} \
} \
}
//Script//
EFM_MIME_ICON_SIMPLE("application/x-shellscript","efm_generic_icon_content_script.png", (114/126), (114/126), 240, 0.5);
//Executable//
EFM_MIME_ICON_SIMPLE("application/x-executable","efm_generic_icon_content_executable.png", (114/114), (114/114), 240, 0.5);
EFM_MIME_ICON_SIMPLE("application/x-ms-dos-executable","efm_generic_icon_content_executable.png", (114/114), (114/114), 240, 0.5);
//Libraries//
EFM_MIME_ICON_SIMPLE("application/x-sharedlib","efm_generic_icon_content_lib.png", (114/114), (114/114), 240, 0.5);
EFM_MIME_ICON_SIMPLE("application/x-shared-library-la","efm_generic_icon_content_lib.png", (114/114), (114/114), 240, 0.5);
//Unknown//
EFM_MIME_ICON_SIMPLE("application/x-object","efm_generic_icon_content_unknown.png", (100/154), (100/154), 240, 0.5);
//Trash//
EFM_MIME_ICON_SIMPLE("application/x-trash","efm_generic_icon_content_trash.png", (114/142), (114/142), 240, 0.5);
//Octet-Stream//
EFM_MIME_ICON_SIMPLE("application/octet-stream","efm_generic_icon_content_text.png",(114/126), (114/126), 240, 0.5);
//Install//
EFM_MIME_ICON_SIMPLE("application/x-install-instructions","efm_generic_icon_content_install.png",(114/149), (114/149), 240, 0.5);
//Cache//
EFM_MIME_ICON_SIMPLE("chemical/x-cache","efm_generic_icon_content_db.png", (114/128), (114/128), 240, 0.5);
//Inode//
EFM_MIME_ICON_SIMPLE("inode/chardevice","efm_generic_icon_content_inode_char.png", (114/77), (114/77), 240, 0.5);
EFM_MIME_ICON_SIMPLE("inode/blockdevice","efm_generic_icon_content_inode_block.png", (81/114), (81/114), 240, 0.5);
EFM_MIME_ICON_SIMPLE("inode/fifo","efm_generic_icon_content_inode_fifo.png", (87/114), (87/114), 240, 0.5);
EFM_MIME_ICON_SIMPLE("inode/socket","efm_generic_icon_content_inode_socket.png", (114/114), (114/114), 240, 0.5);
EFM_MIME_ICON_SIMPLE("inode/file","efm_generic_icon_content_inode_file.png", (83/114), (83/114), 240, 0.5);
#undefine EFM_MIME_ICON
#undefine EFM_MIME_ICON_SIMPLE
/* #define EFMICON(NAME, FILE, SIZE) \
* group { name: "e/icons/fileman/"NAME; \
* max: SIZE SIZE; \
* parts { \
* part { name: "icon"; \
* mouse_events: 0; \
* description { state: "default" 0.0; \
* aspect: 1.0 1.0; \
* aspect_preference: BOTH; \
* image.image: FILE COMP; \
* image.normal: FILE ; \
* } \
* } \
* } \
* } */
//EFMICON("folder","icon_efm_folder.png", 128)
//EFMICON("chrdev","icon_efm_file.png", 128)
//EFMICON("blkdev","icon_efm_file.png", 128)
//EFMICON("fifo","icon_efm_file.png", 128)
//EFMICON("socket","icon_efm_file.png", 128)
//EFMICON("executable","icon_efm_file.png", 128)
//EFMICON("home","icon_efm_home.png", 128)
//EFMICON("root","icon_efm_root.png", 128)
//EFMICON("tmp","icon_efm_tmp.png", 128)
//EFMICON("desktop","icon_efm_desktop.png", 128)
//EFMICON("hdd","icon_efm_hdd.png", 128)
//EFMICON("hd","icon_efm_hdd.png", 128)
// EFM Mime type icons //
#define MIMEICON(NAME, FILE, SIZE) \
group { \
name: "e/icons/fileman/mime/"NAME; \
max: SIZE SIZE; \
parts { \
part { \
name: "icon"; \
mouse_events: 0; \
description { \
state: "default" 0.0; \
aspect: 1.0 1.0; \
aspect_preference: BOTH; \
image.image: "O/"FILE COMP; \
image.normal: "O/"FILE ; \
} \
} \
} \
}
MIMEICON("inode/directory","icon_efm_folder.png", 128);
MIMEICON("application/x-deb","icon_mime_deb.png", 128);
MIMEICON("application/x-bzip","icon_mime_package.png", 128);
MIMEICON("application/zip","icon_mime_package.png", 128);
MIMEICON("application/x-gzip","icon_mime_package.png", 128);
MIMEICON("application/x-bzip-compressed-tar","icon_mime_package.png", 128);
MIMEICON("application/x-bzip2-compressed-tar","icon_mime_package.png",128);
MIMEICON("application/x-compressed-tar","icon_mime_package.png",128);
MIMEICON("application/x-tar","icon_mime_package.png", 128);
MIMEICON("application/x-rar","icon_mime_package.png", 128);
MIMEICON("application/x-7z-compressed","icon_mime_package.png", 128);
MIMEICON("application/vnd.ms-cab-compressed","icon_mime_package.png", 128);

View File

@ -1,200 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
/*** ICONS ***/
#define ICON(NAME, FILE, SIZE) \
group { \
name: "e/icons/"NAME ; \
max: SIZE SIZE; \
parts { \
part { \
name: "icon"; \
repeat_events: 1; \
description { \
state: "default" 0.0; \
aspect: 1.0 1.0; \
aspect_preference: BOTH; \
image.image: "O/"FILE COMP; \
image.normal: "O/"FILE ; \
} \
} \
} \
}
#define ICONMIME(NAME, FILE, SIZE) ICON("mimetypes/"NAME, FILE, SIZE)
/* FreeDesktop.Org Icons
* http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
*
* In the comment you can find the old e icon name.
*
* Icons marked with *** are not mentioned in the spec, but we still try to
* follow the naming convention.
*
* TO ADD A NEW ICON:
* 1. Search for a name in the spec OR
* 2. Search for a name in kde (oxygen) and gnome (tango - human) icon set OR
* 3. Try to follow the naming convention
*/
//Standard Action Icons
ICON("list-add","icon_add.png",64) // "widget/add"
ICON("list-remove","icon_del.png",64) // "widget/del"
ICON("go-up","icon_up_arrow.png",64) // "widget/up_arrow" "widget/up_dir"
ICON("go-down","icon_down_arrow.png",64) // "widget/down_arrow"
ICON("go-next","icon_right_arrow.png",64) // "widget/new_dialog"
ICON("go-previous","icon_left_arrow.png",64) // none
ICON("bookmark-new","icon_add_fav.png",64) // "widget/add_fav"
ICON("edit-swap","icon_swap.png",64) // *** // "widget/swap"
ICON("edit-copy","icon_efm_copy.png",16) // EFMBUTTON("copy"
ICON("edit-cut","icon_efm_cut.png",16) // EFMBUTTON("cut"
ICON("edit-paste","icon_efm_paste.png",16) // EFMBUTTON("paste"
ICON("edit-delete","icon_efm_delete.png",16) // EFMBUTTON("delete"
ICON("edit-rename","icon_efm_rename.png",16) // EFMBUTTON("rename"
ICON("edit-select-all","icon_efm_select.png",16) // EFMBUTTON("select"
ICON("document-open","icon_efm_open.png",16) // "widget/open" EFMBUTTON("open") EFMBUTTON("new")
ICON("document-new","icon_new.png",64) // "widget/new"
ICON("document-properties","icon_efm_properties.png",16) // EFMBUTTON("properties"
ICON("folder-new","icon_efm_new_dir.png",16) // EFMBUTTON("new_dir"
ICON("view-sort","icon_efm_sort.png",16) // *** // EFMBUTTON("sort",
ICON("view-order","icon_efm_sort.png",16) // *** // EFMBUTTON("ordering"
ICON("view-hidden-files","icon_efm_view.png",16) // *** // EFMBUTTON("hidden_files"
ICON("configure","icon_config.png",64) // "widget/config"
ICON("system-run","icon_run.png",64) // "enlightenment/run"
ICON("window-close","icon_close.png",64) // "widget/close"
ICON("dialog-ok-apply","icon_check.png",64) // "enlightenment/check"
ICON("transform-scale","icon_resize.png",64) // "widget/resize"
ICON("transform-move","icon_autoscroll.png",64) // "enlightenment/autoscroll"
ICON("view-refresh","icon_reset.png",16) // EFMBUTTON("refresh"
ICON("view-inherit","icon_dummy.png",64) // *** // EFMBUTTON("inherit"
ICON("screenshot","icon_screenshot.png",64) // dunno
//Standard Status Icons
ICON("dialog-warning","icon_warning.png",128) // "enlightenment/warning"
ICON("dialog-error","icon_warning.png",128) // "enlightenment/error"
ICON("dialog-ask","icon_dummy.png",64) // "enlightenment/unknown"
ICON("unknown","icon_dummy.png",64) // *** // "enlightenment/unknown"
//Standard Application Icons
ICON("preferences-desktop","icon_desktops.png",64) // "enlightenment/desktops"
ICON("preferences-desktop-theme","icon_theme.png",64) // "enlightenment/themes"
ICON("preferences-desktop-wallpaper","icon_wallpaper.png",64) // "enlightenment/background"
ICON("preferences-desktop-color","icon_colors.png",64) // "enlightenment/colors"
ICON("preferences-desktop-font","icon_fonts.png",64) // "enlightenment/fonts"
ICON("preferences-desktop-screensaver","icon_screensaver.png",64) // "enlightenment/screensaver"
ICON("preferences-desktop-display","icon_screen_setup.png",64) // "enlightenment/screen_setup"
ICON("preferences-desktop-keyboard","icon_keyboard.png",64) // "enlightenment/keys"
ICON("preferences-desktop-keyboard-shortcuts","icon_keys.png",64) // "enlightenment/keys"
ICON("preferences-desktop-pointer","icon_mouse.png",64) // *** // "enlightenment/mouse"
ICON("preferences-desktop-mouse","icon_mouse_clean.png",64) // "enlightenment/mouse_clean"
ICON("preferences-desktop-mouse-left","icon_mouse_left.png",64) // *** // "enlightenment/mouse_left"
ICON("preferences-desktop-mouse-right","icon_mouse_right.png",64) // *** // "enlightenment/mouse_right"
ICON("preferences-desktop-mouse-middle","icon_mouse_middle.png",64) // *** // "enlightenment/mouse_middle"
ICON("preferences-desktop-mouse-wheel","icon_mouse_wheel.png",64) // *** // "enlightenment/mouse_wheel"
ICON("preferences-desktop-mouse-extra","icon_mouse_extra.png",64) // *** // "enlightenment/mouse_extra"
ICON("preferences-desktop-locale","icon_intl.png",64) // "enlightenment/intl"
ICON("preferences-desktop-mixer","icon_mixer.png",64) // "enlightenment/mixer"
ICON("preferences-desktop-shelf","icon_shelf.png",64) // *** // "enlightenment/shelf"
ICON("preferences-desktop-shelf-bottom-desk","icon_shelf_bottom_desk.png",64)// *** // "enlightenment/shelf_bottom_desk"
ICON("preferences-desktop-shelf-custom","icon_shelf_custom.png",64) // *** // "enlightenment/shelf_custom"
ICON("preferences-desktop-shelf-dock","icon_shelf_dock.png",64) // *** // "enlightenment/shelf_dock"
ICON("preferences-desktop-shelf-menu-bar","icon_shelf_menu_bar.png",64) // *** // "enlightenment/shelf_menu_bar"
ICON("preferences-desktop-shelf-panel","icon_shelf_panel.png",64) // *** // "enlightenment/shelf_panel"
ICON("preferences-desktop-shelf-top-desk","icon_shelf_top_desk.png",64) // *** // "enlightenment/shelf_top_desk"
ICON("preferences-desktop-window-remember","icon_window_remembers.png",64) // *** // "enlightenment/window_remembers"
ICON("preferences-position-bottom","icon_shelf_bottom.png",64) // *** // "enlightenment/shelf_position_bottom"
ICON("preferences-position-bottom-left","icon_shelf_bottom_left.png",64) // *** // "enlightenment/shelf_position_bottom_left"
ICON("preferences-position-bottom-right","icon_shelf_bottom_right.png",64) // *** // "enlightenment/shelf_position_bottom_right"
ICON("preferences-position-top","icon_shelf_top.png",64) // *** // "enlightenment/shelf_position_top"
ICON("preferences-position-top-left","icon_shelf_top_left.png",64) // *** // "enlightenment/shelf_position_top_left"
ICON("preferences-position-top-right","icon_shelf_top_right.png",64) // *** // "enlightenment/shelf_position_top_right"
ICON("preferences-position-left","icon_shelf_left.png",64) // *** // "enlightenment/shelf_position_left"
ICON("preferences-position-left-top","icon_shelf_left_top.png",64) // *** // "enlightenment/shelf_position_left_top"
ICON("preferences-position-left-bottom","icon_shelf_left_bottom.png",64) // *** // "enlightenment/shelf_position_left_bottom"
ICON("preferences-position-right","icon_shelf_right.png",64) // *** // "enlightenment/shelf_position_right"
ICON("preferences-position-right-top","icon_shelf_right_top.png",64) // *** // "enlightenment/shelf_position_right_top"
ICON("preferences-position-right-bottom","icon_shelf_right_bottom.png",64) // *** // "enlightenment/shelf_position_right_bottom"
ICON("preferences-window-process","icon_window_process_management.png",64) // *** // "enlightenment/window_process"
ICON("preferences-window-manipulation","icon_window_manipulation.png",64) // *** // "enlightenment/window_manipulation"
ICON("preferences-window-maximize","icon_window_manipulation.png",64) // *** // "enlightenment/window_maximize"
ICON("preferences-window-stacking","icon_winlist.png",64) // *** // "enlightenment/window_stacking"
ICON("preferences-window-geometry","icon_window_geometry.png",64) // *** // "enlightenment/window_geometry"
ICON("preferences-windows-lost","icon_lost_windows.png",64) // *** // "enlightenment/lost_windows"
ICON("preferences-gradient","icon_gradient.png",64) // *** // "enlightenment/gradient"
ICON("preferences-focus","icon_window_focus.png",64) // *** // "enlightenment/focus"
ICON("preferences-engine","icon_engine.png",64) // *** // "enlightenment/engine"
ICON("preferences-dialogs","icon_dummy.png",64) // *** // "enlightenment/dialogs"
ICON("preferences-imc","icon_imc.png",64) // *** // "enlightenment/imc"
ICON("preferences-system-lock-screen","icon_desklock.png",64) // *** // "enlightenment/desklock"
ICON("preferences-icon-theme","icon_icon_theme.png",64) // *** // "enlightenment/icon_theme"
ICON("preferences-transitions","icon_transitions.png",64) // *** // "enlightenment/transitions"
ICON("preferences-desktop-edge-bindings","icon_shelf_right.png",64) // *** // "enlightenment/edges"
ICON("preferences-toolbar","icon_toolbar.png",64) // *** // "enlightenment/toolbar"
ICON("preferences-profiles","icon_profiles.png",64) // *** // "enlightenment/profiles"
ICON("preferences-startup","icon_startup.png",64) // *** // "enlightenment/startup"
ICON("preferences-winlist","icon_winlist.png",64) // *** // "enlightenment/winlist"
ICON("preferences-menus","icon_menus.png",64) // *** // "enlightenment/menus"
ICON("preferences-menu-settings","icon_menu_settings.png",64) // *** // "enlightenment/menu_settings"
ICON("preferences-advanced","icon_advanced.png",64) // *** // "enlightenment/advanced"
ICON("preferences-behavior","icon_behavior.png",64) // *** // "enlightenment/behavior"
ICON("preferences-look","icon_look.png",64) // *** // "enlightenment/look"
ICON("preferences-utils","icon_gadget.png",64) // *** // "enlightenment/utils"
ICON("preferences-extensions","icon_extensions.png",64) // *** // "enlightenment/extensions"
ICON("preferences-file-icons","icon_file_icons.png",64) // *** // "enlightenment/file_icons"
ICON("preferences-pager","icon_pager.png",64) // *** // "enlightenment/pager"
ICON("preferences-scale","icon_scale.png",64) // *** // "enlightenment/scale"
ICON("preferences-directories","icon_directories.png",64) // *** // "enlightenment/directories"
ICON("preferences-screen-normal","icon_screen_normal.png",64) // *** // "enlightenment/screen_normal"
ICON("preferences-screen-around","icon_screen_around.png",64) // *** // "enlightenment/screen_around"
ICON("preferences-screen-left","icon_screen_left.png",64) // *** // "enlightenment/screen_left"
ICON("preferences-screen-right","icon_screen_right.png",64) // *** // "enlightenment/screen_right"
ICON("preferences-screen-vflip","icon_screen_vflip.png",64) // *** // "enlightenment/screen_vflip"
ICON("preferences-screen-hflip","icon_screen_hflip.png",64) // *** // "enlightenment/screen_hflip"
ICON("preferences-applications","icon_applications.png",64) // *** // "enlightenment/applications"
ICON("preferences-applications-add","icon_applications_new.png",64) // *** // "enlightenment/add_application"
ICON("preferences-applications-ibar","icon_applications_ibar.png",64) // *** // "enlightenment/ibar_applications"
ICON("preferences-applications-restart","icon_applications_restart.png",64) // *** // "enlightenment/restart_applications"
ICON("preferences-applications-startup","icon_applications_startup.png",64) // *** // "enlightenment/startup_applications"
ICON("preferences-desktop-default-applications","icon_advanced.png",64)
ICON("preferences-preferences","icon_config.png",64) // "enlightenment/configuration" "enlightenment/settings"
ICON("preferences-plugin","icon_modules.png",64) // "enlightenment/modules"
ICON("preferences-system","icon_configuration.png",64) // "enlightenment/configuration" "enlightenment/settings"
ICON("preferences-system-windows","icon_windows.png",64) // "enlightenment/windows" "enlightenment/showhide"
ICON("preferences-system-performance","icon_performance.png",64) // "enlightenment/performance"
ICON("preferences-system-power-management","icon_power_management.png",64) // "enlightenment/power_management"
ICON("preferences-system-screen-resolution","icon_screen_resolution.png",64)// *** // "enlightenment/screen_resolution"
ICON("preferences-illume","icon_illume.png",64)
ICON("system-file-manager","icon_efm_folder.png",64) // "enlightenment/fileman"
//Standard Module Category Icons
ICON("modules-utils","icon_gadget.png",64)
ICON("modules-system","icon_gadget.png",64)
ICON("modules-look","icon_look.png",64)
ICON("modules-files","icon_efm_folder.png",64)
ICON("modules-launcher","icon_run.png",64)
ICON("modules-core","logo_white_128.png",64)
ICON("modules-mobile","icon_globe.png",64)
ICON("modules-settings","icon_config.png",64)
//Standard Emblem Icons
ICON("emblem-symbolic-link","icon_dummy.png",64) // EFMBUTTON("symlink")
//Standard Place Icons
ICON("start-here","logo_white_128.png",128) // "enlightenment/e"
ICON("folder","icon_efm_folder.png",64) // "fileman/folder"
ICON("user-home","icon_efm_home.png",64) // "fileman/home"
ICON("user-temp","icon_efm_tmp.png",64) // *** // "fileman/tmp"
ICON("user-desktop","icon_efm_desktop.png",64) // "fileman/desktop"
ICON("user-bookmarks","icon_favorites.png",64) // "enlightenment/favorites"
ICON("folder-image","icon_wallpaper.png",64) // "enlightenment/picture"
ICON("network-website","icon_globe.png",64) // "enlightenment/website"
//Standard Device Icons
ICON("computer","icon_efm_root.png", 64) // "fileman/root"
ICON("drive-harddisk","icon_efm_hdd.png", 128) // "fileman/hd" "fileman/hdd"
ICON("drive-optical","icon_efm_cd.png", 128) // "fileman/??"
ICON("media-flash","icon_efm_flash.png", 128) // "fileman/??"
ICON("drive-removable-media","icon_efm_usbmedia.png", 128);
ICON("media-eject","icon_efm_eject.png", 64)
/* End of FreeDesktop.Org icons */
//E Specific icons
ICON("everything-launch","icon_advanced.png",64)
ICON("everything-clipboard","icon_evry_clipboard.png", 256)
//EFM Mime icons
ICONMIME("inode/chardevice","icon_efm_file.png",128)
ICONMIME("inode/blockdevice","icon_efm_file.png",128)
ICONMIME("inode/directory-locked","icon_efm_file.png",128)
ICONMIME("inode/directory","icon_efm_folder.png",128)
ICONMIME("inode/fifo","icon_efm_file.png",128)
ICONMIME("inode/socket","icon_efm_file.png",128)

View File

@ -1,56 +1,47 @@
group { name: "e/widgets/about/main";
// data.item: "borderless" "1";
// data.item: "shaped" "1";
images.image: "bg_radgrad.png" COMP;
images.image: "dot_pattern.png" COMP;
images.image: "bevel_dark_out.png" COMP;
images.image: "vgrad_med_lighter.png" COMP;
images.image: "bevel_out.png" COMP;
images.image: "shine.png" COMP;
images.image: "shadow_square_tiny.png" COMP;
images.image: "screen_circular_shadow.png" COMP;
images.image: "logo_blue_bottom.png" COMP;
images.image: "button_normal.png" COMP;
images.image: "button_clicked.png" COMP;
images.image: "about-lines.png" COMP;
images.image: "about-triangles.png" COMP;
images.image: "win_shadow.png" COMP;
set { name: "logo_mono";
image { image: "logo.png" COMP; size: 601 601 99999 99999; }
image { image: "logo2.png" COMP; size: 301 301 600 600; }
image { image: "logo3.png" COMP; size: 151 151 300 300; }
image { image: "logo4.png" COMP; size: 76 76 150 150; }
image { image: "logo5.png" COMP; size: 0 0 75 75; }
}
styles {
style { name: "about_style";
base: "font="FN" font_size=10 align=center text_class=tb_plain color=#ffff style=shadow,bottom shadow_color=#00000080 wrap=word";
tag: "hilight" "+ font="FNBD" text_class=tb_light style=glow color=#3399ffff glow_color=#3399ff18 align=center glow2_color=#3399ff12";
base: "font="FN" font_size=10 align=center text_class=e-about color=cc:/fg/normal/text-overlay wrap=word";
tag: "hilight" "+ font="FNBD" text_class=tb_light color=cc:/fg/normal/text-hilight align=center";
tag: "title" "+ font_size=16 font="FNBD" text_class=tb_big";
tag: "/title" "- \n \n";
tag: "br" "\n";
}
style { name: "authors_style";
base: "font="FNBD" font_size=16 align=left text_class=tb_plain color=#00000044 wrap=none";
tag: "hilight" "+ font="FNBD" text_class=tb_light color=#3399ff44";
tag: "title" "+ font_size=24 font="FNBD" text_class=tb_big";
base: "font="FNBD" font_size=10 align=left text_class=e-about-authors color=cc:/fg/normal/text-subtle wrap=none";
tag: "hilight" "+ font="FNBD" text_class=tb_light color=cc:/fg/normal/text-hilight";
tag: "title" "+ font_size=16 font="FNBD" text_class=tb_big";
tag: "/title" "- \n \n";
tag: "br" "\n";
}
}
min: 220 260;
max: 800 600;
min: 320 420;
parts {
part { name: "sizer"; type: SPACER;
scale: 1;
description { state: "default" 0.0;
min: 220 260;
min: 320 420;
}
}
part { name: "bg";
part { name: "image"; type: RECT;
description { state: "default" 0.0;
image.normal: "bg_radgrad.png";
image.scale_hint: STATIC;
fill.smooth: 0;
ASPECT_FILL((1024/653))
}
}
part { name: "pat";
description { state: "default" 0.0;
image.normal: "dot_pattern.png";
TILED_PATTERN(256, 256)
fixed: 1 1;
color_class: "/bg/normal/entry";
}
}
////////////////////////////////////////////////////////////////
part { name: "e.textblock.authors"; type: TEXTBLOCK; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
@ -58,24 +49,38 @@ group { name: "e/widgets/about/main";
max: 20000 20000;
min: 160 0;
rel1.relative: 0.0 1.0;
rel1.offset: 4 4;
rel1.offset: 13 13;
rel2.relative: 1.0 1.0;
rel2.offset: -5 4;
rel2.offset: -14 13;
align: 0.5 0.0;
text { style: "authors_style";
min: 0 1;
align: 0.5 0.0;
}
offscale;
}
description { state: "up" 0.0;
inherit: "default" 0.0;
rel1.relative: 0.0 0.0;
rel1.offset: 4 -5;
rel1.offset: 13 -14;
rel2.relative: 1.0 0.0;
rel2.offset: -5 -5;
rel2.offset: -14 -14;
align: 0.5 1.0;
}
}
program { name: "show1";
signal: "show"; source: "";
action: STATE_SET "up" 0.0;
transition: LINEAR 60.0;
target: "e.textblock.authors";
after: "show2";
}
program { name: "show2";
action: STATE_SET "default" 0.0;
target: "e.textblock.authors";
after: "show1";
}
////////////////////////////////////////////////////////////////
part { name: "e.textblock.about"; type: TEXTBLOCK; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
@ -83,202 +88,208 @@ group { name: "e/widgets/about/main";
max: 20000 20000;
min: 160 0;
rel1.relative: 0.0 1.0;
rel1.offset: 4 4;
rel1.offset: 13 13;
rel2.relative: 1.0 1.0;
rel2.offset: -5 4;
rel2.offset: -14 13;
align: 0.5 0.0;
text { style: "about_style";
min: 0 1;
align: 0.5 0.0;
}
offscale;
}
description { state: "up" 0.0;
inherit: "default" 0.0;
rel1.relative: 0.0 0.0;
rel1.offset: 4 -5;
rel1.offset: 13 -14;
rel2.relative: 1.0 0.0;
rel2.offset: -5 -5;
rel2.offset: -14 -14;
align: 0.5 1.0;
}
}
part { name: "shadow"; mouse_events: 0;
description { state: "default" 0.0;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
image.normal: "screen_circular_shadow.png";
fill.smooth: 0;
}
}
part { name: "bevel";
description { state: "default" 0.0;
image.normal: "bevel_dark_out.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
}
}
part { name: "top_shadow"; mouse_events: 0;
description { state: "default" 0.0;
rel1.offset: -3 -2;
rel1.to: "top_base";
rel2.offset: 3 4;
rel2.to: "top_base";
image.normal: "shadow_square_tiny.png";
image.border: 6 6 6 6;
fill.smooth: 0;
}
}
part { name: "logo";
description { state: "default" 0.0;
image.normal: "logo_blue_bottom.png";
image.scale_hint: STATIC;
FIXED_SIZE(263,100);
rel1.to: "top_base";
rel2.to: "top_base";
align: 0.5 0.25;
}
}
part { name: "top_base";
description { state: "default" 0.0;
image.normal: "vgrad_med_lighter.png";
rel2.to_y: "e.text.title";
rel2.offset: -1 3;
fill.smooth: 0;
TILED_HORIZ(120)
}
}
part { name: "top_bevel"; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "top_base";
rel2.to: "top_base";
image.normal: "bevel_out.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
}
}
part { name: "e.text.title"; type: TEXT;
scale: 1;
effect: SHADOW BOTTOM;
description { state: "default" 0.0;
align: 0.0 0.0;
rel1.offset: 3 3;
rel2.relative: 0.0 0.0;
rel2.offset: 3 3;
text { font: FN; size: 10;
min: 1 1;
ellipsis: -1;
align: 0.0 0.0;
text_class: "about_title";
}
fixed: 1 1;
}
}
part { name: "e.text.version"; type: TEXT;
scale: 1;
effect: SHADOW BOTTOM;
description { state: "default" 0.0;
align: 1.0 0.0;
rel1.relative: 0.0 0.0;
rel1.offset: -4 3;
rel2.relative: 1.0 0.0;
rel2.offset: -4 3;
text { font: FN; size: 10;
min: 1 1;
ellipsis: -1;
align: 1.0 0.0;
text_class: "about_version";
}
fixed: 1 1;
}
}
part { name: "base";
description { state: "default" 0.0;
image.normal: "button_normal.png";
image.border: 4 4 3 5;
image.middle: SOLID;
rel1.offset: -6 -6;
rel1.to: "e.text.label";
rel2.offset: 5 5;
rel2.to: "e.text.label";
fill.smooth: 0;
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
image.normal: "button_clicked.png";
image.border: 5 5 4 6;
}
}
part { name: "e.text.label"; type: TEXT; mouse_events: 0;
effect: SHADOW BOTTOM;
scale: 1;
description { state: "default" 0.0;
rel1.offset: 0 -14;
rel1.relative: 0.5 1.0;
rel2.offset: -1 -14;
rel2.relative: 0.5 1.0;
color: FN_COL_DEFAULT;
color_class: "button_text";
align: 0.5 1.0;
text { font: FN; size: 10;
min: 1 1;
ellipsis: -1;
align: 0.5 0.5;
text_class: "button";
}
fixed: 1 1;
}
}
part { name: "shine"; mouse_events: 0;
description { state: "default" 0.0;
image.normal: "shine.png";
rel1.offset: 0 -2;
rel1.to: "top_base";
rel2.relative: 1.0 0.0;
rel2.offset: -1 2;
rel2.to: "top_base";
FIXED_SIZE(69, 5)
}
}
}
programs {
program { name: "show1";
signal: "show"; source: "";
action: STATE_SET "up" 0.0;
transition: LINEAR 45.0;
target: "e.textblock.about";
after: "show2";
}
program { name: "show2";
action: STATE_SET "default" 0.0;
target: "e.textblock.about";
after: "show1";
}
program { name: "show3";
signal: "show"; source: "";
action: STATE_SET "up" 0.0;
transition: LINEAR 120.0;
target: "e.textblock.authors";
transition: LINEAR 25.0;
target: "e.textblock.about";
after: "show4";
}
program { name: "show4";
action: STATE_SET "default" 0.0;
target: "e.textblock.authors";
target: "e.textblock.about";
after: "show3";
}
program {
signal: "mouse,down,1*"; source: "base";
////////////////////////////////////////////////////////////////
part { name: "lines";
scale: 1;
description { state: "default" 0.0;
image.normal: "about-lines.png";
min: 0 128;
align: 0.5 0.0;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 0.0;
fill.smooth: 1;
color_class: "/bg/normal/titlebar";
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
color_class: "/bg/selected/titlebar";
}
}
////////////////////////////////////////////////////////////////
part { name: "logo";
scale: 1;
description { state: "default" 0.0;
image.normal: "logo_mono";
align: 0.5 0.0;
rel1.offset: 0 13;
rel2.offset: -1 13;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 0.0;
FIXED_SIZE(75, 75)
offscale;
color_class: "/fg/normal/about/logo";
}
}
////////////////////////////////////////////////////////////////
part { name: "e.text.title"; type: TEXT;
scale: 1;
description { state: "default" 0.0;
align: 0.5 0.0;
rel1.offset: 0 13;
rel2.offset: -1 13;
rel1.relative: 0.0 1.0;
rel2.relative: 1.0 1.0;
rel.to: "logo";
color_class: "/fg/normal/text-heading";
text { font: FNBD; size: 16;
min: 1 1;
ellipsis: -1;
text_class: "about_title";
}
offscale;
}
}
////////////////////////////////////////////////////////////////
part { name: "e.text.version"; type: TEXT;
scale: 1;
description { state: "default" 0.0;
align: 0.5 0.0;
rel1.offset: 0 13;
rel2.offset: -1 13;
rel1.relative: 0.0 1.0;
rel2.relative: 1.0 1.0;
rel.to: "e.text.title";
color_class: "/fg/normal/text-heading-sub";
text { font: FN; size: 10;
min: 1 1;
ellipsis: -1;
text_class: "about_version";
}
offscale;
}
}
////////////////////////////////////////////////////////////////
#define TRI(_name, _size, _align) \
part { name: _name; \
scale: 1; \
description { state: "default" 0.0; \
max: _size (_size*180/255); \
align: _align 1.0; \
image.normal: "about-triangles.png"; \
aspect: (255/180) (255/180); aspect_preference: HORIZONTAL; \
rel1.relative: 0.0 1.0; \
color_class: "/bg/normal/background"; \
offscale; \
} \
}
TRI("t1", 127, 0.5)
TRI("t2", 83, 0.2)
TRI("t3", 163, 0.9)
TRI("t4", 47, 1.0)
TRI("t5", 63, 0.0)
TRI("t6", 99, 0.3)
TRI("t7", 199, 0.7)
TRI("t8", 141, 0.1)
TRI("t9", 75, 0.6)
////////////////////////////////////////////////////////////////
part { name: "shadow"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
rel.to: "base";
WIN_SHADOW_SMALL;
color_class: "/shadow/normal";
offscale;
}
description { state: "clicked" 0.0;
inherit;
image.border_scale_by: 0.125;
rel1.offset: -2 -1;
rel2.offset: 1 2;
color_class: "/shadow/pressed";
}
}
part { name: "base"; type: RECT;
scale: 1;
description { state: "default" 0.0;
rel1.offset: -6 -6;
rel1.to: "e.text.label";
rel2.offset: 5 5;
rel2.to: "e.text.label";
color_class: "/bg/normal/button";
offscale;
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
rel1.offset: -5 -5;
rel2.offset: 4 4;
color_class: "/bg/pressed/button";
}
}
part { name: "e.text.label"; type: TEXT; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
rel1.offset: 0 -19;
rel1.relative: 0.5 1.0;
rel2.offset: -1 -19;
rel2.relative: 0.5 1.0;
color_class: "/fg/normal/button";
align: 0.5 1.0;
min: 80 10;
text { font: FN; size: 10;
min: 1 1;
ellipsis: -1;
text_class: "button";
}
offscale;
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
color_class: "/fg/pressed/button";
}
}
program { signal: "mouse,down,1*"; source: "base";
action: STATE_SET "clicked" 0.0;
target: "e.text.label";
target: "base";
target: "shadow";
}
program {
signal: "mouse,up,1"; source: "base";
program { signal: "mouse,up,1"; source: "base";
action: STATE_SET "default" 0.0;
target: "e.text.label";
target: "base";
target: "shadow";
}
program {
signal: "mouse,clicked,1*"; source: "base";
program { signal: "mouse,clicked,1*"; source: "base";
action: SIGNAL_EMIT "e,action,close" "";
}
program { signal: "e,state,focused"; source: "e";
action: STATE_SET "focused" 0.0;
target: "lines";
}
program { signal: "e,state,unfocused"; source: "e";
action: STATE_SET "default" 0.0;
target: "lines";
}
}
}

View File

@ -1,105 +1,100 @@
group { name: "e/theme/about";
// data.item: "borderless" "1";
// data.item: "shaped" "1";
images.image: "bevel_dark_out.png" COMP;
images.image: "screen_circular_shadow.png" COMP;
images.image: "button_normal.png" COMP;
images.image: "button_clicked.png" COMP;
min: 220 220;
max: 220 220;
images.image: "about-flat-bg.png" COMP;
images.image: "win_shadow.png" COMP;
min: 220 320;
parts {
part { name: "sizer"; type: SPACER;
scale: 1;
description { state: "default" 0.0;
min: 220 220;
min: 220 320;
}
}
part { name: "bg";
part { name: "image";
description { state: "default" 0.0;
image.normal: "bg_radgrad.png";
image.scale_hint: STATIC;
fill.smooth: 0;
ASPECT_FILL((1024/653))
fixed: 1 1;
image.normal: "about-flat-bg.png";
aspect: 1.0 1.0; aspect_preference: NONE;
}
}
part { name: "name"; type: TEXT; mouse_events: 0;
effect: GLOW;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
color: FN_COL_HIGHLIGHT;
color: 255 255 255 255; // no cc
rel1.relative: 0.5 0.5;
rel2.relative: 0.5 0.5;
text { font: FNBD; size: 64;
text: "Dark";
text { font: FNBD; size: 48;
text: "FLAT";
min: 1 1;
ellipsis: -1;
align: 0.5 0.5;
}
offscale;
}
}
part { name: "name2"; type: TEXT; mouse_events: 0;
effect: GLOW;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
color: FN_COL_HIGHLIGHT;
rel1.relative: 0.5 0.9;
rel1.to: "name";
rel2.relative: 0.5 0.9;
rel2.to: "name";
align: 0.5 1.0;
color: 255 255 255 192; // no cc
rel.to: "name";
rel1.relative: 0.0 1.0;
rel1.offset: 0 16;
rel2.relative: 1.0 1.0;
rel2.offset: -1 16;
align: 0.5 0.0;
text { font: FN; size: 10;
text: "The default theme for Enlightenment";
min: 1 1;
ellipsis: -1;
align: 0.5 1.0;
align: 0.5 0.0;
}
offscale;
}
}
////////////////////////////////////////////////////////////////
part { name: "shadow"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
image.normal: "screen_circular_shadow.png";
fill.smooth: 0;
rel.to: "base";
WIN_SHADOW_SMALL;
color_class: "/shadow/normal";
offscale;
}
description { state: "clicked" 0.0;
inherit;
image.border_scale_by: 0.125;
rel1.offset: -2 -1;
rel2.offset: 1 2;
color_class: "/shadow/pressed";
}
}
part { name: "bevel";
part { name: "base"; type: RECT;
scale: 1;
description { state: "default" 0.0;
image.normal: "bevel_dark_out.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
}
}
part { name: "base";
description { state: "default" 0.0;
image.normal: "button_normal.png";
image.border: 4 4 3 5;
image.middle: SOLID;
rel.to: "e.text.label";
rel1.offset: -6 -6;
rel1.to: "e.text.label";
rel2.offset: 5 5;
rel2.to: "e.text.label";
fill.smooth: 0;
}
color_class: "/bg/normal/button";
offscale;
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
image.normal: "button_clicked.png";
image.border: 5 5 4 6;
rel1.offset: -5 -5;
rel2.offset: 4 4;
color_class: "/bg/pressed/button";
}
}
part { name: "e.text.label"; type: TEXT; mouse_events: 0;
effect: SHADOW BOTTOM;
scale: 1;
description { state: "default" 0.0;
rel1.offset: -14 -14;
rel1.relative: 1.0 1.0;
rel2.offset: -14 -14;
rel2.relative: 1.0 1.0;
color: FN_COL_DEFAULT;
color_class: "button_text";
color_class: "/fg/normal/button";
align: 1.0 1.0;
min: 85 0;
text { font: FN; size: 10;
@ -109,35 +104,67 @@ group { name: "e/theme/about";
text_class: "button";
}
fixed: 1 1;
offscale;
}
}
part { name: "base2";
description { state: "default" 0.0;
image.normal: "button_normal.png";
image.border: 4 4 3 5;
image.middle: SOLID;
rel1.offset: -6 -6;
rel1.to: "e.text.theme";
rel2.offset: 5 5;
rel2.to: "e.text.theme";
fill.smooth: 0;
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
image.normal: "button_clicked.png";
image.border: 5 5 4 6;
color_class: "/fg/pressed/button";
}
}
program { signal: "mouse,down,1*"; source: "base";
action: STATE_SET "clicked" 0.0;
target: "base";
target: "shadow";
target: "e.text.label";
}
program { signal: "mouse,up,1"; source: "base";
action: STATE_SET "default" 0.0;
target: "base";
target: "shadow";
target: "e.text.label";
}
program { signal: "mouse,clicked,1*"; source: "base";
action: SIGNAL_EMIT "e,action,close" "";
}
////////////////////////////////////////////////////////////////
part { name: "shadow2"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
rel.to: "base2";
WIN_SHADOW_SMALL;
color_class: "/shadow/normal";
offscale;
}
description { state: "clicked" 0.0;
inherit;
image.border_scale_by: 0.125;
rel1.offset: -2 -1;
rel2.offset: 1 2;
color_class: "/shadow/pressed";
}
}
part { name: "base2"; type: RECT;
description { state: "default" 0.0;
rel.to: "e.text.theme";
rel1.offset: -6 -6;
rel2.offset: 5 5;
color_class: "/bg/normal/button";
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
rel1.offset: -5 -5;
rel2.offset: 4 4;
color_class: "/bg/pressed/button";
}
}
part { name: "e.text.theme"; type: TEXT; mouse_events: 0;
effect: SHADOW BOTTOM;
scale: 1;
description { state: "default" 0.0;
rel1.offset: 13 -14;
rel1.relative: 0.0 1.0;
rel2.offset: 13 -14;
rel2.relative: 0.0 1.0;
color: FN_COL_DEFAULT;
color_class: "button_text";
color_class: "/fg/normal/button";
align: 0.0 1.0;
min: 85 0;
text { font: FN; size: 10;
@ -147,36 +174,26 @@ group { name: "e/theme/about";
text_class: "button";
}
fixed: 1 1;
offscale;
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
color_class: "/fg/pressed/button";
}
}
}
programs {
program {
signal: "mouse,down,1*"; source: "base";
action: STATE_SET "clicked" 0.0;
target: "base";
}
program {
signal: "mouse,up,1"; source: "base";
action: STATE_SET "default" 0.0;
target: "base";
}
program {
signal: "mouse,clicked,1*"; source: "base";
action: SIGNAL_EMIT "e,action,close" "";
}
program {
signal: "mouse,down,1*"; source: "base2";
program { signal: "mouse,down,1*"; source: "base2";
action: STATE_SET "clicked" 0.0;
target: "base2";
target: "shadow2";
target: "e.text.theme";
}
program {
signal: "mouse,up,1"; source: "base2";
program { signal: "mouse,up,1"; source: "base2";
action: STATE_SET "default" 0.0;
target: "base2";
target: "shadow2";
target: "e.text.theme";
}
program {
signal: "mouse,clicked,1*"; source: "base2";
program { signal: "mouse,clicked,1*"; source: "base2";
action: SIGNAL_EMIT "e,action,settings,theme" "";
}
}

View File

@ -1,72 +1,49 @@
group { name: "e/modules/appmenu/item";
images.image: "vgrad_med_dark.png" COMP;
data.item: "padding_horizontal" "5";
data.item: "padding_vertical" "5";
data.item: "padding_vertical" "5";
parts {
part {
name: "event_area";
type: RECT;
mouse_events: 1;
description {
state: "default" 0.0;
color: 0 0 0 0;
}
}
part {
name: "background";
type: IMAGE;
mouse_events: 0;
description {
state: "default" 0.0;
image.normal: "vgrad_med_dark.png";
fill.smooth: 0;
TILED_HORIZ(120)
part { name: "background"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color_class: "/bg/normal/menu/item";
visible: 0;
}
description {
state: "selected" 0.0;
description { state: "selected" 0.0;
inherit: "default" 0.0;
color_class: "/bg/selected/menu/item";
visible: 1;
}
}
part {
name: "text";
type: TEXT;
mouse_events: 0;
effect: SHADOW BOTTOM;
part { name: "text"; type: TEXT; mouse_events: 0;
scale: 1;
description {
state: "default" 0.0;
rel1.offset: 2 2;
rel2.offset: -3 -3;
color: FN_COL_DEFAULT;
text {
font: FN;
size: 10;
description { state: "default" 0.0;
rel1.offset: 4 4;
rel2.offset: -5 -5;
color_class: "/fg/normal/menu/item";
text { font: FN; size: 10;
min: 1 1;
ellipsis: -1;
align: 0.5 0.5;
text_class: "label";
}
offscale;
}
description {
state: "selected" 0.0;
description { state: "selected" 0.0;
inherit: "default" 0.0;
color: FN_COL_HIGHLIGHT;
color_class: "/fg/selected/menu/item";
}
}
part { name: "event_area"; type: RECT;
description { state: "default" 0.0;
color: 0 0 0 0; // no cc
}
}
}
programs {
program {
signal: "mouse,in";
source: "event_area";
program { signal: "mouse,in"; source: "event_area";
action: STATE_SET "selected" 0.0;
target: "background";
target: "text";
}
program {
signal: "mouse,out";
source: "event_area";
program { signal: "mouse,out"; source: "event_area";
action: STATE_SET "default" 0.0;
target: "background";
target: "text";

View File

@ -1,19 +1,17 @@
group { name: "e/desktop/background";
images.image: "bg_radgrad.png" COMP;
images.image: "dot_pattern.png" COMP;
alias: "elm/ews/background/default";
BACKGROUND_IMG
parts {
part { name: "bg";
part { name: "clip"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
image.normal: "bg_radgrad.png";
image.scale_hint: STATIC;
fill.smooth: 0;
ASPECT_FILL((1024/653))
}
}
part { name: "pat";
part { name: "bg";
clip_to: "clip";
description { state: "default" 0.0;
image.normal: "dot_pattern.png";
TILED_PATTERN(256, 256)
image.normal: "background";
image.scale_hint: STATIC;
ASPECT_FILL((7680/4320))
}
}
}

View File

@ -1,10 +1,8 @@
group { name: "e/modules/backlight/main";
alias: "e/gadget/backlight/main";
alias: "e/gadget/backlight/main_vert";
images.image: "bulb_glow.png" COMP;
images.image: "bulb_off.png" COMP;
images.image: "bulb_on.png" COMP;
alias: "e/modules/backlight/main_vert";
images.image: "bulb_middle.png" COMP;
images.image: "bulb_over.png" COMP;
images.image: "bulb_filament.png" COMP;
min: 16 16;
max: 160 160;
script {
@ -13,54 +11,49 @@ group { name: "e/modules/backlight/main";
new Float:val;
val = getfarg(2);
set_tween_state(PART:"glow", val, "default", 0.0, "full", 0.0);
set_tween_state(PART:"glow2", val, "default", 0.0, "full", 0.0);
set_tween_state(PART:"filament", val, "default", 0.0, "full", 0.0);
}
}
}
parts {
part { name: "glow";
description { state: "default" 0.0;
rel1.to: "base";
rel1.relative: (76/152) (69/152);
rel2.to: "base";
rel2.relative: (76/152) (69/152);
image.normal: "bulb_glow.png";
color: 255 255 255 0;
max: 138 138;
}
description { state: "full" 0.0;
inherit: "default" 0.0;
rel1.relative: (7/152) (0/152);
rel2.relative: (145/152) (138/152);
color: 255 255 255 255;
}
}
part { name: "base";
description { state: "default" 0.0;
rel1.relative: (4/160) (4/160);
rel2.relative: (156/160) (156/160);
aspect: 1.0 1.0; aspect_preference: BOTH;
image.normal: "bulb_off.png";
max: 152 152;
image.normal: "bulb_middle.png";
color_class: "/bg-dark/normal/gadgets/backlight";
}
}
part { name: "glow2";
part { name: "glow";
description { state: "default" 0.0;
rel1.to: "base";
rel2.to: "base";
image.normal: "bulb_on.png";
color: 255 255 255 0;
rel.to: "base";
rel1.relative: 0.5 0.5;
rel2.relative: 0.5 0.5;
image.normal: "bulb_middle.png";
color_class: "/fg/normal/gadgets/backlight/light/off";
}
description { state: "full" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
color_class: "/fg/normal/gadgets/backlight/light/on";
}
}
part { name: "filament";
description { state: "default" 0.0;
rel.to: "base";
image.normal: "bulb_filament.png";
color_class: "/fg/normal/gadgets/backlight/filament/off";
}
description { state: "full" 0.0;
inherit: "default" 0.0;
color_class: "/fg/normal/gadgets/backlight/filament/on";
}
}
part { name: "over";
description { state: "default" 0.0;
rel1.to: "base";
rel2.to: "base";
rel.to: "base";
image.normal: "bulb_over.png";
color_class: "/fg/normal/gadgets/backlight/base";
}
}
}

View File

@ -1,272 +0,0 @@
group { name: "e/gadget/batman/main";
alias: "e/gadget/batman/main_vert";
images.image: "bat_shadow.png" COMP;
images.image: "bat_base.png" COMP;
images.image: "bat_bottom0.png" COMP;
images.image: "bat_top0.png" COMP;
images.image: "batman_overlay.png" COMP;
images.image: "glow_med_white.png" COMP;
script {
public message(Msg_Type:type, id, ...) {
if ((type == MSG_FLOAT) && (id == 1)) {
new Float:val;
new r = 51, g = 153, b = 255;
new lr = 255, lg = 0, lb = 0;
val = getfarg(2);
if (val < 0.35) {
new Float:val1, Float:val2;
val1 = (val - 0.10) / 0.25;
val2 = 1.0 - val1;
r = round((r * val1) + (lr * val2), ROUND);
g = round((g * val1) + (lg * val2), ROUND);
b = round((b * val1) + (lb * val2), ROUND);
}
custom_state(PART:"fill", "default", 0.0);
set_state_val(PART:"fill", STATE_COLOR, r, g, b, 255);
set_state_val(PART:"fill", STATE_COLOR, r, g, b, 255);
set_state_val(PART:"fill", STATE_COLOR, r, g, b, 255);
set_state_val(PART:"fill", STATE_REL1, 0.0, 1.0 - val);
set_state(PART:"fill", "custom", 0.0);
}
}
}
parts {
part { name: "fade_clip"; type: RECT;
description { state: "default" 0.0;
color: 255 255 255 255;
}
description { state: "faded" 0.0;
color: 128 128 128 255;
}
}
part { name: "pulse_clip"; type: RECT;
clip_to: "fade_clip";
description { state: "default" 0.0;
color: 255 255 255 255;
}
description { state: "faded" 1.0;
color: 255 255 255 255;
}
description { state: "faded" 0.0;
color: 255 255 255 64;
}
}
part { name: "fill_region"; type: SPACER;
description { state: "default" 0.0;
rel1.to: "bg";
rel1.offset: 1 0;
rel2.to: "bg";
rel2.offset: -2 -1;
}
}
part { name: "pwr"; type: SPACER;
description { state: "default" 0.0;
rel1.to: "bg";
rel1.relative: 0.40 0.40;
rel2.to: "bg";
rel2.relative: 0.60 0.60;
aspect: 1.0 1.0; aspect_preference: BOTH;
step: 5 5;
}
}
part { name: "base"; type: SPACER;
description { state: "default" 0.0;
aspect: 1.0 1.0; aspect_preference: BOTH;
}
}
part { name: "shadow";
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "top";
rel1.offset: -4 0;
rel2.to: "bottom";
rel2.offset: 3 3;
image.normal: "bat_shadow.png";
}
}
part { name: "bg";
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "top";
rel1.relative: 0.0 1.0;
rel2.to: "bottom";
rel2.relative: 1.0 0.0;
image.normal: "bat_base.png";
fill.smooth: 0;
}
}
part { name: "top";
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "base";
rel1.offset: 6 4;
rel2.to: "base";
rel2.offset: -7 4;
rel2.relative: 1.0 0.0;
aspect: (112/24) (112/24); aspect_preference: HORIZONTAL;
align: 0.5 0.0;
image.normal: "bat_top0.png";
}
}
part { name: "bottom";
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "base";
rel1.offset: 6 -5;
rel2.to: "base";
rel2.offset: -7 -5;
aspect: (112/12) (112/12); aspect_preference: HORIZONTAL;
align: 0.5 1.0;
image.normal: "bat_bottom0.png";
}
}
part { name: "fill"; mouse_events: 0;
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "fill_region";
rel1.offset: -5 -5;
rel2.to: "fill_region";
rel2.offset: 4 4;
image.normal: "glow_med_white.png";
image.border: 10 10 10 10;
color: 51 153 255 255;
}
}
part { name: "overlay";
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "bg";
rel1.offset: 0 0;
rel2.to: "bg";
rel2.offset: -1 -1;
image.normal: "batman_overlay.png";
image.border: 0 0 7 7;
}
}
part { name: "pwr1";
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "pwr";
rel1.relative: (2/5) 0.0;
rel1.offset: -5 -5;
rel2.to: "pwr";
rel2.relative: (3/5) 1.0;
rel2.offset: 4 4;
image.normal: "glow_med_white.png";
image.border: 5 5 5 5;
fill.smooth: 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part { name: "pwr2";
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "pwr";
rel1.relative: 0.0 (2/5);
rel1.offset: -5 -5;
rel2.to: "pwr";
rel2.relative: 1.0 (3/5);
rel2.offset: 4 4;
image.normal: "glow_med_white.png";
image.border: 5 5 5 5;
fill.smooth: 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part { name: "over"; type: RECT;
description { state: "default" 0.0;
color: 0 0 0 0;
}
}
}
programs {
program {
signal: "e,state,charging"; source: "e";
action: STATE_SET "visible" 0.0;
target: "pwr1";
target: "pwr2";
}
program {
signal: "e,state,discharging"; source: "e";
action: STATE_SET "default" 0.0;
target: "pwr1";
target: "pwr2";
}
program {
signal: "e,state,unknown"; source: "e";
action: STATE_SET "faded" 0.0;
target: "fade_clip";
}
program { name: "pulse";
signal: "e,action,pulse,start"; source: "e";
action: STATE_SET "faded" 0.0;
transition: ACCELERATE 0.3;
after: "pulse2";
target: "pulse_clip";
}
program { name: "pulse2";
action: STATE_SET "faded" 1.0; transition: ACCELERATE 0.1;
target: "pulse_clip";
}
program {
signal: "e,action,pulse,stop"; source: "e";
action: STATE_SET "default" 0.0;
target: "pulse_clip";
}
}
}
group { name: "e/gadget/batman/popup";
min: 240 60;
parts {
part { name: "e.swallow.batman"; type: SWALLOW;
description { state: "default" 0.0;
aspect: 1.0 1.0; aspect_preference: VERTICAL;
min: 1 1;
max: 160 160;
align: 0.0 0.5;
}
}
part { name: "e.text.title"; type: TEXT;
effect: SHADOW BOTTOM;
scale: 1;
description { state: "default" 0.0;
rel1.relative: 1.0 0.0;
rel1.to_x: "e.swallow.batman";
rel2.relative: 1.0 0.5;
color: FN_COL_DEFAULT;
text { font: "Sans:style=Bold"; size: 10;
text: "Your battery is low!";
min: 1 1;
ellipsis: -1;
text_class: "module_large";
}
}
}
part { name: "e.text.label"; type: TEXT;
effect: SHADOW BOTTOM;
scale: 1;
description { state: "default" 0.0;
rel1.relative: 1.0 0.5;
rel1.to_x: "e.swallow.batman";
color: FN_COL_DEFAULT;
text { font: "Sans"; size: 10;
text: "AC power is recommended.";
min: 1 1;
ellipsis: -1;
text_class: "module_normal";
}
}
}
}
}

View File

@ -1,210 +1,78 @@
group { name: "e/modules/battery/main";
images.image: "bat_shadow.png" COMP;
images.image: "bat_base.png" COMP;
images.image: "bat_shine.png" COMP;
images.image: "bat_bottom0.png" COMP;
images.image: "bat_bottom1.png" COMP;
images.image: "bat_top0.png" COMP;
images.image: "bat_top1.png" COMP;
images.image: "glow_med_white.png" COMP;
min: 16 16;
max: 160 160;
script {
public load_time;
public message(Msg_Type:type, id, ...) {
if ((type == MSG_FLOAT) && (id == 1)) {
new Float:val;
new r = 51, g = 153, b = 255;
new lr = 255, lg = 0, lb = 0;
val = getfarg(2);
if (val < 0.35) {
new Float:val1, Float:val2;
val1 = (val - 0.10) / 0.25;
val2 = 1.0 - val1;
r = round((r * val1) + (lr * val2), ROUND);
g = round((g * val1) + (lg * val2), ROUND);
b = round((b * val1) + (lb * val2), ROUND);
}
custom_state(PART:"fill", "default", 0.0);
set_state_val(PART:"fill", STATE_COLOR, r, g, b, 255);
set_state_val(PART:"fill", STATE_COLOR, r, g, b, 255);
set_state_val(PART:"fill", STATE_COLOR, r, g, b, 255);
set_state_val(PART:"fill", STATE_REL1, 0.0, 1.0 - val);
set_state(PART:"fill", "custom", 0.0);
new Float:val = getfarg(2);
val = 0.05 + (0.9 * (1.0 - val));
custom_state(PART:"fill_clip", "default", 0.0);
set_state_val(PART:"fill_clip", STATE_REL1, 0.0, val);
set_state(PART:"fill_clip", "custom", 0.0);
}
}
public Float:year_sec() {
new year, month, day, yearday, weekday, hour, minute;
new Float:second;
date(year, month, day, yearday, weekday, hour, minute, second);
return seconds() + float(yearday * 24 * 3600);
}
public run_prog_later(prog) {
new Float:second, Float:start;
second = Float:year_sec();
start = get_float(load_time);
if ((second - start) > float(5)) run_program(prog);
}
}
parts {
part { name: "fade_clip"; type: RECT;
part { name: "pulse_clip"; type: RECT;
description { state: "default" 0.0;
color: 255 255 255 255;
rel.to: "bg";
}
description { state: "faded" 0.0;
color: 128 128 128 255;
inherit: "default" 0.0;
color: 255 255 255 128; // no cc
}
}
part { name: "fill_clip"; type: RECT;
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel.to: "bg";
}
}
part { name: "info_clip"; type: RECT;
clip_to: "fade_clip";
description { state: "default" 0.0;
color: 255 255 255 0;
rel.to: "bg";
color_class: "/fg/normal/gadgets/battery/text/info";
color: 255 255 255 0; // no cc
}
description { state: "visible" 0.0;
color: 255 255 255 255;
}
}
part { name: "pulse_clip"; type: RECT;
clip_to: "fade_clip";
description { state: "default" 0.0;
color: 255 255 255 255;
}
description { state: "faded" 1.0;
color: 255 255 255 255;
}
description { state: "faded" 0.0;
color: 255 255 255 64;
}
}
part { name: "fill_region"; type: SPACER;
description { state: "default" 0.0;
rel1.to: "bg";
rel2.to: "bg";
}
}
part { name: "pwr"; type: SPACER;
description { state: "default" 0.0;
rel1.to: "bg";
rel1.relative: 0.40 0.40;
rel2.to: "bg";
rel2.relative: 0.60 0.60;
aspect: 1.0 1.0; aspect_preference: BOTH;
step: 5 5;
}
}
part { name: "base"; type: SPACER;
description { state: "default" 0.0;
aspect: 1.0 1.0; aspect_preference: BOTH;
}
}
part { name: "shadow";
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "top";
rel1.offset: -4 0;
rel2.to: "bottom";
rel2.offset: 3 3;
image.normal: "bat_shadow.png";
inherit: "default" 0.0;
color: 255 255 255 255; // no cc
}
}
part { name: "bg";
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "top";
rel1.relative: 0.0 1.0;
rel2.to: "bottom";
rel2.relative: 1.0 0.0;
aspect: 1.0 1.0; aspect_preference: BOTH;
image.normal: "bat_base.png";
fill.smooth: 0;
color_class: "/bg-dark/normal/gadgets/battery/base";
}
}
part { name: "top";
clip_to: "pulse_clip";
part { name: "fill";
clip_to: "fill_clip";
description { state: "default" 0.0;
rel1.to: "base";
rel1.offset: 6 4;
rel2.to: "base";
rel2.offset: -7 4;
rel2.relative: 1.0 0.0;
aspect: (112/24) (112/24); aspect_preference: HORIZONTAL;
align: 0.5 0.0;
image.normal: "bat_top0.png";
rel.to: "bg";
image.normal: "bat_base.png";
color_class: "/fg/normal/gadgets/battery/level/discharge";
}
}
part { name: "bottom";
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "base";
rel1.offset: 6 -5;
rel2.to: "base";
rel2.offset: -7 -5;
aspect: (112/12) (112/12); aspect_preference: HORIZONTAL;
align: 0.5 1.0;
image.normal: "bat_bottom0.png";
}
}
part { name: "fill"; mouse_events: 0;
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "fill_region";
rel1.offset: -5 -5;
rel2.to: "fill_region";
rel2.offset: 4 4;
image.normal: "glow_med_white.png";
image.border: 10 10 10 10;
color: 51 153 255 255;
}
}
part { name: "top-shine";
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "top";
rel2.to: "top";
image.normal: "bat_top1.png";
}
}
part { name: "bottom-shine";
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "bottom";
rel2.to: "bottom";
image.normal: "bat_bottom1.png";
}
}
part { name: "shine";
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "bg";
rel1.offset: 0 -6;
rel2.to: "bg";
rel2.offset: -1 5;
image.normal: "bat_shine.png";
image.border: 0 0 7 7;
}
}
part { name: "pwr1";
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "pwr";
rel1.relative: (2/5) 0.0;
rel1.offset: -5 -5;
rel2.to: "pwr";
rel2.relative: (3/5) 1.0;
rel2.offset: 4 4;
image.normal: "glow_med_white.png";
image.border: 5 5 5 5;
fill.smooth: 0;
visible: 0;
}
description { state: "visible" 0.0;
description { state: "charging" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part { name: "pwr2";
clip_to: "pulse_clip";
description { state: "default" 0.0;
rel1.to: "pwr";
rel1.relative: 0.0 (2/5);
rel1.offset: -5 -5;
rel2.to: "pwr";
rel2.relative: 1.0 (3/5);
rel2.offset: 4 4;
image.normal: "glow_med_white.png";
image.border: 5 5 5 5;
fill.smooth: 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color_class: "/fg/normal/gadgets/battery/level/charge";
}
}
part { name: "e.text.reading"; type: TEXT; mouse_events: 0;
@ -212,15 +80,12 @@ group { name: "e/modules/battery/main";
clip_to: "info_clip";
description { state: "default" 0.0;
align: 0.5 0.0;
rel1.to: "bg";
rel1.offset: 0 -2;
rel2.relative: 1.0 0.0;
rel2.to_x: "bg";
rel2.to_y: "pwr";
rel2.offset: -1 2;
color_class: "module_label_plain";
color3: 255 255 255 255;
text { font: "Sans";
rel.to: "bg";
rel1.relative: 0.25 0.15;
rel2.relative: 0.75 0.53;
color_class: "/fg/normal/gadgets/battery/text/reading";
text { font: FN; size: 8;
min: 0 1;
fit: 1 1;
ellipsis: -1;
align: 0.5 0.5;
@ -233,15 +98,12 @@ group { name: "e/modules/battery/main";
clip_to: "info_clip";
description { state: "default" 0.0;
align: 0.5 1.0;
rel1.relative: 0.0 1.0;
rel1.offset: 0 -2;
rel1.to_x: "bg";
rel1.to_y: "pwr";
rel2.offset: -1 1;
rel2.to: "bg";
color_class: "module_label_plain";
color3: 255 255 255 255;
text { font: "Sans";
rel.to: "bg";
rel1.relative: 0.25 0.47;
rel2.relative: 0.75 0.85;
color_class: "/fg/normal/gadgets/battery/text/time";
text { font: FN; size: 8;
min: 0 1;
fit: 1 1;
ellipsis: -1;
align: 0.5 0.5;
@ -251,39 +113,33 @@ group { name: "e/modules/battery/main";
}
part { name: "over"; type: RECT;
description { state: "default" 0.0;
color: 0 0 0 0;
color: 0 0 0 0; // no cc
}
}
}
programs {
program {
signal: "mouse,in"; source: "over";
action: STATE_SET "visible" 0.0;
transition: LINEAR 0.3;
target: "info_clip";
program { signal: "load"; source: "";
script { set_float(load_time, year_sec()); }
}
program {
signal: "mouse,out"; source: "over";
program { signal: "e,state,ac,on"; source: "e";
script { run_prog_later(PROGRAM:"ac_on"); }
}
program { name: "ac_on";
action: PLAY_SAMPLE "synth-worble-up" 1.0 ALERT;
}
program { signal: "e,state,ac,off"; source: "e";
script { run_prog_later(PROGRAM:"ac_off"); }
}
program { name: "ac_off";
action: PLAY_SAMPLE "synth-worble-dn" 1.0 ALERT;
}
program { signal: "e,state,charging"; source: "e";
action: STATE_SET "charging" 0.0;
target: "fill";
}
program { signal: "e,state,discharging"; source: "e";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.3;
target: "info_clip";
}
program {
signal: "e,state,charging"; source: "e";
action: STATE_SET "visible" 0.0;
target: "pwr1";
target: "pwr2";
}
program {
signal: "e,state,discharging"; source: "e";
action: STATE_SET "default" 0.0;
target: "pwr1";
target: "pwr2";
}
program {
signal: "e,state,unknown"; source: "e";
action: STATE_SET "faded" 0.0;
target: "fade_clip";
target: "fill";
}
program { name: "pulse";
signal: "e,action,pulse,start"; source: "e";
@ -293,37 +149,54 @@ group { name: "e/modules/battery/main";
target: "pulse_clip";
}
program { name: "pulse2";
action: STATE_SET "faded" 1.0; transition: ACCELERATE 0.1;
action: STATE_SET "default" 0.0;
transition: ACCELERATE 0.1;
target: "pulse_clip";
after: "pulse";
}
program {
program { signal: "e,action,pulse,stop"; source: "e";
action: ACTION_STOP;
target: "pulse";
target: "pulse2";
after: "pulse3";
}
program { name: "pulse3";
signal: "e,action,pulse,stop"; source: "e";
action: STATE_SET "default" 0.0;
target: "pulse_clip";
}
program { signal: "mouse,in"; source: "over";
action: STATE_SET "visible" 0.0;
transition: SINUSOIDAL 0.3;
target: "info_clip";
}
program { signal: "mouse,out"; source: "over";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.3;
target: "info_clip";
}
}
}
group { name: "e/modules/battery/popup";
min: 240 60;
min: 320 80;
parts {
part { name: "e.swallow.battery"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
aspect: 1.0 1.0; aspect_preference: VERTICAL;
min: 1 1;
max: 160 160;
min: 80 80;
max: 80 80;
align: 0.0 0.5;
}
}
part { name: "e.text.title"; type: TEXT;
effect: SHADOW BOTTOM;
scale: 1;
description { state: "default" 0.0;
rel1.relative: 1.0 0.0;
rel1.to_x: "e.swallow.battery";
rel2.relative: 1.0 0.5;
color: FN_COL_DEFAULT;
text { font: "Sans:style=Bold"; size: 10;
color_class: "/fg/normal/gadgets/battery/popup/title";
text { font: FNBD; size: 10;
text: "Your battery is low!";
min: 1 1;
ellipsis: -1;
@ -332,13 +205,12 @@ group { name: "e/modules/battery/popup";
}
}
part { name: "e.text.label"; type: TEXT;
effect: SHADOW BOTTOM;
scale: 1;
description { state: "default" 0.0;
rel1.relative: 1.0 0.5;
rel1.to_x: "e.swallow.battery";
color: FN_COL_DEFAULT;
text { font: "Sans"; size: 10;
color_class: "/fg/normal/gadgets/battery/popup/text";
text { font: FN; size: 10;
text: "AC power is recommended.";
min: 1 1;
ellipsis: -1;

View File

@ -1,25 +1,30 @@
group { name: "e/modules/bluez4/main";
images.image: "bt_base.png" COMP;
images.image: "bz5_logo.png" COMP;
max: 160 160;
parts {
part { name: "base";
description { state: "default" 0.0;
aspect: (160/144) (160/144); aspect_preference: BOTH;
image.normal: "bt_base.png";
rel1.relative: (25/380) (25/380);
rel2.relative: (365/380) (365/380);
aspect: 1.0 1.0; aspect_preference: BOTH;
image.normal: "bz5_logo.png";
color_class: "/fg/normal/gadgets/bluez/on";
}
}
}
}
group { name: "e/modules/bluez4/inactive";
images.image: "bt_base.png" COMP;
images.image: "bz5_logo.png" COMP;
max: 160 160;
parts {
part { name: "base";
description { state: "default" 0.0;
aspect: (160/144) (160/144); aspect_preference: BOTH;
image.normal: "bt_base.png";
color: 255 255 255 128;
rel1.relative: (25/380) (25/380);
rel2.relative: (365/380) (365/380);
aspect: 1.0 1.0; aspect_preference: BOTH;
image.normal: "bz5_logo.png";
color_class: "/fg/normal/gadgets/bluez/off";
}
}
}

View File

@ -0,0 +1,164 @@
#define BZ5_EXIST 1
#define BZ5_ON 2
#define BZ5_VISIBLE 4
#define BZ5_SCAN 8
group { name: "e/modules/bluez5/main";
images.image: "bz5_none.png" COMP;
images.image: "bz5_logo.png" COMP;
images.image: "radio.png" COMP;
max: 160 160;
script {
public bzmode;
eval_mode(m) {
new prev = get_int(bzmode);
if (m & BZ5_ON)
set_state(PART:"base", "on", 0.0);
else if (m & BZ5_EXIST)
set_state(PART:"base", "exist", 0.0);
else
set_state(PART:"base", "default", 0.0);
if ((!(prev & BZ5_VISIBLE)) && ( (m & BZ5_VISIBLE))) {
run_program(PROGRAM:"visible0");
}
else if (( (prev & BZ5_VISIBLE)) && (!(m & BZ5_VISIBLE))) {
stop_program(PROGRAM:"visible0");
stop_program(PROGRAM:"visible1");
run_program(PROGRAM:"visiblereset");
}
if ((!(prev & BZ5_SCAN)) && ( (m & BZ5_SCAN))) {
run_program(PROGRAM:"scan0");
}
else if (( (prev & BZ5_SCAN)) && (!(m & BZ5_SCAN))) {
stop_program(PROGRAM:"scan0");
stop_program(PROGRAM:"scan1");
run_program(PROGRAM:"scanreset");
}
}
flag_set(flag) {
new m = get_int(bzmode) | flag;
eval_mode(m); set_int(bzmode, m);
}
flag_unset(flag) {
new m = get_int(bzmode) & ~flag;
eval_mode(m); set_int(bzmode, m);
}
}
parts {
part { name: "base";
description { state: "default" 0.0;
rel1.relative: (25/380) (25/380);
rel2.relative: (365/380) (365/380);
aspect: 1.0 1.0; aspect_preference: BOTH;
image.normal: "bz5_none.png";
color_class: "/fg/normal/gadgets/bluez/on";
}
description { state: "exist" 0.0;
inherit;
image.normal: "bz5_logo.png";
color_class: "/fg/normal/gadgets/bluez/off";
}
description { state: "on" 0.0;
inherit;
image.normal: "bz5_logo.png";
color_class: "/fg/normal/gadgets/bluez/on";
}
}
part { name: "visible";
description { state: "default" 0.0;
rel.to: "base";
rel1.relative: 0.0 0.8;
rel2.relative: 0.2 1.0;
aspect: 1.0 1.0; aspect_preference: BOTH;
image.normal: "radio.png";
color_class: "/fg/normal/gadgets/bluez/visible";
visible: 0;
min: 1 1;
}
description { state: "on" 0.0;
inherit;
visible: 1;
}
}
part { name: "scan";
description { state: "default" 0.0;
rel.to: "base";
rel1.relative: 0.8 0.8;
rel2.relative: 1.0 1.0;
aspect: 1.0 1.0; aspect_preference: BOTH;
image.normal: "radio.png";
color_class: "/fg/normal/gadgets/bluez/scan";
visible: 0;
min: 1 1;
}
description { state: "on" 0.0;
inherit;
visible: 1;
}
}
}
programs {
program { signal: "e,state,exist"; source: "e";
script { flag_set(BZ5_EXIST); }
}
program { signal: "e,state,noexist"; source: "e";
script { flag_unset(BZ5_EXIST); }
}
program { signal: "e,state,on"; source: "e";
script { flag_set(BZ5_ON); }
}
program { signal: "e,state,off"; source: "e";
script { flag_unset(BZ5_ON); }
}
program { signal: "e,state,visible"; source: "e";
script { flag_set(BZ5_VISIBLE); }
}
program { signal: "e,state,invisible"; source: "e";
script { flag_unset(BZ5_VISIBLE); }
}
program { signal: "e,state,scanning"; source: "e";
// action: STATE_SET "on" 0.0;
// target: "scan";
script { flag_set(BZ5_SCAN); }
}
program { signal: "e,state,unscanning"; source: "e";
// action: STATE_SET "default" 0.0;
// target: "scan";
script { flag_unset(BZ5_SCAN); }
}
program { name: "visible0";
action: STATE_SET "on" 0.0;
target: "visible";
in: 0.5 0.0;
after: "visible1";
}
program { name: "visible1";
action: STATE_SET "default" 0.0;
target: "visible";
in: 0.5 0.0;
after: "visible0";
}
program { name: "visiblereset";
action: STATE_SET "default" 0.0;
target: "visible";
}
program { name: "scan0";
action: STATE_SET "on" 0.0;
target: "scan";
in: 0.5 0.0;
after: "scan1";
}
program { name: "scan1";
action: STATE_SET "default" 0.0;
target: "scan";
in: 0.5 0.0;
after: "scan0";
}
program { name: "scanreset";
action: STATE_SET "default" 0.0;
target: "scan";
}
}
}

View File

@ -1,42 +0,0 @@
#define ICON(_NAME, _FILE) \
group { \
name: "e/widgets/border/default/"_NAME; \
max: 16 16; \
parts { \
part { name: "icon"; mouse_events: 0; \
description { state: "default" 0.0; \
max: 16 16; \
aspect: 1.0 1.0; aspect_preference: BOTH; \
image.image: _FILE COMP; \
image.normal: _FILE; \
} \
} \
} \
}
ICON("basic", "icon_border_more.png")
ICON("close", "icon_border_close.png")
ICON("kill", "icon_border_kill.png")
ICON("stacking", "icon_border_stack_norm.png")
ICON("stack_on_top", "icon_border_stack_top.png")
ICON("stack_normal", "icon_border_stack_norm.png")
ICON("stack_below", "icon_border_stack_bot.png")
ICON("move_icon", "icon_border_move.png")
ICON("resize_icon", "icon_border_resize.png");
ICON("maximize", "icon_border_maximize.png")
ICON("fullscreen", "icon_border_maximize.png")
ICON("minimize", "icon_border_minimize.png")
ICON("stick", "icon_border_pin.png")
ICON("sendto", "icon_border_sendto.png")
ICON("skip", "icon_border_skip.png")
ICON("skip_pager", "icon_border_pager.png")
ICON("skip_taskbar", "icon_border_skip.png")
ICON("skip_winlist", "icon_border_skip.png")
ICON("borderless", "icon_border_border.png")
ICON("remember", "icon_border_remember.png")
ICON("shade", "icon_border_shaded.png")
ICON("locks", "icon_border_lock.png")
ICON("locks_user", "icon_border_lock.png")
ICON("locks_application", "icon_border_lock.png")
ICON("properties", "icon_border_properties.png")
#undef ICON

File diff suppressed because it is too large Load Diff

View File

@ -1,361 +0,0 @@
group { name: "e/bryce/default/base"; nomouse;
data {
/* this tells e the number of pixels of the bryce to leave "exposed"
* when auto-hiding the bryce */
item: "hidden_state_size" "2";
}
images.image: "vgrad_med.png" COMP;
images.image: "vgrad_tall.png" COMP;
images.image: "bevel_out.png" COMP;
images.image: "holes_vert.png" COMP;
images.image: "holes_horiz.png" COMP;
images.image: "shine.png" COMP;
parts {
rect { "mouse"; mouse;
desc { color: 0 0 0 0; }
}
part { name: "bg";
description { state: "default" 0.0;
image.normal: "vgrad_med.png";
fill.smooth: 0;
TILED_HORIZ(120)
color_class: "bryce_base";
}
description { state: "vert" 0.0;
image.normal: "vgrad_tall.png";
fill.smooth: 0;
TILED_HORIZ(40)
color_class: "bryce_base";
}
}
part { name: "bevel";
description { state: "default" 0.0;
image.normal: "bevel_out.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
}
}
part { name: "dots_start";
description { state: "default" 0.0;
image.normal: "holes_vert.png";
rel1.offset: 2 2;
rel2.relative: 0.0 1.0;
rel2.offset: 5 -3;
FIXED_SIZE(4, 14)
}
description { state: "vert" 0.0;
image.normal: "holes_horiz.png";
rel1.offset: 2 2;
rel2.relative: 1.0 0.0;
rel2.offset: -3 5;
FIXED_SIZE(14, 4)
}
}
part { name: "dots_end";
description { state: "default" 0.0;
image.normal: "holes_vert.png";
rel1.relative: 1.0 0.0;
rel1.offset: -6 2;
rel2.offset: -3 -3;
FIXED_SIZE(4, 14)
}
description { state: "vert" 0.0;
image.normal: "holes_horiz.png";
rel1.relative: 0.0 1.0;
rel1.offset: 2 -6;
rel2.offset: -3 -3;
FIXED_SIZE(14, 4)
}
}
spacer { "sizer";
description { state: "default" 0.0;
rel1.offset: 1 0;
rel1.relative: 1.0 0.0;
rel1.to_x: "dots_start";
rel2.offset: -2 -1;
rel2.to_x: "dots_end";
rel2.relative: 0.0 1.0;
}
description { state: "vert" 0.0;
rel1.offset: 0 1;
rel1.relative: 0.0 1.0;
rel1.to_y: "dots_start";
rel2.offset: -1 -2;
rel2.to_y: "dots_end";
rel2.relative: 1.0 0.0;
}
}
part { name: "e.swallow.content"; type: SWALLOW; mouse;
desc {
rel.to: "sizer";
link.base: "e,state,visible" "e";
}
desc { "hidden"; hid;
rel.to: "sizer";
link.base: "e,state,hidden" "e";
}
}
part { name: "shine";
description { state: "default" 0.0;
image.normal: "shine.png";
rel1.offset: 0 -2;
rel2.relative: 1.0 0.0;
rel2.offset: -1 2;
FIXED_SIZE(69, 5)
}
}
rect { "text_fader"; mouse;
desc { hid;
color: 0 0 0 0;
}
desc { "active";
color: 0 0 0 192;
}
}
text { "e.text"; scale;
effect: SHADOW BOTTOM;
desc { hid;
color: 255 255 255 0;
text { font: "Sans:style=Bold"; size: 14;
ellipsis: -1;
}
}
desc { "active"; inherit; vis;
color: 255 255 255 255;
}
}
program { signal: "e,action,resize"; source: "e";
action: STATE_SET "active";
transition: LINEAR 0.1;
targets: "e.text" "text_fader";
sequence {
action: ACTION_STOP;
target: "text_hide";
action: STATE_SET "default";
name: "text_hide";
in: 1.0 0;
transition: LINEAR 0.2;
targets: "e.text" "text_fader";
}
}
programs {
#define ORIENT_SATE(_ORIENT, _STATE) \
program { \
signal: "e,state,orient,"_ORIENT; source: "e"; \
action: STATE_SET _STATE 0.0; \
target: "bg"; \
target: "sizer"; \
target: "dots_start"; \
target: "dots_end"; \
}
}
ORIENT_SATE("horizontal", "default")
ORIENT_SATE("vertical", "vert")
#undef ORIENT_SATE
}
}
group { name: "e/bryce/invisible/base"; nomouse;
inherit: "e/bryce/default/base";
data.item: "noshadow" "1";
parts {
part { name: "bg";
description { state: "default" 0.0;
visible: 0;
}
description { state: "vert" 0.0;
visible: 0;
}
}
part { name: "bevel";
description { state: "default" 0.0;
visible: 0;
}
}
part { name: "shine";
description { state: "default" 0.0;
visible: 0;
}
}
part { name: "dots_start";
description { state: "default" 0.0;
rel1.offset: 0 0;
rel2.offset: -1 -1;
min: 0 0;
max: 0 0;
visible: 0;
}
description { state: "vert" 0.0;
rel1.offset: 0 0;
rel2.offset: -1 -1;
min: 0 0;
max: 0 0;
visible: 0;
}
}
part { name: "dots_end";
description { state: "default" 0.0;
rel1.offset: 0 0;
rel2.offset: -1 -1;
min: 0 0;
max: 0 0;
visible: 0;
}
description { state: "vert" 0.0;
rel1.offset: 0 0;
rel2.offset: -1 -1;
min: 0 0;
max: 0 0;
visible: 0;
}
}
}
}
group { name: "e/bryce/translucent/base"; nomouse;
inherit: "e/bryce/default/base";
data.item: "noshadow" "1";
parts {
part { name: "bg";
description { state: "default" 0.0;
color: 127 127 127 135;
}
description { state: "vert" 0.0;
color: 127 127 127 135;
}
}
part { name: "bevel";
description { state: "default" 0.0;
color: 127 127 127 135;
}
}
part { name: "shine";
description { state: "default" 0.0;
color: 127 127 127 135;
}
}
}
}
group { name: "e/bryce/default/inset"; nomouse;
alias: "e/bryce/invisible/inset";
alias: "e/bryce/translucent/inset";
images.image: "horiz_bar_inset.png" COMP;
images.image: "vert_bar_inset.png" COMP;
parts {
rect { "mouse"; mouse;
desc { color: 0 0 0 0; }
}
part { name: "base"; type: RECT;
description { state: "default" 0.0;
color: 0 0 0 0;
}
}
spacer { "sizer";
description { state: "default" 0.0;
rel1.offset: 4 1;
rel2.offset: -5 -2;
}
description { state: "vert" 0.0;
rel1.offset: 1 4;
rel2.offset: -2 -5;
}
}
part { name: "e.swallow.content"; type: SWALLOW; mouse;
desc {
rel.to: "sizer";
link.base: "e,state,visible" "e";
}
desc { "hidden"; hid;
rel.to: "sizer";
link.base: "e,state,hidden" "e";
}
}
part { name: "inset";
description { state: "default" 0.0;
rel1.offset: 2 0;
rel2.offset: -3 -1;
image.normal: "horiz_bar_inset.png";
image.border: 7 7 1 1;
image.middle: 0;
fill.smooth: 0;
}
description { state: "vert" 0.0;
rel1.offset: 0 2;
rel2.offset: -1 -3;
image.normal: "vert_bar_inset.png";
image.border: 1 1 8 6;
image.middle: 0;
fill.smooth: 0;
}
}
rect { "events"; repeat; mouse;
desc { color: 0 0 0 0; }
}
}
programs {
#define ORIENT_SATE(_ORIENT, _STATE) \
program { \
signal: "e,state,orient,"_ORIENT; source: "e"; \
action: STATE_SET _STATE 0.0; \
target: "sizer"; \
target: "inset"; \
}
ORIENT_SATE("horizontal", "default")
ORIENT_SATE("vertical", "vert")
#undef ORIENT_SATE
}
}
group { name: "e/bryce/default/plain"; nomouse;
alias: "e/bryce/invisible/plain";
alias: "e/bryce/translucent/plain";
parts {
rect { "mouse"; mouse;
desc { color: 0 0 0 0; }
}
part { name: "base"; type: RECT;
description { state: "default" 0.0;
color: 0 0 0 0;
}
}
spacer { "sizer";
desc {
rel1.offset: 1 1;
rel2.offset: -2 -2;
}
}
part { name: "e.swallow.content"; type: SWALLOW; mouse;
desc {
rel.to: "sizer";
link.base: "e,state,visible" "e";
}
desc { "hidden"; hid;
rel.to: "sizer";
link.base: "e,state,hidden" "e";
}
}
rect { "events"; repeat; mouse;
desc { color: 0 0 0 0; }
}
}
}
group { "elm/scroller/base/bryce";
parts {
rect { "clip";
desc {
rel1.offset: 0 -99999;
rel2.offset: -1 99999;
link.base: "e,state,orient,horizontal" "e";
}
desc { "vert";
rel1.offset: -99999 0;
rel2.offset: 99999 -1;
link.base: "e,state,orient,vertical" "e";
}
}
swallow { "elm.swallow.content" clip: "clip"; }
}
}

View File

@ -1,404 +0,0 @@
group { "bryce_editor_text"; inherit_only: 1;
parts {
text { "e.text"; scale; nomouse;
effect: SHADOW BOTTOM;
desc {
color: 255 255 255 255;
text { font: "Sans:style=Bold"; size: 18;
min: 1 1;
ellipsis: -1;
}
}
}
}
}
group { "e/bryce/editor/side";
parts {
rect { "base"; desc { color: 0 0 0 192; } }
program { signal: "mouse,down,*"; source: "base";
action: SIGNAL_EMIT "e,action,dismiss" "e";
}
rect { "bottom"; scale;
desc {
min: 33 32;
align: 0 1;
rel1.relative: 0.3 1;
rel2.relative: 0.7 1;
color: 52 153 255 90;
link.base: "mouse,out" "bottom";
link.transition: LINEAR 0.2;
}
desc { "active"; inherit;
color: 52 153 255 230;
link.base: "mouse,in" "bottom";
link.transition: LINEAR 0.2;
}
desc { "hid"; hid;
link.base: "e,bryce,exists,bottom" "e";
}
}
program { signal: "mouse,down,1"; source: "bottom";
action: SIGNAL_EMIT "e,bryce,add,bottom" "e";
}
rect { "top"; scale;
desc {
min: 33 32;
align: 0 0;
rel1.relative: 0.3 0;
rel2.relative: 0.7 0;
color: 52 153 255 90;
link.base: "mouse,out" "top";
link.transition: LINEAR 0.2;
}
desc { "active"; inherit;
color: 52 153 255 230;
link.base: "mouse,in" "top";
link.transition: LINEAR 0.2;
}
desc { "hid"; hid;
link.base: "e,bryce,exists,top" "e";
}
}
program { signal: "mouse,down,1"; source: "top";
action: SIGNAL_EMIT "e,bryce,add,top" "e";
}
rect { "left"; scale;
desc {
min: 32 33;
align: 0 0;
rel1.relative: 0 0.3;
rel2.relative: 0 0.7;
color: 52 153 255 90;
link.base: "mouse,out" "left";
link.transition: LINEAR 0.2;
}
desc { "active"; inherit;
color: 52 153 255 230;
link.base: "mouse,in" "left";
link.transition: LINEAR 0.2;
}
desc { "hid"; hid;
link.base: "e,bryce,exists,left" "e";
}
}
program { signal: "mouse,down,1"; source: "left";
action: SIGNAL_EMIT "e,bryce,add,left" "e";
}
rect { "right"; scale;
desc {
min: 32 33;
align: 1 0;
rel1.relative: 1 0.3;
rel2.relative: 1 0.7;
color: 52 153 255 90;
link.base: "mouse,out" "right";
link.transition: LINEAR 0.2;
}
desc { "active"; inherit;
color: 52 153 255 230;
link.base: "mouse,in" "right";
link.transition: LINEAR 0.2;
}
desc { "hid"; hid;
link.base: "e,bryce,exists,right" "e";
}
}
program { signal: "mouse,down,1"; source: "right";
action: SIGNAL_EMIT "e,bryce,add,right" "e";
}
}
inherit: "bryce_editor_text";
}
group { "e/bryce/editor/side/horizontal";
parts {
rect { "base"; desc { color: 0 0 0 192; } }
program { signal: "mouse,down,*"; source: "base";
action: SIGNAL_EMIT "e,action,dismiss" "e";
}
spacer { "pos";
desc { align: 0 0;
min: 0 32;
rel2.relative: 1 0;
}
desc { "bottom";
align: 0 1;
min: 0 32;
rel1.relative: 0 1;
link.base: "e,state,bottom" "e";
}
}
rect { "center"; scale;
desc {
min: 33 32;
align: 0 0;
rel.to_y: "pos";
rel1.relative: 0.4 0;
rel2.relative: 0.6 1;
color: 52 153 255 90;
link.base: "mouse,out" "center";
link.transition: LINEAR 0.2;
}
desc { "active"; inherit;
color: 52 153 255 230;
link.base: "mouse,in" "center";
link.transition: LINEAR 0.2;
}
desc { "hid"; hid;
link.base: "e,bryce,exists,center" "e";
}
}
program { signal: "mouse,down,1"; source: "center";
action: SIGNAL_EMIT "e,bryce,add,center" "e";
}
rect { "left"; scale;
desc {
min: 33 32;
align: 0 0;
rel.to_y: "pos";
rel1.relative: 0 0;
rel2.relative: 0.2 1;
color: 52 153 255 90;
link.base: "mouse,out" "left";
link.transition: LINEAR 0.2;
}
desc { "active"; inherit;
color: 52 153 255 230;
link.base: "mouse,in" "left";
link.transition: LINEAR 0.2;
}
desc { "hid"; hid;
link.base: "e,bryce,exists,left" "e";
}
}
program { signal: "mouse,down,1"; source: "left";
action: SIGNAL_EMIT "e,bryce,add,left" "e";
}
rect { "right"; scale;
desc {
min: 33 32;
align: 1 0;
rel.to_y: "pos";
rel1.relative: 0.8 0;
rel2.relative: 1 1;
color: 52 153 255 90;
link.base: "mouse,out" "right";
link.transition: LINEAR 0.2;
}
desc { "active"; inherit;
color: 52 153 255 230;
link.base: "mouse,in" "right";
link.transition: LINEAR 0.2;
}
desc { "hid"; hid;
link.base: "e,bryce,exists,right" "e";
}
}
program { signal: "mouse,down,1"; source: "right";
action: SIGNAL_EMIT "e,bryce,add,right" "e";
}
}
inherit: "bryce_editor_text";
}
group { "e/bryce/editor/side/vertical";
parts {
rect { "base"; desc { color: 0 0 0 192; } }
program { signal: "mouse,down,*"; source: "base";
action: SIGNAL_EMIT "e,action,dismiss" "e";
}
spacer { "pos";
desc { align: 0 0;
min: 32 0;
rel2.relative: 0 1;
}
desc { "right";
align: 1 0;
min: 32 0;
rel1.relative: 1 0;
link.base: "e,state,right" "e";
}
}
rect { "center"; scale;
desc {
min: 32 33;
align: 0 0;
rel.to_x: "pos";
rel1.relative: 0 0.4;
rel2.relative: 1 0.6;
color: 52 153 255 90;
link.base: "mouse,out" "center";
link.transition: LINEAR 0.2;
}
desc { "active"; inherit;
color: 52 153 255 230;
link.base: "mouse,in" "center";
link.transition: LINEAR 0.2;
}
desc { "hid"; hid;
link.base: "e,bryce,exists,center" "e";
}
}
program { signal: "mouse,down,1"; source: "center";
action: SIGNAL_EMIT "e,bryce,add,center" "e";
}
rect { "top"; scale;
desc {
min: 32 33;
align: 0 0;
rel.to_x: "pos";
rel1.relative: 0 0;
rel2.relative: 1 0.2;
color: 52 153 255 90;
link.base: "mouse,out" "top";
link.transition: LINEAR 0.2;
}
desc { "active"; inherit;
color: 52 153 255 230;
link.base: "mouse,in" "top";
link.transition: LINEAR 0.2;
}
desc { "hid"; hid;
link.base: "e,bryce,exists,top" "e";
}
}
program { signal: "mouse,down,1"; source: "top";
action: SIGNAL_EMIT "e,bryce,add,top" "e";
}
rect { "bottom"; scale;
desc {
min: 32 33;
align: 0 1;
rel.to_x: "pos";
rel1.relative: 0 0.8;
rel2.relative: 1 1;
color: 52 153 255 90;
link.base: "mouse,out" "bottom";
link.transition: LINEAR 0.2;
}
desc { "active"; inherit;
color: 52 153 255 230;
link.base: "mouse,in" "bottom";
link.transition: LINEAR 0.2;
}
desc { "hid"; hid;
link.base: "e,bryce,exists,bottom" "e";
}
}
program { signal: "mouse,down,1"; source: "bottom";
action: SIGNAL_EMIT "e,bryce,add,bottom" "e";
}
}
inherit: "bryce_editor_text";
}
group { "e/bryce/editor/style/item"; nomouse;
parts {
rect { "highlight_t"; scale;
desc {
align: 0.5 0;
max: -1 1;
color: 255 255 255 150;
link.base: "mouse,out" "events";
}
desc { "active"; max: -1 1;
align: 0.5 0;
color: 52 153 255 230;
link.base: "mouse,in" "events";
}
}
rect { "highlight_l"; scale;
desc { align: 0 0.5;
max: 1 -1;
color: 255 255 255 150;
link.base: "mouse,out" "events";
}
desc { "active"; max: 1 -1;
align: 0 0.5;
color: 52 153 255 230;
link.base: "mouse,in" "events";
}
}
rect { "highlight_r"; scale;
desc {
align: 1 0.5;
max: 1 -1;
color: 255 255 255 150;
link.base: "mouse,out" "events";
}
desc { "active"; align: 1 0.5;
max: 1 -1;
color: 52 153 255 230;
link.base: "mouse,in" "events";
}
}
rect { "highlight_b"; scale;
desc {
align: 0.5 1;
max: -1 1;
color: 255 255 255 150;
link.base: "mouse,out" "events";
}
desc { "active"; align: 0.5 1;
max: -1 1;
color: 52 153 255 230;
link.base: "mouse,in" "events";
}
}
swallow { "e.swallow.content";
desc {
rel1.offset: 1 1;
rel2.offset: -2 -2;
}
}
text { "e.text"; scale;
effect: SHADOW BOTTOM;
desc {
color: 255 255 255 255;
text { font: "Sans:style=Bold"; size: 14;
min: 1 1;
ellipsis: -1;
}
}
}
rect { "events"; mouse;
desc { color: 0 0 0 0; }
}
}
}
group { "e/bryce/editor/style";
parts {
rect { "base"; desc { color: 0 0 0 192; } }
program { signal: "mouse,down,*"; source: "base";
action: SIGNAL_EMIT "e,action,dismiss" "e";
}
swallow { "e.swallow.content";
desc { align: 0.5 0;
rel1.to_y: "e.text";
rel1.relative: 0 1;
}
}
}
inherit: "bryce_editor_text";
parts {
text { "e.text";
desc { "default";
align: 0.5 0;
rel2.relative: 1 0;
}
}
}
}
group { "e/bryce/editor/finish"; inherit: "e/bryce/editor/style";
parts {
swallow { "e.swallow.content";
desc { "default";
rel1.relative: 1 1;
rel2.relative: 0 1;
}
}
}
}

View File

@ -1,52 +1,77 @@
group { name: "e/widgets/button";
images.image: "button_normal.png" COMP;
images.image: "button_clicked.png" COMP;
images.image: "win_glow.png" COMP;
group { name: "e/widgets/button";
images.image: "win_shadow.png" COMP;
parts {
part { name: "base";
part { name: "shadow"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
image.normal: "button_normal.png";
image.border: 4 4 3 5;
image.middle: SOLID;
rel1.offset: -1 0;
rel2.offset: 0 1;
fill.smooth: 0;
rel.to: "base";
WIN_SHADOW_SMALL;
color_class: "/shadow/normal/button";
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
image.normal: "button_clicked.png";
image.border: 5 5 4 6;
inherit;
image.border_scale_by: 0.25;
rel1.offset: -2 -1;
rel2.offset: 0 1;
offscale;
color_class: "/shadow/pressed/button";
}
}
rect { "base";
scale: 1;
desc { "default";
color_class: "/bg/normal/button";
rel1.offset: 2 2;
rel2.offset: -3 -3;
offscale;
}
desc { "clicked"; inherit;
color_class: "/bg/pressed/button";
}
desc { "disabled"; inherit;
color_class: "/bg/disabled/button";
}
}
part { name: "icon_clip"; type: RECT;
description { state: "default" 0.0;
color: 255 255 255 255; // no cc
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color: 255 255 255 64;
color: 255 255 255 64; // no cc
}
}
part { name: "e.swallow.icon"; type: SWALLOW; mouse_events: 0;
clip_to: "icon_clip";
description { state: "default" 0.0;
scale: 1;
desc { "default";
fixed: 1 0;
align: 0.0 0.5;
rel1.offset: 6 5;
rel1.to: "base";
rel.to: "base";
rel1.offset: 0 4;
rel2.relative: 0.0 1.0;
rel2.offset: 6 -8;
rel2.to: "base";
rel2.offset: -1 -5;
visible: 0;
max: 0 999999;
offscale;
}
description { state: "combo" 0.0;
inherit: "default" 0.0;
desc { "combo"; inherit;
fixed: 1 0;
rel1.offset: 4 4;
rel2.relative: 0.0 1.0;
rel2.offset: 4 -5;
aspect: 1.0 1.0; aspect_preference: VERTICAL;
visible: 1;
min: ICMIN ICMIN;
}
description { state: "icon" 0.0;
inherit: "default" 0.0;
min: 17 17;
aspect: 1.0 1.0; aspect_preference: BOTH;
fixed: 0 0;
align: 0.5 0.5;
rel1.offset: 4 4;
rel2.relative: 1.0 1.0;
rel2.offset: -7 -8;
rel2.offset: -5 -5;
visible: 1;
min: ICMIN ICMIN;
}
}
part { name: "label_clip"; type: RECT;
@ -58,94 +83,46 @@
}
}
part { name: "e.text.label"; type: TEXT; mouse_events: 0;
effect: SHADOW BOTTOM;
scale: 1;
clip_to: "label_clip";
description { state: "default" 0.0;
rel1.offset: 6 5;
rel1.to_x: "base";
fixed: 0 0;
color_class: "/fg/normal/button";
rel1.offset: 4 4;
rel1.relative: 1.0 0.0;
rel1.to_x: "e.swallow.icon";
rel1.to_y: "base";
rel2.offset: -7 -7;
rel2.to: "base";
color_class: "button_text";
color3: 255 255 255 255;
rel2.offset: -5 -5;
text { font: FN; size: 10;
align: 0.5 0.5;
min: 1 1;
ellipsis: -1;
align: 0.5 0.5;
text_class: "button";
}
offscale;
min: 0 ICMIN;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color_class: "button_text_disabled";
color3: 255 255 255 255;
color_class: "/fg/disabled/button";
}
description { state: "combo" 0.0;
inherit: "default" 0.0;
rel1.relative: 1.0 0.0;
rel1.offset: 2 5;
rel1.to_x: "e.swallow.icon";
}
description { state: "icon" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
part { name: "label2"; type: TEXT; mouse_events: 0;
effect: SHADOW BOTTOM;
scale: 1;
description { state: "default" 0.0;
rel1.to: "e.text.label";
rel2.to: "e.text.label";
color_class: "button_text_disabled";
color3: 255 255 255 255;
text { font: FN; size: 10;
text_source: "e.text.label";
align: 0.5 0.5;
text_class: "button";
}
visible: 0;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part { name: "base2"; type: SPACER;
description { state: "default" 0.0;
rel1.to: "base";
rel2.to: "base";
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
rel1.offset: 1 1;
rel2.offset: -2 -2;
}
}
part { name: "glow"; mouse_events: 0;
description { state: "default" 0.0;
image.normal: "win_glow.png";
image.border: 9 9 9 9;
image.middle: 0;
rel1.to: "base2";
rel1.offset: -2 -3;
rel2.to: "base2";
rel2.offset: 1 0;
fill.smooth: 0;
color: 255 255 255 0;
visible: 0;
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
color: 255 255 255 150;
visible: 1;
color_class: "/fg/pressed/button";
}
}
part { name: "event"; type: RECT;
ignore_flags: ON_HOLD;
description { state: "default" 0.0;
color: 0 0 0 0;
rel.to: "base";
color: 0 0 0 0; // no cc
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
@ -157,14 +134,16 @@
program {
signal: "mouse,down,1"; source: "event";
action: STATE_SET "clicked" 0.0;
target: "shadow";
target: "base";
target: "base2";
target: "e.text.label";
}
program {
signal: "mouse,up,1"; source: "event";
action: STATE_SET "default" 0.0;
target: "shadow";
target: "base";
target: "base2";
target: "e.text.label";
}
program {
signal: "mouse,clicked,1*"; source: "event";
@ -192,25 +171,17 @@
signal: "e,state,disabled"; source: "e";
action: STATE_SET "disabled" 0.0;
target: "event";
target: "base";
target: "icon_clip";
target: "label_clip";
target: "label2";
target: "e.text.label";
}
program {
signal: "e,state,enabled"; source: "e";
action: STATE_SET "default" 0.0;
target: "event";
target: "base";
target: "icon_clip";
target: "label_clip";
target: "label2";
}
program { signal: "e,state,focused"; source: "e";
action: STATE_SET "focused" 0.0;
target: "glow";
}
program { signal: "e,state,unfocused"; source: "e";
action: STATE_SET "default" 0.0;
target: "glow";
target: "e.text.label";
}
}
}

View File

@ -1,97 +1,85 @@
group { name: "e/widgets/check";
images.image: "inset_shadow_tiny.png" COMP;
images.image: "bevel_in.png" COMP;
images.image: "sym_check_alum.png" COMP;
parts {
part { name: "base"; type: RECT;
scale: 1;
description { state: "default" 0.0;
rel1.offset: 1 1;
rel1.to: "inset";
rel2.offset: -2 -2;
rel2.to: "inset";
color: 24 24 24 255;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color: 64 64 64 255;
}
}
part { name: "shadow"; mouse_events: 0;
description { state: "default" 0.0;
image.normal: "inset_shadow_tiny.png";
rel1.to: "base";
rel2.to: "base";
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
part { name: "inset"; mouse_events: 0;
description { state: "default" 0.0;
rel1.offset: 2 2;
rel2.relative: 0.0 1.0;
rel2.offset: 2 -3;
image.normal: "bevel_in.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
color_class: "/bg/normal/check/base";
align: 0.0 0.5;
min: 13 13;
max: 13 13;
rel1.offset: 4 4;
rel2.offset: 4 -5;
rel2.relative: 0.0 1.0;
offscale;
fixed: 1 1;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color_class: "/bg/disabled/check/base";
}
}
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
rel.to: "base";
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color: 255 255 255 64;
color: 255 255 255 153; // no cc
}
}
part { name: "indicator"; mouse_events: 0;
clip_to: "clip";
scale: 1;
description { state: "default" 0.0;
rel1.to: "base";
rel2.to: "base";
image.normal: "sym_check_alum.png";
min: 11 11;
max: 11 11;
rel.to: "base";
image.normal: "i-check";
min: 15 15;
max: 15 15;
visible: 0;
color_class: "/fg/normal/check/check";
fixed: 1 1;
}
description { state: "pressed" 0.0;
inherit: "default" 0.0;
color_class: "/fg/pressed/check/check";
visible: 1;
}
description { state: "selected" 0.0;
inherit: "default" 0.0;
color_class: "/fg/selected/check/check";
visible: 1;
}
}
part { name: "e.text.label"; type: TEXT;
effect: SHADOW BOTTOM;
scale: 1;
description { state: "default" 0.0;
rel1.offset: 2 2;
rel1.to_x: "inset";
rel1.offset: 4 4;
rel1.to_x: "base";
rel1.relative: 1.0 0.0;
rel2.offset: -3 -3;
color_class: "check_text";
color3: 255 255 255 255;
rel2.offset: -5 -5;
color_class: "/fg/normal/check/text";
text { font: FN; size: 10;
min: 1 1;
ellipsis: -1;
align: 0.0 0.5;
text_class: "check_button";
}
offscale;
min: 0 ICMIN;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color_class: "check_text_disabled";
color3: 255 255 255 255;
color_class: "/fg/disabled/check/text";
}
description { state: "pressed" 0.0;
inherit: "default" 0.0;
color_class: "/fg/pressed/check/text";
}
}
part { name: "event"; type: RECT;
ignore_flags: ON_HOLD;
description { state: "default" 0.0;
color: 0 0 0 0;
color: 0 0 0 0; // no cc
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
@ -100,34 +88,37 @@ group { name: "e/widgets/check";
}
}
programs {
program {
signal: "e,state,checked"; source: "e";
program { signal: "e,state,checked"; source: "e";
action: STATE_SET "selected" 0.0;
target: "indicator";
}
program {
signal: "e,state,unchecked"; source: "e";
program { signal: "e,state,unchecked"; source: "e";
action: STATE_SET "default" 0.0;
target: "indicator";
}
program {
signal: "mouse,up,1"; source: "event";
program { signal: "mouse,down,1"; source: "event";
action: STATE_SET "pressed" 0.0;
// target: "indicator";
target: "e.text.label";
}
program { signal: "mouse,up,1"; source: "event";
action: STATE_SET "default" 0.0;
// target: "indicator";
target: "e.text.label";
}
program { signal: "mouse,clicked,1"; source: "event";
action: SIGNAL_EMIT "e,action,toggle" "";
}
program {
signal: "e,state,disabled"; source: "e";
program { signal: "e,state,disabled"; source: "e";
action: STATE_SET "disabled" 0.0;
target: "base";
target: "shadow";
target: "clip";
target: "e.text.label";
target: "event";
}
program {
signal: "e,state,enabled"; source: "e";
program { signal: "e,state,enabled"; source: "e";
action: STATE_SET "default" 0.0;
target: "base";
target: "shadow";
target: "clip";
target: "e.text.label";
target: "event";
@ -139,23 +130,29 @@ group { name: "e/widgets/check_icon";
inherit: "e/widgets/check";
parts {
part { name: "e.swallow.icon"; type: SWALLOW;
scale: 1;
insert_before: "event";
clip_to: "clip";
description { state: "default" 0.0;
rel1.offset: 2 2;
rel1.relative: 1.0 0.0;
rel1.to_x: "inset";
rel2.offset: 2 -3;
rel1.offset: 4 4;
rel1.relative: 1.0 0.0;
rel1.to_x: "base";
rel2.offset: 4 -5;
rel2.relative: 1.0 1.0;
rel1.to_x: "inset";
rel2.to_x: "base";
align: 0.0 0.5;
aspect: 1.0 1.0; aspect_preference: VERTICAL;
offscale;
}
}
part { name: "e.text.label";
description { state: "default" 0.0;
rel1.to_x: "e.swallow.icon";
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color_class: "/fg/disabled/check/text";
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,53 +1,32 @@
group { name: "e/modules/conf_colors/preview/solid";
images.image: "inset_shadow.png" COMP;
images.image: "bevel_in.png" COMP;
images.image: "dot_pattern.png" COMP;
images.image: "diagonal_stripes.png" COMP;
parts {
part { name: "bg"; type: RECT;
scale: 1;
description { state: "default" 0.0;
rel1.offset: 3 3;
rel2.offset: -4 -4;
color: 48 48 48 255;
rel1.offset: 2 2;
rel2.offset: -3 -3;
color_class: "/bg-dark/normal/color";
min: 18 18;
offscale;
}
}
part { name: "pat";
scale: 1;
description { state: "default" 0.0;
rel1.to: "bg";
rel2.to: "bg";
image.normal: "dot_pattern.png";
TILED_PATTERN(256, 256)
rel.to: "bg";
rel1.offset: 2 2;
rel2.offset: -3 -3;
image.normal: "diagonal_stripes.png";
color_class: "/bg-dark-alt/normal/color";
TILED_PATTERN(240, 240)
offscale;
}
}
part { name: "e.rect"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color: 255 255 255 255;
color_class: "color_preview";
rel1.to: "bg";
rel2.to: "bg";
}
}
part { name: "shadow"; mouse_events: 0;
description { state: "default" 0.0;
image.normal: "inset_shadow.png";
image.border: 5 5 7 3;
image.middle: 0;
rel1.to: "bg";
rel2.to: "bg";
fill.smooth: 0;
color: 255 255 255 128;
}
}
part { name: "inset";
description { state: "default" 0.0;
image.normal: "bevel_in.png";
image.border: 1 1 1 1;
image.middle: 0;
rel1.to: "bg";
rel1.offset: -1 -1;
rel2.to: "bg";
rel2.offset: 0 0;
fill.smooth: 0;
rel.to: "pat";
}
}
}
@ -55,20 +34,8 @@ group { name: "e/modules/conf_colors/preview/solid";
group { name: "e/modules/conf_colors/preview/text";
parts {
part { name: "shadow"; type: TEXT; mouse_events: 0;
description { state: "default" 0.0;
color: FN_COL_SHADOW;
text { font: FN; size: 10;
text: "Text";
min: 1 1;
ellipsis: -1;
}
}
}
part { name: "e.text"; type: TEXT; mouse_events: 0;
effect: OUTLINE_SHADOW;
description { state: "default" 0.0;
color: FN_COL_OUTLINE_SHADOW;
color_class: "color_preview";
text { font: FNBD; size: 16;
text: "Ab";
@ -81,75 +48,55 @@ group { name: "e/modules/conf_colors/preview/text";
}
group { name: "e/modules/conf_colors/preview/unknown";
images.image: "inset_shadow.png" COMP;
images.image: "bevel_in.png" COMP;
images.image: "dot_pattern.png" COMP;
images.image: "diagonal_stripes.png" COMP;
parts {
part { name: "bg"; type: RECT;
scale: 1;
description { state: "default" 0.0;
rel1.offset: 3 3;
rel2.offset: -4 -4;
color: 48 48 48 255;
rel1.offset: 2 2;
rel2.offset: -3 -3;
color_class: "/bg-dark/normal/color";
min: 18 18;
offscale;
}
}
part { name: "pat";
scale: 1;
description { state: "default" 0.0;
rel1.to: "bg";
rel2.to: "bg";
image.normal: "dot_pattern.png";
TILED_PATTERN(256, 256)
rel.to: "bg";
rel1.offset: 2 2;
rel2.offset: -3 -3;
image.normal: "diagonal_stripes.png";
color_class: "/bg-dark-alt/normal/color";
TILED_PATTERN(240, 240)
offscale;
}
}
part { name: "c1"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color: 255 0 0 128;
color: 255 0 0 128; // no cc
color_class: "color_preview_c1";
rel1.to: "bg";
rel2.to: "bg";
rel.to: "pat";
rel2.relative: 0.333 1.0;
}
}
part { name: "c2"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color: 0 255 0 128;
color: 0 255 0 128; // no cc
color_class: "color_preview_c2";
rel1.to: "c1";
rel1.relative: 1.0 0.0;
rel2.to: "bg";
rel2.to: "pat";
rel2.relative: 0.667 1.0;
}
}
part { name: "c3"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color: 0 0 255 128;
color: 0 0 255 128; // no cc
color_class: "color_preview_c3";
rel1.to: "c2";
rel1.relative: 1.0 0.0;
rel2.to: "bg";
}
}
part { name: "shadow"; mouse_events: 0;
description { state: "default" 0.0;
image.normal: "inset_shadow.png";
image.border: 5 5 7 3;
image.middle: 0;
rel1.to: "bg";
rel2.to: "bg";
fill.smooth: 0;
color: 255 255 255 128;
}
}
part { name: "inset";
description { state: "default" 0.0;
image.normal: "bevel_in.png";
image.border: 1 1 1 1;
image.middle: 0;
rel1.to: "bg";
rel1.offset: -1 -1;
rel2.to: "bg";
rel2.offset: 0 0;
fill.smooth: 0;
rel2.to: "pat";
}
}
}

View File

@ -1,76 +1,54 @@
group { name: "e/widgets/color_well";
images.image: "inset_shadow.png" COMP;
images.image: "bevel_in.png" COMP;
images.image: "dot_pattern.png" COMP;
images.image: "diagonal_stripes.png" COMP;
parts {
part { name: "bg"; type: RECT;
scale: 1;
description { state: "default" 0.0;
rel1.to: "e.swallow.content";
rel2.to: "e.swallow.content";
color: 48 48 48 255;
rel1.offset: 2 2;
rel2.offset: -3 -3;
color_class: "/bg-dark/normal/color";
min: 18 18;
offscale;
}
}
part { name: "pat";
description { state: "default" 0.0;
rel1.to: "bg";
rel2.to: "bg";
image.normal: "dot_pattern.png";
TILED_PATTERN(256, 256)
}
scale: 1;
description
{ state: "default" 0.0;
rel.to: "bg";
rel1.offset: 2 2;
rel2.offset: -3 -3;
image.normal: "diagonal_stripes.png";
color_class: "/bg-dark-alt/normal/color";
TILED_PATTERN(240, 240)
offscale;
}
}
part { name: "clipper"; type: RECT;
description { state: "default" 0.0;
rel1.to: "e.swallow.content";
rel2.to: "e.swallow.content";
rel.to: "pat";
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color: 255 255 255 64;
color: 255 255 255 64; // no cc
}
}
part { name: "e.swallow.content"; type: SWALLOW;
part { name: "e.swallow.content"; type: SWALLOW; mouse_events: 0;
clip_to: "clipper";
description { state: "default" 0.0;
rel1.offset: 3 3;
rel2.offset: -4 -4;
}
}
part { name: "shadow"; mouse_events: 0;
description { state: "default" 0.0;
image.normal: "inset_shadow.png";
image.border: 5 5 7 3;
image.middle: 0;
rel1.to: "bg";
rel2.to: "bg";
fill.smooth: 0;
color: 255 255 255 128;
}
}
part { name: "inset";
description { state: "default" 0.0;
image.normal: "bevel_in.png";
image.border: 1 1 1 1;
image.middle: 0;
rel1.to: "bg";
rel1.offset: -1 -1;
rel2.to: "bg";
rel2.offset: 0 0;
fill.smooth: 0;
rel.to: "pat";
}
}
}
programs {
program {
signal: "mouse,clicked,1"; source: "inset";
program { signal: "mouse,clicked,1"; source: "pat";
action: SIGNAL_EMIT "e,action,click" "";
}
program {
signal: "e,state,disabled"; source: "e";
program { signal: "e,state,disabled"; source: "e";
action: STATE_SET "disabled" 0.0;
target: "clipper";
}
program {
signal: "e,state,enabled"; source: "e";
program { signal: "e,state,enabled"; source: "e";
action: STATE_SET "default" 0.0;
target: "clipper";
}

View File

@ -6,9 +6,8 @@ group { name: "e/comp/preview";
}
part { name: "e.text.label"; type: TEXT; mouse_events: 0;
scale: 1;
effect: SHADOW BOTTOM;
description { state: "default" 0.0;
color: FN_COL_DEFAULT;
color_class: "/fg/normal/comp/preview/text";
text { font: FNBD; size: 10;
text_class: "fileman_icon";
align: 0.5 0.5;
@ -22,7 +21,7 @@ group { name: "e/comp/preview";
}
group { name: "e/comp/screen/base/default";
alias: "e/comp/screen/base/noeffects";
alias: "e/comp/screen/base/noeffects"; // legacy
parts {
part { name: "clip"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
@ -37,6 +36,7 @@ group { name: "e/comp/screen/base/default";
}
group { name: "e/comp/screen/overlay/default";
alias: "e/comp/screen/overlay/noeffects"; // legacy
images.image: "screen_circular_shadow.png" COMP;
data.item: "restarted" "on";
parts {
@ -51,202 +51,135 @@ group { name: "e/comp/screen/overlay/default";
rel2.relative: 2.0 2.0;
image.normal: "screen_circular_shadow.png";
fill.smooth: 0;
color: 255 255 255 0;
color: 255 255 255 0; // no cc
visible: 0;
}
description { state: "visible" 0.0;
inherit;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
color: 255 255 255 255;
color: 255 255 255 255; // no cc
visible: 1;
}
}
part { name: "blanker"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color: 0 0 0 0;
color: 0 0 0 0; // no cc
visible: 0;
}
description { state: "visible" 0.0;
inherit;
color: 0 0 0 255;
color: 0 0 0 255; // no cc
visible: 1;
}
}
part { name: "suspender"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color: 0 0 0 0;
color: 0 0 0 0; // no cc
visible: 0;
}
description { state: "visible" 0.0;
inherit;
color: 0 0 0 255;
color: 0 0 0 255; // no cc
visible: 1;
}
}
}
programs {
program {
name: "screensaver_on";
signal: "e,state,screensaver,on"; source: "e";
program { signal: "e,state,screensaver,on"; source: "e";
action: STATE_SET "visible" 0.0;
transition: ACCELERATE 3.0 CURRENT;
transition: ACCELERATE 3.0 USE_DURATION_FACTOR 1 CURRENT;
target: "blanker";
sequence {
action: SIGNAL_EMIT "e,state,screensaver,active" "e";
}
}
program {
name: "screensaver_on2";
signal: "e,state,screensaver,on"; source: "e";
program { signal: "e,state,screensaver,on"; source: "e";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 1.5 CURRENT;
transition: DECELERATE 3.0 USE_DURATION_FACTOR 1 CURRENT;
target: "shadow";
}
program {
name: "screensaver_off";
signal: "e,state,screensaver,off"; source: "e";
program { signal: "e,state,screensaver,off"; source: "e";
action: STATE_SET "default" 0.0;
transition: ACCELERATE 0.5 CURRENT;
transition: ACCELERATE 0.5 USE_DURATION_FACTOR 1 CURRENT;
target: "blanker";
}
program {
name: "screensaver_off2";
signal: "e,state,screensaver,off"; source: "e";
program { signal: "e,state,screensaver,off"; source: "e";
action: STATE_SET "default" 0.0;
transition: ACCELERATE 0.25 CURRENT;
transition: ACCELERATE 0.5 USE_DURATION_FACTOR 1 CURRENT;
target: "shadow";
}
program {
name: "suspend";
signal: "e,state,sys,suspend"; source: "e";
program { signal: "e,state,sys,suspend"; source: "e";
action: STATE_SET "visible" 0.0;
transition: ACCELERATE 0.5 CURRENT;
transition: ACCELERATE 0.5 USE_DURATION_FACTOR 1 CURRENT;
target: "suspender";
sequence {
action: SIGNAL_EMIT "e,state,sys,suspend,done" "e";
}
}
program {
name: "hibernate";
signal: "e,state,sys,hibernate"; source: "e";
program { signal: "e,state,sys,hibernate"; source: "e";
action: STATE_SET "visible" 0.0;
transition: ACCELERATE 0.5 CURRENT;
transition: ACCELERATE 0.5 USE_DURATION_FACTOR 1 CURRENT;
target: "suspender";
sequence {
action: SIGNAL_EMIT "e,state,sys,hibernate,done" "e";
}
}
program {
name: "resume";
signal: "e,state,sys,resume"; source: "e";
program { signal: "e,state,sys,resume"; source: "e";
action: STATE_SET "default" 0.0;
transition: DECELERATE 1.0 CURRENT;
transition: DECELERATE 0.5 USE_DURATION_FACTOR 1 CURRENT;
target: "suspender";
}
program {
name: "reboot";
signal: "e,state,sys,reboot"; source: "e";
program { signal: "e,state,sys,reboot"; source: "e";
action: STATE_SET "visible" 0.0;
transition: ACCELERATE 0.5 CURRENT;
transition: ACCELERATE 0.5 USE_DURATION_FACTOR 1 CURRENT;
target: "suspender";
sequence {
action: SIGNAL_EMIT "e,state,sys,reboot,done" "e";
}
}
program {
name: "halt";
signal: "e,state,sys,halt"; source: "e";
program { signal: "e,state,sys,halt"; source: "e";
action: STATE_SET "visible" 0.0;
transition: ACCELERATE 0.5 CURRENT;
transition: ACCELERATE 0.5 USE_DURATION_FACTOR 1 CURRENT;
target: "suspender";
sequence {
action: SIGNAL_EMIT "e,state,sys,halt,done" "e";
}
}
program {
name: "logout";
signal: "e,state,sys,logout"; source: "e";
program { signal: "e,state,sys,logout"; source: "e";
action: STATE_SET "visible" 0.0;
transition: ACCELERATE 0.5 CURRENT;
transition: ACCELERATE 0.5 USE_DURATION_FACTOR 1 CURRENT;
target: "suspender";
sequence {
action: SIGNAL_EMIT "e,state,sys,logout,done" "e";
}
}
program { signal: "e,state,sys,restart"; source: "e";
action: STATE_SET "visible" 0.0;
transition: ACCELERATE 0.5 USE_DURATION_FACTOR 1 CURRENT;
target: "suspender";
sequence {
action: SIGNAL_EMIT "e,state,sys,restart,done" "e";
program { signal: "e,state,sys,restart"; source: "e";
action: STATE_SET "visible" 0.0;
transition: ACCELERATE 0.5 USE_DURATION_FACTOR 1 CURRENT;
target: "suspender";
sequence {
action: SIGNAL_EMIT "e,state,sys,restart,done" "e";
}
}
}
program { signal: "e,state,sys,restarted"; source: "e";
action: STATE_SET "visible" 0.0;
target: "suspender";
}
program { signal: "e,state,sys,restarted,show"; source: "e";
action: STATE_SET "default" 0.0;
transition: ACCELERATE 0.5 USE_DURATION_FACTOR 1 CURRENT;
target: "suspender";
sequence {
action: SIGNAL_EMIT "e,state,sys,restarted,show,done" "e";
program { signal: "e,state,sys,restarted"; source: "e";
action: STATE_SET "visible" 0.0;
target: "suspender";
}
}
}
}
group { name: "e/comp/screen/overlay/noeffects";
inherit: "e/comp/screen/overlay/default";
programs {
program {
name: "screensaver_on";
transition: ACCELERATE 0 CURRENT;
}
program {
name: "screensaver_on2";
transition: DECELERATE 0 CURRENT;
}
program {
name: "screensaver_off";
transition: ACCELERATE 0 CURRENT;
}
program {
name: "screensaver_off2";
transition: ACCELERATE 0 CURRENT;
}
program {
name: "suspend";
transition: ACCELERATE 0 CURRENT;
}
program {
name: "hibernate";
transition: ACCELERATE 0 CURRENT;
}
program {
name: "resume";
transition: DECELERATE 0 CURRENT;
}
program {
name: "reboot";
transition: DECELERATE 0 CURRENT;
}
program {
name: "halt";
transition: DECELERATE 0 CURRENT;
}
program {
name: "logout";
transition: DECELERATE 0 CURRENT;
program { signal: "e,state,sys,restarted,show"; source: "e";
action: STATE_SET "default" 0.0;
transition: ACCELERATE 0.5 USE_DURATION_FACTOR 1 CURRENT;
target: "suspender";
sequence {
action: SIGNAL_EMIT "e,state,sys,restarted,show,done" "e";
}
}
}
}
group { name: "e/comp/frame/default";
images.image: "win_glow.png" COMP;
images.image: "win_shadow.png" COMP;
alias: "e/comp/frame/default/fast"; // legacy
images.image: "win_shad_flat.png" COMP;
script {
public message(Msg_Type:type, id, ...) {
if ((type == MSG_INT) && (id == 0)) {
@ -279,50 +212,37 @@ group { name: "e/comp/frame/default";
rel1.offset: -9999 -9999;
rel2.relative: 2.0 2.0;
rel2.offset: 9999 9999;
color: 255 255 255 0;
color: 255 255 255 0; // no cc
visible: 0;
}
description { state: "visible" 0.0;
inherit;
color: 255 255 255 255;
color: 255 255 255 255; // no cc
visible: 1;
}
}
part { name: "shadow"; mouse_events: 0;
part { name: "shadow"; type: RECT;
clip_to: "clipper";
description { state: "default" 0.0;
rel.to: "e.swallow.content";
WIN_SHADOW;
rel.to: "clipper";
}
description { state: "hidden" 0.0;
inherit;
visible: 0;
}
}
rect { "focus_clip"; clip: "clipper";
desc {
rel1.offset: -9999 -9999;
rel2.offset: 9999 9999;
}
desc { "hid"; hid; }
}
part { name: "glow"; mouse_events: 0;
clip_to: "focus_clip";
part { name: "focus-shadow"; type: RECT;
clip_to: "shadow";
description { state: "default" 0.0;
image.normal: "win_glow.png";
image.border: 9 9 9 9;
image.middle: 0;
rel.to: "gspacer";
fill.smooth: 0;
color: 255 255 255 0;
visible: 0;
rel.to: "clipper";
color_class: "/shadow/normal/comp/win";
}
description { state: "focused" 0.0;
inherit;
color: 255 255 255 255;
visible: 1;
color_class: "/shadow/selected/comp/win";
}
}
WIN_SHAD("e.swallow.content", "focus-shadow", "win_shad_flat.png", 21, 21, 14, 28, 0.5)
part { name: "shower"; type: SPACER;
description { state: "default" 0.0;
rel1.relative: 0.05 0.05;
@ -339,12 +259,12 @@ group { name: "e/comp/frame/default";
clip_to: "clipper";
mouse_events: 0;
description { state: "default" 0.0;
color_class: "comp_focus-out_color";
rel.to: "clipper";
color_class: "/bg/normal/comp/win";
}
description { state: "focused" 0.0;
inherit;
color_class: "comp_focus_color";
color_class: "/bg/selected/comp/win";
}
}
part { name: "e.swallow.content"; type: SWALLOW;
@ -356,83 +276,65 @@ group { name: "e/comp/frame/default";
spacer { "gspacer";
desc {
rel.to: "e.swallow.content";
rel1.offset: -5 -5;
rel2.offset: 4 4;
rel1.offset: -5 -5;
rel2.offset: 4 4;
}
}
}
programs {
program {
signal: "e,state,shadow,on"; source: "e";
program { signal: "e,state,shadow,on"; source: "e";
action: STATE_SET "default" 0.0;
target: "shadow";
}
program {
signal: "e,state,shadow,off"; source: "e";
program { signal: "e,state,shadow,off"; source: "e";
action: STATE_SET "hidden" 0.0;
target: "shadow";
}
program {
name: "visible_on";
program { name: "visible_on";
signal: "e,state,visible"; source: "e";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.15;
transition: DECELERATE 0.15 USE_DURATION_FACTOR 1;
targets: "clipper" "shower";
sequence {
action: SIGNAL_EMIT "e,action,show,done" "e";
}
}
program {
signal: "e,state,visible"; source: "e";
program { signal: "e,state,visible"; source: "e";
action: ACTION_STOP;
target: "visible_off";
}
program {
signal: "e,state,hidden"; source: "e";
program { signal: "e,state,hidden"; source: "e";
action: ACTION_STOP;
target: "visible_on";
}
program {
name: "visible_off";
program { name: "visible_off";
signal: "e,state,hidden"; source: "e";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.30;
transition: DECELERATE 0.30 USE_DURATION_FACTOR 1;
targets: "clipper" "shower";
sequence {
action: SIGNAL_EMIT "e,action,hide,done" "e";
}
}
program {
name: "focus_on";
signal: "e,state,focused"; source: "e";
program { signal: "e,state,focused"; source: "e";
action: STATE_SET "focused" 0.0;
transition: SINUSOIDAL 0.1;
targets: "glow" "focus-clipper";
sequence {
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.4;
target: "glow";
}
transition: SINUSOIDAL 0.1 USE_DURATION_FACTOR 1;
targets: "focus-clipper" "focus-shadow";
}
program {
name: "focus_off";
signal: "e,state,unfocused"; source: "e";
program { signal: "e,state,unfocused"; source: "e";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.1;
target: "focus-clipper";
sequence {
action: STATE_SET "default" 0.0;
target: "glow";
}
transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1;
targets: "focus-clipper" "focus-shadow";
}
/*
program { name: "urgent1";
signal: "e,state,urgent"; source: "e";
action: STATE_SET "focused" 0.0;
transition: SINUSOIDAL 0.3;
transition: SINUSOIDAL 0.3 USE_DURATION_FACTOR 1;
target: "glow";
sequence {
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.3;
transition: SINUSOIDAL 0.3 USE_DURATION_FACTOR 1;
target: "glow";
after: "urgent1";
}
@ -440,7 +342,7 @@ group { name: "e/comp/frame/default";
program {
signal: "e,state,not_urgent"; source: "e";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.6 CURRENT;
transition: SINUSOIDAL 0.6 CURRENT USE_DURATION_FACTOR 1;
target: "glow";
}
program { signal: "e,state,focus,disabled"; source: "e";
@ -451,10 +353,12 @@ group { name: "e/comp/frame/default";
action: STATE_SET "default";
target: "focus_clip";
}
*/
}
}
group { name: "e/comp/frame/rotate";
alias: "e/comp/frame/rotate/fast"; // legacy
inherit: "e/comp/frame/default";
parts {
part { name: "e.swallow.content";
@ -480,34 +384,21 @@ group { name: "e/comp/frame/rotate";
}
}
programs {
program { name: "focus3";
signal: "e,state,focused"; source: "e";
program { signal: "e,state,focused"; source: "e";
action: STATE_SET "default" 0.0;
target: "e.swallow.content";
transition: LINEAR 0.3;
transition: LINEAR 0.3 USE_DURATION_FACTOR 1;
}
program { name: "focus_off3";
signal: "e,state,unfocused"; source: "e";
program { signal: "e,state,unfocused"; source: "e";
action: STATE_SET "focus-out" 0.0;
target: "e.swallow.content";
transition: LINEAR 0.3;
}
}
}
group { name: "e/comp/frame/rotate/fast";
inherit: "e/comp/frame/rotate";
programs {
program { name: "focus3";
transition: LINEAR 0;
}
program { name: "focus_off3";
transition: LINEAR 0;
transition: LINEAR 0.3 USE_DURATION_FACTOR 1;
}
}
}
group { name: "e/comp/frame/flip";
alias: "e/comp/frame/flip/fast"; // legacy
inherit: "e/comp/frame/rotate";
parts {
part { name: "e.swallow.content";
@ -532,67 +423,12 @@ group { name: "e/comp/frame/flip";
}
}
group { name: "e/comp/frame/flip/fast";
inherit: "e/comp/frame/flip";
programs {
program { name: "focus3";
transition: LINEAR 0;
}
program { name: "focus_off3";
transition: LINEAR 0;
}
}
}
group { name: "e/comp/frame/popup";
alias: "e/comp/frame/popup/fast"; // legacy
inherit: "e/comp/frame/default";
images.image: "win_shadow.png" COMP;
parts {
part { name: "focus-clipper";
description { state: "default";
color_class: "";
}
}
}
}
group { name: "e/comp/frame/default/fast";
inherit: "e/comp/frame/default";
programs {
program {
name: "visible_on";
transition: DECELERATE 0;
}
program {
name: "visible_off";
transition: DECELERATE 0;
}
program {
name: "focus_on";
signal: "e,state,focus,on"; source: "e";
action: STATE_SET "focused" 0.0;
transition: SINUSOIDAL 0.1;
targets: "glow" "focus-clipper";
sequence {
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.1;
target: "glow";
}
}
program {
name: "focus_off";
transition: SINUSOIDAL 0;
}
}
}
group { name: "e/comp/frame/popup/fast";
inherit: "e/comp/frame/default/fast";
images.image: "win_shadow.png" COMP;
parts {
part { name: "focus-clipper";
description { state: "default";
color_class: "";
}
}
}
@ -606,18 +442,17 @@ group { name: "e/comp/frame/none";
}
}
programs {
program {
signal: "e,state,visible"; source: "e";
program { signal: "e,state,visible"; source: "e";
action: SIGNAL_EMIT "e,action,show,done" "e";
}
program {
signal: "e,state,hidden"; source: "e";
program { signal: "e,state,hidden"; source: "e";
action: SIGNAL_EMIT "e,action,hide,done" "e";
}
}
}
group { name: "e/comp/frame/still";
alias: "e/comp/frame/still/fast"; // legacy
inherit: "e/comp/frame/default";
parts {
part { name: "shower";
@ -629,69 +464,35 @@ group { name: "e/comp/frame/still";
}
}
group { name: "e/comp/frame/still/fast";
inherit: "e/comp/frame/default/fast";
parts {
part { name: "shower";
description { state: "default" 0.0;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
}
}
}
}
group { name: "e/comp/frame/menu";
alias: "e/comp/frame/menu/fast"; // legacy
inherit: "e/comp/frame/popup";
images.image: "win_menu_shadow.png" COMP;
images.image: "win_shad_angle.png" COMP;
parts {
part { name: "shadow";
part { name: "focus-shadow"; type: RECT;
description { state: "default" 0.0;
WIN_MENU_SHADOW;
color_class: "/shadow/selected/comp/win";
}
}
WIN_SHAD("e.swallow.content", "focus-shadow", "win_shad_angle.png", 21, 21, 14, 28, 0.5)
part { name: "shower";
description { state: "default" 0.0;
rel1.relative: 0.05 0.0;
rel2.relative: 0.95 0.9;
}
}
image { "glow";
desc { "focused"; hid; }
}
}
}
group { name: "e/comp/frame/menu/fast";
inherit: "e/comp/frame/popup/fast";
parts {
part { name: "shower";
description { state: "default" 0.0;
rel1.relative: 0.05 0.0;
rel2.relative: 0.95 0.9;
}
}
image { "glow";
desc { "focused"; hid; }
}
}
}
group { name: "e/comp/frame/everything";
alias: "e/comp/frame/everything/fast"; // legacy
inherit: "e/comp/frame/popup";
parts {
part { name: "shower";
description { state: "default" 0.0;
rel1.relative: -0.3 -0.3;
rel2.relative: 1.3 1.3;
part { name: "shadow";
description { state: "hidden" 0.0;
visible: 1;
}
}
}
}
group { name: "e/comp/frame/everything/fast";
inherit: "e/comp/frame/popup/fast";
parts {
part { name: "shower";
description { state: "default" 0.0;
rel1.relative: -0.3 -0.3;
@ -702,6 +503,7 @@ group { name: "e/comp/frame/everything/fast";
}
group { name: "e/comp/frame/fullscreen";
alias: "e/comp/frame/fullscreen/fast"; // legacy
images.image: "screen_circular_shadow.png" COMP;
data.item: "screen.bg" "fullscreen.bg";
parts {
@ -711,17 +513,17 @@ group { name: "e/comp/frame/fullscreen";
rel1.offset: -9999 -9999;
rel2.relative: 2.0 2.0;
rel2.offset: 9999 9999;
color: 255 255 255 0;
color: 255 255 255 0; // no cc
visible: 0;
}
description { state: "visible1" 0.0;
inherit;
color: 255 255 255 255;
color: 255 255 255 255; // no cc
visible: 1;
}
description { state: "visible2" 0.0;
inherit;
color: 255 255 255 255;
color: 255 255 255 255; // no cc
visible: 1;
}
}
@ -736,25 +538,25 @@ group { name: "e/comp/frame/fullscreen";
rel2.relative: 2.0 2.0;
image.normal: "screen_circular_shadow.png";
fill.smooth: 0;
color: 255 255 255 0;
color: 0 0 0 0; // no cc
visible: 0;
}
description { state: "visible" 0.0;
inherit;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
color: 255 255 255 255;
color: 0 0 0 255; // no cc
visible: 1;
}
}
part { name: "scr_shade"; type: RECT;
part { name: "scr_shade"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color: 0 0 0 0;
color: 0 0 0 0; // no cc
visible: 0;
}
description { state: "visible" 0.0;
inherit;
color: 0 0 0 255;
color: 0 0 0 255; // no cc
visible: 1;
}
}
@ -779,107 +581,71 @@ group { name: "e/comp/frame/fullscreen";
part { name: "e.swallow.content"; type: SWALLOW;
clip_to: "clipper";
description { state: "default" 0.0;
rel1.to: "shower";
rel2.to: "shower";
rel.to: "shower";
}
}
part { name: "fader"; type: RECT;
part { name: "fader"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "e.swallow.content";
rel2.to: "e.swallow.content";
color: 255 255 255 0;
rel.to: "e.swallow.content";
color: 255 255 255 0; // no cc
visible: 0;
}
description { state: "visible1" 0.0;
inherit;
color: 255 255 255 255;
color: 255 255 255 255; // no cc
visible: 1;
}
description { state: "visible2" 0.0;
inherit;
color: 255 255 255 0;
color: 255 255 255 0; // no cc
visible: 0;
}
}
}
programs {
program {
name: "visible_on";
program { name: "visible_on";
signal: "e,state,visible"; source: "e";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.25;
transition: DECELERATE 0.25 USE_DURATION_FACTOR 1;
targets: "scr_shadow" "scr_shade";
}
program {
name: "visible_on2";
program { name: "visible_on2";
signal: "e,state,visible"; source: "e";
action: STATE_SET "visible1" 0.0;
transition: DECELERATE 0.05;
transition: DECELERATE 0.05 USE_DURATION_FACTOR 1;
targets: "clipper" "shower" "fader";
sequence {
action: STATE_SET "visible2" 0.0;
transition: DECELERATE 0.20;
transition: DECELERATE 0.20 USE_DURATION_FACTOR 1;
targets: "clipper" "shower" "fader";
action: SIGNAL_EMIT "e,action,show,done" "e";
}
}
program {
signal: "e,state,visible"; source: "e";
program { signal: "e,state,visible"; source: "e";
action: ACTION_STOP;
targets: "visible_off" "visible_off2";
}
program {
signal: "e,state,hidden"; source: "e";
program { signal: "e,state,hidden"; source: "e";
action: ACTION_STOP;
targets: "visible_on" "visible_on2";
}
program {
name: "visible_off";
program { name: "visible_off";
signal: "e,state,hidden"; source: "e";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.25;
transition: DECELERATE 0.25 USE_DURATION_FACTOR 1;
targets: "scr_shadow" "scr_shade";
}
program {
name: "visible_off2";
program { name: "visible_off2";
signal: "e,state,hidden"; source: "e";
action: STATE_SET "visible1" 0.0;
transition: DECELERATE 0.2;
transition: DECELERATE 0.2 USE_DURATION_FACTOR 1;
targets: "clipper" "shower" "fader";
sequence {
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.05;
transition: DECELERATE 0.05 USE_DURATION_FACTOR 1;
targets: "clipper" "shower" "fader";
action: SIGNAL_EMIT "e,action,hide,done" "e";
}
}
}
}
group { name: "e/comp/frame/fullscreen/fast";
inherit: "e/comp/frame/fullscreen";
programs {
program {
name: "visible_on";
transition: DECELERATE 0;
}
program {
name: "visible_on2";
transition: DECELERATE 0;
}
program { name: "show2";
transition: DECELERATE 0;
}
program {
name: "visible_off";
transition: DECELERATE 0;
}
program {
name: "visible_off2";
transition: DECELERATE 0;
}
program { name: "hide2";
transition: DECELERATE 0;
}
}
}

View File

@ -1,6 +1,6 @@
group { name: "e/comp/border/default";
images.image: "win_shadow.png" COMP;
images.image: "win_glow.png" COMP;
alias: "e/comp/border/default/fast"; // legacy
images.image: "win_shad_flat.png" COMP;
parts {
part { name: "clipper"; type: RECT;
description { state: "default" 0.0;
@ -8,47 +8,37 @@ group { name: "e/comp/border/default";
rel1.offset: -9999 -9999;
rel2.relative: 2.0 2.0;
rel2.offset: 9999 9999;
color: 255 255 255 0;
color: 255 255 255 0; // no cc
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
color: 255 255 255 255; // no cc
visible: 1;
}
}
part { name: "shadow"; mouse_events: 0;
part { name: "shadow"; type: RECT; mouse_events: 0;
clip_to: "clipper";
description { state: "default" 0.0;
rel1.to: "e.swallow.content";
rel2.to: "e.swallow.content";
WIN_SHADOW;
rel.to: "clipper";
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
part { name: "glow"; mouse_events: 0;
clip_to: "clipper";
part { name: "focus-shadow"; type: RECT;
clip_to: "shadow";
description { state: "default" 0.0;
image.normal: "win_glow.png";
image.border: 9 9 9 9;
image.middle: 0;
rel1.to: "e.swallow.content";
rel1.offset: -5 -5;
rel2.to: "e.swallow.content";
rel2.offset: 4 4;
fill.smooth: 0;
color: 255 255 255 0;
visible: 0;
rel.to: "clipper";
color_class: "/shadow/normal/comp/win";
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
inherit;
color_class: "/shadow/selected/comp/win";
}
}
WIN_SHAD("e.swallow.content", "focus-shadow", "win_shad_flat.png", 21, 21, 14, 28, 0.5)
part { name: "shower"; type: SPACER;
description { state: "default" 0.0;
rel1.relative: 0.05 0.05;
@ -60,55 +50,44 @@ group { name: "e/comp/border/default";
rel2.relative: 1.0 1.0;
}
}
part { name: "trans-clipper";
type: RECT;
part { name: "trans-clipper"; type: RECT;
clip_to: "clipper";
mouse_events: 0;
description { state: "default" 0.0;
color_class: "comp_alpha";
rel1.to: "clipper";
rel2.to: "clipper";
rel.to: "clipper";
}
}
part { name: "focus-clipper";
type: RECT;
part { name: "focus-clipper"; type: RECT;
clip_to: "trans-clipper";
mouse_events: 0;
description { state: "default" 0.0;
color_class: "comp_focus-out_color";
rel1.to: "clipper";
rel2.to: "clipper";
rel.to: "clipper";
color_class: "/bg/normal/comp/win";
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
color_class: "";
color: 255 255 255 255;
color_class: "/bg/selected/comp/win";
}
}
part { name: "e.swallow.content"; type: SWALLOW;
clip_to: "focus-clipper";
description { state: "default" 0.0;
rel1.to: "shower";
rel2.to: "shower";
rel.to: "shower";
}
}
}
programs {
program {
signal: "e,state,shadow,on"; source: "e";
program { signal: "e,state,shadow,on"; source: "e";
action: STATE_SET "default" 0.0;
target: "shadow";
}
program {
signal: "e,state,shadow,off"; source: "e";
program { signal: "e,state,shadow,off"; source: "e";
action: STATE_SET "hidden" 0.0;
target: "shadow";
}
program {
name: "visible_on";
signal: "e,state,visible,on"; source: "e";
program { signal: "e,state,visible,on"; source: "e";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.15;
transition: DECELERATE 0.15 USE_DURATION_FACTOR 1;
target: "clipper";
target: "shower";
after: "show2";
@ -116,11 +95,9 @@ group { name: "e/comp/border/default";
program { name: "show2";
action: SIGNAL_EMIT "e,action,show,done" "e";
}
program {
name: "visible_off";
signal: "e,state,visible,off"; source: "e";
program { signal: "e,state,visible,off"; source: "e";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.30;
transition: DECELERATE 0.30 USE_DURATION_FACTOR 1;
target: "clipper";
target: "shower";
after: "hide2";
@ -128,57 +105,42 @@ group { name: "e/comp/border/default";
program { name: "hide2";
action: SIGNAL_EMIT "e,action,hide,done" "e";
}
program {
name: "focus_on";
signal: "e,state,focus,on"; source: "e";
program { signal: "e,state,focus,on"; source: "e";
action: STATE_SET "focused" 0.0;
transition: SINUSOIDAL 0.1;
target: "glow";
target: "focus-clipper";
after: "focus2";
transition: SINUSOIDAL 0.1 USE_DURATION_FACTOR 1;
targets: "focus-clipper" "focus-shadow";
}
program { name: "focus2";
program { signal: "e,state,focus,off"; source: "e";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.4;
target: "glow";
}
program {
name: "focus_off";
signal: "e,state,focus,off"; source: "e";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.1;
target: "focus-clipper";
after: "focus_off2";
}
program {
name: "focus_off2";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.4;
target: "glow";
transition: SINUSOIDAL 0.1 USE_DURATION_FACTOR 1;
targets: "focus-clipper" "focus-shadow";
}
/*
program { name: "urgent1";
signal: "e,state,urgent,on"; source: "e";
action: STATE_SET "focused" 0.0;
transition: SINUSOIDAL 0.3;
transition: SINUSOIDAL 0.3 USE_DURATION_FACTOR 1;
target: "glow";
after: "urgent2";
}
program { name: "urgent2";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.3;
transition: SINUSOIDAL 0.3 USE_DURATION_FACTOR 1;
target: "glow";
after: "urgent1";
}
program {
signal: "e,state,urgent,off"; source: "e";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.6 CURRENT;
transition: SINUSOIDAL 0.6 CURRENT USE_DURATION_FACTOR 1;
target: "glow";
}
*/
}
}
group { name: "e/comp/border/rotate";
alias: "e/comp/border/rotate/fast"; // legacy
inherit: "e/comp/border/default";
parts {
part { name: "e.swallow.content";
@ -204,34 +166,21 @@ group { name: "e/comp/border/rotate";
}
}
programs {
program { name: "focus3";
signal: "e,state,focus,on"; source: "e";
program { signal: "e,state,focus,on"; source: "e";
action: STATE_SET "default" 0.0;
target: "e.swallow.content";
transition: LINEAR 0.3;
transition: LINEAR 0.3 USE_DURATION_FACTOR 1;
}
program { name: "focus_off3";
signal: "e,state,focus,off"; source: "e";
program { signal: "e,state,focus,off"; source: "e";
action: STATE_SET "focus-out" 0.0;
target: "e.swallow.content";
transition: LINEAR 0.3;
}
}
}
group { name: "e/comp/border/rotate/fast";
inherit: "e/comp/border/rotate";
programs {
program { name: "focus3";
transition: LINEAR 0;
}
program { name: "focus_off3";
transition: LINEAR 0;
transition: LINEAR 0.3 USE_DURATION_FACTOR 1;
}
}
}
group { name: "e/comp/border/flip";
alias: "e/comp/border/flip/fast"; // legacy
inherit: "e/comp/border/rotate";
parts {
part { name: "e.swallow.content";
@ -256,67 +205,12 @@ group { name: "e/comp/border/flip";
}
}
group { name: "e/comp/border/flip/fast";
inherit: "e/comp/border/flip";
programs {
program { name: "focus3";
transition: LINEAR 0;
}
program { name: "focus_off3";
transition: LINEAR 0;
}
}
}
group { name: "e/comp/border/popup";
alias: "e/comp/border/popup/fast"; // legacy
inherit: "e/comp/border/default";
parts {
part { name: "focus-clipper";
description { state: "default";
color_class: "";
}
}
}
}
group { name: "e/comp/border/default/fast";
inherit: "e/comp/border/default";
programs {
program {
name: "visible_on";
transition: DECELERATE 0;
}
program {
name: "visible_off";
transition: DECELERATE 0;
}
program {
name: "focus_on";
signal: "e,state,focus,on"; source: "e";
action: STATE_SET "focused" 0.0;
transition: SINUSOIDAL 0.1;
target: "glow";
target: "focus-clipper";
after: "focus2";
}
program { name: "focus2";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.1;
target: "glow";
}
program {
name: "focus_off";
transition: SINUSOIDAL 0;
}
}
}
group { name: "e/comp/border/popup/fast";
inherit: "e/comp/border/default/fast";
parts {
part { name: "focus-clipper";
description { state: "default";
color_class: "";
}
}
}
@ -330,18 +224,17 @@ group { name: "e/comp/border/none";
}
}
programs {
program {
signal: "e,state,visible,on"; source: "e";
program { signal: "e,state,visible,on"; source: "e";
action: SIGNAL_EMIT "e,action,show,done" "e";
}
program {
signal: "e,state,visible,off"; source: "e";
program { signal: "e,state,visible,off"; source: "e";
action: SIGNAL_EMIT "e,action,hide,done" "e";
}
}
}
group { name: "e/comp/border/still";
alias: "e/comp/border/still/fast"; // legacy
inherit: "e/comp/border/default";
parts {
part { name: "shower";
@ -353,19 +246,8 @@ group { name: "e/comp/border/still";
}
}
group { name: "e/comp/border/still/fast";
inherit: "e/comp/border/default/fast";
parts {
part { name: "shower";
description { state: "default" 0.0;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
}
}
}
}
group { name: "e/comp/border/menu";
alias: "e/comp/border/menu/fast"; // legacy
inherit: "e/comp/border/popup";
parts {
part { name: "shower";
@ -377,19 +259,8 @@ group { name: "e/comp/border/menu";
}
}
group { name: "e/comp/border/menu/fast";
inherit: "e/comp/border/popup/fast";
parts {
part { name: "shower";
description { state: "default" 0.0;
rel1.relative: 0.05 0.0;
rel2.relative: 0.95 0.9;
}
}
}
}
group { name: "e/comp/border/everything";
alias: "e/comp/border/everything/fast"; // legacy
inherit: "e/comp/border/popup";
parts {
part { name: "shower";
@ -401,19 +272,8 @@ group { name: "e/comp/border/everything";
}
}
group { name: "e/comp/border/everything/fast";
inherit: "e/comp/border/popup/fast";
parts {
part { name: "shower";
description { state: "default" 0.0;
rel1.relative: -0.3 -0.3;
rel2.relative: 1.3 1.3;
}
}
}
}
group { name: "e/comp/border/fullscreen";
alias: "e/comp/border/fullscreen/fast"; // legacy
images.image: "screen_circular_shadow.png" COMP;
data.item: "screen.bg" "fullscreen.bg";
parts {
@ -423,17 +283,17 @@ group { name: "e/comp/border/fullscreen";
rel1.offset: -9999 -9999;
rel2.relative: 2.0 2.0;
rel2.offset: 9999 9999;
color: 255 255 255 0;
color: 255 255 255 0; // no cc
visible: 0;
}
description { state: "visible1" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
color: 255 255 255 255; // no cc
visible: 1;
}
description { state: "visible2" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
color: 255 255 255 255; // no cc
visible: 1;
}
}
@ -448,25 +308,25 @@ group { name: "e/comp/border/fullscreen";
rel2.relative: 2.0 2.0;
image.normal: "screen_circular_shadow.png";
fill.smooth: 0;
color: 255 255 255 0;
color: 255 255 255 0; // no cc
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
color: 255 255 255 255;
color: 255 255 255 255; // no cc
visible: 1;
}
}
part { name: "scr_shade"; type: RECT;
part { name: "scr_shade"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color: 0 0 0 0;
color: 0 0 0 0; // no cc
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 0 0 0 255;
color: 0 0 0 255; // no cc
visible: 1;
}
}
@ -495,21 +355,20 @@ group { name: "e/comp/border/fullscreen";
rel2.to: "shower";
}
}
part { name: "fader"; type: RECT;
part { name: "fader"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "e.swallow.content";
rel2.to: "e.swallow.content";
color: 255 255 255 0;
rel.to: "e.swallow.content";
color: 255 255 255 0; // no cc
visible: 0;
}
description { state: "visible1" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
color: 255 255 255 255; // no cc
visible: 1;
}
description { state: "visible2" 0.0;
inherit: "default" 0.0;
color: 255 255 255 0;
color: 255 255 255 0; // no cc
visible: 0;
}
}
@ -519,7 +378,7 @@ group { name: "e/comp/border/fullscreen";
name: "visible_on";
signal: "e,state,visible,on"; source: "e";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.25;
transition: DECELERATE 0.25 USE_DURATION_FACTOR 1;
target: "scr_shadow";
target: "scr_shade";
}
@ -527,7 +386,7 @@ group { name: "e/comp/border/fullscreen";
name: "visible_on2";
signal: "e,state,visible,on"; source: "e";
action: STATE_SET "visible1" 0.0;
transition: DECELERATE 0.05;
transition: DECELERATE 0.05 USE_DURATION_FACTOR 1;
target: "clipper";
target: "shower";
target: "fader";
@ -535,7 +394,7 @@ group { name: "e/comp/border/fullscreen";
}
program { name: "show2";
action: STATE_SET "visible2" 0.0;
transition: DECELERATE 0.20;
transition: DECELERATE 0.20 USE_DURATION_FACTOR 1;
target: "clipper";
target: "shower";
target: "fader";
@ -548,7 +407,7 @@ group { name: "e/comp/border/fullscreen";
name: "visible_off";
signal: "e,state,visible,off"; source: "e";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.25;
transition: DECELERATE 0.25 USE_DURATION_FACTOR 1;
target: "scr_shadow";
target: "scr_shade";
}
@ -556,7 +415,7 @@ group { name: "e/comp/border/fullscreen";
name: "visible_off2";
signal: "e,state,visible,off"; source: "e";
action: STATE_SET "visible1" 0.0;
transition: DECELERATE 0.2;
transition: DECELERATE 0.2 USE_DURATION_FACTOR 1;
target: "clipper";
target: "shower";
target: "fader";
@ -564,7 +423,7 @@ group { name: "e/comp/border/fullscreen";
}
program { name: "hide2";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.05;
transition: DECELERATE 0.05 USE_DURATION_FACTOR 1;
target: "clipper";
target: "shower";
target: "fader";
@ -575,31 +434,3 @@ group { name: "e/comp/border/fullscreen";
}
}
}
group { name: "e/comp/border/fullscreen/fast";
inherit: "e/comp/border/fullscreen";
programs {
program {
name: "visible_on";
transition: DECELERATE 0;
}
program {
name: "visible_on2";
transition: DECELERATE 0;
}
program { name: "show2";
transition: DECELERATE 0;
}
program {
name: "visible_off";
transition: DECELERATE 0;
}
program {
name: "visible_off2";
transition: DECELERATE 0;
}
program { name: "hide2";
transition: DECELERATE 0;
}
}
}

View File

@ -1,5 +1,5 @@
#define COMP_EFFECT_DURATION 0.4
#define COMP_EFFECT_DURATION_FAST 0.2
#define COMP_EFFECT_DURATION 0.2
#define COMP_EFFECT_DURATION_FAST 0.15
group { name: "e/comp/effects/none";
parts {
@ -55,7 +55,7 @@ group { name: "e/comp/effects/move";
source: "e";
filter: "mover" "default";
action: STATE_SET "custom" 0.0;
transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
transition: DECELERATE COMP_EFFECT_DURATION USE_DURATION_FACTOR 1 CURRENT;
target: "mover";
after: "done";
}
@ -65,7 +65,7 @@ group { name: "e/comp/effects/move";
source: "e";
filter: "mover" "custom";
action: STATE_SET "default" 0.0;
transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
transition: DECELERATE COMP_EFFECT_DURATION USE_DURATION_FACTOR 1 CURRENT;
target: "mover";
after: "done";
}
@ -135,7 +135,7 @@ group { name: "e/comp/effects/auto/pane";
source: "e";
filter: "mover" "default";
action: STATE_SET "custom" 0.0;
transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
transition: DECELERATE COMP_EFFECT_DURATION USE_DURATION_FACTOR 1 CURRENT;
target: "mover";
after: "done";
}
@ -145,7 +145,7 @@ group { name: "e/comp/effects/auto/pane";
source: "e";
filter: "mover" "custom";
action: STATE_SET "default" 0.0;
transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
transition: DECELERATE COMP_EFFECT_DURATION USE_DURATION_FACTOR 1 CURRENT;
target: "mover";
after: "done";
}
@ -280,12 +280,12 @@ group { name: "e/comp/effects/auto/zoom";
rel1.offset: -20 -20;
rel2.to: "mover";
rel2.offset: 20 20;
color: 255 255 255 255;
color: 255 255 255 255; // no cc
}
description { state: "hidden";
rel1.to: "mover";
rel2.to: "mover";
color: 255 255 255 0;
color: 255 255 255 0; // no cc
}
}
part { name: "e.swallow.content"; clip_to: "clip";
@ -298,7 +298,7 @@ group { name: "e/comp/effects/auto/zoom";
source: "e";
filter: "mover" "default";
action: STATE_SET "hidden" 0.0;
transition: ACCELERATE COMP_EFFECT_DURATION CURRENT;
transition: ACCELERATE COMP_EFFECT_DURATION USE_DURATION_FACTOR 1 CURRENT;
target: "clip";
}
program {
@ -307,7 +307,7 @@ group { name: "e/comp/effects/auto/zoom";
source: "e";
filter: "mover" "custom";
action: STATE_SET "default" 0.0;
transition: ACCELERATE COMP_EFFECT_DURATION CURRENT;
transition: ACCELERATE COMP_EFFECT_DURATION USE_DURATION_FACTOR 1 CURRENT;
target: "clip";
}
}
@ -338,11 +338,11 @@ group { name: "e/comp/effects/auto/blend";
rel1.offset: -20 -20;
rel2.to: "e.swallow.content";
rel2.offset: 20 20;
color: 255 255 255 255;
color: 255 255 255 255; // no cc
}
description { state: "hidden";
inherit: "default" 0.0;
color: 255 255 255 0;
color: 255 255 255 0; // no cc
}
}
part { name: "e.swallow.content"; type: SWALLOW;
@ -358,7 +358,7 @@ group { name: "e/comp/effects/auto/blend";
source: "e";
filter: "clip" "default";
action: STATE_SET "hidden" 0.0;
transition: LINEAR COMP_EFFECT_DURATION CURRENT;
transition: LINEAR COMP_EFFECT_DURATION USE_DURATION_FACTOR 1 CURRENT;
target: "clip";
after: "done";
}
@ -368,7 +368,7 @@ group { name: "e/comp/effects/auto/blend";
source: "e";
filter: "clip" "hidden";
action: STATE_SET "default" 0.0;
transition: LINEAR COMP_EFFECT_DURATION CURRENT;
transition: LINEAR COMP_EFFECT_DURATION USE_DURATION_FACTOR 1 CURRENT;
target: "clip";
after: "done";
}
@ -453,7 +453,7 @@ group { name: "e/comp/effects/visibility/vertical";
source: "e";
filter: "clip" "default";
action: STATE_SET "hid" 0.0;
transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
transition: DECELERATE COMP_EFFECT_DURATION USE_DURATION_FACTOR 1 CURRENT;
target: "clip";
after: "done";
}
@ -463,7 +463,7 @@ group { name: "e/comp/effects/visibility/vertical";
source: "e";
filter: "clip" "hid";
action: STATE_SET "default" 0.0;
transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
transition: DECELERATE COMP_EFFECT_DURATION USE_DURATION_FACTOR 1 CURRENT;
target: "clip";
after: "done";
}
@ -547,7 +547,7 @@ group { name: "e/comp/effects/visibility/tooltip";
source: "e";
filter: "mover" "default";
action: STATE_SET "custom" 0.0;
transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
transition: DECELERATE COMP_EFFECT_DURATION USE_DURATION_FACTOR 1 CURRENT;
target: "mover";
after: "done";
}
@ -557,7 +557,7 @@ group { name: "e/comp/effects/visibility/tooltip";
source: "e";
filter: "mover" "custom";
action: STATE_SET "default" 0.0;
transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
transition: DECELERATE COMP_EFFECT_DURATION USE_DURATION_FACTOR 1 CURRENT;
target: "mover";
after: "done";
}
@ -626,7 +626,7 @@ group { name: "e/comp/effects/iconify/default";
source: "e";
filter: "mover" "default";
action: STATE_SET "custom" 0.0;
transition: ACCELERATE_FACTOR COMP_EFFECT_DURATION 2 CURRENT;
transition: ACCELERATE_FACTOR COMP_EFFECT_DURATION 2 USE_DURATION_FACTOR 1 CURRENT;
target: "mover";
after: "done";
}
@ -636,7 +636,7 @@ group { name: "e/comp/effects/iconify/default";
source: "e";
filter: "mover" "custom";
action: STATE_SET "default" 0.0;
transition: DECELERATE_FACTOR COMP_EFFECT_DURATION_FAST 2 CURRENT;
transition: DECELERATE_FACTOR COMP_EFFECT_DURATION_FAST 2 USE_DURATION_FACTOR 1 CURRENT;
target: "mover";
after: "done";
}
@ -716,7 +716,7 @@ group { name: "e/comp/effects/auto/rotate";
signal: "e,action,go";
source: "e";
action: STATE_SET "hidden" 0.0;
transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
transition: DECELERATE COMP_EFFECT_DURATION USE_DURATION_FACTOR 1 CURRENT;
target: "proxy";
}
program {
@ -724,7 +724,7 @@ group { name: "e/comp/effects/auto/rotate";
signal: "e,action,go";
source: "e";
action: STATE_SET "default" 0.0;
transition: DECELERATE COMP_EFFECT_DURATION CURRENT;
transition: DECELERATE COMP_EFFECT_DURATION USE_DURATION_FACTOR 1 CURRENT;
target: "proxy";
}
}

View File

@ -1,142 +1,92 @@
group { name: "e/widgets/configure/main";
images.image: "bevel_dark_out.png" COMP;
images.image: "separator_horiz.png" COMP;
parts {
part { name: "base"; type: RECT;
description { state: "default" 0.0;
color_class: "dialog_base";
color: 64 64 64 255;
color_class: "/bg/normal/background";
}
}
part { name: "bevel";
part { name: "separator"; type: RECT; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
image.normal: "bevel_dark_out.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
}
}
part { name: "separator"; mouse_events: 0;
description { state: "default" 0.0;
min: 16 2;
max: 99999 2;
min: 16 1;
max: 99999 1;
rel1.relative: 0.0 1.0;
rel1.offset: 0 0;
rel1.to_y: "e.swallow.content";
rel2.relative: 1.0 0.0;
rel2.offset: -1 -1;
rel2.to_y: "e.swallow.button";
image.normal: "separator_horiz.png";
fill.smooth: 0;
fixed: 0 1;
color_class: "/fg/normal/separator/horizontal";
}
}
part { name: "e.swallow.content"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
rel1.offset: 4 4;
rel1.to_x: "base";
rel2.relative: 1.0 0.0;
rel2.offset: -5 -8;
rel2.offset: -1 -17;
rel2.to_y: "e.swallow.button";
offscale;
}
}
part { name: "e.swallow.button"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
align: 0.5 1.0;
rel1.relative: 0.5 1.0;
rel1.offset: 0 -5;
rel1.offset: 0 -9;
rel2.relative: 0.5 1.0;
rel2.offset: -1 -5;
rel2.offset: -1 -9;
fixed: 1 1;
offscale;
}
}
}
}
group { name: "e/modules/conf/main";
images.image: "button_normal.png" COMP;
images.image: "button_clicked.png" COMP;
images.image: "spanner_inset.png" COMP;
images.image: "spanner_hilight.png" COMP;
images.image: "spanner_glow.png" COMP;
images.image: "spanner.png" COMP;
min: 16 16;
max: 80 80;
parts {
part { name: "base";
part { name: "base"; type: RECT;
description { state: "default" 0.0;
image.normal: "button_normal.png";
image.border: 4 4 3 5;
image.middle: SOLID;
rel1.offset: -1 0;
rel2.offset: 0 1;
fill.smooth: 0;
color: 0 0 0 0; // no cc
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
image.normal: "button_clicked.png";
image.border: 5 5 4 6;
}
}
part { name: "spanner_hilight"; mouse_events: 0;
description { state: "default" 0.0;
aspect: 1.0 1.0; aspect_preference: BOTH;
max: 80 80;
rel1.offset: 0 1;
rel1.to: "spanner";
rel2.offset: -1 0;
rel2.to: "spanner";
image.normal: "spanner_hilight.png";
}
}
part { name: "spanner"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
aspect: 1.0 1.0; aspect_preference: BOTH;
max: 80 80;
rel.to: "base";
rel1.offset: 4 4;
rel2.offset: -5 -5;
image.normal: "spanner_inset.png";
}
}
part { name: "spanner_glow"; mouse_events: 0;
description { state: "default" 0.0;
aspect: 1.0 1.0; aspect_preference: BOTH;
max: 80 80;
rel1.to: "spanner";
rel2.to: "spanner";
image.normal: "spanner_glow.png";
visible: 0;
image.normal: "spanner.png";
color_class: "/fg/normal/icon";
offscale;
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
visible: 1;
color_class: "/fg/pressed/icon";
}
}
}
programs {
program {
signal: "mouse,down,1"; source: "base";
program { signal: "mouse,down,1"; source: "base";
action: STATE_SET "clicked" 0.0;
target: "base";
target: "spanner";
}
program {
signal: "mouse,up,1"; source: "base";
program { signal: "mouse,up,1"; source: "base";
action: STATE_SET "default" 0.0;
target: "base";
target: "spanner_glow";
target: "spanner";
}
program {
signal: "mouse,clicked,1*"; source: "base";
program { signal: "mouse,clicked,1*"; source: "base";
action: SIGNAL_EMIT "e,action,conf" "";
}
program {
signal: "mouse,in"; source: "base";
action: STATE_SET "clicked" 0.0;
target: "spanner_glow";
}
program {
signal: "mouse,out"; source: "base";
action: STATE_SET "default" 0.0;
target: "spanner_glow";
}
}
}

View File

@ -1,143 +1,138 @@
group { name: "e/modules/connman/main";
images.image: "slot_horiz_top.png" COMP;
images.image: "slot_horiz_bottom.png" COMP;
images.image: "wifi_base.png" COMP;
images.image: "wifi_sig_1.png" COMP;
images.image: "wifi_sig_2.png" COMP;
images.image: "wifi_sig_3.png" COMP;
images.image: "eth.png" COMP;
images.image: "exlclam.png" COMP;
images.image: "hole_tiny.png" COMP;
images.image: "led_tiny_orange.png" COMP;
images.image: "led_tiny_green.png" COMP;
images.image: "bt_base.png" COMP;
images.image: "bt_sig_1.png" COMP;
images.image: "bt_sig_2.png" COMP;
images.image: "cell_base.png" COMP;
images.image: "cell_sig_1.png" COMP;
images.image: "cell_sig_2.png" COMP;
images.image: "cell_sig_3.png" COMP;
images.image: "cell_sig_4.png" COMP;
images.image: "cloud-conn.png" COMP;
images.image: "eth-top.png" COMP;
images.image: "eth-base.png" COMP;
images.image: "wifi-1.png" COMP;
images.image: "wifi-2.png" COMP;
images.image: "wifi-3.png" COMP;
images.image: "wifi-4.png" COMP;
images.image: "wifi-5.png" COMP;
images.image: "bt-1.png" COMP;
images.image: "bt-2.png" COMP;
images.image: "bt-base.png" COMP;
images.image: "cell-1.png" COMP;
images.image: "cell-2.png" COMP;
images.image: "cell-3.png" COMP;
images.image: "cell-4.png" COMP;
images.image: "cell-base.png" COMP;
parts {
part { name: "slot_bottom"; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "slot";
rel2.relative: 1.0 0.5;
rel2.to: "slot";
min: 0 3;
image.normal: "slot_horiz_bottom.png";
fixed: 0 1;
}
}
///////////////////////
part { name: "exclam_base"; mouse_events: 0;
scale: 1;
clip_to: "clip_exclam";
description { state: "default" 0.0;
aspect: (71/144) (71/144); aspect_preference: BOTH;
align: 0.5 1.0;
rel2.relative: 1.0 0.5;
rel2.to_y: "slot";
image.normal: "exlclam.png";
min: 11 10;
rel1.relative: (20/160) (50/160);
rel2.relative: (135/160) (150/160);
aspect: (115/105) (115/105); aspect_preference: BOTH;
image.normal: "cloud-conn.png";
}
}
///////////////////////
part { name: "eth_base"; mouse_events: 0;
part { name: "eth-base"; mouse_events: 0;
scale: 1;
clip_to: "clip_eth";
description { state: "default" 0.0;
aspect: (60/144) (60/144); aspect_preference: BOTH;
align: 0.5 1.0;
rel2.relative: 1.0 0.5;
rel2.to_y: "slot";
image.normal: "eth.png";
min: 6 13;
aspect: (60/130) (60/130); aspect_preference: BOTH;
rel1.relative: (50/160) (15/160);
rel2.relative: (110/160) (145/160);
image.normal: "eth-base.png";
color_class: "/fg/disabled/gadgets/connman/eth/cable";
}
description { state: "connected" 0.0;
inherit: "default" 0.0;
color_class: "/fg/normal/gadgets/connman/eth/cable";
}
description { state: "online" 0.0;
inherit: "default" 0.0;
color_class: "/fg/selected/gadgets/connman/eth/cable";
}
}
part { name: "eth"; mouse_events: 0;
scale: 1;
clip_to: "clip_eth";
description { state: "default" 0.0;
rel.to: "eth-base";
image.normal: "eth-top.png";
color_class: "/fg/disabled/gadgets/connman/eth/connector";
}
description { state: "connected" 0.0;
inherit: "default" 0.0;
color_class: "/fg/normal/gadgets/connman/eth/connector";
}
description { state: "online" 0.0;
inherit: "default" 0.0;
color_class: "/fg/normal/gadgets/connman/eth/connector";
}
}
///////////////////////
part { name: "wifi_base"; mouse_events: 0;
part { name: "wifi-base"; mouse_events: 0;
clip_to: "clip_wifi";
description { state: "default" 0.0;
aspect: (160/144) (160/144); aspect_preference: BOTH;
align: 0.5 1.0;
rel2.relative: 1.0 0.5;
rel2.to_y: "slot";
image.normal: "wifi_base.png";
image.normal: "wifi-1.png";
color_class: "/fg/disabled/gadgets/connman/wifi/connected";
}
description { state: "connected" 0.0;
inherit: "default" 0.0;
color_class: "/fg/normal/gadgets/connman/wifi/connected";
}
description { state: "online" 0.0;
inherit: "default" 0.0;
color_class: "/fg/selected/gadgets/connman/wifi/connected";
}
}
part { name: "wifi_1"; mouse_events: 0;
part { name: "wifi"; mouse_events: 0;
clip_to: "clip_wifi";
description { state: "default" 0.0;
rel1.to: "wifi_base";
rel2.to: "wifi_base";
image.normal: "wifi_sig_1.png";
visible: 0;
rel.to: "wifi-base";
image.normal: "wifi-1.png";
color_class: "/fg/normal/gadgets/connman/wifi/signal";
color: 0 0 0 0; // no cc
}
description { state: "partly" 0.0;
description { state: "default" 0.25;
inherit: "default" 0.0;
color: 255 255 255 128;
visible: 1;
image.normal: "wifi-2.png";
color: 255 255 255 255; // no cc
}
description { state: "visible" 0.0;
description { state: "default" 0.5;
inherit: "default" 0.0;
visible: 1;
image.normal: "wifi-3.png";
color: 255 255 255 255; // no cc
}
}
part { name: "wifi_2"; mouse_events: 0;
clip_to: "clip_wifi";
description { state: "default" 0.0;
rel1.to: "wifi_base";
rel2.to: "wifi_base";
image.normal: "wifi_sig_2.png";
visible: 0;
}
description { state: "partly" 0.0;
description { state: "default" 0.75;
inherit: "default" 0.0;
color: 255 255 255 128;
visible: 1;
image.normal: "wifi-4.png";
color: 255 255 255 255; // no cc
}
description { state: "visible" 0.0;
description { state: "default" 1.0;
inherit: "default" 0.0;
visible: 1;
}
}
part { name: "wifi_3"; mouse_events: 0;
clip_to: "clip_wifi";
description { state: "default" 0.0;
rel1.to: "wifi_base";
rel2.to: "wifi_base";
image.normal: "wifi_sig_3.png";
visible: 0;
}
description { state: "partly" 0.0;
inherit: "default" 0.0;
color: 255 255 255 128;
visible: 1;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
image.normal: "wifi-5.png";
color: 255 255 255 255; // no cc
}
}
///////////////////////
part { name: "bt_base"; mouse_events: 0;
clip_to: "clip_bt";
description { state: "default" 0.0;
aspect: (160/144) (160/144); aspect_preference: BOTH;
align: 0.5 1.0;
rel2.relative: 1.0 0.5;
rel2.to_y: "slot";
image.normal: "bt_base.png";
image.normal: "bt-base.png";
color_class: "/fg/normal/gadgets/connman/bt/base";
}
}
part { name: "bt_1"; mouse_events: 0;
clip_to: "clip_bt";
description { state: "default" 0.0;
rel1.to: "bt_base";
rel2.to: "bt_base";
image.normal: "bt_sig_1.png";
rel.to: "bt_base";
image.normal: "bt-1.png";
color_class: "/fg/normal/gadgets/connman/bt/signal";
visible: 0;
}
description { state: "partly" 0.0;
inherit: "default" 0.0;
color: 255 255 255 128;
color: 255 255 255 128; // no cc
visible: 1;
}
description { state: "visible" 0.0;
@ -148,14 +143,14 @@ group { name: "e/modules/connman/main";
part { name: "bt_2"; mouse_events: 0;
clip_to: "clip_bt";
description { state: "default" 0.0;
rel1.to: "bt_base";
rel2.to: "bt_base";
image.normal: "bt_sig_2.png";
rel.to: "bt_base";
image.normal: "bt-2.png";
color_class: "/fg/normal/gadgets/connman/bt/signal";
visible: 0;
}
description { state: "partly" 0.0;
inherit: "default" 0.0;
color: 255 255 255 128;
color: 255 255 255 128; // no cc
visible: 1;
}
description { state: "visible" 0.0;
@ -167,24 +162,21 @@ group { name: "e/modules/connman/main";
part { name: "cell_base"; mouse_events: 0;
clip_to: "clip_cell";
description { state: "default" 0.0;
aspect: (160/144) (160/144); aspect_preference: BOTH;
align: 0.5 1.0;
rel2.relative: 1.0 0.5;
rel2.to_y: "slot";
image.normal: "cell_base.png";
image.normal: "cell-base.png";
color_class: "/fg/normal/gadgets/connman/cell/base";
}
}
part { name: "cell_1"; mouse_events: 0;
clip_to: "clip_cell";
description { state: "default" 0.0;
rel1.to: "cell_base";
rel2.to: "cell_base";
image.normal: "cell_sig_1.png";
rel.to: "cell_base";
image.normal: "cell-1.png";
color_class: "/fg/normal/gadgets/connman/cell/signal";
visible: 0;
}
description { state: "partly" 0.0;
inherit: "default" 0.0;
color: 255 255 255 128;
color: 255 255 255 128; // no cc
visible: 1;
}
description { state: "visible" 0.0;
@ -195,14 +187,14 @@ group { name: "e/modules/connman/main";
part { name: "cell_2"; mouse_events: 0;
clip_to: "clip_cell";
description { state: "default" 0.0;
rel1.to: "cell_base";
rel2.to: "cell_base";
image.normal: "cell_sig_2.png";
rel.to: "cell_base";
image.normal: "cell-2.png";
color_class: "/fg/normal/gadgets/connman/cell/signal";
visible: 0;
}
description { state: "partly" 0.0;
inherit: "default" 0.0;
color: 255 255 255 128;
color: 255 255 255 128; // no cc
visible: 1;
}
description { state: "visible" 0.0;
@ -213,14 +205,14 @@ group { name: "e/modules/connman/main";
part { name: "cell_3"; mouse_events: 0;
clip_to: "clip_cell";
description { state: "default" 0.0;
rel1.to: "cell_base";
rel2.to: "cell_base";
image.normal: "cell_sig_3.png";
rel.to: "cell_base";
image.normal: "cell-3.png";
color_class: "/fg/normal/gadgets/connman/cell/signal";
visible: 0;
}
description { state: "partly" 0.0;
inherit: "default" 0.0;
color: 255 255 255 128;
color: 255 255 255 128; // no cc
visible: 1;
}
description { state: "visible" 0.0;
@ -231,14 +223,14 @@ group { name: "e/modules/connman/main";
part { name: "cell_4"; mouse_events: 0;
clip_to: "clip_cell";
description { state: "default" 0.0;
rel1.to: "cell_base";
rel2.to: "cell_base";
image.normal: "cell_sig_4.png";
rel.to: "cell_base";
image.normal: "cell-4.png";
color_class: "/fg/normal/gadgets/connman/cell/signal";
visible: 0;
}
description { state: "partly" 0.0;
inherit: "default" 0.0;
color: 255 255 255 128;
color: 255 255 255 128; // no cc
visible: 1;
}
description { state: "visible" 0.0;
@ -247,30 +239,6 @@ group { name: "e/modules/connman/main";
}
}
///////////////////////
part { name: "slot"; mouse_events: 0;
description { state: "default" 0.0;
rel1.offset: 0 -1;
rel1.relative: (21/160) 1.0;
rel2.offset: -1 -1;
rel2.relative: (140/160) 1.0;
align: 0.5 1.0;
min: 0 6;
image.normal: "slot_horiz_top.png";
fixed: 0 1;
}
}
part { name: "hole"; mouse_events: 0;
description { state: "default" 0.0;
rel1.offset: -4 -4;
rel1.relative: 1.0 1.0;
rel2.offset: -4 -4;
align: 1.0 1.0;
min: 4 4;
max: 4 4;
image.normal: "hole_tiny.png";
fixed: 1 1;
}
}
part { name: "clip_exclam"; type: RECT;
description { state: "default" 0.0;
visible: 1;
@ -356,30 +324,9 @@ group { name: "e/modules/connman/main";
visible: 1;
}
}
part { name: "led"; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "hole";
rel2.to: "hole";
min: 10 10;
max: 10 10;
image.normal: "led_tiny_orange.png";
fixed: 1 1;
visible: 0;
}
description { state: "connected" 0.0;
inherit: "default" 0.0;
image.normal: "led_tiny_orange.png";
visible: 1;
}
description { state: "online" 0.0;
inherit: "default" 0.0;
image.normal: "led_tiny_green.png";
visible: 1;
}
}
part { name: "event"; type: RECT;
description { state: "default" 0.0;
color: 0 0 0 0;
color: 0 0 0 0; // no cc
}
}
}
@ -389,41 +336,7 @@ script { \
public message(Msg_Type:type, id, ...) { \
if ((type == MSG_INT_SET) && (id == 1)) { \
new state = getarg(2), signl = getarg(3); \
if (signl <= 14) { \
set_state(PART:"wifi_1", "default", 0.0); \
set_state(PART:"wifi_2", "default", 0.0); \
set_state(PART:"wifi_3", "default", 0.0); \
} \
else if (signl <= 28) { \
set_state(PART:"wifi_1", "partly", 0.0); \
set_state(PART:"wifi_2", "default", 0.0); \
set_state(PART:"wifi_3", "default", 0.0); \
} \
else if (signl <= 42) { \
set_state(PART:"wifi_1", "visible", 0.0); \
set_state(PART:"wifi_2", "default", 0.0); \
set_state(PART:"wifi_3", "default", 0.0); \
} \
else if (signl <= 57) { \
set_state(PART:"wifi_1", "visible", 0.0); \
set_state(PART:"wifi_2", "partly", 0.0); \
set_state(PART:"wifi_3", "default", 0.0); \
} \
else if (signl <= 71) { \
set_state(PART:"wifi_1", "visible", 0.0); \
set_state(PART:"wifi_2", "visible", 0.0); \
set_state(PART:"wifi_3", "default", 0.0); \
} \
else if (signl <= 85) { \
set_state(PART:"wifi_1", "visible", 0.0); \
set_state(PART:"wifi_2", "visible", 0.0); \
set_state(PART:"wifi_3", "partly", 0.0); \
} \
else { \
set_state(PART:"wifi_1", "visible", 0.0); \
set_state(PART:"wifi_2", "visible", 0.0); \
set_state(PART:"wifi_3", "visible", 0.0); \
} \
set_state(PART:"wifi", "default", float(signl) / 100.0); \
if (signl <= 20) { \
set_state(PART:"bt_1", "default", 0.0); \
set_state(PART:"bt_2", "default", 0.0); \
@ -499,17 +412,31 @@ set_state(PART:"cell_3", "visible", 0.0); \
set_state(PART:"cell_4", "visible", 0.0); \
} \
if ((state == 2)) { \
set_state(PART:"led", "default", 0.0); \
run_program(PROGRAM:"connecting"); \
set_state(PART:"wifi-base", "default", 0.0); \
set_state(PART:"eth-base", "default", 0.0); \
set_state(PART:"eth", "default", 0.0); \
/*run_program(PROGRAM:"connecting");*/ \
return; } \
else if ((state == 3)) { return; } \
else if ((state == 4)) { set_state(PART:"led", "connected", 0.0); } \
else if ((state == 5)) { set_state(PART:"led", "online", 0.0); } \
else { set_state(PART:"led", "default", 0.0); \
else if ((state == 4)) { \
set_state(PART:"wifi-base", "connected", 0.0); \
set_state(PART:"eth-base", "connected", 0.0); \
set_state(PART:"eth", "connected", 0.0); \
} \
else if ((state == 5)) { \
set_state(PART:"wifi-base", "online", 0.0); \
set_state(PART:"eth-base", "online", 0.0); \
set_state(PART:"eth", "online", 0.0); \
} \
else { \
set_state(PART:"wifi-base", "default", 0.0); \
set_state(PART:"eth-base", "default", 0.0); \
set_state(PART:"eth", "default", 0.0); \
} } } }
SCRIPT_MESSAGE()
programs {
/*
program { name: "connecting";
action: STATE_SET "connected" 0.0;
target: "led";
@ -522,6 +449,7 @@ else { set_state(PART:"led", "default", 0.0); \
in: 0.3 0.0;
after: "connecting";
}
*/
// program {
// signal: "e,available"; source: "e";
// }
@ -589,8 +517,7 @@ group { name: "e/modules/connman/icon/wifi";
inherit: "e/modules/connman/main";
SCRIPT_MESSAGE()
programs {
program {
signal: "load"; source: "";
program { signal: "load"; source: "";
action: STATE_SET "wifi" 0.0;
target: "clip_exclam";
target: "clip_wifi";
@ -605,8 +532,7 @@ group { name: "e/modules/connman/icon/ethernet";
inherit: "e/modules/connman/main";
SCRIPT_MESSAGE()
programs {
program {
signal: "load"; source: "";
program { signal: "load"; source: "";
action: STATE_SET "eth" 0.0;
target: "clip_exclam";
target: "clip_wifi";
@ -621,8 +547,7 @@ group { name: "e/modules/connman/icon/bluetooth";
inherit: "e/modules/connman/main";
SCRIPT_MESSAGE()
programs {
program {
signal: "load"; source: "";
program { signal: "load"; source: "";
action: STATE_SET "bt" 0.0;
target: "clip_exclam";
target: "clip_wifi";
@ -637,8 +562,7 @@ group { name: "e/modules/connman/icon/cellular";
inherit: "e/modules/connman/main";
SCRIPT_MESSAGE()
programs {
program {
signal: "load"; source: "";
program { signal: "load"; source: "";
action: STATE_SET "cell" 0.0;
target: "clip_exclam";
target: "clip_wifi";
@ -650,61 +574,56 @@ group { name: "e/modules/connman/icon/cellular";
}
group { name: "e/modules/connman/end";
images.image: "glow_lock_locked.png" COMP;
images.image: "glow_lock_unlocked.png" COMP;
images.image: "glow_lock_double.png" COMP;
parts {
part { name: "base"; mouse_events: 0;
description { state: "default" 0.0;
image.normal: "glow_lock_locked.png";
image.normal: "i-unlock";
aspect: 1.0 1.0; aspect_preference: BOTH;
color_class: "/fg/normal/gadgets/connman/security/none";
visible: 0;
}
description { state: "none" 0.0;
inherit: "default" 0.0;
image.normal: "glow_lock_unlocked.png";
image.normal: "i-unlock";
color_class: "/fg/normal/gadgets/connman/security/none";
visible: 1;
}
description { state: "wep" 0.0;
inherit: "default" 0.0;
image.normal: "glow_lock_locked.png";
image.normal: "i-lock";
color_class: "/fg/normal/gadgets/connman/security/secure/low";
visible: 1;
}
description { state: "psk" 0.0;
inherit: "default" 0.0;
image.normal: "glow_lock_double.png";
image.normal: "i-lock-double";
color_class: "/fg/normal/gadgets/connman/security/secure/hi";
visible: 1;
}
}
}
programs {
program {
signal: "e,security,off"; source: "e";
program { signal: "e,security,off"; source: "e";
action: STATE_SET "default" 0.0;
target: "base";
}
program {
signal: "e,security,none"; source: "e";
program { signal: "e,security,none"; source: "e";
action: STATE_SET "none" 0.0;
target: "base";
}
program {
signal: "e,security,wep"; source: "e";
program { signal: "e,security,wep"; source: "e";
action: STATE_SET "wep" 0.0;
target: "base";
}
program {
signal: "e,security,psk"; source: "e";
program { signal: "e,security,psk"; source: "e";
action: STATE_SET "psk" 0.0;
target: "base";
}
program {
signal: "e,security,ieee8021x"; source: "e";
program { signal: "e,security,ieee8021x"; source: "e";
action: STATE_SET "psk" 0.0;
target: "base";
}
program {
signal: "e,security,wps"; source: "e";
program { signal: "e,security,wps"; source: "e";
action: STATE_SET "wep" 0.0;
target: "base";
}

View File

@ -1,64 +1,61 @@
group { name: "e/modules/cpufreq/main";
alias: "e/gadget/cpuclock/main";
alias: "e/gadget/cpuclock/main_vert";
images.image: "tacho_base.png" COMP;
images.image: "inset_round_hilight.png" COMP;
images.image: "inset_round_shadow.png" COMP;
images.image: "inset_round_shading.png" COMP;
set { name: "tacho_hand_big";
image { image: "tacho_hand_big.png" COMP; size: 73 73 99999 99999; }
image { image: "tacho_hand_big2.png" COMP; size: 37 37 72 72; }
image { image: "tacho_hand_big3.png" COMP; size: 19 19 36 36; }
image { image: "tacho_hand_big4.png" COMP; size: 0 0 18 18; }
set { name: "cpu_markers";
image { image: "cpu_markers-160.png" COMP; size: 81 81 99999 99999; }
image { image: "cpu_markers-080.png" COMP; size: 41 41 80 80 99999; }
image { image: "cpu_markers-040.png" COMP; size: 0 0 40 40; }
}
images.image: "tacho_hand_big_shadow.png" COMP;
set { name: "tacho_hand_small_min";
image { image: "tacho_hand_small_min.png" COMP; size: 73 73 99999 99999; }
image { image: "tacho_hand_small_min2.png" COMP; size: 37 37 72 72; }
image { image: "tacho_hand_small_min3.png" COMP; size: 19 19 36 36; }
image { image: "tacho_hand_small_min4.png" COMP; size: 0 0 18 18; }
set { name: "cpu_detail";
image { image: "cpu_detail-160.png" COMP; size: 81 81 99999 99999; }
image { image: "cpu_detail-080.png" COMP; size: 41 41 80 80 99999; }
image { image: "cpu_detail-040.png" COMP; size: 0 0 40 40; }
}
images.image: "tacho_hand_small_shadow.png" COMP;
set { name: "knob";
image { image: "knob_sz_24.png" COMP; size: 31 31 32 32; }
image { image: "knob_sz_22.png" COMP; size: 29 29 30 30; }
image { image: "knob_sz_20.png" COMP; size: 27 27 28 28; }
image { image: "knob_sz_18.png" COMP; size: 25 25 26 26; }
image { image: "knob_sz_16.png" COMP; size: 23 23 24 24; }
image { image: "knob_sz_14.png" COMP; size: 21 21 22 22; }
image { image: "knob_sz_12.png" COMP; size: 19 19 20 20; }
image { image: "knob_sz_10.png" COMP; size: 17 17 18 18; }
image { image: "knob_sz_08.png" COMP; size: 15 15 16 16; }
image { image: "knob_sz_06.png" COMP; size: 13 13 14 14; }
image { image: "knob_sz_04.png" COMP; size: 0 0 12 12; }
set { name: "cpu_clip_1";
image { image: "cpu_clip_1-160.png" COMP; size: 81 81 99999 99999; }
image { image: "cpu_clip_1-080.png" COMP; size: 41 41 80 80 99999; }
image { image: "cpu_clip_1-040.png" COMP; size: 0 0 40 40; }
}
set { name: "cpu_clip_2";
image { image: "cpu_clip_2-160.png" COMP; size: 81 81 99999 99999; }
image { image: "cpu_clip_2-080.png" COMP; size: 41 41 80 80 99999; }
image { image: "cpu_clip_2-040.png" COMP; size: 0 0 40 40; }
}
set { name: "cpu_clip_3";
image { image: "cpu_clip_3-160.png" COMP; size: 81 81 99999 99999; }
image { image: "cpu_clip_3-080.png" COMP; size: 41 41 80 80 99999; }
image { image: "cpu_clip_3-040.png" COMP; size: 0 0 40 40; }
}
set { name: "cpu_marker";
image { image: "cpu_marker.png" COMP; size: 72 72 99999 99999; }
image { image: "cpu_marker2.png" COMP; size: 36 36 72 72; }
image { image: "cpu_marker3.png" COMP; size: 18 18 36 36; }
image { image: "cpu_marker4.png" COMP; size: 0 0 4 18; }
}
script {
public available_frequencies;
public available_governors;
// public cur_freq_anim;
public cur_freq_old;
public cur_freq_new;
public cur_freq_now;
public cur_freq_anim;
public min_freq_old;
public min_freq_new;
public min_freq_now;
public max_freq_old;
public max_freq_new;
public max_freq_now;
public slide_cur_freq(val, Float:v) {
public show_freq(Float:v) {
new Float:freq, Float:min_freq, Float:max_freq, Float:tf;
new f, f0, f1;
v = (1.0 - cos(v * 3.141592654)) / 2.0;
min_freq = fetch_int(available_frequencies, 0);
max_freq = fetch_int(available_frequencies,
count(available_frequencies) - 1);
f0 = get_int(cur_freq_old);
f1 = get_int(cur_freq_new);
f = f1 - f0;
@ -66,16 +63,13 @@ group { name: "e/modules/cpufreq/main";
f = round(freq);
f = f + f0;
set_int(cur_freq_now, f);
freq = (float(f) - min_freq) / (max_freq - min_freq);
tf = (freq * 225.0) - 135.0;
custom_state(PART:"meter", "default", 0.0);
set_state_val(PART:"meter", STATE_MAP_ROT_Z, tf);
set_state(PART:"meter", "custom", 0.0);
custom_state(PART:"meter_sh", "default", 0.0);
set_state_val(PART:"meter_sh", STATE_MAP_ROT_Z, tf);
set_state(PART:"meter_sh", "custom", 0.0);
f0 = get_int(min_freq_old);
f1 = get_int(min_freq_new);
f = f1 - f0;
@ -83,16 +77,13 @@ group { name: "e/modules/cpufreq/main";
f = round(freq);
f = f + f0;
set_int(min_freq_now, f);
freq = (float(f) - min_freq) / (max_freq - min_freq);
tf = (freq * 225.0) - 135.0;
custom_state(PART:"meter_min", "default", 0.0);
set_state_val(PART:"meter_min", STATE_MAP_ROT_Z, tf);
set_state(PART:"meter_min", "custom", 0.0);
custom_state(PART:"meter_min_sh", "default", 0.0);
set_state_val(PART:"meter_min_sh", STATE_MAP_ROT_Z, tf);
set_state(PART:"meter_min_sh", "custom", 0.0);
f0 = get_int(max_freq_old);
f1 = get_int(max_freq_new);
f = f1 - f0;
@ -100,23 +91,24 @@ group { name: "e/modules/cpufreq/main";
f = round(freq);
f = f + f0;
set_int(max_freq_now, f);
freq = (float(f) - min_freq) / (max_freq - min_freq);
tf = (freq * 225.0) - 135.0;
custom_state(PART:"meter_max", "default", 0.0);
set_state_val(PART:"meter_max", STATE_MAP_ROT_Z, tf);
set_state(PART:"meter_max", "custom", 0.0);
custom_state(PART:"meter_max_sh", "default", 0.0);
set_state_val(PART:"meter_max_sh", STATE_MAP_ROT_Z, tf);
set_state(PART:"meter_max_sh", "custom", 0.0);
if (v >= 1.0) {
set_int(cur_freq_anim, 0);
return 0;
}
return 1;
}
// public slide_cur_freq(val, Float:v) {
// v = (1.0 - cos(v * 3.141592654)) / 2.0;
// show_freq(v);
// if (v >= 1.0) {
// set_int(cur_freq_anim, 0);
// return 0;
// }
// return 1;
// }
public message(Msg_Type:type, id, ...) {
if ((type == MSG_INT_SET) && (id == 1)) { // add an available freq
while (count(available_frequencies) > 0) {
@ -125,7 +117,7 @@ group { name: "e/modules/cpufreq/main";
for (new i = 2; i < numargs(); i++) {
append_int(available_frequencies, getarg(i));
}
}
}
else if ((type == MSG_STRING_SET) && (id == 2)) { // add a governor
new text[100];
while (count(available_governors) > 0) {
@ -136,11 +128,11 @@ group { name: "e/modules/cpufreq/main";
append_str(available_governors, text);
}
} else if ((type == MSG_INT_SET) && (id == 3)) { // avg freq
new f;
new ani, curf, minf, maxf;
// new ani;
new f, curf, minf, maxf;
new text[100];
f = getarg(2);
f = getarg(2);
if (f < 1000000) {
f += 500;
snprintf(text, 100, "%i", f / 1000);
@ -150,26 +142,28 @@ group { name: "e/modules/cpufreq/main";
(f % 1000000) / 100000);
}
set_text(PART:"readout", text);
ani = get_int(cur_freq_anim);
if (ani > 0) cancel_anim(ani);
ani = anim(0.25, "slide_cur_freq", 0);
set_int(cur_freq_anim, ani);
f = getarg(2);
curf = get_int(cur_freq_now);
set_int(cur_freq_old, curf);
set_int(cur_freq_new, f);
f = getarg(4);
minf = get_int(min_freq_now);
set_int(min_freq_old, minf);
set_int(min_freq_new, f);
f = getarg(5);
maxf = get_int(max_freq_now);
set_int(max_freq_old, maxf);
set_int(max_freq_new, f);
// ani = get_int(cur_freq_anim);
// if (ani > 0) cancel_anim(ani);
// ani = anim(0.2, "slide_cur_freq", 0);
// set_int(cur_freq_anim, ani);
show_freq(1.0);
} else if ((type == MSG_STRING) && (id == 4)) {
new text[100];
snprintf(text, 100, "%s", getarg(2));
@ -179,191 +173,115 @@ group { name: "e/modules/cpufreq/main";
parts {
part { name: "fade_clip"; type: RECT;
description { state: "default" 0.0;
color: 255 255 255 255;
}
description { state: "faded" 0.0;
color: 255 255 255 128;
color: 255 255 255 128; // no cc
}
}
part { name: "base-sh";
part { name: "clip1";
clip_to: "fade_clip";
description { state: "default" 0.0;
rel1.to: "base";
rel1.offset: 0 -1;
rel2.to: "base";
rel2.offset: -1 -2;
image.normal: "inset_round_shadow.png";
rel.to: "base";
image.normal: "cpu_clip_1";
}
}
part { name: "base-hi";
part { name: "clip2";
clip_to: "fade_clip";
description { state: "default" 0.0;
rel1.to: "base";
rel1.offset: 0 1;
rel2.to: "base";
rel2.offset: -1 0;
image.normal: "inset_round_hilight.png";
rel.to: "base";
image.normal: "cpu_clip_2";
}
}
part { name: "clip3";
clip_to: "fade_clip";
description { state: "default" 0.0;
rel.to: "base";
image.normal: "cpu_clip_3";
}
}
part { name: "base";
description { state: "default" 0.0;
rel1.relative: (25/380) (25/380);
rel2.relative: (365/380) (365/380);
aspect: 1.0 1.0; aspect_preference: BOTH;
image.normal: "tacho_base.png";
image.normal: "clock_base";
color_class: "/bg/normal/gadgets/cpufreq/base";
}
}
part { name: "base_detail";
description { state: "default" 0.0;
rel.to: "base";
aspect: 1.0 1.0; aspect_preference: BOTH;
image.normal: "cpu_detail";
color_class: "/bg/normal/gadgets/cpufreq/detail";
}
}
part { name: "base_markers";
description { state: "default" 0.0;
rel.to: "base";
aspect: 1.0 1.0; aspect_preference: BOTH;
image.normal: "cpu_markers";
color_class: "/fg/normal/gadgets/cpufreq/digits";
}
}
part { name: "readout"; type: TEXT; mouse_events: 0;
scale: 1;
effect: SHADOW BOTTOM;
clip_to: "fade_clip";
description { state: "default" 0.0;
rel1.to: "knob2";
rel1.relative: 1.0 1.0;
rel1.offset: -2 -2;
rel2.relative: 0.75 0.75;
color_class: "module_label";
color3: 255 255 255 255;
text { font: FNBOLD; size: 6;
align: 0.5 0.5;
rel1.relative: (56/144) (56/144);
rel2.relative: (88/144) (88/144);
color_class: "/fg/normal/gadgets/cpufreq/text";
text { font: FN; size: 6;
min: 1 1;
ellipsis: -1;
text_class: "module_small";
}
}
}
part { name: "meter_min_sh"; mouse_events: 0;
clip_to: "fade_clip";
description { state: "default" 0.0;
image.normal: "tacho_hand_small_shadow.png";
rel1.to: "meter_sh";
rel2.to: "meter_sh";
map {
on: 1;
rotation.center: "meter_min_sh";
}
}
}
part { name: "meter_min"; mouse_events: 0;
clip_to: "fade_clip";
clip_to: "clip3";
description { state: "default" 0.0;
image.normal: "tacho_hand_small_min";
color: 51 153 255 255;
rel1.to: "base";
rel2.to: "base";
image.normal: "cpu_marker";
color_class: "/fg/normal/gadgets/cpufreq/hands/min";
rel.to: "base";
map {
on: 1;
rotation.center: "base";
}
}
}
part { name: "meter_max_sh"; mouse_events: 0;
clip_to: "fade_clip";
description { state: "default" 0.0;
image.normal: "tacho_hand_small_shadow.png";
rel1.to: "meter_sh";
rel2.to: "meter_sh";
map {
on: 1;
rotation.center: "meter_max_sh";
}
}
}
part { name: "meter_max"; mouse_events: 0;
clip_to: "fade_clip";
clip_to: "clip1";
description { state: "default" 0.0;
image.normal: "tacho_hand_small_min";
color: 255 153 51 255;
rel1.to: "base";
rel2.to: "base";
image.normal: "cpu_marker";
color_class: "/fg/normal/gadgets/cpufreq/hands/max";
rel.to: "base";
map {
on: 1;
rotation.center: "base";
}
}
}
part { name: "meter_sh"; mouse_events: 0;
clip_to: "fade_clip";
description { state: "default" 0.0;
image.normal: "tacho_hand_big_shadow.png";
rel1.to: "meter";
rel1.relative: 0.0 (15/380);
rel1.offset: 0 1;
rel2.to: "meter";
rel2.relative: 1.0 (395/380);
rel2.offset: -1 0;
map {
on: 1;
rotation.center: "meter_sh";
}
}
}
part { name: "meter"; mouse_events: 0;
clip_to: "fade_clip";
clip_to: "clip2";
description { state: "default" 0.0000;
color: 255 0 0 255;
image.normal: "tacho_hand_big";
rel1.to: "base";
rel2.to: "base";
image.normal: "cpu_marker";
color_class: "/fg/normal/gadgets/cpufreq/hands/average";
rel.to: "base";
map {
on: 1;
rotation.center: "base";
}
}
}
part { name: "over"; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "base";
rel2.to: "base";
image.normal: "inset_round_shading.png";
}
}
part { name: "knob"; type: SPACER;
description { state: "default" 0.0;
rel1.relative: (140/340) (140/340);
rel1.to: "base";
rel2.relative: (205/340) (205/340);
rel2.to: "base";
min: 4 4;
step: 2 2;
max: 24 24;
}
}
part { name: "knob2";
description { state: "default" 0.0;
rel1.offset: -4 -4;
rel1.to: "knob";
rel2.offset: 3 3;
rel2.to: "knob";
min: 12 12;
max: 32 32;
image.normal: "knob";
}
}
}
programs {
program {
signal: "e,state,enabled"; source: "e";
program { signal: "e,state,enabled"; source: "e";
action: STATE_SET "default" 0.0;
target: "fade_clip";
}
program {
signal: "e,state,disabled"; source: "e";
program { signal: "e,state,disabled"; source: "e";
action: STATE_SET "faded" 0.0;
target: "fade_clip";
}
}
}
group { name: "e/gadget/cpuclock/main";
alias: "e/gadget/cpuclock/main_vert";
inherit: "e/modules/cpufreq/main";
parts {
part { name: "readout"; type: TEXT; mouse_events: 0;
scale: 1;
effect: SHADOW BOTTOM;
clip_to: "fade_clip";
description { state: "default" 0.0;
visible: 0;
}
}
}
}

View File

@ -1,186 +0,0 @@
group { name: "e/gadget/cpumonitor/main";
alias: "e/gadget/cpumonitor/main_vert";
parts {
part { name: "e.swallow.content"; type: SWALLOW;
description { state: "default" 0.0;
}
}
}
}
group { name: "e/gadget/cpumonitor/core/main";
image: "cpu_bar.png" COMP;
image: "cpu_green_on.png" COMP;
image: "cpu_yellow_on.png" COMP;
image: "cpu_red_on.png" COMP;
script {
public message(Msg_Type:type, id, ...) {
if ((type == MSG_INT_SET) && (id == 1)) {
new val = getarg(2);
if (val > (100 / 7 * 1)) set_state(PART:"led1", "on", 0.0);
else set_state(PART:"led1", "off", 0.0);
if (val > (100 / 7 * 2)) set_state(PART:"led2", "on", 0.0);
else set_state(PART:"led2", "off", 0.0);
if (val > (100 / 7 * 3)) set_state(PART:"led3", "on", 0.0);
else set_state(PART:"led3", "off", 0.0);
if (val > (100 / 7 * 4)) set_state(PART:"led4", "on", 0.0);
else set_state(PART:"led4", "off", 0.0);
if (val > (100 / 7 * 5)) set_state(PART:"led5", "on", 0.0);
else set_state(PART:"led5", "off", 0.0);
if (val > (100 / 7 * 6)) set_state(PART:"led6", "on", 0.0);
else set_state(PART:"led6", "off", 0.0);
}
}
}
parts {
part { name: "bg";
desc { "default";
aspect: (10 / 54) (10 / 54);
aspect_preference: VERTICAL;
image.normal: "cpu_bar.png";
}
part { name: "led1";
desc { "default"; hid;
rel1.relative: 0.0 (1.0 / 6 * 5);
rel2.relative: 1.0 (1.0 / 6 * 6);
image.normal: "cpu_green_on.png";
}
desc { "on"; inherit: "default"; vis; }
desc { "off"; inherit: "default"; hid; }
}
part { name: "led2";
desc { "default"; hid;
rel1.relative: 0.0 (1.0 / 6 * 4);
rel2.relative: 1.0 (1.0 / 6 * 5);
image.normal: "cpu_green_on.png";
}
desc { "on"; inherit: "default"; vis; }
desc { "off"; inherit: "default"; hid; }
}
part { name: "led3";
desc { "default"; hid;
rel1.relative: 0.0 (1.0 / 6 * 3);
rel2.relative: 1.0 (1.0 / 6 * 4);
image.normal: "cpu_green_on.png";
}
desc { "on"; inherit: "default"; vis; }
desc { "off"; inherit: "default"; hid; }
}
part { name: "led4";
desc { "default"; hid;
rel1.relative: 0.0 (1.0 / 6 * 2);
rel2.relative: 1.0 (1.0 / 6 * 3);
image.normal: "cpu_yellow_on.png";
}
desc { "on"; inherit: "default"; vis; }
desc { "off"; inherit: "default"; hid; }
}
part { name: "led5";
desc { "default"; hid;
rel1.relative: 0.0 (1.0 / 6 * 1);
rel2.relative: 1.0 (1.0 / 6 * 2);
image.normal: "cpu_yellow_on.png";
}
desc { "on"; inherit: "default"; vis; }
desc { "off"; inherit: "default"; hid; }
}
part { name: "led6";
desc { "default"; hid;
rel1.relative: 0.0 (1.0 / 6 * 0);
rel2.relative: 1.0 (1.0 / 6 * 1);
image.normal: "cpu_red_on.png";
}
desc { "on"; inherit: "default"; vis; }
desc { "off"; inherit: "default"; hid; }
}
}
}
}
group { name: "e/gadget/cpumonitor/core/main_vert";
image: "cpu_bar_vert.png" COMP;
image: "cpu_green_on_vert.png" COMP;
image: "cpu_yellow_on_vert.png" COMP;
image: "cpu_red_on_vert.png" COMP;
script {
public message(Msg_Type:type, id, ...) {
if ((type == MSG_INT_SET) && (id == 1)) {
new val = getarg(2);
if (val > (100 / 7 * 1)) set_state(PART:"led1", "on", 0.0);
else set_state(PART:"led1", "off", 0.0);
if (val > (100 / 7 * 2)) set_state(PART:"led2", "on", 0.0);
else set_state(PART:"led2", "off", 0.0);
if (val > (100 / 7 * 3)) set_state(PART:"led3", "on", 0.0);
else set_state(PART:"led3", "off", 0.0);
if (val > (100 / 7 * 4)) set_state(PART:"led4", "on", 0.0);
else set_state(PART:"led4", "off", 0.0);
if (val > (100 / 7 * 5)) set_state(PART:"led5", "on", 0.0);
else set_state(PART:"led5", "off", 0.0);
if (val > (100 / 7 * 6)) set_state(PART:"led6", "on", 0.0);
else set_state(PART:"led6", "off", 0.0);
}
}
}
parts {
part { name: "bg";
desc { "default";
aspect: (54 / 10) (54 / 10);
aspect_preference: HORIZONTAL;
image.normal: "cpu_bar_vert.png";
}
part { name: "led1";
desc { "default"; hid;
rel1.relative: (1.0 / 6 * 0) 0.0;
rel2.relative: (1.0 / 6 * 1) 1.0;
image.normal: "cpu_green_on_vert.png";
}
desc { "on"; inherit: "default"; vis; }
desc { "off"; inherit: "default"; hid; }
}
part { name: "led2";
desc { "default"; hid;
rel1.relative: (1.0 / 6 * 1) 0.0;
rel2.relative: (1.0 / 6 * 2) 1.0;
image.normal: "cpu_green_on_vert.png";
}
desc { "on"; inherit: "default"; vis; }
desc { "off"; inherit: "default"; hid; }
}
part { name: "led3";
desc { "default"; hid;
rel1.relative: (1.0 / 6 * 2) 0.0;
rel2.relative: (1.0 / 6 * 3) 1.0;
image.normal: "cpu_green_on_vert.png";
}
desc { "on"; inherit: "default"; vis; }
desc { "off"; inherit: "default"; hid; }
}
part { name: "led4";
desc { "default"; hid;
rel1.relative: (1.0 / 6 * 3) 0.0;
rel2.relative: (1.0 / 6 * 4) 1.0;
image.normal: "cpu_yellow_on_vert.png";
}
desc { "on"; inherit: "default"; vis; }
desc { "off"; inherit: "default"; hid; }
}
part { name: "led5";
desc { "default"; hid;
rel1.relative: (1.0 / 6 * 4) 0.0;
rel2.relative: (1.0 / 6 * 5) 1.0;
image.normal: "cpu_yellow_on_vert.png";
}
desc { "on"; inherit: "default"; vis; }
desc { "off"; inherit: "default"; hid; }
}
part { name: "led6";
desc { "default"; hid;
rel1.relative: (1.0 / 6 * 5) 0.0;
rel2.relative: (1.0 / 6 * 6) 1.0;
image.normal: "cpu_red_on_vert.png";
}
desc { "on"; inherit: "default"; vis; }
desc { "off"; inherit: "default"; hid; }
}
}
}
}

View File

@ -1,102 +1,54 @@
group { name: "e/widgets/cslider";
images.image: "inset_shadow.png" COMP;
images.image: "bevel_in.png" COMP;
images.image: "col_sel_end_bottom.png" COMP;
images.image: "col_sel_end_top.png" COMP;
images.image: "col_sel_end_left.png" COMP;
images.image: "col_sel_end_right.png" COMP;
parts {
part { name: "bg"; type: RECT;
scale: 1;
description { state: "default" 0.0;
rel1.to: "e.swallow.content";
rel2.to: "e.swallow.content";
color: 48 48 48 255;
rel1.offset: 2 2;
rel2.offset: -3 -3;
color_class: "/bg-dark/normal/cslider/base";
offscale;
}
}
part { name: "clipper"; type: RECT;
description { state: "default" 0.0;
rel1.to: "e.swallow.content";
rel2.to: "e.swallow.content";
rel.to: "e.swallow.content";
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color: 255 255 255 64;
color: 255 255 255 64; // no cc
}
}
part { name: "e.swallow.content"; type: SWALLOW;
clip_to: "clipper";
scale: 1;
description { state: "default" 0.0;
rel1.offset: 3 3;
rel2.offset: -4 -4;
rel1.offset: 2 2;
rel2.offset: -3 -3;
offscale;
}
}
part { name: "e.dragable.cursor"; type: RECT;
clip_to: "clipper";
part { name: "e.dragable.cursor"; type: RECT; mouse_events: 0;
dragable.confine: "e.swallow.content";
dragable.x: 1 1 0;
dragable.y: -1 1 0;
description { state: "default" 0.0;
fixed: 1 1;
min: 1 1;
max: 1 1;
fixed: 1 1;
visible: 0;
rel1.to: "e.swallow.content";
rel.to: "e.swallow.content";
rel1.relative: 0.5 0.0;
rel2.to: "e.swallow.content";
rel2.relative: 0.5 0.5;
color: 255 255 255 150;
}
}
part { name: "shadow"; mouse_events: 0;
description { state: "default" 0.0;
image.normal: "inset_shadow.png";
image.border: 5 5 7 3;
image.middle: 0;
rel1.to: "bg";
rel2.to: "bg";
fill.smooth: 0;
color: 255 255 255 128;
}
}
part { name: "end1"; mouse_events: 0;
clip_to: "clipper";
description { state: "default" 0.0;
image.normal: "col_sel_end_top.png";
FIXED_SIZE(11, 8)
align: 0.5 0.0;
rel1.to: "cursor";
rel2.to: "cursor";
}
description { state: "vertical" 0.0;
inherit: "default" 0.0;
image.normal: "col_sel_end_left.png";
FIXED_SIZE(8, 11)
align: 0.0 0.5;
}
}
part { name: "end2"; mouse_events: 0;
clip_to: "clipper";
description { state: "default" 0.0;
image.normal: "col_sel_end_bottom.png";
FIXED_SIZE(11, 8)
align: 0.5 1.0;
rel1.to: "cursor";
rel2.to: "cursor";
}
description { state: "vertical" 0.0;
inherit: "default" 0.0;
image.normal: "col_sel_end_right.png";
FIXED_SIZE(8, 11)
align: 1.0 0.5;
}
}
part { name: "cursor"; type: RECT; mouse_events: 0;
clip_to: "clipper";
description { state: "default" 0.0;
rel1.to_x: "e.dragable.cursor";
rel1.to_y: "e.swallow.content";
rel2.to_x: "e.dragable.cursor";
rel2.to_y: "e.swallow.content";
color: 255 255 255 150;
color: 255 255 255 192; // no cc
}
description { state: "vertical" 0.0;
inherit: "default" 0.0;
@ -106,41 +58,22 @@ group { name: "e/widgets/cslider";
rel2.to_y: "e.dragable.cursor";
}
}
part { name: "inset"; mouse_events: 0;
description { state: "default" 0.0;
image.normal: "bevel_in.png";
image.border: 1 1 1 1;
image.middle: 0;
rel1.to: "bg";
rel1.offset: -1 -1;
rel2.to: "bg";
rel2.offset: 0 0;
fill.smooth: 0;
}
}
}
programs {
program {
signal: "e,state,direction,v"; source: "e";
program { signal: "e,state,direction,v"; source: "e";
action: STATE_SET "vertical" 0.0;
target: "cursor";
target: "end1";
target: "end2";
}
program {
signal: "mouse,clicked,1"; source: "inset";
program { signal: "mouse,clicked,1"; source: "inset";
action: SIGNAL_EMIT "e,action,click" "";
}
program {
signal: "e,state,disabled"; source: "e";
program { signal: "e,state,disabled"; source: "e";
action: STATE_SET "disabled" 0.0;
target: "clipper";
}
program {
signal: "e,state,enabled"; source: "e";
program { signal: "e,state,enabled"; source: "e";
action: STATE_SET "default" 0.0;
target: "clipper";
}
}
}

View File

@ -1,22 +1,37 @@
group { name: "e/desklock/background";
images.image: "bg_radgrad.png" COMP;
images.image: "dot_pattern.png" COMP;
data.item: "hide_signal" "1";
parts {
part { name: "bg";
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
image.normal: "bg_radgrad.png";
image.scale_hint: STATIC;
fill.smooth: 0;
ASPECT_FILL((1024/653))
color: 255 255 255 0; // no cc
visible: 0;
}
description { state: "visible" 0.0;
color: 255 255 255 255; // no cc
visible: 1;
}
}
part { name: "pat";
part { name: "bg"; type: RECT;
clip_to: "clip";
description { state: "default" 0.0;
image.normal: "dot_pattern.png";
TILED_PATTERN(256, 256)
color_class: "/bg/normal/desklock/background";
}
}
program { signal: "show"; source: "";
action: STATE_SET "visible" 0.0;
transition: SINUSOIDAL 0.5 USE_DURATION_FACTOR 1;
target: "clip";
}
program { signal: "e,action,hide"; source: "e";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.5 USE_DURATION_FACTOR 1;
target: "clip";
sequence {
action: SIGNAL_EMIT "e,action,hide,done" "e";
}
}
part { name: "e.swallow.login_box"; type: SWALLOW;
clip_to: "clip";
description { state: "default" 0.0;
}
}
@ -24,13 +39,16 @@ group { name: "e/desklock/background";
}
group { name: "e/desklock/login_box";
images.image: "inset_shadow.png" COMP;
images.image: "bevel_in.png" COMP;
images.image: "white_bar_vert_glow.png" COMP;
images.image: "logo_blue_small.png" COMP;
images.image: "logo_blue_small_glow.png" COMP;
images.image: "knob_round_busy.png" COMP;
images.image: "glow_round_corners.png" COMP;
set { name: "logo_mono";
image { image: "logo.png" COMP; size: 601 601 99999 99999; }
image { image: "logo2.png" COMP; size: 301 301 600 600; }
image { image: "logo3.png" COMP; size: 151 151 300 300; }
image { image: "logo4.png" COMP; size: 76 76 150 150; }
image { image: "logo5.png" COMP; size: 0 0 75 75; }
}
IMAGE_RING("ringa", 160)
IMAGE_RING("ringb", 160)
IMAGE_RING("ringc", 160)
parts {
part { name: "logo_clip"; type: RECT;
description { state: "default";
@ -41,43 +59,29 @@ group { name: "e/desklock/login_box";
visible: 0;
}
}
part { name: "logo"; clip_to: "logo_clip";
description { state: "default" 0.0;
image.normal: "logo_blue_small.png";
rel1.relative: 0.5 0.5;
rel2.relative: 0.5 0.5;
FIXED_SIZE(100, 127)
}
}
part { name: "logo_glow"; clip_to: "logo_clip";
description { state: "default" 0.0;
image.normal: "logo_blue_small_glow.png";
rel1.to: "logo";
rel2.to: "logo";
color: 255 255 255 128;
}
description { state: "active" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part { name: "bg"; type: RECT;
description { state: "default" 0.0;
rel1.to: "inset";
rel1.offset: 1 1;
rel2.to: "inset";
rel2.offset: -2 -2;
color: 48 48 48 255;
}
}
part { name: "clipper"; type: RECT;
description { state: "default" 0.0;
rel1.to: "bg";
rel2.to: "bg";
rel1.to_x: "logo";
rel1.to_y: "e.text.password";
rel1.relative: 0.3 0.0;
rel1.offset: -100 -4;
rel2.to_x: "logo";
rel2.to_y: "e.text.password";
rel2.relative: 0.7 1.0;
rel2.offset: 99 196;
}
}
part { name: "logo"; clip_to: "logo_clip";
scale: 1;
description { state: "default" 0.0;
image.normal: "logo_mono";
rel1.relative: 0.5 0.5;
rel2.relative: 0.5 0.5;
FIXED_SIZE(150, 150)
color_class: "/fg/normal/desklock/logo";
}
}
part { name: "e.text.title"; type: TEXT;
effect: SHADOW BOTTOM;
scale: 1;
description { state: "default" 0.0;
rel1.relative: 0.0 1.0;
@ -86,7 +90,7 @@ group { name: "e/desklock/login_box";
rel2.relative: 1.0 1.0;
rel2.offset: -4 3;
rel2.to_y: "logo";
color: FN_COL_DEFAULT;
color_class: "/fg/normal/desklock/text/title";
align: 0.5 0.0;
text { font: FNBD; size: 10;
min: 1 1;
@ -98,7 +102,6 @@ group { name: "e/desklock/login_box";
}
}
part { name: "e.text.hint"; type: TEXT;
effect: SHADOW BOTTOM;
scale: 1;
description { state: "default" 0.0;
rel1.relative: 0.0 1.0;
@ -107,7 +110,7 @@ group { name: "e/desklock/login_box";
rel2.relative: 1.0 1.0;
rel2.offset: -4 3;
rel2.to_y: "e.text.password";
color: FN_COL_DEFAULT;
color_class: "/fg/normal/desklock/text/hint";
align: 0.5 0.0;
text { font: FNBD; size: 10;
min: 1 1;
@ -120,9 +123,8 @@ group { name: "e/desklock/login_box";
}
part { name: "selection"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "e.text.password";
rel2.to: "e.text.password";
color: 51 153 255 255;
rel.to: "e.text.password";
color_class: "/fg/normal/desklock/selection";
visible: 0;
}
description { state: "active" 0.0;
@ -131,20 +133,18 @@ group { name: "e/desklock/login_box";
}
}
part { name: "e.text.password"; type: TEXT;
effect: SHADOW BOTTOM;
scale: 1;
clip_to: "clipper";
description { state: "default" 0.0;
rel1.relative: 0.0 1.0;
rel1.offset: 3 10;
rel1.to_x: "inset";
rel1.to_x: "clipper";
rel1.to_y: "e.text.title";
rel2.relative: 0.0 1.0;
rel2.offset: 3 10;
rel2.to_x: "inset";
rel2.to_x: "clipper";
rel2.to_y: "e.text.title";
color: FN_COL_DEFAULT;
color_class: "desklock_passwd";
color_class: "/fg/normal/desklock/text/password";
align: 0.0 0.0;
text { font: FN; size: 10;
min: 1 1;
@ -155,175 +155,97 @@ group { name: "e/desklock/login_box";
fixed: 1 1;
}
}
part { name: "cursor"; mouse_events: 0;
part { name: "cursor"; type: RECT; mouse_events: 0;
scale: 1;
clip_to: "clipper";
description { state: "default" 0.0;
rel1.to: "e.text.password";
rel.to: "e.text.password";
rel1.relative: 1.0 0.0;
rel1.offset: -4 -4;
rel2.to: "e.text.password";
rel2.offset: 3 3;
image.normal: "white_bar_vert_glow.png";
image.border: 4 4 4 4;
fill.smooth: 0;
color: 255 255 255 0;
min: 9 10;
rel1.offset: 0 -4;
rel2.offset: -1 3;
color_class: "/fg/normal/desklock/text/cursor";
min: 1 10;
fixed: 1 1;
visible: 0;
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part { name: "shadow"; mouse_events: 0; repeat_events: 1;
description { state: "default" 0.0;
image.normal: "inset_shadow.png";
image.border: 5 5 7 3;
image.middle: 0;
rel1.to: "bg";
rel2.to: "bg";
fill.smooth: 0;
color: 255 255 255 128;
}
}
part { name: "inset"; mouse_events: 0; repeat_events: 1;
description { state: "default" 0.0;
rel1.relative: 0.5 0.0;
rel1.offset: -100 -4;
rel1.to_x: "logo";
rel1.to_y: "e.text.password";
rel2.relative: 0.5 1.0;
rel2.offset: 99 3;
rel2.to_x: "logo";
rel2.to_y: "e.text.password";
align: 0.5 0.5;
image.normal: "bevel_in.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
}
}
part { name: "busy_clip"; type: RECT;
description { state: "default" 0.0;
visible: 0;
color: 255 255 255 0;
}
description { state: "active" 0.0;
visible: 1;
color: 255 255 255 255;
}
}
part { name: "knob"; mouse_events: 0;
clip_to: "busy_clip";
part { name: "fprint";
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
image.normal: "knob_round_busy.png";
image.normal: "i-fingerprint";
min: 40 40;
max: 40 40;
rel1.relative: 0.5 1.0;
rel1.offset: 0 3;
rel1.to_y: "inset";
rel2.relative: 0.5 1.0;
rel2.offset: -1 3;
rel2.to_y: "inset";
rel.to_x: "clipper";
rel.to_y: "e.text.password";
rel1.relative: 0.0 1.0;
align: 0.5 0.0;
fixed: 1 1;
color: 255 255 255 0; // no cc
color_class: "/fg/normal/desklock/fprint/normal";
visible: 0;
}
}
part { name: "knob_spinner"; mouse_events: 0;
clip_to: "busy_clip";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "knob";
rel2.to: "knob";
image.normal: "glow_round_corners.png";
map.on: 1;
map.smooth: 1;
map.rotation.center: "knob";
}
description { state: "spin" 0.0;
description { state: "active" 0.0;
inherit: "default" 0.0;
map.rotation.z: 360;
color: 255 255 255 255; // no cc
visible: 1;
}
description { state: "auth-success" 0.0;
inherit: "default" 0.0;
color_class: "/fg/normal/desklock/fprint/success";
color: 255 255 255 255; // no cc
visible: 1;
}
description { state: "auth-fail" 0.0;
inherit: "default" 0.0;
color_class: "/fg/normal/desklock/fprint/fail";
color: 255 255 255 255; // no cc
visible: 1;
}
}
part { name: "busy_area"; type: SPACER;
scale: 1;
description { state: "default" 0.0;
min: 40 40;
max: 40 40;
rel.to: "clipper";
rel1.relative: 0.0 0.5;
align: 0.5 0.0;
}
}
program { signal: "e,action,hide"; source: "e";
action: SIGNAL_EMIT "e,state,invalid" "e";
}
BUSY("busy_area", "e,state,checking", "e", "e,state,invalid", "e")
}
programs {
program { name: "logo_pulse";
signal: "show"; source: "";
in: 3.0 5.0;
action: STATE_SET "active" 0.0;
target: "logo_glow";
transition: BOUNCE 0.8 0.5 6;
after: "logo_pulse2";
}
program { name: "logo_pulse2";
action: STATE_SET "default" 0.0;
target: "logo_glow";
transition: SINUSOIDAL 2.4;
after: "logo_pulse";
}
program { name: "cursor_show";
signal: "show"; source: "";
action: STATE_SET "visible" 0.0;
target: "cursor";
after: "cursor_show_timer";
}
program { name: "cursor_show_timer";
in: 0.4 0.0;
after: "cursor_hide";
}
program { name: "cursor_hide";
action: STATE_SET "default" 0.0;
target: "cursor";
transition: SINUSOIDAL 0.2;
after: "cursor_hide_timer";
}
program { name: "cursor_show_timer";
in: 0.5 0.0;
after: "cursor_hide";
}
program { name: "cursor_hide_timer";
in: 0.2 0.0;
in: 0.4 0.0;
after: "cursor_show";
}
program { name: "spin";
signal: "e,state,checking"; source: "e";
action: STATE_SET "spin" 0.0;
transition: LINEAR 1.0;
target: "knob_spinner";
after: "spin2";
}
program { name: "spin2";
action: STATE_SET "default" 0.0;
target: "knob_spinner";
after: "spin";
}
program {
signal: "e,state,checking"; source: "e";
action: STATE_SET "active" 0.0;
transition: SINUSOIDAL 0.25;
target: "busy_clip";
}
program {
signal: "e,state,invalid"; source: "e";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 1.0;
target: "busy_clip";
after: "spin3";
}
program { name: "spin3";
action: ACTION_STOP;
target: "spin";
target: "spin2";
after: "spin4";
}
program { name: "spin4";
action: STATE_SET "default" 0.0;
target: "knob_spinner";
}
program {
signal: "e,state,selected"; source: "e";
program { signal: "e,state,selected"; source: "e";
action: STATE_SET "active" 0.0;
target: "selection";
}
program {
signal: "e,state,unselected"; source: "e";
program { signal: "e,state,unselected"; source: "e";
action: STATE_SET "default" 0.0;
target: "selection";
}
@ -335,22 +257,90 @@ group { name: "e/desklock/login_box";
action: STATE_SET "default" 0.0;
target: "logo_clip";
}
program { signal: "e,fprint,unknown"; source: "e";
action: STATE_SET "active" 0.0;
transition: SINUSOIDAL 0.5 USE_DURATION_FACTOR 1;
target: "fprint";
}
program { signal: "e,fprint,press"; source: "e";
action: STATE_SET "active" 0.0;
transition: SINUSOIDAL 0.5 USE_DURATION_FACTOR 1;
target: "fprint";
}
program { signal: "e,fprint,swipe"; source: "e";
action: STATE_SET "active" 0.0;
transition: SINUSOIDAL 0.5 USE_DURATION_FACTOR 1;
target: "fprint";
}
program { signal: "e,fprint,auth,success"; source: "e";
action: STATE_SET "auth-success" 0.0;
transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1;
target: "fprint";
}
program { signal: "e,fprint,auth,fail"; source: "e";
action: STATE_SET "auth-fail" 0.0;
transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1;
target: "fprint";
after: "fprint-reset";
}
program { signal: "e,fprint,auth,short"; source: "e";
action: STATE_SET "auth-fail" 0.0;
transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1;
target: "fprint";
after: "fprint-reset";
}
program { signal: "e,fprint,auth,nocenter"; source: "e";
action: STATE_SET "auth-fail" 0.0;
transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1;
target: "fprint";
after: "fprint-reset";
}
program { signal: "e,fprint,auth,removeretry"; source: "e";
action: STATE_SET "auth-fail" 0.0;
transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1;
target: "fprint";
after: "fprint-reset";
}
program { signal: "e,fprint,auth,retry"; source: "e";
action: STATE_SET "auth-fail" 0.0;
transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1;
target: "fprint";
after: "fprint-reset";
}
program { signal: "e,fprint,auth,disconnect"; source: "e";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1;
target: "fprint";
}
program { signal: "e,fprint,auth,error"; source: "e";
action: STATE_SET "auth-fail" 0.0;
transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1;
target: "fprint";
after: "fprint-reset";
}
program { name: "fprint-reset";
action: STATE_SET "active" 0.0;
transition: SINUSOIDAL 0.5 USE_DURATION_FACTOR 1;
target: "fprint";
in: 0.5 0.0;
}
}
}
group { name: "e/desklock/pin_box";
parts {
part { name: "e.text.title"; type: TEXT;
effect: SHADOW BOTTOM;
scale: 1;
description { state: "default" 0.0;
rel1.offset: 3 3;
rel1.relative: 0.0 1.0;
rel1.to_y: "e.swallow.buttons";
rel2.offset: -4 -3;
color: FN_COL_DEFAULT;
color_class: "/fg/normal/desklock/text/title/pin";
align: 0.5 0.0;
text { font: "Sans:style=Bold"; size: 10;
text { font: FNBD; size: 10;
min: 0 1;
align: 0.5 0.5;
text_class: "desklock_title";
@ -361,9 +351,8 @@ group { name: "e/desklock/pin_box";
}
part { name: "selection"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "e.text.password";
rel2.to: "e.text.password";
color: 51 153 255 255;
rel.to: "e.text.password";
color_class: "/fg/normal/desklock/selection";
visible: 0;
}
description { state: "active" 0.0;
@ -372,46 +361,40 @@ group { name: "e/desklock/pin_box";
}
}
part { name: "e.text.password"; type: TEXT;
effect: SHADOW BOTTOM;
scale: 1;
description { state: "default" 0.0;
rel1.relative: 0.5 0.0;
rel1.offset: 3 2;
rel2.relative: 0.5 0.0;
rel2.offset: 3 -2;
color: FN_COL_DEFAULT;
color_class: "desklock_passwd";
text { font: "Sans"; size: 10;
color_class: "/fg/normal/desklock/text/password";
text { font: FN; size: 10;
min: 1 1;
ellipsis: -1;
align: 1.0 0.5;
text_class: "desklock_passwd";
}
fixed: 1 1;
offscale;
}
}
part { name: "cursor"; mouse_events: 0;
part { name: "cursor"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "e.text.password";
rel.to: "e.text.password";
rel1.relative: 1.0 0.0;
rel1.offset: -4 -4;
rel2.to: "e.text.password";
rel2.offset: 3 3;
image.normal: "white_bar_vert_glow.png";
image.border: 4 4 4 4;
fill.smooth: 0;
color: 255 255 255 0;
min: 9 10;
rel1.offset: 0 -4;
rel2.offset: -1 3;
color_class: "/fg/normal/desklock/text/cursor";
min: 1 3;
fixed: 1 1;
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part { name: "button_clip"; type: RECT;
description { state: "default";
color: 255 255 255 255;
}
}
part { name: "e.swallow.buttons"; type: SWALLOW;
@ -431,27 +414,25 @@ group { name: "e/desklock/pin_box";
target: "cursor";
after: "cursor_show_timer";
}
program { name: "cursor_hide";
action: STATE_SET "default" 0.0;
target: "cursor";
transition: SINUSOIDAL 0.2;
after: "cursor_hide_timer";
}
program { name: "cursor_show_timer";
in: 0.5 0.0;
after: "cursor_hide";
}
program { name: "cursor_hide";
action: STATE_SET "default" 0.0;
target: "cursor";
transition: SINUSOIDAL 0.2 USE_DURATION_FACTOR 1;
after: "cursor_hide_timer";
}
program { name: "cursor_hide_timer";
in: 0.2 0.0;
after: "cursor_show";
}
program {
signal: "e,state,selected"; source: "e";
program { signal: "e,state,selected"; source: "e";
action: STATE_SET "active" 0.0;
target: "selection";
}
program {
signal: "e,state,unselected"; source: "e";
program { signal: "e,state,unselected"; source: "e";
action: STATE_SET "default" 0.0;
target: "selection";
}

View File

@ -2,24 +2,15 @@ group { name: "e/deskmirror/frame/default";
alias: "e/deskmirror/frame/dialog";
alias: "e/deskmirror/frame/urgent";
alias: "e/deskmirror/frame/sparkle";
images.image: "mini_box_bevel_shadow.png" COMP;
images.image: "shine.png" COMP;
images.image: "vgrad_med_lighter.png" COMP;
images.image: "vgrad_med_dark.png" COMP;
images.image: "bevel_out.png" COMP;
images.image: "bevel_dark_out.png" COMP;
images.image: "pager_mini_win_shadow.png" COMP;
script {
public message(Msg_Type:type, id, ...) {
if ((type == MSG_FLOAT) && (id == 0)) {
new Float:sc = getfarg(2);
custom_state(PART:"top_spacer", "default", 0.0);
set_state_val(PART:"top_spacer", STATE_REL2, 1.0, sc);
set_state(PART:"top_spacer", "custom", 0.0);
custom_state(PART:"bottom_spacer", "default", 0.0);
set_state_val(PART:"bottom_spacer", STATE_REL1, 0.0, 1.0 - sc);
set_state(PART:"bottom_spacer", "custom", 0.0);
}
}
}
@ -28,6 +19,7 @@ group { name: "e/deskmirror/frame/default";
description { state: "default";
}
description { state: "iconic";
inherit: "default" 0.0;
rel1.relative: 0.0 1.0;
rel2.relative: 0.0 1.0;
}
@ -36,32 +28,30 @@ group { name: "e/deskmirror/frame/default";
description { state: "default" 0.0;
rel1.to: "spacer";
rel2.to_x: "spacer";
rel2.to_y: "title2";
rel2.to_y: "e.text.title";
rel2.offset: -1 -4;
align: 0.5 0.0;
}
}
part { name: "bottom_spacer"; type: SPACER;
description { state: "default" 0.0;
rel1.to: "bottom_size";
rel2.to: "bottom_size";
align: 0.5 1.0;
}
}
part { name: "bottom_size"; type: SPACER;
description { state: "default" 0.0;
rel1.to_x: "spacer";
rel1.relative: 0.0 1.0;
rel1.offset: 0 -3;
rel1.offset: 0 -1;
rel2.to: "spacer";
min: 0 1;
fixed: 0 1;
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
min: 0 0;
max: 0 0;
}
}
part { name: "shadow";
mouse_events: 0;
description { state: "default" 0.0;
image.normal: "mini_box_bevel_shadow.png";
image.normal: "pager_mini_win_shadow.png";
image.border: 7 7 7 7;
image.middle: 0;
rel1.to: "top";
@ -69,14 +59,14 @@ group { name: "e/deskmirror/frame/default";
rel2.to: "bottom";
rel2.offset: 4 4;
fill.smooth: 0;
color_class: "/shadow/normal/border";
}
description { state: "off";
inherit: "default" 0.0;
visible: 0;
}
}
part { name: "client_clip"; type: RECT;
description { state: "default" 0.0;
rel1.to_y: "top";
@ -94,105 +84,66 @@ group { name: "e/deskmirror/frame/default";
rel2.relative: 1.0 0.0;
}
}
part { name: "e.text.title"; type: TEXT; mouse_events: 0;
scale: 1;
effect: SHADOW BOTTOM;
part { name: "top"; type: RECT;
description { state: "default" 0.0;
color_class: "border_title";
rel1.offset: 1 3;
rel1.to: "spacer";
rel2.relative: 1.0 0.0;
rel2.offset: -2 3;
rel2.to: "spacer";
align: 0.5 0.0;
color: FN_COL_DISABLE;
text { font: FNBD; size: 10;
text_class: "title_bar";
align: 0.5 0.0;
min: 0 1;
}
visible: 0;
fixed: 0 1;
}
}
part { name: "title2"; type: TEXT; mouse_events: 0;
scale: 1;
effect: SOFT_SHADOW BOTTOM;
description { state: "default" 0.0;
color_class: "border_title_active";
rel1.offset: 1 2;
rel1.to: "spacer";
rel2.relative: 1.0 0.0;
rel2.offset: -1 2;
rel2.to: "spacer";
align: 0.5 0.0;
color: FN_COL_DEFAULT_SOFT_SHADOW;
text { font: FNBD; size: 10;
text_source: "e.text.title";
text_class: "title_bar";
align: 0.5 0.0;
min: 0 1;
}
visible: 0;
fixed: 0 1;
}
}
part { name: "top";
description { state: "default" 0.0;
color_class: "border_top";
image.normal: "vgrad_med_lighter.png";
fill.smooth: 0;
TILED_HORIZ(120)
rel1.to: "top_spacer";
rel2.to: "top_spacer";
rel.to: "top_spacer";
color_class: "/bg/normal/titlebar";
min: 0 1;
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
color_class: "/bg/selected/titlebar";
}
}
part { name: "bevel"; mouse_events: 0;
part { name: "e.text.title"; type: TEXT; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
image.normal: "bevel_out.png";
image.border: 1 1 1 1;
image.middle: 0;
rel1.to: "top";
rel2.to: "top";
fill.smooth: 0;
rel.to: "spacer";
rel1.offset: 1 3;
rel2.relative: 1.0 0.0;
rel2.offset: -2 3;
align: 0.5 0.0;
color_class: "/fg/normal/titlebar";
text { font: FNBD; size: 10;
text_class: "title_bar";
align: 0.5 0.0;
min: 0 1;
}
visible: 0;
fixed: 0 1;
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
color_class: "/fg/selected/titlebar";
}
}
part { name: "bottom"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color_class: "border_bottom";
rel1.to: "bottom_spacer";
rel2.to: "bottom_spacer";
color: 64 64 64 255;
rel.to: "bottom_size";
color_class: "/bg/normal/border";
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
max: 0 0;
visible: 0;
}
}
part { name: "bevel2"; mouse_events: 0;
description { state: "default" 0.0;
image.normal: "bevel_dark_out.png";
image.border: 1 1 1 1;
image.middle: 0;
rel1.to: "bottom";
rel2.to: "bottom";
fill.smooth: 0;
}
}
part { name: "clone"; type: PROXY; mouse_events: 0;
description { state: "default";
source: "e.swallow.client";
rel1.to: "e.swallow.client";
rel2.to: "e.swallow.client";
rel.to: "e.swallow.client";
visible: 0;
color: 255 255 255 0;
color: 255 255 255 0; // no cc
proxy.source_clip: 0;
}
description { state: "urgent1";
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255;
color: 255 255 255 255; // no cc
proxy.source_clip: 0;
}
description { state: "urgent2" 0.0;
@ -200,26 +151,13 @@ group { name: "e/deskmirror/frame/default";
visible: 1;
rel1.relative: -2.0 -2.0;
rel2.relative: 3.0 3.0;
color: 255 255 255 0;
color: 255 255 255 0; // no cc
proxy.source_clip: 0;
}
}
part { name: "shine"; mouse_events: 0;
description { state: "default" 0.0;
fixed: 0 1;
image.normal: "shine.png";
rel1.offset: 0 -1;
rel1.to: "top";
rel2.relative: 1.0 0.0;
rel2.offset: -1 1;
rel2.to: "top";
max: 69 3;
}
}
}
programs {
program { name: "urgent";
signal: "e,state,urgent"; source: "e";
program { signal: "e,state,urgent"; source: "e";
action: ACTION_STOP;
target: "go_big";
target: "go_big2";
@ -232,12 +170,11 @@ group { name: "e/deskmirror/frame/default";
}
program { name: "go_big2";
action: STATE_SET "urgent2" 0.0;
transition: LINEAR 0.5;
transition: LINEAR 0.5 USE_DURATION_FACTOR 1;
target: "clone";
after: "go_big";
}
program { name: "not_urgent";
signal: "e,state,not_urgent"; source: "e";
program { signal: "e,state,not_urgent"; source: "e";
action: ACTION_STOP;
target: "go_big";
target: "go_big2";
@ -245,100 +182,62 @@ group { name: "e/deskmirror/frame/default";
}
program { name: "go_hid";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.5;
transition: LINEAR 0.5 USE_DURATION_FACTOR 1;
target: "clone";
}
program { name: "shon";
signal: "e,state,shadow,on"; source: "e";
program { signal: "e,state,shadow,on"; source: "e";
action: STATE_SET "default" 0.0;
target: "shadow";
}
program { name: "shoff";
signal: "e,state,shadow,off"; source: "e";
program { signal: "e,state,shadow,off"; source: "e";
action: STATE_SET "off" 0.0;
target: "shadow";
}
program {
name: "focus";
signal: "e,state,focused"; source: "e";
script {
custom_state(PART:"top", "default", 0.0);
set_state_val(PART:"top", STATE_IMAGE, get_image_id("vgrad_med_dark.png"));
set_state(PART:"top", "custom", 0.0);
}
program { signal: "e,state,focused"; source: "e";
action: STATE_SET "focused" 0.0;
target: "e.text.title";
target: "top";
}
program {
name: "unfocus";
signal: "e,state,unfocused"; source: "e";
script {
custom_state(PART:"top", "default", 0.0);
set_state_val(PART:"top", STATE_IMAGE, get_image_id("vgrad_med_lighter.png"));
set_state(PART:"top", "custom", 0.0);
}
program { signal: "e,state,unfocused"; source: "e";
action: STATE_SET "default" 0.0;
target: "e.text.title";
target: "top";
}
program {
name: "shade";
signal: "e,state,shaded"; source: "e";
script {
custom_state(PART:"bottom", "default", 0.0);
set_state_val(PART:"bottom", STATE_VISIBLE, 0);
set_state(PART:"bottom", "custom", 0.0);
custom_state(PART:"bevel2", "default", 0.0);
set_state_val(PART:"bevel2", STATE_VISIBLE, 0);
set_state(PART:"bevel2", "custom", 0.0);
}
program { signal: "e,state,shaded"; source: "e";
action: STATE_SET "hidden" 0.0;
target: "bottom";
}
program {
signal: "e,state,maximize*"; source: "e";
script {
custom_state(PART:"bottom", "default", 0.0);
set_state_val(PART:"bottom", STATE_VISIBLE, 0);
set_state_val(PART:"bottom", STATE_MAX, 0, 0);
set_state(PART:"bottom", "custom", 0.0);
custom_state(PART:"bevel2", "default", 0.0);
set_state_val(PART:"bevel2", STATE_VISIBLE, 0);
set_state(PART:"bevel2", "custom", 0.0);
}
program { signal: "e,state,maximize*"; source: "e";
action: STATE_SET "hidden" 0.0;
target: "bottom";
}
program {
signal: "e,state,unmaximize*"; source: "e";
program { signal: "e,state,unmaximize*"; source: "e";
after: "unshade";
}
program {
signal: "e,state,unshaded"; source: "e";
program { signal: "e,state,unshaded"; source: "e";
after: "unshade";
}
program {
name: "unshade";
program { name: "unshade";
signal: "e,state,unshading"; source: "e";
script {
custom_state(PART:"bottom", "default", 0.0);
set_state_val(PART:"bottom", STATE_VISIBLE, 1);
set_state_val(PART:"bottom", STATE_MAX, 99999, 99999);
set_state(PART:"bottom", "custom", 0.0);
custom_state(PART:"bevel2", "default", 0.0);
set_state_val(PART:"bevel2", STATE_VISIBLE, 1);
set_state(PART:"bevel2", "custom", 0.0);
}
action: STATE_SET "default" 0.0;
target: "bottom";
}
program { name: "iconify";
action: STATE_SET "iconic" 0.0;
transition: ACCELERATE 0.2 CURRENT;
transition: ACCELERATE 0.2 CURRENT USE_DURATION_FACTOR 1;
target: "spacer";
}
program { name: "uniconify";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.2 CURRENT;
transition: DECELERATE 0.2 CURRENT USE_DURATION_FACTOR 1;
target: "spacer";
}
program {
signal: "e,action,uniconify"; source: "e";
program { signal: "e,action,uniconify"; source: "e";
action: ACTION_STOP;
target: "iconify";
after: "uniconify";
}
program {
signal: "e,action,iconify"; source: "e";
program { signal: "e,action,iconify"; source: "e";
action: ACTION_STOP;
target: "uniconify";
after: "iconify";
@ -356,7 +255,7 @@ group { name: "e/deskmirror/frame/noresize";
}
part { name: "bottom"; type: RECT;
description { state: "default" 0.0;
color_class: "border_bottom";
color_class: "/bg/normal/border";
rel1.relative: 0.0 1.0;
rel1.offset: 0 -1;
rel2.relative: 1.0 1.0;
@ -366,11 +265,6 @@ group { name: "e/deskmirror/frame/noresize";
visible: 0;
}
}
part { name: "bevel2";
description { state: "default" 0.0;
visible: 0;
}
}
}
}
@ -384,7 +278,7 @@ group { name: "e/deskmirror/frame/noresize_dialog";
}
part { name: "bottom"; type: RECT;
description { state: "default" 0.0;
color_class: "border_bottom";
color_class: "/bg/normal/border";
rel1.relative: 0.0 1.0;
rel1.offset: 0 -1;
rel2.relative: 1.0 1.0;
@ -394,11 +288,6 @@ group { name: "e/deskmirror/frame/noresize_dialog";
visible: 0;
}
}
part { name: "bevel2";
description { state: "default" 0.0;
visible: 0;
}
}
}
}
@ -406,37 +295,70 @@ group { name: "e/deskmirror/frame/pixel";
parts {
part { name: "client_clip"; type: RECT;
description { state: "default" 0.0;
rel1.to: "e.swallow.client";
rel2.to: "e.swallow.client";
rel.to: "e.swallow.client";
}
}
part { name: "frame"; type: RECT;
description { state: "default" 0.0;
color: 0 0 0 255;
rel2.offset: 0 0;
color_class: "/bg/normal/border/outline";
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
color: 51 153 255 255;
color_class: "/bg/selected/border/outline";
}
}
part { name: "e.swallow.client"; type: SWALLOW;
clip_to: "client_clip";
description { state: "default" 0.0;
rel1.offset: 1 1;
rel2.offset: -2 -2;
}
}
}
programs {
program {
name: "focus";
signal: "e,state,focused"; source: "e";
program { signal: "e,state,focused"; source: "e";
action: STATE_SET "focused" 0.0;
target: "frame";
}
program {
name: "unfocus";
signal: "e,state,unfocused"; source: "e";
program { signal: "e,state,unfocused"; source: "e";
action: STATE_SET "default" 0.0;
target: "frame";
}
}
}
group { name: "e/deskmirror/frame/tiling";
parts {
part { name: "client_clip"; type: RECT;
description { state: "default" 0.0;
rel.to: "e.swallow.client";
}
}
part { name: "frame"; type: RECT;
description { state: "default" 0.0;
color: 0 0 0 0; // no cc
rel1.offset: -1 -1;
rel2.offset: 0 0;
color_class: "/bg/selected/border/outline";
color: 255 255 255 0; // no cc
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255; // no cc
}
}
part { name: "e.swallow.client"; type: SWALLOW;
clip_to: "client_clip";
description { state: "default" 0.0;
}
}
}
programs {
program { signal: "e,state,focused"; source: "e";
action: STATE_SET "focused" 0.0;
target: "frame";
}
program { signal: "e,state,unfocused"; source: "e";
action: STATE_SET "default" 0.0;
target: "frame";
}
@ -461,43 +383,40 @@ group { "e/deskmirror/frame/borderless";
desc {
source: "e.swallow.client";
hid;
color: 255 255 255 0;
color: 255 255 255 0; // no cc
}
desc { "urgent1"; inherit: "default";
vis;
color: 255 255 255 255;
color: 255 255 255 255; // no cc
}
desc { "urgent2"; inherit: "default";
vis;
rel1.relative: -2.0 -2.0;
rel2.relative: 3.0 3.0;
color: 255 255 255 0;
color: 255 255 255 0; // no cc
}
}
program { name: "iconify";
action: STATE_SET "iconic" 0.0;
transition: ACCELERATE 0.2 CURRENT;
transition: ACCELERATE 0.2 CURRENT USE_DURATION_FACTOR 1;
target: "spacer";
}
program { name: "uniconify";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.2 CURRENT;
transition: DECELERATE 0.2 CURRENT USE_DURATION_FACTOR 1;
target: "spacer";
}
program {
signal: "e,action,uniconify"; source: "e";
program { signal: "e,action,uniconify"; source: "e";
action: ACTION_STOP;
target: "iconify";
after: "uniconify";
}
program {
signal: "e,action,iconify"; source: "e";
program { signal: "e,action,iconify"; source: "e";
action: ACTION_STOP;
target: "uniconify";
after: "iconify";
}
program { name: "urgent";
signal: "e,state,urgent"; source: "e";
program { signal: "e,state,urgent"; source: "e";
action: ACTION_STOP;
target: "go_big";
target: "go_big2";
@ -510,12 +429,11 @@ group { "e/deskmirror/frame/borderless";
}
program { name: "go_big2";
action: STATE_SET "urgent2" 0.0;
transition: LINEAR 0.5;
transition: LINEAR 0.5 USE_DURATION_FACTOR 1;
target: "clone";
after: "go_big";
}
program { name: "not_urgent";
signal: "e,state,not_urgent"; source: "e";
program { signal: "e,state,not_urgent"; source: "e";
action: ACTION_STOP;
target: "go_big";
target: "go_big2";
@ -523,7 +441,7 @@ group { "e/deskmirror/frame/borderless";
}
program { name: "go_hid";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.5;
transition: LINEAR 0.5 USE_DURATION_FACTOR 1;
target: "clone";
}
}

View File

@ -1,16 +1,10 @@
group { name: "e/widgets/deskpreview/desk";
inherit: "e/widgets/preview";
parts {
part { name: "e.swallow.content";
description { state: "default" 0.0;
rel1.offset: 3 3;
rel2.offset: -4 -4;
}
}
part { name: "e.event.menu"; type: RECT;
insert_after: "inset";
insert_after: "e.swallow.content";
description { state: "default" 0.0;
color: 0 0 0 0;
color: 0 0 0 0; // no cc
}
}
}

View File

@ -1,51 +1,43 @@
group { name: "e/widgets/dialog/main";
images.image: "bevel_dark_out.png" COMP;
images.image: "separator_horiz.png" COMP;
parts {
part { name: "base"; type: RECT;
description { state: "default" 0.0;
color_class: "dialog_base";
color: 64 64 64 255;
color_class: "/bg/normal/background";
}
}
part { name: "bevel";
part { name: "separator"; type: RECT; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
image.normal: "bevel_dark_out.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
}
}
part { name: "separator"; mouse_events: 0;
description { state: "default" 0.0;
min: 16 2;
max: 99999 2;
min: 16 1;
max: 99999 1;
rel1.relative: 0.0 1.0;
rel1.offset: 0 0;
rel1.to_y: "e.swallow.content";
rel2.relative: 1.0 0.0;
rel2.offset: -1 -1;
rel2.to_y: "e.swallow.buttons";
image.normal: "separator_horiz.png";
fill.smooth: 0;
color_class: "/fg/normal/separator/horizontal";
fixed: 0 1;
link.base: "e,state,buttons,on" "e";
visible: 1;
}
desc { "hid"; hid;
image.normal: "separator_horiz.png";
visible: 0;
link.base: "e,state,buttons,off" "e";
}
}
part { name: "e.swallow.icon"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
align: 0.0 0.5;
rel1.relative: 0.0 0.0;
rel1.offset: 4 4;
rel1.offset: 8 8;
rel2.relative: 0.0 1.0;
rel2.offset: -1 0;
rel2.to_y: "button_spacer";
fixed: 1 0;
visible: 0;
offscale;
}
description { state: "icon" 0.0;
inherit: "default" 0.0;
@ -53,12 +45,14 @@ group { name: "e/widgets/dialog/main";
}
}
part { name: "e.swallow.content"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
rel1.offset: 4 4;
rel1.offset: 8 8;
rel1.to_x: "base";
rel2.to_x: "base";
rel2.offset: -5 -1;
rel2.offset: -9 -1;
rel2.to_y: "button_spacer";
offscale;
}
description { state: "icon" 0.0;
inherit: "default" 0.0;
@ -67,11 +61,13 @@ group { name: "e/widgets/dialog/main";
}
}
spacer { "button_spacer";
scale: 1;
desc {
rel2.relative: 1.0 0.0;
rel2.offset: -5 -8;
rel2.offset: -9 -17;
rel2.to_y: "e.swallow.buttons";
link.base: "e,state,buttons,on" "e";
offscale;
}
desc { "hid";
link.base: "e,state,buttons,off" "e";
@ -79,26 +75,26 @@ group { name: "e/widgets/dialog/main";
}
}
part { name: "e.swallow.buttons"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
align: 0.5 1.0;
rel1.relative: 0.0 1.0;
rel1.offset: 4 -5;
rel1.offset: 8 -9;
rel2.relative: 1.0 1.0;
rel2.offset: -5 -5;
rel2.offset: -9 -9;
fixed: 0 1;
offscale;
}
desc { "hid"; hid; }
}
}
programs {
program {
signal: "e,icon,enabled"; source: "e";
program { signal: "e,icon,enabled"; source: "e";
action: STATE_SET "icon" 0.0;
target: "e.swallow.icon";
target: "e.swallow.content";
}
program {
signal: "e,icon,disabled"; source: "e";
program { signal: "e,icon,disabled"; source: "e";
action: STATE_SET "default" 0.0;
target: "e.swallow.icon";
target: "e.swallow.content";
@ -109,7 +105,7 @@ group { name: "e/widgets/dialog/main";
group { name: "e/widgets/dialog/text";
styles {
style { name: "dialog_style";
base: "font="FN" font_size=10 text_class=tb_plain align=center color=#ffff style=shadow,bottom shadow_color=#00000080 wrap=word";
base: "font="FN" font_size=10 text_class=tb_plain align=center color=cc:/fg/normal/text wrap=word";
tag: "br" "\n";
tag: "hilight" "+ font="FNBD" text_class=tb_light";
}

View File

@ -1,19 +1,11 @@
group { name: "e/modules/conf_edgebindings/selection";
images.image: "inset_shadow.png" COMP;
images.image: "bevel_in.png" COMP;
images.image: "dot_pattern.png" COMP;
images.image: "darken_square.png" COMP;
images.image: "downlight_glow.png" COMP;
images.image: "downlight_glow_left.png" COMP;
images.image: "downlight_glow_right.png" COMP;
images.image: "downlight_glow_up.png" COMP;
images.image: "mini_blue_glow_arrow_0.png" COMP;
images.image: "mini_blue_glow_arrow_1.png" COMP;
images.image: "mini_blue_glow_arrow_2.png" COMP;
images.image: "mini_blue_glow_arrow_3.png" COMP;
styles {
style { name: "edge_binding_style";
base: "font="FN" font_size=10 text_class=tb_plain align=center color=#ffff style=shadow,bottom shadow_color=#00000080 wrap=word";
base: "font="FN" font_size=10 text_class=tb_plain align=center color=cc:/fg/normal/text wrap=word";
tag: "br" "\n";
tag: "hilight" "+ font="FNBD" text_class=tb_light";
}
@ -21,167 +13,132 @@ group { name: "e/modules/conf_edgebindings/selection";
parts {
part { name: "bg"; type: RECT;
description { state: "default" 0.0;
rel1.to: "e.swallow.background";
rel2.to: "e.swallow.background";
color: 48 48 48 255;
rel.to: "e.swallow.background";
color_class: "/bg-dark/normal/edgebindings";
}
}
part { name: "pat";
part { name: "e.swallow.background"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
rel1.to: "bg";
rel2.to: "bg";
image.normal: "dot_pattern.png";
TILED_PATTERN(256, 256)
}
}
part { name: "e.swallow.background";
type: SWALLOW;
description { state: "default" 0.0;
min: 160 120;
min: 320 180;
align: 0 0.5;
rel1.offset: 4 4;
rel1.offset: 2 2;
rel2.relative: 0.5 1.0;
rel2.offset: -2 -5;
}
}
part { name: "bevel"; mouse_events: 0;
description { state: "default" 0.0;
rel1.offset: -10 -6;
rel1.to: "e.text.selection";
rel2.offset: 9 5;
rel2.to: "e.text.selection";
image.normal: "darken_square.png";
image.border: 6 6 6 6;
fill.smooth: 0;
fixed: 1 1;
rel2.offset: -3 -3;
offscale;
}
}
part { name: "e.text.selection"; type: TEXT; mouse_events: 0;
effect: SHADOW BOTTOM;
description { state: "default" 0.0;
rel.to: "e.swallow.background";
rel1.relative: 0.5 0.5;
rel1.to: "e.swallow.background";
rel2.relative: 0.5 0.5;
rel2.to: "e.swallow.background";
color: FN_COL_DEFAULT;
color_class: "label_text";
fixed: 1 1;
text { font: FN; size: 10;
text { font: FNBD; size: 10;
text_class: "label";
min: 1 1;
ellipsis: -1;
}
color_class: "/fg/normal/text-hilight";
offscale;
}
}
part { name: "shadow"; mouse_events: 0;
part { name: "e.edge.left"; type: RECT;
scale: 1;
description { state: "default" 0.0;
image.normal: "inset_shadow.png";
image.border: 5 5 7 3;
image.middle: 0;
rel1.to: "bg";
rel2.to: "bg";
fill.smooth: 0;
color: 255 255 255 128;
}
}
part { name: "e.edge.left";
description { state: "default" 0.0;
rel1.to: "e.swallow.background";
rel.to: "e.swallow.background";
rel1.offset: 0 10;
rel2.to: "e.swallow.background";
rel2.offset: -1 -11;
image.normal: "downlight_glow_right.png";
image.border: 3 0 0 0;
max: 24 99999;
align: 0.0 0.5;
max: 5 99999;
color_class: "/fg/selected/edgebindings/edge";
offscale;
}
}
part { name: "e.edge.right";
part { name: "e.edge.right"; type: RECT;
scale: 1;
description { state: "default" 0.0;
rel1.to: "e.swallow.background";
rel.to: "e.swallow.background";
rel1.offset: 0 10;
rel2.to: "e.swallow.background";
rel2.offset: -1 -11;
image.normal: "downlight_glow_left.png";
image.border: 0 3 0 0;
max: 24 99999;
align: 1.0 0.5;
max: 5 99999;
color_class: "/fg/selected/edgebindings/edge";
offscale;
}
}
part { name: "e.edge.top";
part { name: "e.edge.top"; type: RECT;
scale: 1;
description { state: "default" 0.0;
rel1.to: "e.swallow.background";
rel.to: "e.swallow.background";
rel1.offset: 10 0;
rel2.to: "e.swallow.background";
rel2.offset: -11 -1;
image.normal: "downlight_glow.png";
image.border: 0 0 3 0;
max: 99999 24;
align: 0.5 0.0;
max: 99999 5;
color_class: "/fg/selected/edgebindings/edge";
offscale;
}
}
part { name: "e.edge.bottom";
part { name: "e.edge.bottom"; type: RECT;
scale: 1;
description { state: "default" 0.0;
rel1.to: "e.swallow.background";
rel.to: "e.swallow.background";
rel1.offset: 10 0;
rel2.to: "e.swallow.background";
rel2.offset: -11 -1;
image.normal: "downlight_glow_up.png";
image.border: 0 0 0 3;
max: 99999 24;
align: 0.5 1.0;
max: 99999 5;
color_class: "/fg/selected/edgebindings/edge";
offscale;
}
}
part { name: "e.edge.top_left";
scale: 1;
description { state: "default" 0.0;
rel1.to: "e.swallow.background";
rel2.to: "e.swallow.background";
rel.to: "e.swallow.background";
max: 10 10;
image.normal: "mini_blue_glow_arrow_2.png";
align: 0.0 0.0;
color_class: "/fg/selected/edgebindings/edge";
offscale;
}
}
part { name: "e.edge.top_right";
scale: 1;
description { state: "default" 0.0;
rel1.to: "e.swallow.background";
rel2.to: "e.swallow.background";
rel.to: "e.swallow.background";
max: 10 10;
image.normal: "mini_blue_glow_arrow_3.png";
align: 1.0 0.0;
color_class: "/fg/selected/edgebindings/edge";
offscale;
}
}
part { name: "e.edge.bottom_right";
scale: 1;
description { state: "default" 0.0;
rel1.to: "e.swallow.background";
rel2.to: "e.swallow.background";
rel.to: "e.swallow.background";
max: 10 10;
image.normal: "mini_blue_glow_arrow_0.png";
align: 1.0 1.0;
color_class: "/fg/selected/edgebindings/edge";
offscale;
}
}
part { name: "e.edge.bottom_left";
scale: 1;
description { state: "default" 0.0;
rel1.to: "e.swallow.background";
rel2.to: "e.swallow.background";
rel.to: "e.swallow.background";
max: 10 10;
image.normal: "mini_blue_glow_arrow_1.png";
align: 0.0 1.0;
color_class: "/fg/selected/edgebindings/edge";
offscale;
}
}
part { name: "inset";
description { state: "default" 0.0;
image.normal: "bevel_in.png";
image.border: 1 1 1 1;
image.middle: 0;
rel1.to: "bg";
rel1.offset: -1 -1;
rel2.to: "bg";
rel2.offset: 0 0;
fill.smooth: 0;
}
}
part { name: "e.box"; type: BOX;
scale: 1;
description { state: "default" 0.0;
rel1 {
relative: 1 1;
@ -198,9 +155,11 @@ group { name: "e/modules/conf_edgebindings/selection";
align: 0.5 0.5;
min: 1 1;
}
offscale;
}
}
part { name: "e.swallow.slider"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
align: 0 0.0;
rel1 {
@ -209,9 +168,8 @@ group { name: "e/modules/conf_edgebindings/selection";
to_x: "e.edge.bottom_right";
to_y: "e.box";
}
rel2 {
offset: -5 -1;
}
rel2.offset: -5 -1;
offscale;
}
}
part { name: "e.text.description"; type: TEXTBLOCK; mouse_events: 0;
@ -222,14 +180,13 @@ group { name: "e/modules/conf_edgebindings/selection";
offset: 80 4;
to_x: "e.edge.right";
}
rel2 {
offset: -80 -45;
}
rel2.offset: -80 -45;
text {
style: "edge_binding_style";
min: 1 1;
ellipsis: -1;
}
offscale;
}
}
}

View File

@ -13,7 +13,6 @@ Group: efl/bg (@since 1.23)
group { "efl/bg";
data.item: "version" "123";
images.image: "bevel_dark_out.png" COMP;
parts {
part { name: "clipper"; type: RECT;
description { state: "default" 0.0;
@ -21,8 +20,7 @@ group { "efl/bg";
}
part { name: "base"; type: RECT;
description { state: "default" 0.0;
color_class: "dialog_base";
color: 64 64 64 255;
color_class: "/bg/normal/background";
}
}
part { name: "efl.rectangle"; type: SWALLOW; required;
@ -35,14 +33,6 @@ group { "efl/bg";
fixed: 1 1;
}
}
part { name: "bevel";
description { state: "default" 0.0;
image.normal: "bevel_dark_out.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
}
}
part { name: "efl.content"; type: SWALLOW; required;
description { state: "default" 0.0;
}

File diff suppressed because it is too large Load Diff

View File

@ -26,482 +26,296 @@ Group: efl/button:anchor (@since 1.23)
Signal: efl,text,set
Signal: efl,text,unset
*/
group { name: "efl/button"; data.item: "version" "123";
images.image: "button_normal.png" COMP;
images.image: "button_clicked.png" COMP;
#undef ICON
#define ICON 1
#define LABEL 2
#define MASK 3
#define DISABLE 4
#define PRESSED 8
#define ICON 1
#define LABEL 2
#define MASK 3
#define DISABLE 4
#define PRESSED 8
#define BACKGROUND 16
group { name: "efl/button";
data.item: "version" "123";
script {
public btmode;
public eval_mode(m) {
new m1 = m & MASK;
new d = m & DISABLE;
new p = m & PRESSED;
new bg = m & BACKGROUND;
if (bg) {
set_state(PART:"base", "hidden", 0.0);
set_state(PART:"efl.background", "visible", 0.0);
} else {
set_state(PART:"efl.background", "default", 0.0);
if (!d) {
if (!p)
{
set_state(PART:"base", "default", 0.0);
set_state(PART:"base", "default", 0.0);
}
else {
set_state(PART:"base", "pressed", 0.0);
}
} else {
set_state(PART:"base", "disabled", 0.0);
}
}
if (m1 == (ICON | LABEL)) {
if (!d) {
set_state(PART:"efl.content", "visible", 0.0);
set_state(PART:"sizer_content", "visible", 0.0);
set_state(PART:"event", "default", 0.0);
if (!p) {
set_state(PART:"efl.text", "visible", 0.0);
set_state(PART:"icon_clip", "default", 0.0);
} else {
set_state(PART:"efl.text", "pressed_visible", 0.0);
set_state(PART:"icon_clip", "pressed", 0.0);
}
} else {
set_state(PART:"efl.content", "visible", 0.0);
set_state(PART:"sizer_content", "visible", 0.0);
set_state(PART:"efl.text", "disabled_visible", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else if (m1 == (ICON)) {
if (!d) {
set_state(PART:"efl.content", "icononly", 0.0);
set_state(PART:"sizer_content", "icononly", 0.0);
set_state(PART:"event", "default", 0.0);
set_state(PART:"efl.text", "default", 0.0);
if (!p)
set_state(PART:"icon_clip", "default", 0.0);
else
set_state(PART:"icon_clip", "pressed", 0.0);
} else {
set_state(PART:"efl.content", "icononly", 0.0);
set_state(PART:"sizer_content", "icononly", 0.0);
set_state(PART:"efl.text", "default", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else if (m1 == (LABEL)) {
if (!d) {
set_state(PART:"efl.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"icon_clip", "default", 0.0);
set_state(PART:"event", "default", 0.0);
if (!p)
set_state(PART:"efl.text", "textonly", 0.0);
else
set_state(PART:"efl.text", "pressed_textonly", 0.0);
} else {
set_state(PART:"efl.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"efl.text", "disabled_textonly", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else {
if (!d) {
set_state(PART:"efl.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"icon_clip", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"efl.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
}
}
BUTTONMODE_SCRIPT2
}
images.image: "win_shadow.png" COMP;
parts {
image { "base";
desc { "default";
image.normal: "button_normal.png";
image.border: 4 4 3 5;
image.middle: SOLID;
rel1.offset: -1 0;
part { name: "shadow"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
rel.to: "base";
WIN_SHADOW_SMALL;
color_class: "/shadow/normal/button";
}
description { state: "pressed" 0.0; inherit;
image.border_scale_by: 0.1;
rel1.offset: -2 -1;
rel2.offset: 0 1;
fill.smooth: 0;
color_class: "button_bg";
color_class: "/shadow/pressed/button";
}
desc { "pressed";
inherit: "default";
image.normal: "button_clicked.png";
image.border: 5 5 4 6;
color_class: "button_bg_pressed";
description { state: "disabled" 0.0; inherit;
image.border_scale_by: 0.1;
rel1.offset: -2 -1;
rel2.offset: 0 1;
color_class: "/shadow/disabled/button";
}
desc { "disabled";
inherit: "default";
color_class: "button_bg_disabled";
}
rect { "base";
scale: 1;
desc { "default";
color_class: "/bg/normal/button";
rel1.offset: 2 2;
rel2.offset: -3 -3;
offscale;
}
desc { "hidden";
inherit: "default";
desc { "pressed"; inherit;
color_class: "/bg/pressed/button";
rel1.offset: 3 3;
rel2.offset: -4 -4;
offscale;
}
desc { "disabled"; inherit;
color_class: "/bg/disabled/button";
}
desc { "hidden"; inherit;
visible: 0;
}
}
swallow { "efl.background"; nomouse;
required;
swallow { "efl.background"; nomouse; required;
desc { "default";
rel1.to: "base";
rel2.to: "base";
rel.to: "base";
visible: 0;
}
desc { "visible";
inherit: "default";
desc { "visible"; inherit;
visible: 1;
}
}
rect { "icon_clip";
desc { "default";
color_class: "button_icon";
color: 255 255 255 255; // no cc
}
desc { "pressed";
inherit: "default";
color_class: "button_icon_pressed";
desc { "pressed"; inherit;
color: 255 255 255 255; // no cc
}
desc { "disabled";
inherit: "default";
color_class: "button_icon_disabled";
desc { "disabled"; inherit;
color: 255 255 255 64; // no cc
}
}
swallow { "efl.content"; nomouse;
swallow { "efl.content"; nomouse; required;
clip_to: "icon_clip";
required;
scale: 1;
desc { "default";
fixed: 1 0;
align: 0.0 0.5;
rel1.offset: 6 5;
rel1.to: "base";
rel1.offset: 6 6;
rel2.relative: 0.0 1.0;
rel2.offset: 6 -8;
rel2.to: "base";
rel2.offset: 6 -7;
visible: 0;
offscale;
}
desc { "visible";
inherit: "default";
desc { "visible"; inherit;
fixed: 1 0;
aspect: 1.0 1.0;
visible: 1;
min: ICMIN ICMIN;
}
desc { "icononly";
inherit: "default";
desc { "icononly"; inherit;
fixed: 0 0;
align: 0.5 0.5;
rel2.relative: 1.0 1.0;
rel2.offset: -7 -8;
rel2.offset: -7 -7;
visible: 1;
min: ICMIN ICMIN;
}
}
text { "sizer_content"; nomouse;
text { "efl.text"; nomouse; required;
scale: 1;
desc { "default";
// fixed: 1 1;
visible: 0;
text { font: FN; size: 10;
min: 0 0;
text_class: "button_text";
}
}
desc { "visible";
inherit: "default";
rel1.to: "efl.content";
rel2.to: "efl.content";
text {
min: 1 1;
ellipsis: -1;
text: "M";
}
}
desc { "icononly";
inherit: "default";
rel1.to: "efl.content";
rel2.to: "efl.content";
text {
min: 1 1;
ellipsis: -1;
text: "M";
}
}
}
text { "efl.text"; nomouse;
effect: SHADOW BOTTOM;
scale;
required;
desc { "default";
rel1.offset: 0 5;
color_class: "/fg/normal/button";
rel1.offset: 0 6;
rel1.relative: 1.0 0.0;
rel1.to_x: "efl.content";
rel1.to_y: "base";
rel2.offset: -8 -8;
rel2.to: "base";
color_class: "button_text";
color3: 255 255 255 255;
rel2.offset: -7 -7;
text { font: FN; size: 10;
align: 0.5 0.5;
min: 0 0;
text_class: "button";
}
visible: 0;
fixed: 1 1;
offscale;
min: 0 ICMIN;
}
desc { "visible";
inherit: "default";
rel1.offset: 2 5;
desc { "visible"; inherit;
rel1.offset: 6 6;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
fixed: 0 0;
}
desc { "pressed_visible";
inherit: "default";
rel1.offset: 2 5;
desc { "pressed_visible"; inherit;
color_class: "/fg/pressed/button";
rel1.offset: 6 6;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
fixed: 0 0;
color_class: "button_text_pressed";
}
desc { "textonly";
inherit: "default";
desc { "textonly"; inherit;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
fixed: 0 0;
}
desc { "pressed_textonly";
inherit: "default";
desc { "pressed_textonly"; inherit;
color_class: "/fg/pressed/button";
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
fixed: 0 0;
color_class: "button_text_pressed";
}
desc { "disabled_visible";
inherit: "default";
rel1.offset: 2 5;
color_class: "button_text_disabled";
color3: 255 255 255 255;
desc { "disabled_visible"; inherit;
color_class: "/fg/disabled/button";
rel1.offset: 6 6;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
fixed: 0 0;
}
desc { "disabled_textonly";
inherit: "default";
color_class: "button_text_disabled";
color3: 255 255 255 255;
desc { "disabled_textonly"; inherit;
color_class: "/fg/disabled/button";
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
fixed: 0 0;
}
}
rect { "event";
ignore_flags: ON_HOLD;
desc { "default";
color: 0 0 0 0;
color: 0 0 0 0; // no cc
}
desc { "disabled";
inherit: "default";
desc { "disabled"; inherit;
visible: 0;
}
}
}
programs {
EFL_UI_CLICKABLE_PART_BIND("event")
program {
signal: "mouse,down,1"; source: "event";
program { signal: "mouse,down,1"; source: "event";
after: "button_click_anim";
}
program { name: "button_click_anim";
script {
new m = get_int(btmode);
m |= PRESSED; set_int(btmode, m);
eval_mode(m);
}
script { flag_set(PRESSED); }
}
program { name: "button_unclick";
signal: "mouse,up,1"; source: "event";
after: "button_unclick_anim";
}
program { name: "button_unclick_anim";
script {
new m = get_int(btmode);
m &= ~PRESSED; set_int(btmode, m);
eval_mode(m);
}
script { flag_unset(PRESSED); }
}
program { name: "buttonactivate";
signal: "efl,state,animation,activated"; source: "efl";
program { signal: "efl,state,animation,activated"; source: "efl";
action: STATE_SET "pressed" 0.0;
target: "shadow";
target: "base";
after: "button_unpressed_anim";
}
program { name: "button_unpressed_anim";
action: STATE_SET "default" 0.0;
in: 0.5 0.0;
action: STATE_SET "default" 0.0;
target: "shadow";
target: "base";
}
program { name: "button_text_visible";
signal: "efl,text,set"; source: "efl";
script {
new m = get_int(btmode);
m |= LABEL; set_int(btmode, m);
eval_mode(m);
}
program { signal: "efl,text,set"; source: "efl";
script { flag_set(LABEL); }
}
program { name: "button_text_hidden";
signal: "efl,text,unset"; source: "efl";
script {
new m = get_int(btmode);
m &= ~LABEL; set_int(btmode, m);
eval_mode(m);
}
program { signal: "efl,text,unset"; source: "efl";
script { flag_unset(LABEL); }
}
program { name: "button_icon_visible";
signal: "efl,content,set"; source: "efl";
script {
new m = get_int(btmode);
m |= ICON; set_int(btmode, m);
eval_mode(m);
}
program { signal: "efl,content,set"; source: "efl";
script { flag_set(ICON); }
}
program { name: "button_icon_hidden";
signal: "efl,content,unset"; source: "efl";
script {
new m = get_int(btmode);
m &= ~ICON; set_int(btmode, m);
eval_mode(m);
}
program { signal: "efl,content,unset"; source: "efl";
script { flag_unset(ICON); }
}
program { name: "button_background_visible";
signal: "efl,state,background,set"; source: "efl";
script {
new m = get_int(btmode);
m |= BACKGROUND; set_int(btmode, m);
eval_mode(m);
}
program { signal: "efl,state,background,set"; source: "efl";
script { flag_set(BACKGROUND); }
}
program { name: "button_background_hidden";
signal: "efl,state,background,unset"; source: "efl";
script {
new m = get_int(btmode);
m &= ~BACKGROUND; set_int(btmode, m);
eval_mode(m);
}
program { signal: "efl,state,background,unset"; source: "efl";
script { flag_unset(BACKGROUND); }
}
program { name: "button_state_disabled";
signal: "efl,state,disabled"; source: "efl";
script {
new m = get_int(btmode);
m |= DISABLE; set_int(btmode, m);
eval_mode(m);
}
program { signal: "efl,state,disabled"; source: "efl";
script { flag_set(DISABLE); }
}
program { name: "button_state_enabled";
signal: "efl,state,enabled"; source: "efl";
script {
new m = get_int(btmode);
m &= ~DISABLE; set_int(btmode, m);
eval_mode(m);
}
program { signal: "efl,state,enabled"; source: "efl";
script { flag_unset(DISABLE); }
}
}
#undef ICON
#undef LABEL
#undef MASK
#undef DISABLE
#undef PRESSED
#undef BACKGROUND
}
group { name: "efl/button:anchor"; data.item: "version" "123";
images.image: "horizontal_separated_bar_small_glow.png" COMP;
#define ICON 1
#define LABEL 2
#define MASK 3
#define DISABLE 4
group { name: "efl/button:anchor";
data.item: "version" "123";
script {
public btmode;
public eval_mode(m) {
new m1 = m & MASK;
new d = m & DISABLE;
new p = m & PRESSED;
if (!d) {
if (!p) {
set_state(PART:"bar", "default", 0.0);
}
else {
set_state(PART:"bar", "pressed", 0.0);
}
} else {
set_state(PART:"bar", "disabled", 0.0);
}
if (m1 == (ICON | LABEL)) {
if (!d) {
set_state(PART:"efl.content", "visible", 0.0);
set_state(PART:"sizer_content", "visible", 0.0);
set_state(PART:"efl.text", "visible", 0.0);
if (!p) {
set_state(PART:"efl.text", "visible", 0.0);
} else {
set_state(PART:"efl.text", "pressed_visible", 0.0);
}
set_state(PART:"icon_clip", "default", 0.0);
set_state(PART:"bar", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"efl.content", "visible", 0.0);
set_state(PART:"sizer_content", "visible", 0.0);
set_state(PART:"efl.text", "disabled_visible", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
set_state(PART:"bar", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else if (m1 == (ICON)) {
if (!d) {
set_state(PART:"efl.content", "icononly", 0.0);
set_state(PART:"sizer_content", "icononly", 0.0);
set_state(PART:"efl.text", "default", 0.0);
set_state(PART:"icon_clip", "default", 0.0);
set_state(PART:"bar", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"efl.content", "icononly", 0.0);
set_state(PART:"sizer_content", "icononly", 0.0);
set_state(PART:"efl.text", "default", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
set_state(PART:"bar", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else if (m1 == (LABEL)) {
if (!d) {
set_state(PART:"efl.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"efl.text", "textonly", 0.0);
if (!p) {
set_state(PART:"efl.text", "textonly", 0.0);
} else {
set_state(PART:"efl.text", "pressed_textonly", 0.0);
}
set_state(PART:"icon_clip", "default", 0.0);
set_state(PART:"bar", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"efl.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"efl.text", "disabled_textonly", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
set_state(PART:"bar", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else {
if (!d) {
set_state(PART:"efl.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"icon_clip", "default", 0.0);
set_state(PART:"bar", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"efl.content", "default", 0.0);
set_state(PART:"sizer_content", "default", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
set_state(PART:"bar", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
}
@ -510,7 +324,16 @@ group { name: "efl/button:anchor"; data.item: "version" "123";
parts {
rect { "base";
desc { "default";
color: 0 0 0 0;
color: 0 0 0 0; // no cc
}
desc { "pressed"; inherit;
inherit: "default";
}
desc { "disabled"; inherit;
inherit: "default";
}
desc { "hidden"; inherit;
inherit: "default";
}
}
rect { "icon_clip";
@ -518,13 +341,12 @@ group { name: "efl/button:anchor"; data.item: "version" "123";
}
desc { "disabled";
inherit: "default";
color: 255 255 255 64;
color: 255 255 255 64; // no cc
}
}
swallow { "efl.background"; nomouse; required;
desc { "default";
rel1.to: "base";
rel2.to: "base";
rel.to: "base";
visible: 0;
}
desc { "visible";
@ -537,10 +359,10 @@ group { name: "efl/button:anchor"; data.item: "version" "123";
desc { "default";
fixed: 1 0;
align: 0.0 0.5;
rel1.offset: 0 4;
rel1.offset: 4 4;
rel1.to: "base";
rel2.relative: 0.0 1.0;
rel2.offset: 0 -5;
rel2.offset: 4 -5;
rel2.to: "base";
visible: 0;
}
@ -549,75 +371,60 @@ group { name: "efl/button:anchor"; data.item: "version" "123";
fixed: 1 0;
aspect: 1.0 1.0;
visible: 1;
min: ICMIN ICMIN;
}
desc { "icononly";
inherit: "default";
fixed: 0 0;
align: 0.5 0.5;
rel2.relative: 1.0 1.0;
rel2.offset: -1 -5;
rel2.offset: -5 -5;
visible: 1;
min: ICMIN ICMIN;
}
}
text { "sizer_content"; nomouse;
text { "efl.text"; nomouse; required;
scale: 1;
desc { "default";
visible: 0;
text { font: FN; size: 10;
min: 0 0;
text_class: "button_text";
}
}
desc { "visible";
inherit: "default";
rel1.to: "efl.content";
rel2.to: "efl.content";
text {
min: 1 1;
ellipsis: -1;
text: "M";
}
}
desc { "icononly";
inherit: "default";
rel1.to: "efl.content";
rel2.to: "efl.content";
text {
min: 1 1;
ellipsis: -1;
text: "M";
}
}
}
text { "efl.text"; nomouse;
effect: GLOW;
scale: 1;
desc { "default";
rel1.offset: -2 0;
rel1.offset: 0 4;
rel1.relative: 1.0 0.0;
rel1.to_x: "efl.content";
rel1.to_y: "base";
rel2.offset: -1 -1;
rel2.offset: -5 -5;
rel2.to: "base";
color_class: "button_text_anchor";
color2: 255 255 255 255;
color3: 255 255 255 255;
color_class: "/fg/normal/button-anchor";
text { font: FN; size: 10;
align: 0.5 0.5;
min: 0 0;
text_class: "button_anchor";
}
visible: 0;
min: 0 ICMIN;
}
desc { "visible";
inherit: "default";
rel1.offset: 0 0;
rel1.offset: 4 4;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
}
desc { "pressed_visible";
inherit: "default";
color_class: "/fg/pressed/button-anchor";
rel1.offset: 4 4;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
}
desc { "textonly";
inherit: "default";
rel1.offset: 0 4;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
}
desc { "pressed_textonly";
inherit: "default";
color_class: "/fg/pressed/button-anchor";
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
@ -625,76 +432,39 @@ group { name: "efl/button:anchor"; data.item: "version" "123";
desc { "disabled_visible";
inherit: "default";
rel1.offset: 0 0;
color_class: "button_text_anchor_disabled";
color_class: "/fg/disabled/button-anchor";
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
}
desc { "disabled_textonly";
inherit: "default";
color_class: "button_text_anchor_disabled";
rel1.offset: 0 4;
color_class: "/fg/disabled/button-anchor";
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
}
}
text { "text2"; nomouse;
effect: GLOW;
scale: 1;
rect { "bar"; nomouse;
desc { "default";
fixed: 1 1;
rel1.to: "efl.text";
rel2.to: "efl.text";
color_class: "button_text_anchor";
color2: 255 255 255 255;
color3: 255 255 255 255;
text { font: FN; size: 10;
text_source: "efl.text";
min: 1 1;
ellipsis: -1;
text_class: "button_anchor";
}
visible: 0;
}
desc { "clicked";
inherit: "default";
visible: 1;
}
}
image { "bar"; nomouse;
desc { "default";
image.normal: "horizontal_separated_bar_small_glow.png";
image.border: 4 4 4 4;
fill.smooth: 0;
fixed: 0 1;
color_class: "/fg/normal/button-anchor";
rel1.relative: 0.0 1.0;
rel1.offset: -3 -6;
rel2.offset: 2 3;
rel1.offset: 2 -3;
rel2.offset: -3 -3;
}
desc { "pressed";
inherit: "default";
color_class: "/fg/pressed/button-anchor";
}
desc { "disabled";
inherit: "default";
color: 255 255 255 64;
}
}
image { "bar2"; nomouse;
desc { "default";
image.normal: "horizontal_separated_bar_small_glow.png";
image.border: 4 4 4 4;
fill.smooth: 0;
rel1.to: "bar";
rel2.to: "bar";
color: 255 255 255 0;
visible: 0;
}
desc { "clicked";
inherit: "default";
color: 255 255 255 255;
visible: 1;
color_class: "/fg/disabled/button-anchor";
}
}
rect { "event";
desc { "default";
color: 0 0 0 0;
color: 0 0 0 0; // no cc
}
desc { "disabled";
inherit: "default";
@ -704,89 +474,80 @@ group { name: "efl/button:anchor"; data.item: "version" "123";
}
programs {
EFL_UI_CLICKABLE_PART_BIND("event")
program {
signal: "mouse,down,1"; source: "event";
program { signal: "mouse,down,1"; source: "event";
after: "button_click_anim";
}
program { name: "button_click_anim";
action: STATE_SET "clicked" 0.0;
target: "bar2";
target: "text2";
script {
new m = get_int(btmode);
m |= PRESSED; set_int(btmode, m);
eval_mode(m);
}
}
program {
signal: "mouse,up,1"; source: "event";
program { signal: "mouse,up,1"; source: "event";
after: "button_unclick_anim";
}
program { name: "button_unclick_anim";
action: STATE_SET "default" 0.0;
target: "bar2";
target: "text2";
script {
new m = get_int(btmode);
m &= ~PRESSED; set_int(btmode, m);
eval_mode(m);
}
}
program {
signal: "efl,state,animation,activated"; source: "efl";
action: STATE_SET "clicked" 0.0;
target: "bar2";
target: "text2";
program { signal: "efl,state,animation,activated"; source: "efl";
action: STATE_SET "pressed" 0.0;
target: "base";
after: "button_unpressed_anim";
}
program { name: "button_unpressed_anim";
action: STATE_SET "default" 0.0;
in: 0.5 0.0;
target: "bar2";
target: "text2";
target: "base";
}
program { name: "button_text_visible";
signal: "efl,text,set"; source: "efl";
program { signal: "efl,text,set"; source: "efl";
script {
new m = get_int(btmode);
m |= LABEL; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_text_hidden";
signal: "efl,text,unset"; source: "efl";
program { signal: "efl,text,unset"; source: "efl";
script {
new m = get_int(btmode);
m &= ~LABEL; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_icon_visible";
signal: "efl,content,set"; source: "efl";
program { signal: "efl,content,set"; source: "efl";
script {
new m = get_int(btmode);
m |= ICON; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_icon_hidden";
signal: "efl,content,unset"; source: "efl";
program { signal: "efl,content,unset"; source: "efl";
script {
new m = get_int(btmode);
m &= ~ICON; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_background_visible";
signal: "efl,state,background,set"; source: "efl";
program { signal: "efl,state,background,set"; source: "efl";
action: STATE_SET "visible" 0.0;
target: "efl.background";
}
program { name: "button_background_hidden";
signal: "efl,state,background,unset"; source: "efl";
program { signal: "efl,state,background,unset"; source: "efl";
action: STATE_SET "default" 0.0;
target: "efl.background";
}
program { name: "button_state_disabled";
signal: "efl,state,disabled"; source: "efl";
program { signal: "efl,state,disabled"; source: "efl";
script {
new m = get_int(btmode);
m |= DISABLE; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_state_enabled";
signal: "efl,state,enabled"; source: "efl";
program { signal: "efl,state,enabled"; source: "efl";
script {
new m = get_int(btmode);
m &= ~DISABLE; set_int(btmode, m);
@ -794,8 +555,4 @@ group { name: "efl/button:anchor"; data.item: "version" "123";
}
}
}
#undef ICON
#undef LABEL
#undef MASK
#undef DISABLE
}

View File

@ -1,12 +1,21 @@
#define CIT_STYLE\
#define CIT_STYLES\
style { name: "efl_ui_calendar_date_style";\
base: "font="FN" font_size=10 color=#ffffff style=shadow,bottom shadow_color=#00000080 align=center text_class=calendar_day_text color_class=calendar_day_text";\
base: "font="FN" font_size=10 color=cc:/fg/normal/calendar/day align=center text_class=calendar_day_text";\
}\
style { name: "efl_ui_calendar_date_holiday_style";\
base: "font="FN" font_size=10 color=cc:/fg/normal/calendar/day/holiday align=center text_class=calendar_day_text_holiday";\
}\
style { name: "efl_ui_calendar_date_today_style";\
base: "font="FN" font_size=10 color=#3399ff style=glow glow_color=#3399ff18 align=center text_class=calendar_day_text_today color_class=calendar_day_text_today";\
base: "font="FN" font_size=10 color=cc:/fg/normal/calendar/day/today align=center text_class=calendar_day_text_today";\
}\
style { name: "efl_ui_calendar_date_disabled_style";\
base: "font="FN" font_size=10 color=#151515 style=shadow,bottom shadow_color=#ffffffc0 align=center text_class=calendar_day_text_disabled text_class=calendar_day_text_disabled";\
base: "font="FN" font_size=10 color=cc:/fg/normal/calendar/day/disabled align=center text_class=calendar_day_text_disabled";\
}\
style { name: "efl_ui_calendar_date_weekend1_style";\
base: "font="FN" font_size=10 color=cc:/fg/normal/calendar/day/weekend1 align=center text_class=calendar_day_text_weekend1";\
}\
style { name: "efl_ui_calendar_date_weekend2_style";\
base: "font="FN" font_size=10 color=cc:/fg/normal/calendar/day/weekend2 align=center text_class=calendar_day_text_weekend2";\
}\
#define CAL_SPIN(_sufix, _text, _relative)\
@ -21,11 +30,11 @@
offset: 0 -1;\
}\
align: 0.0 0.5;\
min: 15 15;\
max: 15 15;\
min: 25 25;\
max: 25 25;\
}\
}\
part { name: "right_bt"#_sufix; type: RECT;\
part { name: "right_bt"#_sufix; type: SPACER;\
scale: 1;\
description { state: "default" 0.0;\
fixed: 1 1;\
@ -36,125 +45,109 @@
offset: -1 -1;\
}\
align: 1.0 0.5;\
min: 25 25;\
max: 25 25;\
}\
}\
part { name: "efl.calendar.button"#_sufix".left"; type: SWALLOW;\
scale: 1;\
description { state: "default" 0.0;\
fixed: 1 1;\
rel.to: "left_bt"#_sufix;\
min: 15 15;\
max: 15 15;\
color: 0 0 0 0;\
}\
}\
part { name: "efl.calendar.button"#_sufix".left";\
type: SWALLOW;\
scale: 1;\
description { state: "default" 0.0;\
fixed: 1 1;\
rel1.to: "left_bt"#_sufix;\
rel2.to: "left_bt"#_sufix;\
}\
description { state: "rtl" 0.0;\
inherit: "default" 0.0;\
rel1.to: "right_bt"#_sufix;\
rel2.to: "right_bt"#_sufix;\
rel.to: "right_bt"#_sufix;\
}\
}\
part { name: "efl.calendar.button"#_sufix".right";\
type: SWALLOW;\
part { name: "efl.calendar.button"#_sufix".right"; type: SWALLOW;\
scale: 1;\
description { state: "default" 0.0;\
fixed: 1 1;\
rel1.to: "right_bt"#_sufix;\
rel2.to: "right_bt"#_sufix;\
rel.to: "right_bt"#_sufix;\
min: 15 15;\
max: 15 15;\
}\
description { state: "rtl" 0.0;\
inherit: "default" 0.0;\
rel1.to: "left_bt"#_sufix;\
rel2.to: "left_bt"#_sufix;\
rel.to: "left_bt"#_sufix;\
}\
}\
part { name: #_text; type: TEXT; mouse_events: 0;\
effect: SHADOW BOTTOM; \
scale: 1;\
description { state: "default" 0.0;\
fixed: 1 1;\
rel1 { relative: 1.0 0.0;\
to: "left_bt"#_sufix;\
offset: 8 8;\
}\
rel2 { relative: 0.0 1.0;\
to: "right_bt"#_sufix;\
offset: -9 -9;\
}\
offscale;\
text { font: FNBD; size: 10;\
min: 0 1;\
text_class: "calendar_"#_text; \
}\
color_class: "calendar_"#_text; \
color_class: "/fg/normal/calendar/text/title"; \
}\
}
#define CH(_pos) \
part { name: "ch_"#_pos"_base"; type: SPACER; \
description { state: "default" 0.0; \
rel1 { \
relative: (_pos % 7 / 7) 0.0; \
to: "header"; \
} \
rel2 { \
relative: (_pos % 7 / 7 + 1 / 7) 1.0; \
to: "header"; \
} \
rel.to: "header";\
rel1.relative: (_pos % 7 / 7) 0.0; \
rel2.relative: (_pos % 7 / 7 + 1 / 7) 1.0; \
} \
} \
part { name: "efl.ch_"#_pos".text"; type: TEXT; mouse_events: 0; \
effect: SHADOW BOTTOM; \
scale: 1; \
clip_to: "ch_"#_pos"_clipper"; \
description { state: "default" 0.0; \
rel1.to: "ch_"#_pos"_base"; \
rel2.to: "ch_"#_pos"_base"; \
rel.to: "ch_"#_pos"_base"; \
rel1.offset: 0 3; \
rel2.offset: -1 -4; \
offscale;\
text { font: FN; size: 8; \
min: 1 1; \
ellipsis: -1; \
text_class: "calendar_weekday_text"; \
} \
color_class: "calendar_weekday_text"; \
color_class: "/fg/normal/calendar/text/day"; \
} \
} \
part { name: "ch_"#_pos"_clipper"; type: RECT; \
description { state: "default" 0.0; \
rel1.to: "ch_"#_pos"_base"; \
rel2.to: "ch_"#_pos"_base"; \
rel.to: "ch_"#_pos"_base"; \
} \
}
#define CIT(_pos) \
part { name: "cit_"#_pos"_rect"; type: SPACER; \
description { state: "default" 0.0; \
rel1 { \
relative: (_pos % 7 / 7) \
(_pos / 7 / 6 - _pos % 7 / 7 / 6); \
to: "base"; \
} \
rel2 { \
relative: (_pos % 7 / 7 + 1 / 7) \
(_pos / 7 / 6 + 1 / 6 - _pos % 7 / 7 / 6); \
to: "base"; \
} \
rel.to: "base"; \
rel1.relative: (_pos % 7 / 7) (_pos / 7 / 6 - _pos % 7 / 7 / 6); \
rel2.relative: (_pos % 7 / 7 + 1 / 7) (_pos / 7 / 6 + 1 / 6 - _pos % 7 / 7 / 6); \
} \
} \
part { name: "cit_"#_pos"_event"; type: RECT; repeat_events: 1; \
description { state: "default" 0.0; \
rel1.to: "cit_"#_pos"_rect"; \
rel2.to: "cit_"#_pos"_rect"; \
color: 0 0 0 0; \
rel.to: "cit_"#_pos"_rect"; \
color_class: "/bg/normal/calendar/day/normal"; \
} \
description { state: "today" 0.0; \
inherit: "default" 0.0; \
color_class: "/bg/normal/calendar/day/today"; \
} \
} \
part { name: "cit_"#_pos"_pat"; mouse_events: 0; \
part { name: "cit_"#_pos"_selected"; type: RECT; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "cit_"#_pos"_selected"; \
rel1.offset: 1 1; \
rel2.to: "cit_"#_pos"_selected"; \
rel2.offset: -2 -2; \
image.normal: "diagonal_stripes.png"; \
color: 255 255 255 25; \
TILED_PATTERN(240, 240) \
color_class: "calendar_day_selected"; \
rel.to: "cit_"#_pos"_rect"; \
color_class: "/bg/selected/calendar/day"; \
visible: 0; \
} \
description { state: "selected" 0.0; \
@ -162,13 +155,10 @@
visible: 1; \
} \
} \
part { name: "cit_"#_pos"_selected"; mouse_events: 0; \
part { name: "cit_"#_pos"_focus"; type: RECT; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "cit_"#_pos"_rect"; \
rel2.to: "cit_"#_pos"_rect"; \
image.normal: "outline_glow.png"; \
image.border: 4 4 4 4; \
color_class: "calendar_day_selected"; \
rel.to: "cit_"#_pos"_rect"; \
color_class: "/bg/selected/calendar/day/focused"; \
visible: 0; \
} \
description { state: "selected" 0.0; \
@ -176,44 +166,20 @@
visible: 1; \
} \
} \
part { name: "cit_"#_pos"_selected2"; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "cit_"#_pos"_rect"; \
rel2.to: "cit_"#_pos"_rect"; \
image.normal: "outline_glow.png"; \
image.border: 4 4 4 4; \
color: 255 255 255 128; \
color_class: "calendar_day_highlighted"; \
visible: 0; \
} \
description { state: "highlighted" 0.0; \
inherit: "default" 0.0; \
visible: 1; \
} \
} \
part { name: "cit_"#_pos"_glow"; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "cit_"#_pos"_rect"; \
rel2.to: "cit_"#_pos"_rect"; \
image.normal: "box_glow.png"; \
image.border: 12 12 12 12; \
image.middle: 0; \
fill.smooth: 0; \
visible: 0; \
} \
description { state: "focused" 0.0; \
inherit: "default" 0.0; \
visible: 1; \
} \
} \
part { name: "efl.cit_"#_pos".text"; type: TEXTBLOCK; mouse_events: 0; \
scale: 1; \
description { state: "default" 0.0; \
rel1.to: "cit_"#_pos"_rect"; \
rel2.to: "cit_"#_pos"_rect"; \
rel.to: "cit_"#_pos"_rect"; \
rel1.offset: 3 0; \
rel2.offset: -4 -1; \
text.style: "efl_ui_calendar_date_style"; \
text.min: 1 1; \
text.ellipsis: -1; \
offscale; \
} \
description { state: "holiday" 0.0; \
inherit: "default" 0.0; \
text.style: "efl_ui_calendar_date_holiday_style"; \
} \
description { state: "today" 0.0; \
inherit: "default" 0.0; \
@ -223,25 +189,26 @@
inherit: "default" 0.0; \
text.style: "efl_ui_calendar_date_disabled_style"; \
} \
description { state: "weekend/day1" 0.0; \
inherit: "default" 0.0; \
text.style: "efl_ui_calendar_date_weekend1_style"; \
} \
description { state: "weekend/day2" 0.0; \
inherit: "default" 0.0; \
text.style: "efl_ui_calendar_date_weekend2_style"; \
} \
} \
part { name: "cit_"#_pos"_check"; mouse_events: 0; \
scale: 1; \
description { state: "default" 0.0; \
fixed: 1 1; \
rel1 { \
to: "cit_"#_pos"_rect"; \
relative: 0.6 0.5; \
} \
rel2 { \
to: "cit_"#_pos"_rect"; \
relative: 0.6 0.5; \
} \
min: 16 16; \
max: 16 16; \
aspect: 1 1; \
rel.to: "cit_"#_pos"_rect"; \
rel1.relative: 0.6 0.5; \
min: 15 15; \
max: 15 15; \
align: 0.0 1.0;\
image.normal: "icon_border_remember.png"; \
color_class: "calendar_day_checked"; \
image.normal: "i-check"; \
color_class: "/fg/normal/calendar/day/checked"; \
visible: 0; \
} \
description { state: "visible" 0.0; \
@ -251,9 +218,8 @@
} \
part { name: "efl.cit_"#_pos".access"; type: RECT; repeat_events: 1; \
description { state: "default" 0.0; \
rel1.to: "cit_"#_pos"_event"; \
rel2.to: "cit_"#_pos"_event"; \
color: 0 0 0 0; \
rel.to: "cit_"#_pos"_event"; \
color: 0 0 0 0; /* no cc */ \
} \
} \
programs { \
@ -262,7 +228,6 @@
signal: "cit_"#_pos",selected"; \
source: "efl"; \
action: STATE_SET "selected" 0.0; \
target: "cit_"#_pos"_pat"; \
target: "cit_"#_pos"_selected"; \
} \
program { \
@ -270,7 +235,6 @@
signal: "cit_"#_pos",unselected"; \
source: "efl"; \
action: STATE_SET "default" 0.0; \
target: "cit_"#_pos"_pat"; \
target: "cit_"#_pos"_selected"; \
} \
program { \
@ -281,7 +245,7 @@
set_int(item_focus_enabled, 1); \
set_int(last_focused_item, _pos); \
if (get_int(win_focus_enabled) == 1) \
set_state(PART:"cit_"#_pos"_glow", "focused", 0.0); \
set_state(PART:"cit_"#_pos"_focus", "selected", 0.0); \
} \
} \
program { \
@ -290,7 +254,7 @@
source: "efl"; \
script { \
set_int(item_focus_enabled, 0); \
set_state(PART:"cit_"#_pos"_glow", "default", 0.0); \
set_state(PART:"cit_"#_pos"_focus", "default", 0.0); \
} \
} \
program { \
@ -299,6 +263,7 @@
source: "efl"; \
action: STATE_SET "today" 0.0; \
target: "efl.cit_"#_pos".text"; \
target: "cit_"#_pos"_event";\
} \
program { \
name: "cit_"#_pos"_not_today"; \
@ -306,6 +271,7 @@
source: "efl"; \
action: STATE_SET "default" 0.0; \
target: "efl.cit_"#_pos".text"; \
target: "cit_"#_pos"_event";\
} \
program { \
name: "cit_"#_pos"_enable"; \
@ -330,15 +296,15 @@
source: "cit_"#_pos"_clicked"; \
signal: "mouse,down,1"; \
source: "cit_"#_pos"_event"; \
action: STATE_SET "highlighted" 0.0; \
target: "cit_"#_pos"_selected2"; \
action: STATE_SET "selected" 0.0; \
target: "cit_"#_pos"_selected"; \
} \
program { \
source: "cit_"#_pos"_clicked"; \
signal: "mouse,up,1"; \
source: "cit_"#_pos"_event"; \
action: STATE_SET "default" 0.0; \
target: "cit_"#_pos"_selected2"; \
target: "cit_"#_pos"_selected"; \
} \
program { \
source: "cit_"#_pos"_clicked"; \
@ -420,15 +386,8 @@
} \
}
group { "efl/calendar"; data.item: "version" "123";
images.image: "sym_left_light_normal.png" COMP;
images.image: "sym_right_light_normal.png" COMP;
images.image: "sym_left_glow_normal.png" COMP;
images.image: "sym_right_glow_normal.png" COMP;
images.image: "icon_border_remember.png" COMP;
images.image: "outline_glow.png" COMP;
images.image: "box_glow.png" COMP;
images.image: "diagonal_stripes.png" COMP;
group { name: "efl/calendar";
data.item: "version" "123";
data.item: "focus_highlight" "on";
script {
public rtl;
@ -437,32 +396,34 @@ group { "efl/calendar"; data.item: "version" "123";
public last_focused_item;
}
styles {
CIT_STYLE
CIT_STYLES
}
parts {
part { name: "bg"; type: SPACER;
scale: 1;
description { state: "default" 0.0;
rel1.offset: 1 1;
rel2.offset: -2 -2;
rel1.offset: 8 8;
rel2.offset: -9 -9;
offscale;
}
}
part { name: "efl.background"; type: SWALLOW;
description { state: "default" 0.0;
rel1.to: "bg";
rel2.to: "bg";
rel.to: "bg";
}
}
part { name: "spinner-base1"; type: SPACER;
scale: 1;
description { state: "default" 0.0;
min: 24 16;
max: 999999 16;
rel1.to: "bg";
rel2.to: "bg";
rel.to: "bg";
rel2.relative: 1.0 (1/8);
align: 0.5 0.0;
}
}
part { name: "table-base"; type: SPACER;
scale: 1;
description { state: "default" 0.0;
min: 70 60;
rel1.to_x: "bg";
@ -471,29 +432,31 @@ group { "efl/calendar"; data.item: "version" "123";
rel1.relative: 0.0 1.0;
rel2.to: "bg";
rel2.offset: -4 -4;
offscale;
}
}
part { name: "header"; type: SPACER;
description { state: "default" 0.0;
rel1.to: "table-base";
rel2.to: "table-base";
rel.to: "table-base";
rel2.relative: 1.0 (1/7);
align: 0.5 0.0;
min: 0 16;
min: 0 25;
}
}
part { name: "header_separator"; mouse_events: 0;
part { name: "header_separator"; type: RECT; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "header";
rel.to: "header";
rel1.relative: 0.0 1.0;
rel1.offset: 0 -2;
rel2.to: "header";
image.normal: "separator_horiz.png";
fill.smooth: 0;
rel1.offset: 8 -1;
rel2.offset: -9 -1;
color_class: "/fg/normal/separator";
offscale;
}
}
part { name: "base"; type: SPACER;
scale: 1;
description { state: "default" 0.0;
rel1.to_x: "table-base";
rel1.to_y: "header";
@ -501,6 +464,7 @@ group { "efl/calendar"; data.item: "version" "123";
rel1.offset: 3 0;
rel2.to: "table-base";
rel2.offset: -3 0;
offscale;
}
}
@ -537,182 +501,148 @@ group { "efl/calendar"; data.item: "version" "123";
}
}
group { name: "efl/calendar/inc_button";
data.item: "version" "123";
script {
public mouse_down = 0;
public multi_down = 0;
}
parts {
part { name: "arrow.image";
scale: 1;
description { state: "default" 0.0;
FIXED_SIZE(15, 15)
color_class: "/fg/normal/spinner/arrow";
image.normal: "i-arrow-r";
}
description { state: "pressed" 0.0;
inherit: "default" 0.0;
color_class: "/fg/pressed/spinner/arrow";
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color_class: "/fg/disabled/spinner/arrow";
}
}
part { name: "over"; type: RECT;
repeat_events: 1;
description { state: "default" 0.0;
color: 0 0 0 0; // no cc
}
}
part { name: "disabler"; type: RECT;
description { state: "default" 0.0;
color: 0 0 0 0; // no cc
visible: 0;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
}
programs {
program { signal: "mouse,down,1"; source: "over";
script {
if ((get_int(multi_down) == 0) &&
(get_int(mouse_down) == 0)) {
set_int(mouse_down, 1);
run_program(PROGRAM:"button_press2");
}
}
}
program { name: "button_press2";
action: SIGNAL_EMIT "efl,action,press" "";
after: "button_press_anim";
}
program { name: "button_press_anim";
action: STATE_SET "pressed" 0.0;
target: "arrow.image";
}
program { signal: "mouse,up,1"; source: "over";
script {
if (get_int(mouse_down) == 1) {
set_int(mouse_down, 0);
run_program(PROGRAM:"button_unpress2");
run_program(PROGRAM:"button_unpress_anim");
}
}
}
program { name: "button_unpress2";
action: SIGNAL_EMIT "efl,action,unpress" "";
}
program { name: "button_unpress_anim";
action: STATE_SET "default" 0.0;
target: "arrow.image";
}
program { signal: "mouse,clicked,1"; source: "over";
script {
if (get_int(multi_down) == 0) {
run_program(PROGRAM:"button_click2");
}
}
}
program { signal: "efl,action,unpressed"; source: "efl";
after: "button_unpress_anim";
}
program { signal: "efl,action,pressed"; source: "efl";
after: "button_press_anim";
}
program { name: "button_click2";
action: SIGNAL_EMIT "efl,action,click" "";
}
program { signal: "efl,state,animation,activated"; source: "efl";
action: STATE_SET "pressed" 0.0;
target: "arrow.image";
after: "access_pressed_anim";
}
program { name: "access_pressed_anim";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.1;
target: "arrow.image";
}
program { signal: "efl,state,disabled"; source: "efl";
action: STATE_SET "disabled" 0.0;
target: "arrow.image";
target: "disabler";
}
program { signal: "efl,state,enabled"; source: "efl";
action: STATE_SET "default" 0.0;
target: "arrow.image";
target: "disabler";
}
program { signal: "efl,action,multi,down"; source: "efl";
script {
set_int(multi_down, 1);
}
}
program { signal: "efl,action,multi,up"; source: "efl";
script {
set_int(multi_down, 0);
}
}
}
}
group { name: "efl/calendar/dec_button";
inherit: "efl/calendar/inc_button";
data.item: "version" "123";
parts {
part { name: "arrow.image";
scale: 1;
description { state: "default" 0.0;
image.normal: "i-arrow-l";
}
description { state: "pressed" 0.0;
image.normal: "i-arrow-l";
}
description { state: "disabled" 0.0;
image.normal: "i-arrow-l";
}
}
}
}
#undef CIT_STYLES
#undef CAL_SPIN
#undef CIT
#undef CH
group { name: "efl/calendar/inc_button"; data.item: "version" "123";
images.image: "sym_right_light_normal.png" COMP;
images.image: "sym_right_glow_normal.png" COMP;
images.image: "sym_right_dark_normal.png" COMP;
script {
public mouse_down = 0;
public multi_down = 0;
}
parts {
part { name: "arrow.image";
scale: 1;
description { state: "default" 0.0;
min: 15 15;
max: 15 15;
color_class: "F032L1";
image.normal: "sym_right_light_normal.png";
}
description { state: "pressed" 0.0;
inherit: "default" 0.0;
image.normal: "sym_right_glow_normal.png";
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
image.normal: "sym_right_dark_normal.png";
}
}
part { name: "over";
type: RECT;
repeat_events: 1;
description { state: "default" 0.0;
color: 0 0 0 0;
}
}
part { name: "disabler";
type: RECT;
description { state: "default" 0.0;
color: 0 0 0 0;
visible: 0;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
}
programs {
program { name: "button_press";
signal: "mouse,down,1";
source: "over";
script {
if ((get_int(multi_down) == 0) &&
(get_int(mouse_down) == 0)) {
set_int(mouse_down, 1);
run_program(PROGRAM:"button_press2");
}
}
}
program { name: "button_press2";
action: SIGNAL_EMIT "efl,action,press" "";
after: "button_press_anim";
}
program { name: "button_press_anim";
action: STATE_SET "pressed" 0.0;
target: "arrow.image";
}
program { name: "button_unpress";
signal: "mouse,up,1";
source: "over";
script {
if (get_int(mouse_down) == 1) {
set_int(mouse_down, 0);
run_program(PROGRAM:"button_unpress2");
run_program(PROGRAM:"button_unpress_anim");
}
}
}
program { name: "button_unpress2";
action: SIGNAL_EMIT "efl,action,unpress" "";
}
program { name: "button_unpress_anim";
action: STATE_SET "default" 0.0;
target: "arrow.image";
}
program { name: "button_click";
signal: "mouse,clicked,1";
source: "over";
script {
if (get_int(multi_down) == 0) {
run_program(PROGRAM:"button_click2");
}
}
}
program { name: "action_unpressed";
signal: "efl,action,unpressed";
source: "efl";
after: "button_unpress_anim";
}
program { name: "action_pressed";
signal: "efl,action,pressed";
source: "efl";
after: "button_press_anim";
}
program { name: "button_click2";
action: SIGNAL_EMIT "efl,action,click" "";
}
program { name: "access_pressed";
signal: "efl,state,animation,activated";
source: "efl";
action: STATE_SET "pressed" 0.0;
target: "arrow.image";
after: "access_pressed_anim";
}
program { name: "access_pressed_anim";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.1;
target: "arrow.image";
}
program { name: "disable";
signal: "efl,state,disabled";
source: "efl";
action: STATE_SET "disabled" 0.0;
target: "arrow.image";
target: "disabler";
}
program { name: "enable";
signal: "efl,state,enabled";
source: "efl";
action: STATE_SET "default" 0.0;
target: "arrow.image";
target: "disabler";
}
program {
name: "multi_down";
signal: "efl,action,multi,down";
source: "efl";
script {
set_int(multi_down, 1);
}
}
program {
name: "multi_up";
signal: "efl,action,multi,up";
source: "efl";
script {
set_int(multi_down, 0);
}
}
}
}
group { name: "efl/calendar/dec_button";
inherit: "efl/calendar/inc_button";
data.item: "version" "123";
images.image: "sym_left_light_normal.png" COMP;
images.image: "sym_left_glow_normal.png" COMP;
images.image: "sym_left_dark_normal.png" COMP;
parts {
part { name: "arrow.image";
scale: 1;
description { state: "default" 0.0;
min: 15 15;
max: 15 15;
image.normal: "sym_left_light_normal.png";
}
description { state: "pressed" 0.0;
inherit: "default" 0.0;
image.normal: "sym_left_glow_normal.png";
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
image.normal: "sym_left_dark_normal.png";
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -78,10 +78,12 @@
// "watch"
// "xterm"
group { name: "efl/cursor/hand1"; data.item: "version" "123";
group { name: "efl/cursor/hand1";
data.item: "version" "123";
images.image: "pointer_hand1.png" COMP;
parts {
part { name: "base"; mouse_events: 0; scale: 1;
scale: 1;
description { state: "default" 0.0;
FIXED_SIZE(32, 32)
image.normal: "pointer_hand1.png";
@ -91,10 +93,10 @@ group { name: "efl/cursor/hand1"; data.item: "version" "123";
description { state: "default" 0.0;
visible: 0;
fixed: 1 1;
rel1.relative: (26/32) (9/32);
rel1.relative: (21/32) (7/32);
rel1.to: "base";
rel2.to: "base";
rel2.relative: (26/32) (9/32);
rel2.relative: (21/32) (7/32);
rel2.offset: 0 0;
}
}
@ -103,7 +105,8 @@ group { name: "efl/cursor/hand1"; data.item: "version" "123";
}
}
group { name: "efl/cursor/blank"; data.item: "version" "123";
group { name: "efl/cursor/blank";
data.item: "version" "123";
parts {
part { name: "efl.hotspot"; type: SWALLOW;
description { state: "default" 0.0;
@ -116,26 +119,22 @@ group { name: "efl/cursor/blank"; data.item: "version" "123";
}
}
group { name: "efl/cursor/xterm"; data.item: "version" "123";
images.image: "pointer_entry_bar.png" COMP;
images.image: "led_dot_white.png" COMP;
group { name: "efl/cursor/xterm";
data.item: "version" "123";
images.image: "pointer_entry.png" COMP;
parts {
part { name: "base"; mouse_events: 0; scale: 1;
scale: 1;
description { state: "default" 0.0;
min: 15 20;
max: 15 99999;
image.normal: "pointer_entry_bar.png";
image.border: 0 0 10 10;
rel1.offset: 0 2;
rel2.offset: -1 -3;
image.normal: "pointer_entry.png";
FIXED_SIZE(16, 32)
}
}
part { name: "efl.hotspot"; type: SWALLOW;
description { state: "default" 0.0;
visible: 0;
fixed: 1 1;
rel1.to: "base";
rel2.to: "base";
rel.to: "base";
rel1.relative: 0.5 0.5;
rel2.relative: 0.5 0.5;
rel2.offset: 0 0;
@ -143,15 +142,5 @@ group { name: "efl/cursor/xterm"; data.item: "version" "123";
}
/* efl.content.hotspot is the old name for the above part */
alias: "efl.content.hotspot" "efl.hotspot";
part { name: "shine";
description { state: "default" 0.0;
rel1.to: "base";
rel2.to: "base";
image.normal: "led_dot_white.png";
max: 27 27;
aspect: 1.0 1.0;
aspect_preference: VERTICAL;
}
}
}
}

View File

@ -17,60 +17,44 @@ Group: efl/datepicker/spin_button (@since 1.23)
Signal: efl,state,disabled
Signal: efl,state,enabled
*/
group { "efl/datepicker"; data.item: "version" "123";
group { "efl/datepicker";
data.item: "version" "123";
parts {
spacer { "base";
scale;
desc { "default";
min: 150 170;
}
}
rect { "base_bg";
scale;
desc { "default";
rel.to: "base";
color_class: "datepicker_bg";
min: 160 40;
}
}
spacer { "padding_bg_top";
scale;
desc { "default";
min: 0 10;
max: -1 10;
min: 0 5;
max: -1 5;
fixed: 0 1;
rel1 {
relative: 0.0 0.0;
to: "base_bg";
}
rel2 {
relative: 1.0 0.0;
to: "base_bg";
}
rel.to: "base";
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 0.0;
align: 0.5 0.0;
}
}
spacer { "padding_bg_bottom";
scale;
desc { "default";
min: 0 10;
max: -1 10;
min: 0 5;
max: -1 5;
fixed: 0 1;
rel1 {
relative: 0.0 1.0;
to: "base_bg";
}
rel2 {
relative: 1.0 1.0;
to: "base_bg";
}
rel.to: "base";
rel1.relative: 0.0 1.0;
rel2.relative: 1.0 1.0;
align: 0.5 1.0;
}
}
spacer { "bg";
scale;
desc { "default";
min: 150 150;
max: 150 150;
min: 160 40;
max: 160 40;
rel1 {
relative: 0.0 1.0;
to: "padding_bg_top";
@ -87,14 +71,9 @@ group { "efl/datepicker"; data.item: "version" "123";
min: 5 0;
max: 5 -1;
fixed: 1 0;
rel1 {
relative: 0.0 0.0;
to: "bg";
}
rel2 {
relative: 0.0 1.0;
to: "bg";
}
rel.to: "bg";
rel1.relative: 0.0 0.0;
rel2.relative: 0.0 1.0;
align: 0.0 0.0;
}
}
@ -104,15 +83,9 @@ group { "efl/datepicker"; data.item: "version" "123";
min: 5 0;
max: 5 -1;
fixed: 1 0;
rel2.to: "bg";
rel1 {
relative: 1.0 0.0;
to: "bg";
}
rel2 {
relative: 1.0 1.0;
to: "bg";
}
rel.to: "bg";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 1.0;
align: 1.0 1.0;
}
}
@ -120,13 +93,10 @@ group { "efl/datepicker"; data.item: "version" "123";
mouse;
scale;
desc { "default";
fixed: 1 0;
fixed: 1 1;
min: 40 0;
rel1 {
relative: 1.0 0.0;
to: "padding_left";
}
rel2.to: "padding_left";
rel.to: "padding_left";
rel1.relative: 1.0 0.0;
align: 0.0 0.5;
}
}
@ -134,13 +104,10 @@ group { "efl/datepicker"; data.item: "version" "123";
scale;
desc { "default";
fixed: 1 0;
min: 10 0;
max: 10 -1;
rel1 {
relative: 1.0 0.0;
to: "efl.field0";
}
rel2.to: "efl.field0";
min: 5 0;
max: 5 -1;
rel.to: "efl.field0";
rel1.relative: 1.0 0.0;
align: 0.0 0.5;
}
}
@ -148,7 +115,7 @@ group { "efl/datepicker"; data.item: "version" "123";
mouse;
scale;
desc { "default";
fixed: 1 0;
fixed: 1 1;
min: 40 0;
rel1 {
relative: 1.0 0.0;
@ -167,11 +134,8 @@ group { "efl/datepicker"; data.item: "version" "123";
fixed: 1 0;
min: 10 0;
max: 10 -1;
rel1.to: "efl.field2";
rel2 {
relative: 0.0 1.0;
to: "efl.field2";
}
rel.to: "efl.field2";
rel2.relative: 0.0 1.0;
align: 1.0 0.5;
}
}
@ -179,13 +143,10 @@ group { "efl/datepicker"; data.item: "version" "123";
mouse;
scale;
desc { "default";
fixed: 1 0;
fixed: 1 1;
min: 40 0;
rel1.to: "padding_right";
rel2 {
relative: 0.0 1.0;
to: "padding_right";
}
rel.to: "padding_right";
rel2.relative: 0.0 1.0;
align: 1.0 0.5;
}
}
@ -193,15 +154,15 @@ group { "efl/datepicker"; data.item: "version" "123";
repeat;
desc { "default";
fixed: 1 1;
rel1.to: "bg";
rel2.to: "bg";
color: 0 0 0 0;
rel.to: "bg";
color: 0 0 0 0; // no cc
}
}
}
}
group { "efl/datepicker/spin_button"; data.item: "version" "123";
group { "efl/datepicker/spin_button";
data.item: "version" "123";
parts {
rect { "clip";
desc { "default";
@ -211,22 +172,15 @@ group { "efl/datepicker/spin_button"; data.item: "version" "123";
spacer { "base";
scale;
desc { "default";
min: 40 150;
}
}
rect { "bg";
scale;
desc { "default";
color_class: "spinner_bg";
min: 20 60;
}
}
rect { "access";
repeat;
desc { "default";
fixed: 1 1;
color: 0 0 0 0;
rel1.to: "base";
rel2.to: "base";
color: 0 0 0 0; // no cc
rel.to: "base";
hid;
}
desc { "active";
@ -238,8 +192,8 @@ group { "efl/datepicker/spin_button"; data.item: "version" "123";
scale;
desc { "default";
align: 0.5 0.0;
min: 40 40;
max: 40 40;
min: 20 20;
max: 20 20;
fixed: 1 1;
}
}
@ -247,8 +201,8 @@ group { "efl/datepicker/spin_button"; data.item: "version" "123";
scale;
desc { "default";
align: 0.5 1.0;
min: 40 40;
max: 40 40;
min: 20 20;
max: 20 20;
fixed: 1 1;
}
}
@ -256,8 +210,7 @@ group { "efl/datepicker/spin_button"; data.item: "version" "123";
clip: "clip";
desc { "default";
fixed: 1 1;
rel1.to: "efl.text_button";
rel2.to: "efl.text_button";
rel.to: "efl.text_button";
hid;
}
desc { "active";
@ -277,8 +230,8 @@ group { "efl/datepicker/spin_button"; data.item: "version" "123";
to_y: "efl.dec_button";
relative: 1.0 0.0;
}
min: 0 70;
max: -1 70;
min: 0 20;
max: -1 20;
fixed: 0 1;
}
desc { "inactive";
@ -290,7 +243,7 @@ group { "efl/datepicker/spin_button"; data.item: "version" "123";
norepeat;
nomouse;
desc { "default";
color: 0 0 0 0;
color: 0 0 0 0; // no cc
hid;
}
desc { "disabled";
@ -300,51 +253,35 @@ group { "efl/datepicker/spin_button"; data.item: "version" "123";
}
}
programs {
program { "entry_active";
signal: "efl,entry,visible,on";
source: "efl";
program { signal: "efl,entry,visible,on"; source: "efl";
action: STATE_SET "active";
target: "efl.entry";
}
program { "entry_inactive";
signal: "efl,entry,visible,off";
source: "efl";
program { signal: "efl,entry,visible,off"; source: "efl";
action: STATE_SET "default";
target: "efl.entry";
}
program { "text_button_active";
signal: "efl,button,visible,on";
source: "efl";
program { signal: "efl,button,visible,on"; source: "efl";
action: STATE_SET "default";
target: "efl.text_button";
}
program { "text_button_inactive";
signal: "efl,button,visible,off";
source: "efl";
program { signal: "efl,button,visible,off"; source: "efl";
action: STATE_SET "inactive";
target: "efl.text_button";
}
program { "access_activate";
signal: "efl,state,access,active";
source: "efl";
program { signal: "efl,state,access,active"; source: "efl";
action: STATE_SET "active";
target: "access";
}
program { "access_inactivate";
signal: "efl,state,access,inactive";
source: "efl";
program { signal: "efl,state,access,inactive"; source: "efl";
action: STATE_SET "default";
target: "access";
}
program { "disable";
signal: "efl,state,disabled";
source: "efl";
program { signal: "efl,state,disabled"; source: "efl";
action: STATE_SET "disabled";
target: "disabler";
}
program { "enable";
signal: "efl,state,enabled";
source: "efl";
program { signal: "efl,state,enabled"; source: "efl";
action: STATE_SET "default";
target: "disabler";
}

View File

@ -5,9 +5,8 @@ Group: efl/focus_highlight/top (@since 1.23)
Signal: efl,state,animating,stopped
Group: efl/focus_highlight/top:blank (@since 1.23)
*/
group { name: "efl/focus_highlight/top"; data.item: "version" "123";
images.image: "box_glow.png" COMP;
images.image: "box_outline.png" COMP;
group { name: "efl/focus_highlight/top";
data.item: "version" "123";
data.item: "animate" "on";
script {
public s_x, s_y, s_w, s_h; /* source */
@ -34,14 +33,14 @@ group { name: "efl/focus_highlight/top"; data.item: "version" "123";
public update_offset(x, y, w, h) {
set_state_val(PART:"base", STATE_REL1_OFFSET, x, y);
set_state_val(PART:"base", STATE_REL2_OFFSET, x + w, y + h);
set_state_val(PART:"base", STATE_REL2_OFFSET, x + w - 1, y + h - 1);
}
public message(Msg_Type:type, id, ...) {
if ((type == MSG_INT_SET) && (id == 1)) {
new x1, y1, w1, h1, x2, y2, w2, h2;
new anim_id;
anim_id = get_int(g_anim_id);
if (anim_id != 0) {
cancel_anim(anim_id);
@ -70,7 +69,7 @@ group { name: "efl/focus_highlight/top"; data.item: "version" "123";
set_state_val(PART:"base", STATE_REL2, 0.0, 0.0);
update_offset(x1, y1, w1, h1);
set_state(PART:"base", "custom", 0.0);
anim_id = anim(0.2, "animator1", 1);
set_int(g_anim_id, anim_id);
}
@ -84,48 +83,115 @@ group { name: "efl/focus_highlight/top"; data.item: "version" "123";
}
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
rel1.to: "glow";
rel2.to: "glow";
color: 255 255 255 0;
rel.to: "base";
rel1.relative: -1.0 -1.0;
rel1.offset: -999 -999;
rel2.relative: 2.0 2.0;
rel2.offset: 999 999;
color: 255 255 255 0; // no cc
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
color: 255 255 255 255; // no cc
visible: 1;
}
}
part { name: "glow"; mouse_events: 0;
part { name: "top"; type: RECT;
clip_to: "clip";
scale: 1;
description { state: "default" 0.0;
image.normal: "box_glow.png";
image.border: 12 12 12 12;
image.middle: 0;
fill.smooth: 0;
rel1.to: "base";
rel1.offset: -7 -7;
rel2.to: "base";
rel2.offset: 5 5;
}
}
part { name: "sel"; mouse_events: 0;
clip_to: "clip";
description { state: "default" 0.0;
image.normal: "box_outline.png";
image.border: 12 12 12 12;
image.middle: 0;
fill.smooth: 0;
rel1.to: "glow";
rel2.to: "glow";
color: 255 255 255 0;
rel.to: "base";
color_class: "/bg/selected/focus";
rel2.relative: 1.0 0.0;
min: 4 4;
}
description { state: "hi" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
color_class: "/bg/selected/focus/hilight";
}
}
part { name: "topl"; type: RECT;
clip_to: "clip";
scale: 1;
description { state: "default" 0.0;
rel.to: "top";
color_class: "/bg/selected/focus";
rel1.relative: 0.0 1.0;
rel2.relative: 0.0 1.0;
align: 0.0 0.0;
min: 4 4;
}
description { state: "hi" 0.0;
inherit: "default" 0.0;
color_class: "/bg/selected/focus/hilight";
}
}
part { name: "topr"; type: RECT;
clip_to: "clip";
scale: 1;
description { state: "default" 0.0;
rel.to: "top";
color_class: "/bg/selected/focus";
rel1.relative: 1.0 1.0;
rel2.relative: 1.0 1.0;
align: 1.0 0.0;
min: 4 4;
}
description { state: "hi" 0.0;
inherit: "default" 0.0;
color_class: "/bg/selected/focus/hilight";
}
}
part { name: "bot"; type: RECT;
clip_to: "clip";
scale: 1;
description { state: "default" 0.0;
rel.to: "base";
color_class: "/bg/selected/focus";
rel1.relative: 0.0 1.0;
min: 4 4;
}
description { state: "hi" 0.0;
inherit: "default" 0.0;
color_class: "/bg/selected/focus/hilight";
}
}
part { name: "botl"; type: RECT;
clip_to: "clip";
scale: 1;
description { state: "default" 0.0;
rel.to: "bot";
color_class: "/bg/selected/focus";
rel1.relative: 0.0 0.0;
rel2.relative: 0.0 0.0;
align: 0.0 1.0;
min: 4 4;
}
description { state: "hi" 0.0;
inherit: "default" 0.0;
color_class: "/bg/selected/focus/hilight";
}
}
part { name: "botr"; type: RECT;
clip_to: "clip";
scale: 1;
description { state: "default" 0.0;
rel.to: "bot";
color_class: "/bg/selected/focus";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 0.0;
align: 1.0 1.0;
min: 4 4;
}
description { state: "hi" 0.0;
inherit: "default" 0.0;
color_class: "/bg/selected/focus/hilight";
}
}
}
programs {
program {
signal: "efl,focus,visible,on"; source: "efl";
program { signal: "efl,focus,visible,on"; source: "efl";
action: ACTION_STOP;
target: "pulse";
target: "pulse2";
@ -141,8 +207,7 @@ group { name: "efl/focus_highlight/top"; data.item: "version" "123";
program { name: "go3";
action: SIGNAL_EMIT "efl,focus,visible,on,done" "efl";
}
program {
signal: "efl,focus,visible,off"; source: "efl";
program { signal: "efl,focus,visible,off"; source: "efl";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.4;
target: "clip";
@ -161,24 +226,34 @@ group { name: "efl/focus_highlight/top"; data.item: "version" "123";
action: STATE_SET "hi" 0.0;
transition: SINUSOIDAL 0.2;
in: 3.0 0.0;
target: "sel";
target: "top";
target: "topl";
target: "topr";
target: "bot";
target: "botl";
target: "botr";
after: "pulse2";
}
program { name: "pulse2";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.4;
target: "sel";
target: "top";
target: "topl";
target: "topr";
target: "bot";
target: "botl";
target: "botr";
after: "pulse";
}
program {
signal: "efl,state,animating,stopped"; source: "efl";
program { signal: "efl,state,animating,stopped"; source: "efl";
action: STATE_SET "default" 0.0;
target: "base";
}
}
}
group { name: "efl/focus_highlight/top:blank"; data.item: "version" "123";
group { name: "efl/focus_highlight/top:blank";
data.item: "version" "123";
parts {
}
}

Some files were not shown because too many files have changed in this diff Show More