summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeunghun Lee <shiin.lee@samsung.com>2012-08-21 21:12:51 +0900
committerSeunghun Lee <shiin.lee@samsung.com>2012-08-21 21:12:51 +0900
commitda657a5ef0c9d2b780cbd7e26880058fe09acf4a (patch)
tree39b7302e6e055d8db14158031f6fc7e2b68f4d34
parentac8fa492451a1268eec649ea98e67184842f11a0 (diff)
downloade17-master.tar.gz
e17-master.tar.bz2
e17-master.zip
Migrating source code to RSA from private.HEADsubmit/master/20120920.1511192.0_alphamaster2.0alpha
-rw-r--r--COPYING2
-rw-r--r--[-rwxr-xr-x]config/Makefile.am0
-rw-r--r--[-rwxr-xr-x]config/illume/Makefile.am0
-rw-r--r--[-rwxr-xr-x]config/profile.src0
-rw-r--r--[-rwxr-xr-x]config/samsung/Makefile.am0
-rw-r--r--[-rwxr-xr-x]config/samsung/e.src0
-rw-r--r--[-rwxr-xr-x]config/samsung/icon.pngbin6102 -> 6102 bytes
-rw-r--r--[-rwxr-xr-x]config/samsung/profile.desktop0
-rw-r--r--configure.ac5
-rw-r--r--[-rwxr-xr-x]data/etc/Makefile.am0
-rw-r--r--[-rwxr-xr-x]data/images/test.svg0
-rw-r--r--[-rwxr-xr-x]data/themes/Makefile.am0
-rw-r--r--data/themes/images/added_images/DM_Internet_Address_bg.pngbin0 -> 3706 bytes
-rw-r--r--data/themes/images/added_images/DM_Internet_Scroll_01.pngbin0 -> 2884 bytes
-rw-r--r--data/themes/images/added_images/DM_Internet_Scroll_Down.pngbin0 -> 3020 bytes
-rw-r--r--data/themes/images/added_images/DM_Internet_Scroll_Increase.pngbin0 -> 2880 bytes
-rw-r--r--data/themes/images/added_images/DM_Internet_Scroll_Left_h.pngbin0 -> 2957 bytes
-rw-r--r--data/themes/images/added_images/DM_Internet_Scroll_Middle.pngbin0 -> 2829 bytes
-rw-r--r--data/themes/images/added_images/DM_Internet_Scroll_Middle_h.pngbin0 -> 2827 bytes
-rw-r--r--data/themes/images/added_images/DM_Internet_Scroll_Right_h.pngbin0 -> 2967 bytes
-rw-r--r--data/themes/images/added_images/DM_Internet_Scroll_Up.pngbin0 -> 2953 bytes
-rw-r--r--data/themes/images/added_images/DM_Internet_Scroll_h_01.pngbin0 -> 2886 bytes
-rw-r--r--data/themes/images/added_images/DM_Internet_Title_bg.pngbin0 -> 2855 bytes
-rw-r--r--data/themes/images/added_images/DM_Internet_bg.pngbin0 -> 3902 bytes
-rw-r--r--data/themes/images/added_images/DM_Internet_icon_Reduction.pngbin0 -> 2819 bytes
-rw-r--r--data/themes/images/added_images/DM_Internet_icon_Zoom.pngbin0 -> 2846 bytes
-rw-r--r--data/themes/images/added_images/DM_Internet_icon_close.pngbin0 -> 2872 bytes
-rw-r--r--data/themes/images/added_images/DM_Internet_icon_next.pngbin0 -> 2964 bytes
-rw-r--r--data/themes/images/added_images/DM_Internet_icon_previous.pngbin0 -> 2980 bytes
-rw-r--r--data/themes/images/added_images/DM_mouse_cursor.pngbin0 -> 3293 bytes
-rw-r--r--data/themes/images/added_images/DM_tab_normal.pngbin0 -> 2916 bytes
-rw-r--r--data/themes/images/added_images/DM_tab_over.pngbin0 -> 2910 bytes
-rw-r--r--data/themes/images/added_images/DM_tab_press.pngbin0 -> 2911 bytes
-rw-r--r--data/themes/images/added_images/e17_ibar_bg_v.pngbin0 -> 168 bytes
-rw-r--r--data/themes/images/added_images/e17_ibar_over_v.pngbin0 -> 906 bytes
-rw-r--r--data/themes/images/added_images/e17_pointer_mono.pngbin0 -> 2922 bytes
-rw-r--r--data/themes/images/added_images/e17_scrollbar_hdrag_thumb.pngbin0 -> 113 bytes
-rw-r--r--data/themes/images/added_images/e17_scrollbar_vdrag_thumb.pngbin0 -> 101 bytes
-rw-r--r--data/themes/images/added_images/focus.pngbin0 -> 622 bytes
-rw-r--r--data/themes/images/clock/DM_Clock_time.pngbin0 -> 3692 bytes
-rw-r--r--data/themes/images/clock/DM_Clock_time_0.pngbin0 -> 7303 bytes
-rw-r--r--data/themes/images/clock/DM_Clock_time_1.pngbin0 -> 3805 bytes
-rw-r--r--data/themes/images/clock/DM_Clock_time_2.pngbin0 -> 7129 bytes
-rw-r--r--data/themes/images/clock/DM_Clock_time_3.pngbin0 -> 7753 bytes
-rw-r--r--data/themes/images/clock/DM_Clock_time_4.pngbin0 -> 6198 bytes
-rw-r--r--data/themes/images/clock/DM_Clock_time_5.pngbin0 -> 7073 bytes
-rw-r--r--data/themes/images/clock/DM_Clock_time_6.pngbin0 -> 8285 bytes
-rw-r--r--data/themes/images/clock/DM_Clock_time_7.pngbin0 -> 5548 bytes
-rw-r--r--data/themes/images/clock/DM_Clock_time_8.pngbin0 -> 9046 bytes
-rw-r--r--data/themes/images/clock/DM_Clock_time_9.pngbin0 -> 8244 bytes
-rw-r--r--data/themes/images/clock/DM_Clock_time_AM.pngbin0 -> 5668 bytes
-rw-r--r--data/themes/images/clock/DM_Clock_time_PM.pngbin0 -> 5386 bytes
-rw-r--r--data/themes/images/clock/DM_Clock_time_center.pngbin0 -> 3937 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_0b.pngbin1540 -> 1540 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_0t.pngbin1547 -> 1547 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_1b.pngbin451 -> 451 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_1t.pngbin666 -> 666 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_2b.pngbin1074 -> 1074 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_2t.pngbin1495 -> 1495 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_3b.pngbin1408 -> 1408 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_3t.pngbin1444 -> 1444 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_4b.pngbin705 -> 705 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_4t.pngbin1137 -> 1137 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_5b.pngbin1490 -> 1490 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_5t.pngbin824 -> 824 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_6b.pngbin1651 -> 1651 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_6t.pngbin1569 -> 1569 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_7b.pngbin1110 -> 1110 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_7t.pngbin996 -> 996 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_8b.pngbin1660 -> 1660 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_8t.pngbin1719 -> 1719 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_9b.pngbin1512 -> 1512 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_9t.pngbin1659 -> 1659 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_amb.pngbin963 -> 963 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_amt.pngbin1075 -> 1075 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_b.pngbin384 -> 384 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_base.pngbin598 -> 598 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_base_shad.pngbin826 -> 826 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_colon.pngbin403 -> 403 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_pmb.pngbin709 -> 709 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_pmt.pngbin1052 -> 1052 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_shad.pngbin918 -> 918 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/flip_t.pngbin442 -> 442 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/icon_gadget.pngbin5020 -> 5020 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/icon_look.pngbin5080 -> 5080 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/icon_screenshot.pngbin5659 -> 5659 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/t0-sh.pngbin936 -> 936 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/t0.pngbin787 -> 787 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/t1-sh.pngbin814 -> 814 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/t1.pngbin805 -> 805 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/images/t2.pngbin803 -> 803 bytes
-rw-r--r--[-rwxr-xr-x]data/themes/samsung.edc14061
-rw-r--r--debian/changelog186
-rw-r--r--debian/e17.install1
-rw-r--r--debian/e17.postinst2
-rwxr-xr-xdebian/rules2
-rw-r--r--[-rwxr-xr-x]doc/cache.txt0
-rw-r--r--[-rwxr-xr-x]doc/illume2.html0
-rw-r--r--packaging/e17.spec10
-rw-r--r--src/bin/e_border.c126
-rw-r--r--src/bin/e_border.h4
-rw-r--r--src/bin/e_config.c46
-rw-r--r--src/bin/e_config.h50
-rw-r--r--src/bin/e_container.c70
-rw-r--r--src/bin/e_container.h2
-rw-r--r--src/bin/e_desk.c148
-rw-r--r--src/bin/e_desk.h12
-rw-r--r--[-rwxr-xr-x]src/bin/e_fm/e_fm_ipc.h0
-rw-r--r--[-rwxr-xr-x]src/bin/e_fm/e_fm_main_hal.h0
-rw-r--r--[-rwxr-xr-x]src/bin/e_fm/e_fm_main_udisks.h0
-rw-r--r--src/bin/e_gadcon.c4
-rw-r--r--src/bin/e_hints.c7
-rw-r--r--src/bin/e_main.c2
-rw-r--r--src/bin/e_manager.c31
-rw-r--r--src/bin/e_manager.h13
-rw-r--r--src/bin/e_module.c11
-rw-r--r--src/bin/e_utils.c21
-rw-r--r--src/bin/e_utils.h4
-rw-r--r--[-rwxr-xr-x]src/modules/bluez/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/clock/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/conf/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/conf_applications/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/conf_dialogs/module.desktop.in0
-rw-r--r--src/modules/conf_display/e_int_config_desk.c37
-rw-r--r--[-rwxr-xr-x]src/modules/conf_edgebindings/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/conf_interaction/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/conf_intl/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/conf_keybindings/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/conf_menus/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/conf_paths/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/conf_performance/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/conf_shelves/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/conf_wallpaper2/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/conf_window_manipulation/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/conf_window_remembers/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/connman/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/cpufreq/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/dropshadow/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/everything/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/fileman/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/fileman_opinfo/module.desktop.in0
-rw-r--r--src/modules/gadman/e_mod_gadman.c140
-rw-r--r--src/modules/ibar/e_mod_config.c23
-rw-r--r--src/modules/ibar/e_mod_main.c62
-rw-r--r--src/modules/ibar/e_mod_main.h1
-rw-r--r--[-rwxr-xr-x]src/modules/illume-keyboard/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/illume-mode-toggle/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/illume-softkey/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/layout/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/msgbus/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/ofono/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/pager/module.desktop.in0
-rwxr-xr-xsrc/modules/shot/.svn/all-wcprops41
-rwxr-xr-xsrc/modules/shot/.svn/dir-prop-base9
-rwxr-xr-xsrc/modules/shot/.svn/entries232
-rwxr-xr-xsrc/modules/shot/.svn/prop-base/e-module-shot.edj.svn-base5
-rwxr-xr-xsrc/modules/shot/.svn/text-base/.cvsignore.svn-base7
-rwxr-xr-xsrc/modules/shot/.svn/text-base/Makefile.am.svn-base28
-rwxr-xr-xsrc/modules/shot/.svn/text-base/e-module-shot.edj.svn-basebin9475 -> 0 bytes
-rwxr-xr-xsrc/modules/shot/.svn/text-base/e_mod_main.c.svn-base839
-rwxr-xr-xsrc/modules/shot/.svn/text-base/e_mod_main.h.svn-base10
-rwxr-xr-xsrc/modules/shot/.svn/text-base/module.desktop.in.svn-base11
-rw-r--r--[-rwxr-xr-x]src/modules/shot/e-module-shot.edjbin9475 -> 9475 bytes
-rw-r--r--[-rwxr-xr-x]src/modules/start/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/syscon/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/systray/module.desktop.in0
-rw-r--r--[-rwxr-xr-x]src/modules/winlist/module.desktop.in0
167 files changed, 14271 insertions, 1994 deletions
diff --git a/COPYING b/COPYING
index 7625f00..4556b54 100644
--- a/COPYING
+++ b/COPYING
@@ -1,6 +1,6 @@
Copyright notice for Enlightenment:
-Copyright (C) 2000-2011 Carsten Haitzler and various contributors (see AUTHORS)
+Copyright (C) 2000-2012 Carsten Haitzler and various contributors (see AUTHORS)
All rights reserved.
diff --git a/config/Makefile.am b/config/Makefile.am
index fb04551..fb04551 100755..100644
--- a/config/Makefile.am
+++ b/config/Makefile.am
diff --git a/config/illume/Makefile.am b/config/illume/Makefile.am
index 69011df..69011df 100755..100644
--- a/config/illume/Makefile.am
+++ b/config/illume/Makefile.am
diff --git a/config/profile.src b/config/profile.src
index 409e066..409e066 100755..100644
--- a/config/profile.src
+++ b/config/profile.src
diff --git a/config/samsung/Makefile.am b/config/samsung/Makefile.am
index b7373c5..b7373c5 100755..100644
--- a/config/samsung/Makefile.am
+++ b/config/samsung/Makefile.am
diff --git a/config/samsung/e.src b/config/samsung/e.src
index ac6839e..ac6839e 100755..100644
--- a/config/samsung/e.src
+++ b/config/samsung/e.src
diff --git a/config/samsung/icon.png b/config/samsung/icon.png
index 78101de..78101de 100755..100644
--- a/config/samsung/icon.png
+++ b/config/samsung/icon.png
Binary files differ
diff --git a/config/samsung/profile.desktop b/config/samsung/profile.desktop
index 7b707d8..7b707d8 100755..100644
--- a/config/samsung/profile.desktop
+++ b/config/samsung/profile.desktop
diff --git a/configure.ac b/configure.ac
index 0304d74..e3601d2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -578,6 +578,11 @@ e_extra_features+="-D_F_COMP_SCREEN_LOCK_ "
e_extra_features+="-D_F_COMP_INPUT_REGION_SET_ "
# enable window move lock / unlock
e_extra_features+="-D_F_COMP_MOVE_LOCK_ "
+# enable composite mode set / get
+e_extra_features+="-D_F_COMP_COMPOSITE_MODE_ "
+# using external elementary dialog util instead of e_dialog to display error message
+e_extra_features+="-D_F_USE_EXTN_DIALOG_ "
+
have_extra_features=no
AC_ARG_ENABLE(extra_features,
diff --git a/data/etc/Makefile.am b/data/etc/Makefile.am
index 2c50f01..2c50f01 100755..100644
--- a/data/etc/Makefile.am
+++ b/data/etc/Makefile.am
diff --git a/data/images/test.svg b/data/images/test.svg
index 268b739..268b739 100755..100644
--- a/data/images/test.svg
+++ b/data/images/test.svg
diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am
index 8fc87c2..8fc87c2 100755..100644
--- a/data/themes/Makefile.am
+++ b/data/themes/Makefile.am
diff --git a/data/themes/images/added_images/DM_Internet_Address_bg.png b/data/themes/images/added_images/DM_Internet_Address_bg.png
new file mode 100644
index 0000000..bd40659
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_Address_bg.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_Internet_Scroll_01.png b/data/themes/images/added_images/DM_Internet_Scroll_01.png
new file mode 100644
index 0000000..2a7aa96
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_Scroll_01.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_Internet_Scroll_Down.png b/data/themes/images/added_images/DM_Internet_Scroll_Down.png
new file mode 100644
index 0000000..9213af9
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_Scroll_Down.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_Internet_Scroll_Increase.png b/data/themes/images/added_images/DM_Internet_Scroll_Increase.png
new file mode 100644
index 0000000..0cd2072
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_Scroll_Increase.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_Internet_Scroll_Left_h.png b/data/themes/images/added_images/DM_Internet_Scroll_Left_h.png
new file mode 100644
index 0000000..25ec7d3
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_Scroll_Left_h.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_Internet_Scroll_Middle.png b/data/themes/images/added_images/DM_Internet_Scroll_Middle.png
new file mode 100644
index 0000000..ae364c0
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_Scroll_Middle.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_Internet_Scroll_Middle_h.png b/data/themes/images/added_images/DM_Internet_Scroll_Middle_h.png
new file mode 100644
index 0000000..09e8d22
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_Scroll_Middle_h.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_Internet_Scroll_Right_h.png b/data/themes/images/added_images/DM_Internet_Scroll_Right_h.png
new file mode 100644
index 0000000..a2642b5
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_Scroll_Right_h.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_Internet_Scroll_Up.png b/data/themes/images/added_images/DM_Internet_Scroll_Up.png
new file mode 100644
index 0000000..e41c03b
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_Scroll_Up.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_Internet_Scroll_h_01.png b/data/themes/images/added_images/DM_Internet_Scroll_h_01.png
new file mode 100644
index 0000000..923fad7
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_Scroll_h_01.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_Internet_Title_bg.png b/data/themes/images/added_images/DM_Internet_Title_bg.png
new file mode 100644
index 0000000..96b0f74
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_Title_bg.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_Internet_bg.png b/data/themes/images/added_images/DM_Internet_bg.png
new file mode 100644
index 0000000..73a9334
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_bg.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_Internet_icon_Reduction.png b/data/themes/images/added_images/DM_Internet_icon_Reduction.png
new file mode 100644
index 0000000..3295ff1
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_icon_Reduction.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_Internet_icon_Zoom.png b/data/themes/images/added_images/DM_Internet_icon_Zoom.png
new file mode 100644
index 0000000..f0606e5
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_icon_Zoom.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_Internet_icon_close.png b/data/themes/images/added_images/DM_Internet_icon_close.png
new file mode 100644
index 0000000..80f0a03
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_icon_close.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_Internet_icon_next.png b/data/themes/images/added_images/DM_Internet_icon_next.png
new file mode 100644
index 0000000..dfba257
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_icon_next.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_Internet_icon_previous.png b/data/themes/images/added_images/DM_Internet_icon_previous.png
new file mode 100644
index 0000000..223ef6b
--- /dev/null
+++ b/data/themes/images/added_images/DM_Internet_icon_previous.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_mouse_cursor.png b/data/themes/images/added_images/DM_mouse_cursor.png
new file mode 100644
index 0000000..3f64fbc
--- /dev/null
+++ b/data/themes/images/added_images/DM_mouse_cursor.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_tab_normal.png b/data/themes/images/added_images/DM_tab_normal.png
new file mode 100644
index 0000000..d3daba9
--- /dev/null
+++ b/data/themes/images/added_images/DM_tab_normal.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_tab_over.png b/data/themes/images/added_images/DM_tab_over.png
new file mode 100644
index 0000000..0822018
--- /dev/null
+++ b/data/themes/images/added_images/DM_tab_over.png
Binary files differ
diff --git a/data/themes/images/added_images/DM_tab_press.png b/data/themes/images/added_images/DM_tab_press.png
new file mode 100644
index 0000000..0c26875
--- /dev/null
+++ b/data/themes/images/added_images/DM_tab_press.png
Binary files differ
diff --git a/data/themes/images/added_images/e17_ibar_bg_v.png b/data/themes/images/added_images/e17_ibar_bg_v.png
new file mode 100644
index 0000000..c1288d6
--- /dev/null
+++ b/data/themes/images/added_images/e17_ibar_bg_v.png
Binary files differ
diff --git a/data/themes/images/added_images/e17_ibar_over_v.png b/data/themes/images/added_images/e17_ibar_over_v.png
new file mode 100644
index 0000000..37007f9
--- /dev/null
+++ b/data/themes/images/added_images/e17_ibar_over_v.png
Binary files differ
diff --git a/data/themes/images/added_images/e17_pointer_mono.png b/data/themes/images/added_images/e17_pointer_mono.png
new file mode 100644
index 0000000..51f2f45
--- /dev/null
+++ b/data/themes/images/added_images/e17_pointer_mono.png
Binary files differ
diff --git a/data/themes/images/added_images/e17_scrollbar_hdrag_thumb.png b/data/themes/images/added_images/e17_scrollbar_hdrag_thumb.png
new file mode 100644
index 0000000..4792e25
--- /dev/null
+++ b/data/themes/images/added_images/e17_scrollbar_hdrag_thumb.png
Binary files differ
diff --git a/data/themes/images/added_images/e17_scrollbar_vdrag_thumb.png b/data/themes/images/added_images/e17_scrollbar_vdrag_thumb.png
new file mode 100644
index 0000000..298dddb
--- /dev/null
+++ b/data/themes/images/added_images/e17_scrollbar_vdrag_thumb.png
Binary files differ
diff --git a/data/themes/images/added_images/focus.png b/data/themes/images/added_images/focus.png
new file mode 100644
index 0000000..e57f00f
--- /dev/null
+++ b/data/themes/images/added_images/focus.png
Binary files differ
diff --git a/data/themes/images/clock/DM_Clock_time.png b/data/themes/images/clock/DM_Clock_time.png
new file mode 100644
index 0000000..26987da
--- /dev/null
+++ b/data/themes/images/clock/DM_Clock_time.png
Binary files differ
diff --git a/data/themes/images/clock/DM_Clock_time_0.png b/data/themes/images/clock/DM_Clock_time_0.png
new file mode 100644
index 0000000..7c76721
--- /dev/null
+++ b/data/themes/images/clock/DM_Clock_time_0.png
Binary files differ
diff --git a/data/themes/images/clock/DM_Clock_time_1.png b/data/themes/images/clock/DM_Clock_time_1.png
new file mode 100644
index 0000000..a584b57
--- /dev/null
+++ b/data/themes/images/clock/DM_Clock_time_1.png
Binary files differ
diff --git a/data/themes/images/clock/DM_Clock_time_2.png b/data/themes/images/clock/DM_Clock_time_2.png
new file mode 100644
index 0000000..b55a61e
--- /dev/null
+++ b/data/themes/images/clock/DM_Clock_time_2.png
Binary files differ
diff --git a/data/themes/images/clock/DM_Clock_time_3.png b/data/themes/images/clock/DM_Clock_time_3.png
new file mode 100644
index 0000000..ff72bd4
--- /dev/null
+++ b/data/themes/images/clock/DM_Clock_time_3.png
Binary files differ
diff --git a/data/themes/images/clock/DM_Clock_time_4.png b/data/themes/images/clock/DM_Clock_time_4.png
new file mode 100644
index 0000000..992580f
--- /dev/null
+++ b/data/themes/images/clock/DM_Clock_time_4.png
Binary files differ
diff --git a/data/themes/images/clock/DM_Clock_time_5.png b/data/themes/images/clock/DM_Clock_time_5.png
new file mode 100644
index 0000000..4e842e5
--- /dev/null
+++ b/data/themes/images/clock/DM_Clock_time_5.png
Binary files differ
diff --git a/data/themes/images/clock/DM_Clock_time_6.png b/data/themes/images/clock/DM_Clock_time_6.png
new file mode 100644
index 0000000..9b63e74
--- /dev/null
+++ b/data/themes/images/clock/DM_Clock_time_6.png
Binary files differ
diff --git a/data/themes/images/clock/DM_Clock_time_7.png b/data/themes/images/clock/DM_Clock_time_7.png
new file mode 100644
index 0000000..2c56288
--- /dev/null
+++ b/data/themes/images/clock/DM_Clock_time_7.png
Binary files differ
diff --git a/data/themes/images/clock/DM_Clock_time_8.png b/data/themes/images/clock/DM_Clock_time_8.png
new file mode 100644
index 0000000..17cfdb2
--- /dev/null
+++ b/data/themes/images/clock/DM_Clock_time_8.png
Binary files differ
diff --git a/data/themes/images/clock/DM_Clock_time_9.png b/data/themes/images/clock/DM_Clock_time_9.png
new file mode 100644
index 0000000..e0decf5
--- /dev/null
+++ b/data/themes/images/clock/DM_Clock_time_9.png
Binary files differ
diff --git a/data/themes/images/clock/DM_Clock_time_AM.png b/data/themes/images/clock/DM_Clock_time_AM.png
new file mode 100644
index 0000000..fd77f60
--- /dev/null
+++ b/data/themes/images/clock/DM_Clock_time_AM.png
Binary files differ
diff --git a/data/themes/images/clock/DM_Clock_time_PM.png b/data/themes/images/clock/DM_Clock_time_PM.png
new file mode 100644
index 0000000..fbde98f
--- /dev/null
+++ b/data/themes/images/clock/DM_Clock_time_PM.png
Binary files differ
diff --git a/data/themes/images/clock/DM_Clock_time_center.png b/data/themes/images/clock/DM_Clock_time_center.png
new file mode 100644
index 0000000..568779c
--- /dev/null
+++ b/data/themes/images/clock/DM_Clock_time_center.png
Binary files differ
diff --git a/data/themes/images/flip_0b.png b/data/themes/images/flip_0b.png
index 8a6ae9e..8a6ae9e 100755..100644
--- a/data/themes/images/flip_0b.png
+++ b/data/themes/images/flip_0b.png
Binary files differ
diff --git a/data/themes/images/flip_0t.png b/data/themes/images/flip_0t.png
index 72506aa..72506aa 100755..100644
--- a/data/themes/images/flip_0t.png
+++ b/data/themes/images/flip_0t.png
Binary files differ
diff --git a/data/themes/images/flip_1b.png b/data/themes/images/flip_1b.png
index ed80e8b..ed80e8b 100755..100644
--- a/data/themes/images/flip_1b.png
+++ b/data/themes/images/flip_1b.png
Binary files differ
diff --git a/data/themes/images/flip_1t.png b/data/themes/images/flip_1t.png
index 6c1fba8..6c1fba8 100755..100644
--- a/data/themes/images/flip_1t.png
+++ b/data/themes/images/flip_1t.png
Binary files differ
diff --git a/data/themes/images/flip_2b.png b/data/themes/images/flip_2b.png
index 3183b59..3183b59 100755..100644
--- a/data/themes/images/flip_2b.png
+++ b/data/themes/images/flip_2b.png
Binary files differ
diff --git a/data/themes/images/flip_2t.png b/data/themes/images/flip_2t.png
index 3453e3d..3453e3d 100755..100644
--- a/data/themes/images/flip_2t.png
+++ b/data/themes/images/flip_2t.png
Binary files differ
diff --git a/data/themes/images/flip_3b.png b/data/themes/images/flip_3b.png
index 2eca7d4..2eca7d4 100755..100644
--- a/data/themes/images/flip_3b.png
+++ b/data/themes/images/flip_3b.png
Binary files differ
diff --git a/data/themes/images/flip_3t.png b/data/themes/images/flip_3t.png
index 4de9804..4de9804 100755..100644
--- a/data/themes/images/flip_3t.png
+++ b/data/themes/images/flip_3t.png
Binary files differ
diff --git a/data/themes/images/flip_4b.png b/data/themes/images/flip_4b.png
index 23484c9..23484c9 100755..100644
--- a/data/themes/images/flip_4b.png
+++ b/data/themes/images/flip_4b.png
Binary files differ
diff --git a/data/themes/images/flip_4t.png b/data/themes/images/flip_4t.png
index 2029161..2029161 100755..100644
--- a/data/themes/images/flip_4t.png
+++ b/data/themes/images/flip_4t.png
Binary files differ
diff --git a/data/themes/images/flip_5b.png b/data/themes/images/flip_5b.png
index 8d9312a..8d9312a 100755..100644
--- a/data/themes/images/flip_5b.png
+++ b/data/themes/images/flip_5b.png
Binary files differ
diff --git a/data/themes/images/flip_5t.png b/data/themes/images/flip_5t.png
index df43929..df43929 100755..100644
--- a/data/themes/images/flip_5t.png
+++ b/data/themes/images/flip_5t.png
Binary files differ
diff --git a/data/themes/images/flip_6b.png b/data/themes/images/flip_6b.png
index 09393e6..09393e6 100755..100644
--- a/data/themes/images/flip_6b.png
+++ b/data/themes/images/flip_6b.png
Binary files differ
diff --git a/data/themes/images/flip_6t.png b/data/themes/images/flip_6t.png
index 3cc4061..3cc4061 100755..100644
--- a/data/themes/images/flip_6t.png
+++ b/data/themes/images/flip_6t.png
Binary files differ
diff --git a/data/themes/images/flip_7b.png b/data/themes/images/flip_7b.png
index 9afc419..9afc419 100755..100644
--- a/data/themes/images/flip_7b.png
+++ b/data/themes/images/flip_7b.png
Binary files differ
diff --git a/data/themes/images/flip_7t.png b/data/themes/images/flip_7t.png
index abe1bc9..abe1bc9 100755..100644
--- a/data/themes/images/flip_7t.png
+++ b/data/themes/images/flip_7t.png
Binary files differ
diff --git a/data/themes/images/flip_8b.png b/data/themes/images/flip_8b.png
index 2185ee9..2185ee9 100755..100644
--- a/data/themes/images/flip_8b.png
+++ b/data/themes/images/flip_8b.png
Binary files differ
diff --git a/data/themes/images/flip_8t.png b/data/themes/images/flip_8t.png
index 718e484..718e484 100755..100644
--- a/data/themes/images/flip_8t.png
+++ b/data/themes/images/flip_8t.png
Binary files differ
diff --git a/data/themes/images/flip_9b.png b/data/themes/images/flip_9b.png
index f867aea..f867aea 100755..100644
--- a/data/themes/images/flip_9b.png
+++ b/data/themes/images/flip_9b.png
Binary files differ
diff --git a/data/themes/images/flip_9t.png b/data/themes/images/flip_9t.png
index 5800a4c..5800a4c 100755..100644
--- a/data/themes/images/flip_9t.png
+++ b/data/themes/images/flip_9t.png
Binary files differ
diff --git a/data/themes/images/flip_amb.png b/data/themes/images/flip_amb.png
index e7b3b17..e7b3b17 100755..100644
--- a/data/themes/images/flip_amb.png
+++ b/data/themes/images/flip_amb.png
Binary files differ
diff --git a/data/themes/images/flip_amt.png b/data/themes/images/flip_amt.png
index bc6a715..bc6a715 100755..100644
--- a/data/themes/images/flip_amt.png
+++ b/data/themes/images/flip_amt.png
Binary files differ
diff --git a/data/themes/images/flip_b.png b/data/themes/images/flip_b.png
index bb7c7e7..bb7c7e7 100755..100644
--- a/data/themes/images/flip_b.png
+++ b/data/themes/images/flip_b.png
Binary files differ
diff --git a/data/themes/images/flip_base.png b/data/themes/images/flip_base.png
index 607fba9..607fba9 100755..100644
--- a/data/themes/images/flip_base.png
+++ b/data/themes/images/flip_base.png
Binary files differ
diff --git a/data/themes/images/flip_base_shad.png b/data/themes/images/flip_base_shad.png
index 0569977..0569977 100755..100644
--- a/data/themes/images/flip_base_shad.png
+++ b/data/themes/images/flip_base_shad.png
Binary files differ
diff --git a/data/themes/images/flip_colon.png b/data/themes/images/flip_colon.png
index 3a674de..3a674de 100755..100644
--- a/data/themes/images/flip_colon.png
+++ b/data/themes/images/flip_colon.png
Binary files differ
diff --git a/data/themes/images/flip_pmb.png b/data/themes/images/flip_pmb.png
index de14fa5..de14fa5 100755..100644
--- a/data/themes/images/flip_pmb.png
+++ b/data/themes/images/flip_pmb.png
Binary files differ
diff --git a/data/themes/images/flip_pmt.png b/data/themes/images/flip_pmt.png
index 8a72655..8a72655 100755..100644
--- a/data/themes/images/flip_pmt.png
+++ b/data/themes/images/flip_pmt.png
Binary files differ
diff --git a/data/themes/images/flip_shad.png b/data/themes/images/flip_shad.png
index 3d74cea..3d74cea 100755..100644
--- a/data/themes/images/flip_shad.png
+++ b/data/themes/images/flip_shad.png
Binary files differ
diff --git a/data/themes/images/flip_t.png b/data/themes/images/flip_t.png
index 74ed50d..74ed50d 100755..100644
--- a/data/themes/images/flip_t.png
+++ b/data/themes/images/flip_t.png
Binary files differ
diff --git a/data/themes/images/icon_gadget.png b/data/themes/images/icon_gadget.png
index 0f84136..0f84136 100755..100644
--- a/data/themes/images/icon_gadget.png
+++ b/data/themes/images/icon_gadget.png
Binary files differ
diff --git a/data/themes/images/icon_look.png b/data/themes/images/icon_look.png
index bb8a366..bb8a366 100755..100644
--- a/data/themes/images/icon_look.png
+++ b/data/themes/images/icon_look.png
Binary files differ
diff --git a/data/themes/images/icon_screenshot.png b/data/themes/images/icon_screenshot.png
index bcd2a69..bcd2a69 100755..100644
--- a/data/themes/images/icon_screenshot.png
+++ b/data/themes/images/icon_screenshot.png
Binary files differ
diff --git a/data/themes/images/t0-sh.png b/data/themes/images/t0-sh.png
index 0ed5722..0ed5722 100755..100644
--- a/data/themes/images/t0-sh.png
+++ b/data/themes/images/t0-sh.png
Binary files differ
diff --git a/data/themes/images/t0.png b/data/themes/images/t0.png
index ed6ccf0..ed6ccf0 100755..100644
--- a/data/themes/images/t0.png
+++ b/data/themes/images/t0.png
Binary files differ
diff --git a/data/themes/images/t1-sh.png b/data/themes/images/t1-sh.png
index cf64749..cf64749 100755..100644
--- a/data/themes/images/t1-sh.png
+++ b/data/themes/images/t1-sh.png
Binary files differ
diff --git a/data/themes/images/t1.png b/data/themes/images/t1.png
index a41aa73..a41aa73 100755..100644
--- a/data/themes/images/t1.png
+++ b/data/themes/images/t1.png
Binary files differ
diff --git a/data/themes/images/t2.png b/data/themes/images/t2.png
index 4c018a4..4c018a4 100755..100644
--- a/data/themes/images/t2.png
+++ b/data/themes/images/t2.png
Binary files differ
diff --git a/data/themes/samsung.edc b/data/themes/samsung.edc
index a831ae6..f7af85c 100755..100644
--- a/data/themes/samsung.edc
+++ b/data/themes/samsung.edc
@@ -1,12 +1,17 @@
// TODO:
-// Add group{} locations to all sections. eg. "widget/preview" is found in Wallpaper selector"
-// Icons:
-// EFM - All popup icons ... eg, paste copy delete properties
-// Icons for Menus modules
-// Icon for Edge Bindings
-// Icon for Modes?
+// Formatting review.
+// Formatting Process: 1. http://tools.arantius.com/tabifier in C mode
+// 2. sed 's/\t/ /g' default.edc > formatted.edc
+// 3. Fix up defines, script{}, comments and other nicknacks.
+// 4. Replace ": " with ": " and "// " with "// " and so on.
+//
+// Icons:
+// EFM - All popup icons ... eg, paste copy delete properties
+// Icons for Menus modules
+// Icon for Edge Bindings
+// Icon for Modes?
+// Replace all (well, most) instances of icon_dummy.png
//
-
/*
* So how do themes work?
*
@@ -36,58 +41,304 @@
* and make sure you have replaced/provided everything here.
*/
-/* Specturm used in all the gradient icons
+/* Spectrum used in all the gradient icons
* This needs to be defined outside of the collections
*
* FIXME: this is bad. namespacing! FIXME!
*/
-/*
+#if 0
spectra {
- spectrum { name: "black_to_trans";
+ spectrum {
+ name: "black_to_trans";
color: 0 0 0 255 1;
color: 0 0 0 0 1;
}
}
-*/
+#endif
+/* color classes are used to control the colors of text and also apply
+ * tints to images. These can be controlled with the colors dialog. Below
+ * are the standard color_class names that the module looks for in a
+ * theme. Consider color classes as a style that can be applied to many
+ * different items without tinkering with the theme.
+ *
+ * color: Font color (Defaults to black)
+ * color2: Outline color (Defaults to transparent)
+ * color3: Shadow color (Defaults to transparent)
+ *
+ */
+
+color_classes {
+ color_class {
+ name: "border_top";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "border_top_hilight";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "border_bottom";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "border_title";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "border_title_active";
+ color: 224 224 224 255;
+ color3: 0 0 0 64;
+ }
+ color_class {
+ name: "menu_base";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "menu_title";
+ color: 224 224 224 255;
+ color3: 0 0 0 64;
+ }
+ color_class {
+ name: "menu_title_active";
+ color: 224 224 224 255;
+ color3: 0 0 0 64;
+ }
+ color_class {
+ name: "menu_item";
+ color: 0 0 0 255;
+ color3: 0 0 0 0;
+ }
+ color_class {
+ name: "menu_item_active";
+ color: 255 255 255 255;
+ color3: 0 0 0 64;
+ }
+ color_class {
+ name: "menu_item_disabled";
+ color: 110 110 110 255;
+ color3: 0 0 0 0;
+ }
+ color_class {
+ name: "shelf_base";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "scrollframe_base";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "winlist_label";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "winlist_item";
+ color: 0 0 0 255;
+ color3: 0 0 0 0;
+ }
+ color_class {
+ name: "winlist_item_active";
+ color: 224 224 224 255;
+ color3: 0 0 0 64;
+ }
+ color_class {
+ name: "button_text";
+ color: 224 224 224 255;
+ color3: 0 0 0 64;
+ }
+ color_class {
+ name: "button_text_disabled";
+ color: 0 0 0 128;
+ color3: 0 0 0 0;
+ }
+ color_class {
+ name: "fileman_base";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "ilist_item_base";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "ilist_item_odd_base";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "ilist_item_header_base";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "ilist_item_header_odd_base";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "ilist_item";
+ color: 0 0 0 255;
+ color3: 0 0 0 0;
+ }
+ color_class {
+ name: "ilist_item_odd";
+ color: 0 0 0 255;
+ color3: 0 0 0 0;
+ }
+ color_class {
+ name: "ilist_item_selected";
+ color: 255 255 255 255;
+ color3: 0 0 0 64;
+ }
+ color_class {
+ name: "ilist_item_header";
+ color: 224 224 224 255;
+ color3: 0 0 0 32;
+ }
+ color_class {
+ name: "ilist_item_header_odd";
+ color: 224 224 224 255;
+ color3: 0 0 0 32;
+ }
+ color_class {
+ name: "dialog_base";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "move_text";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "resize_text";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "check_text";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "check_text_disabled";
+ color: 0 0 0 128;
+ }
+ color_class {
+ name: "radio_text";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "radio_text_disabled";
+ color: 0 0 0 128;
+ }
+ color_class {
+ name: "entry_text";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "entry_text_disabled";
+ color: 128 128 128 255;
+ }
+ color_class {
+ name: "slider_text";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "slider_text_disabled";
+ color: 0 0 0 128;
+ }
+ color_class {
+ name: "frame_base";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "label_text";
+ color: 0 0 0 255;
+ }
+ color_class {
+ name: "label_text_disabled";
+ color: 0 0 0 128;
+ }
+ color_class {
+ name: "comp_focus-out_color";
+ color: 255 255 255 220;
+ }
+ color_class {
+ name: "tasks_text";
+ color: 0 0 0 255;
+ color3: 0 0 0 0;
+ }
+ color_class {
+ name: "tasks_text_focused";
+ color: 224 224 224 255;
+ color3: 0 0 0 64;
+ }
+}
+
/*
- * this section defined all the theme elements (a collection of groupings of
+ * this section defines all the theme elements (a collection of groupings of
* parts (images, text, rects etc.))
*/
-collections { /* begin the collection of edje groups that are in this file */
+
+collections {
+/* begin the collection of edje groups that are in this file */
/////////////////////////////////////////////////////////////////////////////
- /*** DEFAULT WALLPAPER ***/
- group { name: "e/desktop/background"; /* the name of the group */
- /* this section defines that images are to be included and how to
- * encode them */
- /* this section actually contains the list of parts from bottom to top
- * (defining the layering/stacking order) */
+/*** DEFAULT WALLPAPER ***/
+ group {
+ name: "e/desktop/background";
parts {
- part { name: "background_image"; /* this is the base background */
+ part {
+ name: "background_image";
type: RECT;
- description { state: "default" 0.0; /* its default state */
+ /* this is the base background */
+ description {
+ state: "default" 0.0;
+ /* its default state */
color: 0 0 0 255;
- }
- }
+ }
+ }
}
}
-
- group { name: "e/desktop/background/scrollframe";
+ group {
+ name: "e/desktop/background/scrollframe";
parts {
- part { name: "clipper";
+ part {
+ name: "clipper";
type: RECT;
mouse_events: 0;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
}
}
- part { name: "e.swallow.content";
+ part {
+ name: "e.swallow.content";
clip_to: "clipper";
type: SWALLOW;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
rel1.offset: 0 0;
rel2 {
relative: 0.0 0.0;
- offset: -1 -1;
+ offset: -1 -1;
+ }
+ }
+ }
+ }
+ }
+ group {
+ name: "e/desktop/background/scrollframe";
+ parts {
+ part {
+ name: "clipper";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ clip_to: "clipper";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1.offset: 0 0;
+ rel2 {
+ relative: 0.0 0.0;
+ offset: -1 -1;
}
}
}
@@ -95,671 +346,8289 @@ collections { /* begin the collection of edje groups that are in this file */
}
/////////////////////////////////////////////////////////////////////////////
- /*** DEFAULT WINDOW BORDER ***/
- group { name: "e/widgets/border/default/border";
- alias: "e/widgets/border/shaped/border";
- alias: "e/widgets/border/noresize/border";
- alias: "e/widgets/border/dialog/border";
- alias: "e/widgets/border/noresize_dialog/border";
- alias: "e/widgets/border/pixel/border";
+/*** DEFAULT WINDOW BORDER ***/
+ group {
+ name: "e/widgets/border/default/border";
+ /* more images - for the border specifically. remember each images {}
+ * section fills a global images namespace, so if you re-use an image
+ * between sections, only 1 copy is kept, so names here are unique. if
+ * different image {} sections specify the same image but use different
+ * compression specifications, the compression scheme is undefined and
+ * may use any one of the schemes requested, so make sure you use the
+ * same compression scheme */
+ images {
+ image: "added_images/DM_Internet_Title_bg.png" COMP;
+ image: "added_images/DM_Internet_icon_close.png" COMP;
+ image: "added_images/DM_Internet_icon_Reduction.png" COMP;
+ image: "added_images/DM_Internet_icon_Zoom.png" COMP;
+ image: "added_images/DM_Internet_bg.png" COMP;
+ image: "added_images/DM_Internet_Address_bg.png" COMP;
+ image: "added_images/DM_Internet_Title_bg.png" COMP;
+ image: "bd_top.png" COMP;
+ image: "bd_top_hilight.png" COMP;
+ image: "bd_bottom.png" COMP;
+ image: "bd_title_bg.png" COMP;
+ image: "bd_title_over.png" COMP;
+ image: "bd_resize_b.png" COMP;
+ image: "busy-1.png" COMP;
+ image: "busy-2.png" COMP;
+ image: "busy-3.png" COMP;
+ image: "busy-4.png" COMP;
+ image: "busy-5.png" COMP;
+ image: "busy-6.png" COMP;
+ image: "busy-7.png" COMP;
+ image: "busy-8.png" COMP;
+ image: "busy-9.png" COMP;
+ image: "exclam.png" COMP;
+ image: "bd_button_close_shadow.png" COMP;
+ image: "bd_button_close_focused.png" COMP;
+ image: "bd_button_close_unfocused.png" COMP;
+ image: "bd_button_max_shadow.png" COMP;
+ image: "bd_button_max_focused.png" COMP;
+ image: "bd_button_max_unfocused.png" COMP;
+ image: "bd_button_min_shadow.png" COMP;
+ image: "bd_button_min_focused.png" COMP;
+ image: "bd_button_min_unfocused.png" COMP;
+ }
+ /* this would tell E that the border is not a solid rectanle, but is
+ * shaped (has transparent sections) and so would follow a different
+ * code path for such borders. the default is not shaped, so this is
+ * not enabled here, but left commented out for illustration purposes */
+ // data.item: "shaped" "1";
parts {
- part { name: "top";
- mouse_events: 0; /* accept no mouse events here */
+ part {
+ name: "top";
+ mouse_events: 0;
+ /* accept no mouse events here */
+ description {
+ state: "default" 0.0;
+ rel1 {
+ /* this defines the top-left (rel1) point of the part
+ * and where it is placed. the below values are
+ * actually the default values, so there is no need
+ * to actually declare them. */
+ relative: 0.0 0.0;
+ /* make this point relative to the top
+ * left of the whole eje object (there
+ * is no to: section so it's the whole
+ * object). note that the point is
+ * calculated as:
+ * p.x = obj.width * relative.x
+ * p.y = obj.height * relative.y
+ * (as the to item is the whole object)
+ */
+ offset: 0 0;
+ /* and from the relative point, have an offset
+ * of 0 pixels - i.e. - none */
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ /* the bottom-right is relative to the
+ * base of the title - this way the
+ * title region will scale based on font
+ * size */
+ to_y: "title_base";
+ /* only y is relative to title_base. the
+ * rest is relative to the whole object
+ * (because its not specified) */
+ }
+ color_class: "border_top";
+ image {
+ /* define the image to use */
+ normal: "added_images/DM_Internet_Title_bg.png";
+ /* the image */
+ }
+ }
+ }
+ part {
+ name: "bottom";
+ /* this is the bottom of the window */
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ color_class: "border_bottom";
+ }
+ description {
+ state: "shaded" 0.0;
+ /* when in a shaded state then
+ * don't display this part */
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "max" 0.0;
+ /* whem maximised too */
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "icon_area";
+ /* this is an invisible rectangle that we
+ * use to place icons within. we use this
+ * to keep it fixed as the "icone area" so
+ * the actual swallow part that swallows
+ * the icon can be moved/resized for
+ * animations */
type: RECT;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ align: 0.0 0.0;
+ /* alignt to the left, but center vertically */
+ aspect: 1.0 1.0;
+ /* prefer ans aspect of 1.0 (ie width / height
+ * is 1.0 - i.e. - square. aspect here is
+ * min and max aspect that will be "allowed"
+ * (since both min and max are 1.0 respectively
+ * in order). */
+ aspect_preference: VERTICAL;
+ /* this means that the vertical
+ * axis controls aspect and the
+ * icon_area part size will be
+ * governed by the height of the
+ * part (the width simply following
+ * along behind) */
+ rel1 {
+ /* rel1 - top-left corner of this part */
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ }
+ }
+ }
+ part {
+ name: "icon_area2";
+ /* this area is another invisible rect
+ * that is used for shuffling around parts
+ * that are relative to it. the states
+ * below are just a few "random" offsets
+ * to make it look like whatever is
+ * relative to icon_area2 is "jiggling"
+ * around */
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1.to: "icon_area";
+ rel2.to: "icon_area";
+ }
+ description {
+ state: "uw0" 0.0;
+ /* jiggle */
+ inherit: "default" 0.0;
+ rel1.offset: -3 -2;
+ rel2.offset: -4 -3;
+ }
+ description {
+ state: "uw1" 0.0;
+ /* jiggle some more */
+ inherit: "default" 0.0;
+ rel1.offset: 5 -2;
+ rel2.offset: 4 -3;
+ }
+ description {
+ state: "uw2" 0.0;
+ /* look at me - jiggling! */
+ inherit: "default" 0.0;
+ rel1.offset: -1 4;
+ rel2.offset: -2 3;
+ }
+ description {
+ state: "uw3" 0.0;
+ /* jiggling about */
+ inherit: "default" 0.0;
+ rel1.offset: -2 -1;
+ rel2.offset: -3 -2;
+ }
+ description {
+ state: "uw4" 0.0;
+ /* one more jiggle for the dummies */
+ inherit: "default" 0.0;
+ rel1.offset: -4 1;
+ rel2.offset: -5 0;
+ }
+ }
+ part {
+ name: "busy";
+ /* this is an animation to spin a wheel when the app
+ * seems too busy to respond to pings */
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ /* nomrally the busy part is not visible */
+ color: 255 255 255 0;
+ /* and its alpha is 0 - se will fade it
+ * inm later so alpha to 0 (but 255 255
+ * 255 for white so we dont also go from
+ * dark to white while fading) */
+ max: 32 32;
+ /* no bigger than 32x32 - but allow it to be
+ * smaller if needed */
+ aspect: 1.0 1.0;
+ /* square aspect */
+ aspect_preference: BOTH;
+ /* both axes determine aspect. that
+ * means that the icon area may
+ * be 100x50, but the aspect is 1.0
+ * so therefore it will be 50x50 as the
+ * max size. if the area is 50x100 it
+ * will still be 50x50 as it must fit
+ * WITHIN the bounds of BOTH axes */
+ rel1.to: "icon_area";
+ rel2.to: "icon_area";
+ image {
+ tween: "busy-1.png";
+ tween: "busy-2.png";
+ tween: "busy-3.png";
+ tween: "busy-4.png";
+ tween: "busy-5.png";
+ tween: "busy-6.png";
+ tween: "busy-7.png";
+ tween: "busy-8.png";
+ normal: "busy-9.png";
+ /* and we use image tweening. that
+ * means that we flip through a series
+ * of images when moving TO this state
+ * over the transition time. it's like
+ * specifying multiple frames of an
+ * animatin sequence. the "final"
+ * state is "normal". the images
+ * between are the "tween" images
+ * listed in order working towards
+ * the "normal" image */
+ }
+ }
+ description {
+ state: "visible" 0.0;
+ /* the visible state - inherit the
+ * default one as its all the same, but
+ * its visible and faded in */
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "e.swallow.icon";
+ /* finally a swallow part - this is
+ * just a placeholder to SWALLOW
+ * other external evas objects into
+ * this region and edje will control
+ * any object swallowed as if it were
+ * this part itself (move, resize,
+ * etc.) */
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ rel1.to: "icon_area2";
+ rel2.to: "icon_area2";
+ }
+ description {
+ state: "shrunk" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.3 0.3;
+ rel2.relative: 0.7 0.7;
+ }
+ }
+ part {
+ name: "urgent";
+ /* this is the urgnt part it is normally not
+ * visible, but when the window is in an
+ * urgent state (the app has set the urgency
+ * hint) then we go to the visible state */
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ rel1.to: "icon_area";
+ rel2.to: "icon_area";
+ image.normal: "exclam.png";
+ }
+ description {
+ state: "visible" 0.0;
+ /* and in the visible state put the
+ * exlamation image on top of the icon */
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "urgent2";
+ /* this is another urgent element. it is actually
+ * zoomed out to be larger and faded out at the
+ * same time to give a "pulsating" look to the
+ * exclamation mark to bring attention to it */
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ rel1.to: "icon_area";
+ rel2.to: "icon_area";
+ image.normal: "exclam.png";
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "faded" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: -1.0 -1.0;
+ rel2.relative: 2.0 2.0;
+ visible: 1;
+ color: 255 255 255 0;
+ }
+ }
+ part {
+ name: "e.text.title";
+ /* this is a text part - the black
+ * text on the white title top image */
+ type: TEXT;
+ mouse_events: 0;
+ /* allow this part to scale by a scale factor (dpi) */
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ align: 0.5 0.0;
+ /* align top and left */
+ rel1 {
+ relative: 1.0 0.0;
+ offset: 9 2;
+ to_x: "icon_area";
+ /* relative to the right side of the icon
+ * area but 9 pixels away */
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ /* and the bottom right is inset by 8
+ * pixels from the right of "title_base"
+ * but as its aligned to the top we can
+ * keep this at 2 pixels from the top of
+ * the whole edje object and let alignment
+ * make it extend downward from that point
+ * with the text size defining the min size
+ * vertically below */
+ offset: -8 2;
+ to_x: "title_base";
+ }
+ color: 255 255 255 255;
+ /* give it a color class so people
+ * can re-color it if they want */
+ text {
+ font: "Sans";
+ /* Use the Bold style
+ * of the Sans font from
+ * fontconfig */
+ size: 14;
+ /* size in pixels - 10 */
+ min: 0 1;
+ /* the text will not determine minimum horizontal
+ * size but WILL determine minimal vertical size
+ * (thus 0 1 - horiz then vert flags) */
+ align: 0.5 0.0;
+ /* align text to top-left of the region
+ * given */
+ text_class: "title_bar";
+ /* text class - so font and size
+ * can be changed by users */
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ /* when the border is focused
+ * then make the text fade out
+ * and vanish */
+ inherit: "default" 0.0;
+ visible: 0;
+ align: 0.5 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "bt_close";
+ /* the close button shadow */
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 14 14;
+ /* min and max size are the same, so never
+ * resize this */
+ max: 14 14;
+ aspect: 1.0 1.0;
+ /* square - always */
+ aspect_preference: VERTICAL;
+ /* the vetical axis controls size
+ * when applying the aspect ratio
+ * hint above */
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -28 1;
+ to_x: "top";
+ to_y: "top";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -14 -2;
+ to_x: "top";
+ to_y: "top";
+ }
+ image.normal: "added_images/DM_Internet_icon_close.png";
+ }
+ }
+ part {
+ name: "bt_max";
+ /* maximize button shadow */
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ align: 1.0 0.5;
+ min: 14 14;
+ max: 14 14;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: -2 1;
+ to_x: "bt_close";
+ /* left of the close button */
+ to_y: "top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -2 -2;
+ to_x: "bt_close";
+ /* left of the close button */
+ to_y: "top";
+ }
+ image.normal: "added_images/DM_Internet_icon_Zoom.png";
+ }
+ }
+ part {
+ name: "bt_min";
+ /* minimize button shadow */
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ align: 1.0 0.5;
+ min: 14 14;
+ max: 14 14;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: -2 1;
+ to_x: "bt_max";
+ /* left of the maximize button */
+ to_y: "top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -2 -2;
+ to_x: "bt_max";
+ /* left of the maximize button */
+ to_y: "top";
+ }
+ image.normal: "added_images/DM_Internet_icon_Reduction.png";
+ }
+ }
+ part {
+ name: "top_hilight";
+ /* an overlayed image to give the top of
+ * a border a shiny look - very subtle */
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ to: "top";
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ offset: -1 0;
+ to: "top";
+ }
+ color_class: "border_top_hilight";
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "buttons_unfoc";
+ /* this is a rect part used to clip &
+ * thus control the visibility of a group
+ * of other parts (the images for the
+ * buttons themselves) with just 1 part
+ * doing the control as it acts as a
+ * master switch for all things clipped
+ * to this part */
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ /* visible and solid */
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ /* invisible and transparent */
+ }
+ }
+ part {
+ name: "bt_close_unfoc";
+ mouse_events: 0;
+ clip_to: "buttons_unfoc";
+ /* clipping (thus visible region and
+ * color + alpah is controlled by the
+ * clip object */
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_close";
+ rel2.to: "bt_close";
+ image.normal: "added_images/DM_Internet_icon_close.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "bt_max_unfoc";
+ mouse_events: 0;
+ clip_to: "buttons_unfoc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_max";
+ rel2.to: "bt_max";
+ image.normal: "added_images/DM_Internet_icon_Zoom.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "bt_min_unfoc";
+ mouse_events: 0;
+ clip_to: "buttons_unfoc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_min";
+ rel2.to: "bt_min";
+ image.normal: "added_images/DM_Internet_icon_Reduction.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "buttons_foc";
+ /* another rect object for clipping */
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "bt_close_foc";
+ mouse_events: 0;
+ clip_to: "buttons_foc";
+ /* controlled by the other clip object */
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_close";
+ rel2.to: "bt_close";
+ image.normal: "added_images/DM_Internet_icon_close.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "bt_max_foc";
+ mouse_events: 0;
+ clip_to: "buttons_foc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_max";
+ rel2.to: "bt_max";
+ image.normal: "added_images/DM_Internet_icon_Zoom.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "bt_min_foc";
+ mouse_events: 0;
+ clip_to: "buttons_foc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_min";
+ rel2.to: "bt_min";
+ image.normal: "added_images/DM_Internet_icon_Reduction.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "title_base";
+ /* an invisible rect part/object used for
+ * layout purposes */
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: 0 0;
+ to_x: "icon_area";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -3 4;
+ to_y: "e.text.title";
+ to_x: "bt_min";
+ }
+ }
+ }
+ part {
+ name: "title_back";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ to: "title_base";
+ }
+ rel2 {
+ to: "title_base";
+ relative: 1.0 0.0;
+ }
+ fill.smooth: 0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel2 {
+ to: "title_base";
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ part {
+ name: "title2";
+ /* this is interesting. it's another text part
+ * that also displays the title text, but
+ * normally is not visible. it is only made
+ * visibile when the window becomes focused.
+ * what is interesting is we tell it to source
+ * the text content from another part - i.e.
+ * the master "title" part which E sets the
+ * text of. when that changes this part also
+ * changes its text. this is a good way to
+ * use multiple text objects for effects and
+ * other things that can copy/mimic the content
+ * of another part */
+ type: TEXT;
+ mouse_events: 0;
+ effect: SOFT_SHADOW;
+ /* different style to before - because its
+ * focused */
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ align: 0.0 1.0;
+ rel1 {
+ to_x: "e.text.title";
+ to_y: "title_back";
+ relative: 0.0 1.0;
+ offset: -1 0;
+ }
+ rel2 {
+ to_x: "e.text.title";
+ to_y: "title_back";
+ relative: 1.0 1.0;
+ offset: 0 0;
+ }
+ color_class: "border_title_active";
+ text {
+ text_source: "e.text.title";
+ /* and here is the magic. tell
+ * the text to be sourced from
+ * another part */
+ font: "Sans:style=Bold";
+ size: 10;
+ align: 0.5 0.0;
+ min: 0 1;
+ text_class: "title_bar";
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "title_over";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1.to: "title_back";
+ rel2.to: "title_back";
+ fill.smooth: 0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "bottom_clip";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "bottom";
+ rel2.to: "bottom";
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "resize_b";
+ mouse_events: 0;
+ clip_to: "bottom_clip";
+ description {
+ state: "default" 0.0;
+ min: 20 10;
+ max: 20 10;
+ rel1 {
+ to: "bottom";
+ relative: 0.5 0.0;
+ offset: 0 -10;
+ }
+ rel2 {
+ to: "bottom";
+ relative: 0.5 0.0;
+ offset: 0 -1;
+ }
+ }
+ description {
+ state: "past" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.5 1.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ offset: 0 9;
+ }
+ }
+ }
+ part {
+ name: "e.swallow.client";
+ /* this determines where the actual
+ * client window will be placed in
+ * the border design */
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_y: "top";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 -1;
+ to_y: "bottom";
+ }
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ to_y: "bottom";
+ }
+ }
+ description {
+ state: "max" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_y: "top";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ to_y: "bottom";
+ }
+ }
+ }
+ /* these transparent rect parts are used for catching events in a way
+ * here objects for design don't affect the events. these parts
+ * are named speciifcally because E has config listening for specific
+ * signals (events) coming from these named parts and based on those
+ * will perform certain actions. these are actually all configurable
+ * by the user, so if they want, clicking the logical "titlebar" could
+ * close the window, not move it, and so on. the user decides this.
+ * the theme designer simply indicates the "logcal" use of the theme
+ * elements they have created */
+ part {
+ name: "e.event.titlebar";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "title_base";
+ rel2.to: "title_base";
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "e.event.resize.t";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 3;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.resize.b";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 -4;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.resize.tl";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ offset: 15 15;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.resize.tr";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -16 0;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 15;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.resize.bl";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 -16;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 15 -1;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.resize.br";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ offset: -16 -16;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.icon";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "icon_area";
+ rel2.to: "icon_area";
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "e.event.close";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_close";
+ rel2.to: "bt_close";
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "e.event.minimize";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_min";
+ rel2.to: "bt_min";
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "e.event.maximize";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_max";
+ rel2.to: "bt_max";
+ color: 0 0 0 0;
+ }
+ }
+ }
+ /* programs - these are basically snippets of simple logic to respond to
+ * incoming signals (generated by signal emisions by code or events) */
+ programs {
+ program {
+ name: "focus_in";
+ /* name of the program. must be unique
+ * within the list of programs attached
+ * to a group of parts */
+ signal: "e,state,focused";
+ /* what signal triggers this program,
+ * if any. this can also be a glob like
+ * "mouse,down,*" for example. note
+ * that globs are slower to match
+ * and empty strings are literal matches
+ * too */
+ source: "e";
+ /* the source of the signal - this must also match for
+ * the program to be run */
+ action: STATE_SET "default" 0.0;
+ /* the action the program will
+ * perform. in this case
+ * it will set the state to
+ * "focused" @ value 0.0 */
+ target: "title_back";
+ /* these are the targets for the action.
+ * i.e. which parts will have their state
+ * set to "focused" over 0.2 seconds */
+ target: "title2";
+ target: "title_over";
+ target: "buttons_foc";
+ target: "buttons_unfoc";
+ target: "e.text.title";
+ }
+ program {
+ name: "focus_out";
+ /* this program is run when focus is
+ * removed from a window border */
+ signal: "e,state,unfocused";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "title_back";
+ target: "title2";
+ target: "title_over";
+ target: "buttons_foc";
+ target: "buttons_unfoc";
+ target: "e.text.title";
+ }
+ program {
+ name: "urgent";
+ /* this program is run when the border is
+ * meant to display an "urgent" state
+ * (the application has something
+ * important to show the user) */
+ signal: "e,state,urgent";
+ source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 0.5;
+ /* instead of a linear transition
+ * this will vary from state A to B
+ * but slow down towards the end */
+ target: "urgent";
+ target: "urgent2";
+ after: "urgent2";
+ /* when this program and its transition are
+ * finished then chain (run) the "urgent2"
+ * program below. this way a series of actions
+ * and trnasitions can be chained together one
+ * after the other */
+ }
+ program {
+ name: "urgent2";
+ action: STATE_SET "faded" 0.0;
+ transition: LINEAR 0.5;
+ target: "urgent2";
+ after: "urgent3";
+ }
+ program {
+ name: "urgent3";
+ action: STATE_SET "visible" 0.0;
+ target: "urgent2";
+ /* notice - no transition. when not specified
+ * it is assumed that the action should happen
+ * immediately with no transition over time */
+ after: "urgent2";
+ }
+ program {
+ name: "urgentw0";
+ /* these ae a list of icon "wobble"
+ * programs to indicate urgency */
+ signal: "e,state,urgent";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.1;
+ target: "icon_area2";
+ after: "urgentw1";
+ }
+ program {
+ name: "urgentw1";
+ action: STATE_SET "uw1" 0.0;
+ transition: DECELERATE 0.1;
+ target: "icon_area2";
+ after: "urgentw2";
+ }
+ program {
+ name: "urgentw2";
+ action: STATE_SET "uw2" 0.0;
+ target: "icon_area2";
+ transition: DECELERATE 0.1;
+ after: "urgentw3";
+ }
+ program {
+ name: "urgentw3";
+ action: STATE_SET "uw3" 0.0;
+ transition: DECELERATE 0.1;
+ target: "icon_area2";
+ after: "urgentw4";
+ }
+ program {
+ name: "urgentw4";
+ action: STATE_SET "uw4" 0.0;
+ transition: DECELERATE 0.1;
+ target: "icon_area2";
+ after: "urgentw0";
+ }
+ program {
+ name: "not_urgent";
+ /* run when the window stops being
+ * urgent */
+ signal: "e,state,not_urgent";
+ source: "e";
+ action: ACTION_STOP;
+ /* this action will stop other running programs
+ * that are currently active. the programs to
+ * stop are named in the targets below */
+ target: "urgentw0";
+ target: "urgentw1";
+ target: "urgentw2";
+ target: "urgentw3";
+ target: "urgentw4";
+ target: "urgent";
+ target: "urgent2";
+ target: "urgent3";
+ after: "not_urgent2";
+ }
+ program {
+ name: "not_urgent2";
+ action: STATE_SET "default" 0.0;
+ target: "urgent";
+ target: "urgent2";
+ target: "icon_area2";
+ }
+ program {
+ name: "hung";
+ /* run when an app is known to be hung/not
+ * responding to ping requests */
+ signal: "e,state,hung";
+ source: "e";
+ action: STATE_SET "shrunk" 0.0;
+ target: "e.swallow.icon";
+ transition: DECELERATE 0.5;
+ }
+ program {
+ name: "unhung";
+ /* when an app was hung but has started to
+ * respond again, this is run */
+ signal: "e,state,unhung";
+ source: "e";
+ action: ACTION_STOP;
+ target: "busy_anim";
+ }
+ program {
+ name: "unhung2";
+ signal: "e,state,unhung";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "e.swallow.icon";
+ target: "busy";
+ transition: ACCELERATE 0.5;
+ }
+ program {
+ name: "busy_anim";
+ /* multiple programs can be triggered
+ * from the same signals so this is
+ * also run when an app becomes "hung" */
+ signal: "e,state,hung";
+ source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: LINEAR 0.3333;
+ target: "busy";
+ after: "busy_anim";
+ }
+ // don't have states/anim for a generic iconify action
+ // program { name: "xx";
+ // signal: "e,action,iconify";
+ // source: "e";
+ // }
+ // don't have states/anim for a generic uniconify action
+ // program { name: "xx";
+ // signal: "e,action,uniconify";
+ // source: "e";
+ // }
+ // don't have states/anim for a generic maximize action
+ // program { name: "xx";
+ // signal: "e,action,maximize";
+ // source: "e";
+ // }
+ // don't have states/anim for a generic unmaximize action
+ // program { name: "xx";
+ // signal: "e,action,unmaximize";
+ // source: "e";
+ // }
+ program {
+ name: "max_full";
+ /* run on fullscreen maximize */
+ signal: "e,action,maximize,fullscreen";
+ source: "e";
+ action: STATE_SET "max" 0.0;
+ target: "bottom";
+ target: "e.swallow.client";
+ }
+ program {
+ name: "unmax_full";
+ /* run on unmaximize from fullscreen */
+ signal: "e,action,unmaximize,fullscreen";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "bottom";
+ target: "e.swallow.client";
+ }
+ // don't have any animation or stat change to do at the start of shading
+ // program { name: "xx";
+ // signal: "e,state,shading";
+ // source: "e";
+ // }
+ program {
+ name: "shade_end";
+ /* run when the window finishes its
+ * shading animation */
+ signal: "e,state,shaded";
+ source: "e";
+ action: STATE_SET "shaded" 0.0;
+ target: "bottom";
+ target: "e.swallow.client";
+ target: "e.event.resize.tl";
+ target: "e.event.resize.tr";
+ target: "e.event.resize.bl";
+ target: "e.event.resize.br";
+ target: "e.event.resize.t";
+ target: "e.event.resize.b";
+ }
+ program {
+ name: "unshade_start";
+ /* run when the window starts
+ * unshading itself */
+ signal: "e,state,unshading";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "bottom";
+ target: "e.swallow.client";
+ target: "e.event.resize.tl";
+ target: "e.event.resize.tr";
+ target: "e.event.resize.bl";
+ target: "e.event.resize.br";
+ target: "e.event.resize.t";
+ target: "e.event.resize.b";
+ }
+ // don't have any animation or stat change to do at the end of unshading
+ // program { name: "xx";
+ // signal: "e,state,unshaded";
+ // source: "e";
+ // }
+ program {
+ name: "resize_b_on";
+ signal: "mouse,in";
+ /* on mouse enter... */
+ source: "e.event.resize.b";
+ /* in this named part */
+ action: ACTION_STOP;
+ /* stop the following programs */
+ target: "resize_b_on2";
+ target: "resize_b_on3";
+ after: "resize_b_on2";
+ /* then run... */
+ }
+ program {
+ name: "resize_b_on2";
+ action: STATE_SET "default" 0.0;
+ target: "resize_b";
+ after: "resize_b_on3";
+ }
+ program {
+ name: "resize_b_on3";
+ action: STATE_SET "past" 0.0;
+ transition: LINEAR 0.5;
+ target: "resize_b";
+ after: "resize_b_on2";
+ }
+ program {
+ name: "resize_b_off";
+ signal: "mouse,out";
+ /* on mouse leave... */
+ source: "e.event.resize.b";
+ action: ACTION_STOP;
+ target: "resize_b_on";
+ target: "resize_b_on2";
+ target: "resize_b_on3";
+ }
+ program {
+ name: "icon_down";
+ signal: "mouse,down,*";
+ /* if any mouse button is pressed... */
+ source: "e.event.icon";
+ action: STATE_SET "active" 0.0;
+ target: "icon_area";
+ }
+ program {
+ name: "icon_up";
+ signal: "mouse,up,*";
+ /* if any mouse button is released... */
+ source: "e.event.icon";
+ action: STATE_SET "default" 0.0;
+ target: "icon_area";
+ }
+ program {
+ name: "bt_close_down";
+ signal: "mouse,down,*";
+ source: "e.event.close";
+ action: STATE_SET "active" 0.0;
+ target: "bt_close_unfoc";
+ target: "bt_close_foc";
+ }
+ program {
+ name: "bt_close_up";
+ signal: "mouse,up,*";
+ source: "e.event.close";
+ action: STATE_SET "default" 0.0;
+ target: "bt_close_unfoc";
+ target: "bt_close_foc";
+ }
+ program {
+ name: "bt_max_down";
+ signal: "mouse,down,*";
+ source: "e.event.maximize";
+ action: STATE_SET "active" 0.0;
+ target: "bt_max_unfoc";
+ target: "bt_max_foc";
+ }
+ program {
+ name: "bt_max_up";
+ signal: "mouse,up,*";
+ source: "e.event.maximize";
+ action: STATE_SET "default" 0.0;
+ target: "bt_max_unfoc";
+ target: "bt_max_foc";
+ }
+ program {
+ name: "bt_min_down";
+ signal: "mouse,down,*";
+ source: "e.event.minimize";
+ action: STATE_SET "active" 0.0;
+ target: "bt_min_unfoc";
+ target: "bt_min_foc";
+ }
+ program {
+ name: "bt_min_up";
+ signal: "mouse,up,*";
+ source: "e.event.minimize";
+ action: STATE_SET "default" 0.0;
+ target: "bt_min_unfoc";
+ target: "bt_min_foc";
+ }
+ }
+ }
+ /* more border types - see comments in the default border for information */
+ /*** SHAPED WINDOW BORDER ***/
+ group {
+ name: "e/widgets/border/shaped/border";
+ images {
+ image: "bd_top.png" COMP;
+ image: "bd_top_hilight.png" COMP;
+ image: "bd_bottom.png" COMP;
+ image: "bd_title_bg.png" COMP;
+ image: "bd_title_over.png" COMP;
+ image: "bd_resize_b.png" COMP;
+ image: "busy-1.png" COMP;
+ image: "busy-2.png" COMP;
+ image: "busy-3.png" COMP;
+ image: "busy-4.png" COMP;
+ image: "busy-5.png" COMP;
+ image: "busy-6.png" COMP;
+ image: "busy-7.png" COMP;
+ image: "busy-8.png" COMP;
+ image: "busy-9.png" COMP;
+ image: "exclam.png" COMP;
+ image: "bd_button_close_shadow.png" COMP;
+ image: "bd_button_close_focused.png" COMP;
+ image: "bd_button_close_unfocused.png" COMP;
+ image: "bd_button_max_shadow.png" COMP;
+ image: "bd_button_max_focused.png" COMP;
+ image: "bd_button_max_unfocused.png" COMP;
+ image: "bd_button_min_shadow.png" COMP;
+ image: "bd_button_min_focused.png" COMP;
+ image: "bd_button_min_unfocused.png" COMP;
+ }
+ data.item: "shaped" "1";
+ parts {
+ part {
+ name: "top";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ to_y: "title_base";
+ }
+ color_class: "border_top";
+ image {
+ normal: "bd_top.png";
+ border: 2 2 2 2;
+ }
+ }
+ }
+ part {
+ name: "bottom";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 -4;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ color_class: "border_bottom";
+ image {
+ normal: "bd_bottom.png";
+ border: 2 2 0 0;
+ }
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "max" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "icon_area";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ align: 0.0 0.5;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 2 2;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 2 -3;
+ to_y: "title_base";
+ }
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ offset: 2 3;
+ }
+ rel2 {
+ offset: 2 -2;
+ }
+ }
+ }
+ part {
+ name: "icon_area2";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1.to: "icon_area";
+ rel2.to: "icon_area";
+ }
+ description {
+ state: "uw0" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: -3 -2;
+ rel2.offset: -4 -3;
+ }
+ description {
+ state: "uw1" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 5 -2;
+ rel2.offset: 4 -3;
+ }
+ description {
+ state: "uw2" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: -1 4;
+ rel2.offset: -2 3;
+ }
+ description {
+ state: "uw3" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: -2 -1;
+ rel2.offset: -3 -2;
+ }
+ description {
+ state: "uw4" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: -4 1;
+ rel2.offset: -5 0;
+ }
+ }
+ part {
+ name: "busy";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ max: 32 32;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ rel1.to: "icon_area";
+ rel2.to: "icon_area";
+ image {
+ tween: "busy-1.png";
+ tween: "busy-2.png";
+ tween: "busy-3.png";
+ tween: "busy-4.png";
+ tween: "busy-5.png";
+ tween: "busy-6.png";
+ tween: "busy-7.png";
+ tween: "busy-8.png";
+ normal: "busy-9.png";
+ }
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "e.swallow.icon";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ rel1.to: "icon_area2";
+ rel2.to: "icon_area2";
+ }
+ description {
+ state: "shrunk" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.3 0.3;
+ rel2.relative: 0.7 0.7;
+ }
+ }
+ part {
+ name: "urgent";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ rel1.to: "icon_area";
+ rel2.to: "icon_area";
+ image.normal: "exclam.png";
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "urgent2";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ rel1.to: "icon_area";
+ rel2.to: "icon_area";
+ image.normal: "exclam.png";
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "faded" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: -1.0 -1.0;
+ rel2.relative: 2.0 2.0;
+ visible: 1;
+ color: 255 255 255 0;
+ }
+ }
+ part {
+ name: "e.text.title";
+ type: TEXT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ align: 0.0 0.0;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: 9 2;
+ to_x: "icon_area";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -8 2;
+ to_x: "title_base";
+ }
+ color_class: "border_title";
+ text {
+ font: "Sans:style=Bold";
+ size: 10;
+ min: 0 1;
+ align: 0.0 0.0;
+ text_class: "title_bar";
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "bt_close";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 14 14;
+ max: 14 14;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -28 1;
+ to_x: "top";
+ to_y: "top";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to_x: "top";
+ to_y: "top";
+ }
+ image.normal: "bd_button_close_shadow.png";
+ }
+ }
+ part {
+ name: "bt_max";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ align: 1.0 0.5;
+ min: 22 22;
+ max: 22 22;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: -2 1;
+ to_x: "bt_close";
+ to_y: "top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -2 -2;
+ to_x: "bt_close";
+ to_y: "top";
+ }
+ image.normal: "bd_button_max_shadow.png";
+ }
+ }
+ part {
+ name: "bt_min";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ align: 1.0 0.5;
+ min: 22 22;
+ max: 22 22;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: -2 1;
+ to_x: "bt_max";
+ to_y: "top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -2 -2;
+ to_x: "bt_max";
+ to_y: "top";
+ }
+ image.normal: "bd_button_min_shadow.png";
+ }
+ }
+ part {
+ name: "top_hilight";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ to: "top";
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ offset: -1 0;
+ to: "top";
+ }
+ color_class: "border_top_hilight";
+ image {
+ normal: "bd_top_hilight.png";
+ }
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "buttons_unfoc";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ }
+ part {
+ name: "bt_close_unfoc";
+ mouse_events: 0;
+ clip_to: "buttons_unfoc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_close";
+ rel2.to: "bt_close";
+ image.normal: "bd_button_close_unfocused.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "bt_max_unfoc";
+ mouse_events: 0;
+ clip_to: "buttons_unfoc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_max";
+ rel2.to: "bt_max";
+ image.normal: "bd_button_max_unfocused.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "bt_min_unfoc";
+ mouse_events: 0;
+ clip_to: "buttons_unfoc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_min";
+ rel2.to: "bt_min";
+ image.normal: "bd_button_min_unfocused.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "buttons_foc";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "bt_close_foc";
+ mouse_events: 0;
+ clip_to: "buttons_foc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_close";
+ rel2.to: "bt_close";
+ image.normal: "bd_button_close_focused.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "bt_max_foc";
+ mouse_events: 0;
+ clip_to: "buttons_foc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_max";
+ rel2.to: "bt_max";
+ image.normal: "bd_button_max_focused.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "bt_min_foc";
+ mouse_events: 0;
+ clip_to: "buttons_foc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_min";
+ rel2.to: "bt_min";
+ image.normal: "bd_button_min_focused.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "title_base";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: 0 0;
+ to_x: "icon_area";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -3 4;
+ to_y: "e.text.title";
+ to_x: "bt_min";
+ }
+ }
+ }
+ part {
+ name: "title_back";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ to: "title_base";
+ }
+ rel2 {
+ to: "title_base";
+ relative: 1.0 0.0;
+ }
+ image {
+ normal: "bd_title_bg.png";
+ border: 7 7 2 7;
+ }
+ fill.smooth: 0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel2 {
+ to: "title_base";
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ part {
+ name: "title2";
+ type: TEXT;
+ mouse_events: 0;
+ effect: SOFT_SHADOW;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ align: 0.0 1.0;
+ rel1 {
+ to_x: "e.text.title";
+ to_y: "title_back";
+ relative: 0.0 1.0;
+ offset: -1 0;
+ }
+ rel2 {
+ to_x: "e.text.title";
+ to_y: "title_back";
+ relative: 1.0 1.0;
+ offset: 0 1;
+ }
+ color_class: "border_title_active";
+ text {
+ text_source: "e.text.title";
+ font: "Sans:style=Bold";
+ size: 10;
+ align: 0.0 0.0;
+ min: 0 1;
+ text_class: "title_bar";
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "title_over";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1.to: "title_back";
+ rel2.to: "title_back";
+ image {
+ normal: "bd_title_over.png";
+ border: 7 7 2 7;
+ }
+ fill.smooth: 0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "bottom_clip";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "bottom";
+ rel2.to: "bottom";
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "resize_b";
+ mouse_events: 0;
+ clip_to: "bottom_clip";
+ description {
+ state: "default" 0.0;
+ min: 20 10;
+ max: 20 10;
+ rel1 {
+ to: "bottom";
+ relative: 0.5 0.0;
+ offset: 0 -10;
+ }
+ rel2 {
+ to: "bottom";
+ relative: 0.5 0.0;
+ offset: 0 -1;
+ }
+ image {
+ normal: "bd_resize_b.png";
+ }
+ }
+ description {
+ state: "past" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.5 1.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ offset: 0 9;
+ }
+ }
+ }
+ part {
+ name: "e.swallow.client";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_y: "top";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 -1;
+ to_y: "bottom";
+ }
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ to_y: "bottom";
+ }
+ }
+ description {
+ state: "max" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_y: "top";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ to_y: "bottom";
+ }
+ }
+ }
+ part {
+ name: "e.event.titlebar";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "title_base";
+ rel2.to: "title_base";
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "e.event.resize.t";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 3;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.resize.b";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 -4;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.resize.tl";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ offset: 15 15;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.resize.tr";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -16 0;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 15;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.resize.bl";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 -16;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 15 -1;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.resize.br";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ offset: -16 -16;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.icon";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "icon_area";
+ rel2.to: "icon_area";
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "e.event.close";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_close";
+ rel2.to: "bt_close";
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "e.event.minimize";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_min";
+ rel2.to: "bt_min";
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "e.event.maximize";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_max";
+ rel2.to: "bt_max";
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "focus_in";
+ signal: "e,state,focused";
+ source: "e";
+ action: STATE_SET "focused" 0.0;
+ transition: LINEAR 0.2;
+ target: "title_back";
+ target: "title2";
+ target: "title_over";
+ target: "buttons_foc";
+ target: "buttons_unfoc";
+ target: "e.text.title";
+ }
+ program {
+ name: "focus_out";
+ signal: "e,state,unfocused";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.2;
+ target: "title_back";
+ target: "title2";
+ target: "title_over";
+ target: "buttons_foc";
+ target: "buttons_unfoc";
+ target: "e.text.title";
+ }
+ program {
+ name: "urgent";
+ signal: "e,state,urgent";
+ source: "e";
+ action: STATE_SET "visible" 0.0;
+ target: "urgent";
+ target: "urgent2";
+ transition: DECELERATE 0.5;
+ after: "urgent2";
+ }
+ program {
+ name: "urgent2";
+ action: STATE_SET "faded" 0.0;
+ target: "urgent2";
+ transition: LINEAR 0.5;
+ after: "urgent3";
+ }
+ program {
+ name: "urgent3";
+ action: STATE_SET "visible" 0.0;
+ target: "urgent2";
+ after: "urgent2";
+ }
+ program {
+ name: "urgentw0";
+ signal: "e,state,urgent";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "icon_area2";
+ transition: DECELERATE 0.1;
+ after: "urgentw1";
+ }
+ program {
+ name: "urgentw1";
+ action: STATE_SET "uw1" 0.0;
+ target: "icon_area2";
+ transition: DECELERATE 0.1;
+ after: "urgentw2";
+ }
+ program {
+ name: "urgentw2";
+ action: STATE_SET "uw2" 0.0;
+ target: "icon_area2";
+ transition: DECELERATE 0.1;
+ after: "urgentw3";
+ }
+ program {
+ name: "urgentw3";
+ action: STATE_SET "uw3" 0.0;
+ target: "icon_area2";
+ transition: DECELERATE 0.1;
+ after: "urgentw4";
+ }
+ program {
+ name: "urgentw4";
+ action: STATE_SET "uw4" 0.0;
+ target: "icon_area2";
+ transition: DECELERATE 0.1;
+ after: "urgentw0";
+ }
+ program {
+ name: "not_urgent";
+ signal: "e,state,not_urgent";
+ source: "e";
+ action: ACTION_STOP;
+ target: "urgentw0";
+ target: "urgentw1";
+ target: "urgentw2";
+ target: "urgentw3";
+ target: "urgentw4";
+ target: "urgent";
+ target: "urgent2";
+ target: "urgent3";
+ after: "not_urgent2";
+ }
+ program {
+ name: "not_urgent2";
+ action: STATE_SET "default" 0.0;
+ target: "urgent";
+ target: "urgent2";
+ target: "icon_area2";
+ }
+ program {
+ name: "hung";
+ signal: "e,state,hung";
+ source: "e";
+ /* FIXME: */
+ action: STATE_SET "shrunk" 0.0;
+ target: "e.swallow.icon";
+ transition: DECELERATE 0.5;
+ }
+ program {
+ name: "unhung";
+ signal: "e,state,unhung";
+ source: "e";
+ /* FIXME: */
+ action: ACTION_STOP;
+ target: "busy_anim";
+ }
+ program {
+ name: "unhung2";
+ signal: "e,state,unhung";
+ source: "e";
+ /* FIXME: */
+ action: STATE_SET "default" 0.0;
+ target: "e.swallow.icon";
+ target: "busy";
+ transition: ACCELERATE 0.5;
+ }
+ program {
+ name: "busy_anim";
+ signal: "e,state,hung";
+ source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: LINEAR 0.3333;
+ target: "busy";
+ after: "busy_anim";
+ }
+ program {
+ name: "max_full";
+ signal: "e,action,maximize,fullscreen";
+ source: "e";
+ action: STATE_SET "max" 0.0;
+ target: "bottom";
+ target: "e.swallow.client";
+ }
+ program {
+ name: "unmax_full";
+ signal: "e,action,unmaximize,fullscreen";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "bottom";
+ target: "e.swallow.client";
+ }
+ program {
+ name: "shade_end";
+ signal: "e,state,shaded";
+ source: "e";
+ action: STATE_SET "shaded" 0.0;
+ target: "bottom";
+ target: "e.swallow.client";
+ target: "e.event.resize.tl";
+ target: "e.event.resize.tr";
+ target: "e.event.resize.bl";
+ target: "e.event.resize.br";
+ target: "e.event.resize.t";
+ target: "e.event.resize.b";
+ }
+ program {
+ name: "unshade_start";
+ signal: "e,state,unshading";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "bottom";
+ target: "e.swallow.client";
+ target: "e.event.resize.tl";
+ target: "e.event.resize.tr";
+ target: "e.event.resize.bl";
+ target: "e.event.resize.br";
+ target: "e.event.resize.t";
+ target: "e.event.resize.b";
+ }
+ program {
+ name: "resize_b_on";
+ signal: "mouse,in";
+ source: "e.event.resize.b";
+ action: ACTION_STOP;
+ target: "resize_b_on2";
+ target: "resize_b_on3";
+ after: "resize_b_on2";
+ }
+ program {
+ name: "resize_b_on2";
+ action: STATE_SET "default" 0.0;
+ target: "resize_b";
+ after: "resize_b_on3";
+ }
+ program {
+ name: "resize_b_on3";
+ action: STATE_SET "past" 0.0;
+ transition: LINEAR 0.5;
+ target: "resize_b";
+ after: "resize_b_on2";
+ }
+ program {
+ name: "resize_b_off";
+ signal: "mouse,out";
+ source: "e.event.resize.b";
+ action: ACTION_STOP;
+ target: "resize_b_on";
+ target: "resize_b_on2";
+ target: "resize_b_on3";
+ }
+ program {
+ name: "icon_down";
+ signal: "mouse,down,*";
+ source: "e.event.icon";
+ action: STATE_SET "active" 0.0;
+ target: "icon_area";
+ }
+ program {
+ name: "icon_up";
+ signal: "mouse,up,*";
+ source: "e.event.icon";
+ action: STATE_SET "default" 0.0;
+ target: "icon_area";
+ }
+ program {
+ name: "bt_close_down";
+ signal: "mouse,down,*";
+ source: "e.event.close";
+ action: STATE_SET "active" 0.0;
+ target: "bt_close_unfoc";
+ target: "bt_close_foc";
+ }
+ program {
+ name: "bt_close_up";
+ signal: "mouse,up,*";
+ source: "e.event.close";
+ action: STATE_SET "default" 0.0;
+ target: "bt_close_unfoc";
+ target: "bt_close_foc";
+ }
+ program {
+ name: "bt_max_down";
+ signal: "mouse,down,*";
+ source: "e.event.maximize";
+ action: STATE_SET "active" 0.0;
+ target: "bt_max_unfoc";
+ target: "bt_max_foc";
+ }
+ program {
+ name: "bt_max_up";
+ signal: "mouse,up,*";
+ source: "e.event.maximize";
+ action: STATE_SET "default" 0.0;
+ target: "bt_max_unfoc";
+ target: "bt_max_foc";
+ }
+ program {
+ name: "bt_min_down";
+ signal: "mouse,down,*";
+ source: "e.event.minimize";
+ action: STATE_SET "active" 0.0;
+ target: "bt_min_unfoc";
+ target: "bt_min_foc";
+ }
+ program {
+ name: "bt_min_up";
+ signal: "mouse,up,*";
+ source: "e.event.minimize";
+ action: STATE_SET "default" 0.0;
+ target: "bt_min_unfoc";
+ target: "bt_min_foc";
+ }
+ }
+ }
+ /*** NORESIZE WINDOW BORDER ***/
+ group {
+ name: "e/widgets/border/noresize/border";
+ images {
+ image: "bd_top.png" COMP;
+ image: "bd_top_hilight.png" COMP;
+ image: "bd_title_bg.png" COMP;
+ image: "bd_title_over.png" COMP;
+ image: "busy-1.png" COMP;
+ image: "busy-2.png" COMP;
+ image: "busy-3.png" COMP;
+ image: "busy-4.png" COMP;
+ image: "busy-5.png" COMP;
+ image: "busy-6.png" COMP;
+ image: "busy-7.png" COMP;
+ image: "busy-8.png" COMP;
+ image: "busy-9.png" COMP;
+ image: "exclam.png" COMP;
+ image: "bd_button_close_shadow.png" COMP;
+ image: "bd_button_close_focused.png" COMP;
+ image: "bd_button_close_unfocused.png" COMP;
+ image: "bd_button_max_shadow.png" COMP;
+ image: "bd_button_max_unfocused.png" COMP;
+ image: "bd_button_min_shadow.png" COMP;
+ image: "bd_button_min_focused.png" COMP;
+ image: "bd_button_min_unfocused.png" COMP;
+ }
+ parts {
+ part {
+ name: "top";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ to_y: "title_base";
+ }
+ color_class: "border_top";
+ image {
+ normal: "bd_top.png";
+ border: 2 2 2 2;
+ }
+ }
+ }
+ part {
+ name: "icon_area";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ align: 0.0 0.5;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 2 2;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 2 -3;
+ to_y: "title_base";
+ }
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ offset: 2 3;
+ }
+ rel2 {
+ offset: 2 -2;
+ }
+ }
+ }
+ part {
+ name: "icon_area2";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1.to: "icon_area";
+ rel2.to: "icon_area";
+ }
+ description {
+ state: "uw0" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: -3 -2;
+ rel2.offset: -4 -3;
+ }
+ description {
+ state: "uw1" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 5 -2;
+ rel2.offset: 4 -3;
+ }
+ description {
+ state: "uw2" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: -1 4;
+ rel2.offset: -2 3;
+ }
+ description {
+ state: "uw3" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: -2 -1;
+ rel2.offset: -3 -2;
+ }
+ description {
+ state: "uw4" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: -4 1;
+ rel2.offset: -5 0;
+ }
+ }
+ part {
+ name: "busy";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ max: 32 32;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ rel1.to: "icon_area";
+ rel2.to: "icon_area";
+ image {
+ tween: "busy-1.png";
+ tween: "busy-2.png";
+ tween: "busy-3.png";
+ tween: "busy-4.png";
+ tween: "busy-5.png";
+ tween: "busy-6.png";
+ tween: "busy-7.png";
+ tween: "busy-8.png";
+ normal: "busy-9.png";
+ }
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "e.swallow.icon";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ rel1.to: "icon_area2";
+ rel2.to: "icon_area2";
+ }
+ description {
+ state: "shrunk" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.3 0.3;
+ rel2.relative: 0.7 0.7;
+ }
+ }
+ part {
+ name: "urgent";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ rel1.to: "icon_area";
+ rel2.to: "icon_area";
+ image.normal: "exclam.png";
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "urgent2";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ rel1.to: "icon_area";
+ rel2.to: "icon_area";
+ image.normal: "exclam.png";
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "faded" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: -1.0 -1.0;
+ rel2.relative: 2.0 2.0;
+ visible: 1;
+ color: 255 255 255 0;
+ }
+ }
+ part {
+ name: "e.text.title";
+ type: TEXT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ align: 0.0 0.0;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: 9 2;
+ to_x: "icon_area";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -8 2;
+ to_x: "title_base";
+ }
+ color_class: "border_title";
+ text {
+ font: "Sans:style=Bold";
+ size: 10;
+ min: 0 1;
+ align: 0.0 0.0;
+ text_class: "title_bar";
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "bt_close";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 14 14;
+ max: 14 14;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -28 1;
+ to_x: "top";
+ to_y: "top";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to_x: "top";
+ to_y: "top";
+ }
+ image.normal: "bd_button_close_shadow.png";
+ }
+ }
+ part {
+ name: "bt_max";
+ description {
+ state: "default" 0.0;
+ align: 1.0 0.5;
+ min: 22 22;
+ max: 22 22;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: -2 1;
+ to_x: "bt_close";
+ to_y: "top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -2 -2;
+ to_x: "bt_close";
+ to_y: "top";
+ }
+ image.normal: "bd_button_max_shadow.png";
+ }
+ }
+ part {
+ name: "bt_min";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ align: 1.0 0.5;
+ min: 22 22;
+ max: 22 22;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: -2 1;
+ to_x: "bt_max";
+ to_y: "top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -2 -2;
+ to_x: "bt_max";
+ to_y: "top";
+ }
+ image.normal: "bd_button_min_shadow.png";
+ }
+ }
+ part {
+ name: "top_hilight";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ to: "top";
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ offset: -1 0;
+ to: "top";
+ }
+ color_class: "border_top_hilight";
+ image {
+ normal: "bd_top_hilight.png";
+ }
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "buttons_unfoc";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ }
+ part {
+ name: "bt_close_unfoc";
+ mouse_events: 0;
+ clip_to: "buttons_unfoc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_close";
+ rel2.to: "bt_close";
+ image.normal: "bd_button_close_unfocused.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "bt_max_unfoc";
+ clip_to: "buttons_unfoc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_max";
+ rel2.to: "bt_max";
+ image.normal: "bd_button_max_unfocused.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "bt_min_unfoc";
+ mouse_events: 0;
+ clip_to: "buttons_unfoc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_min";
+ rel2.to: "bt_min";
+ image.normal: "bd_button_min_unfocused.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "buttons_foc";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "bt_close_foc";
+ mouse_events: 0;
+ clip_to: "buttons_foc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_close";
+ rel2.to: "bt_close";
+ image.normal: "bd_button_close_focused.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "bt_max_foc";
+ clip_to: "buttons_foc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_max";
+ rel2.to: "bt_max";
+ image.normal: "bd_button_max_unfocused.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "bt_min_foc";
+ mouse_events: 0;
+ clip_to: "buttons_foc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_min";
+ rel2.to: "bt_min";
+ image.normal: "bd_button_min_focused.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "title_base";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: 0 0;
+ to_x: "icon_area";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -3 4;
+ to_y: "e.text.title";
+ to_x: "bt_min";
+ }
+ }
+ }
+ part {
+ name: "title_back";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ to: "title_base";
+ }
+ rel2 {
+ to: "title_base";
+ relative: 1.0 0.0;
+ }
+ image {
+ normal: "bd_title_bg.png";
+ border: 7 7 2 7;
+ }
+ fill.smooth: 0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel2 {
+ to: "title_base";
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ part {
+ name: "title2";
+ type: TEXT;
+ mouse_events: 0;
+ effect: SOFT_SHADOW;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ align: 0.0 1.0;
+ rel1 {
+ to_x: "e.text.title";
+ to_y: "title_back";
+ relative: 0.0 1.0;
+ offset: -1 0;
+ }
+ rel2 {
+ to_x: "e.text.title";
+ to_y: "title_back";
+ relative: 1.0 1.0;
+ offset: 0 1;
+ }
+ color_class: "border_title_active";
+ text {
+ text_source: "e.text.title";
+ font: "Sans:style=Bold";
+ size: 10;
+ align: 0.0 0.0;
+ min: 0 1;
+ text_class: "title_bar";
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "title_over";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1.to: "title_back";
+ rel2.to: "title_back";
+ image {
+ normal: "bd_title_over.png";
+ border: 7 7 2 7;
+ }
+ fill.smooth: 0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "e.swallow.client";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_y: "top";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ }
+ description {
+ state: "max" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_y: "top";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ }
+ }
+ part {
+ name: "e.event.titlebar";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "title_base";
+ rel2.to: "title_base";
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "e.event.icon";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "icon_area";
+ rel2.to: "icon_area";
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "e.event.close";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_close";
+ rel2.to: "bt_close";
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "e.event.minimize";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_min";
+ rel2.to: "bt_min";
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "focus_in";
+ signal: "e,state,focused";
+ source: "e";
+ action: STATE_SET "focused" 0.0;
+ transition: LINEAR 0.2;
+ target: "title_back";
+ target: "title2";
+ target: "title_over";
+ target: "buttons_foc";
+ target: "buttons_unfoc";
+ target: "e.text.title";
+ }
+ program {
+ name: "focus_out";
+ signal: "e,state,unfocused";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.2;
+ target: "title_back";
+ target: "title2";
+ target: "title_over";
+ target: "buttons_foc";
+ target: "buttons_unfoc";
+ target: "e.text.title";
+ }
+ program {
+ name: "urgent";
+ signal: "e,state,urgent";
+ source: "e";
+ action: STATE_SET "visible" 0.0;
+ target: "urgent";
+ target: "urgent2";
+ transition: DECELERATE 0.5;
+ after: "urgent2";
+ }
+ program {
+ name: "urgent2";
+ action: STATE_SET "faded" 0.0;
+ target: "urgent2";
+ transition: LINEAR 0.5;
+ after: "urgent3";
+ }
+ program {
+ name: "urgent3";
+ action: STATE_SET "visible" 0.0;
+ target: "urgent2";
+ after: "urgent2";
+ }
+ program {
+ name: "urgentw0";
+ signal: "e,state,urgent";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "icon_area2";
+ transition: DECELERATE 0.1;
+ after: "urgentw1";
+ }
+ program {
+ name: "urgentw1";
+ action: STATE_SET "uw1" 0.0;
+ target: "icon_area2";
+ transition: DECELERATE 0.1;
+ after: "urgentw2";
+ }
+ program {
+ name: "urgentw2";
+ action: STATE_SET "uw2" 0.0;
+ target: "icon_area2";
+ transition: DECELERATE 0.1;
+ after: "urgentw3";
+ }
+ program {
+ name: "urgentw3";
+ action: STATE_SET "uw3" 0.0;
+ target: "icon_area2";
+ transition: DECELERATE 0.1;
+ after: "urgentw4";
+ }
+ program {
+ name: "urgentw4";
+ action: STATE_SET "uw4" 0.0;
+ target: "icon_area2";
+ transition: DECELERATE 0.1;
+ after: "urgentw0";
+ }
+ program {
+ name: "not_urgent";
+ signal: "e,state,not_urgent";
+ source: "e";
+ action: ACTION_STOP;
+ target: "urgentw0";
+ target: "urgentw1";
+ target: "urgentw2";
+ target: "urgentw3";
+ target: "urgentw4";
+ target: "urgent";
+ target: "urgent2";
+ target: "urgent3";
+ after: "not_urgent2";
+ }
+ program {
+ name: "not_urgent2";
+ action: STATE_SET "default" 0.0;
+ target: "urgent";
+ target: "urgent2";
+ target: "icon_area2";
+ }
+ program {
+ name: "hung";
+ signal: "e,state,hung";
+ source: "e";
+ /* FIXME: */
+ action: STATE_SET "shrunk" 0.0;
+ target: "e.swallow.icon";
+ transition: DECELERATE 0.5;
+ }
+ program {
+ name: "unhung";
+ signal: "e,state,unhung";
+ source: "e";
+ /* FIXME: */
+ action: ACTION_STOP;
+ target: "busy_anim";
+ }
+ program {
+ name: "unhung2";
+ signal: "e,state,unhung";
+ source: "e";
+ /* FIXME: */
+ action: STATE_SET "default" 0.0;
+ target: "e.swallow.icon";
+ target: "busy";
+ transition: ACCELERATE 0.5;
+ }
+ program {
+ name: "busy_anim";
+ signal: "e,state,hung";
+ source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: LINEAR 0.3333;
+ target: "busy";
+ after: "busy_anim";
+ }
+ program {
+ name: "shade_end";
+ signal: "e,state,shaded";
+ source: "e";
+ action: STATE_SET "shaded" 0.0;
+ target: "e.swallow.client";
+ }
+ program {
+ name: "unshade_start";
+ signal: "e,state,unshading";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "e.swallow.client";
+ }
+ program {
+ name: "icon_down";
+ signal: "mouse,down,*";
+ source: "e.event.icon";
+ action: STATE_SET "active" 0.0;
+ target: "icon_area";
+ }
+ program {
+ name: "icon_up";
+ signal: "mouse,up,*";
+ source: "e.event.icon";
+ action: STATE_SET "default" 0.0;
+ target: "icon_area";
+ }
+ program {
+ name: "bt_close_down";
+ signal: "mouse,down,*";
+ source: "e.event.close";
+ action: STATE_SET "active" 0.0;
+ target: "bt_close_unfoc";
+ target: "bt_close_foc";
+ }
+ program {
+ name: "bt_close_up";
+ signal: "mouse,up,*";
+ source: "e.event.close";
+ action: STATE_SET "default" 0.0;
+ target: "bt_close_unfoc";
+ target: "bt_close_foc";
+ }
+ program {
+ name: "bt_min_down";
+ signal: "mouse,down,*";
+ source: "e.event.minimize";
+ action: STATE_SET "active" 0.0;
+ target: "bt_min_unfoc";
+ target: "bt_min_foc";
+ }
+ program {
+ name: "bt_min_up";
+ signal: "mouse,up,*";
+ source: "e.event.minimize";
+ action: STATE_SET "default" 0.0;
+ target: "bt_min_unfoc";
+ target: "bt_min_foc";
+ }
+ }
+ }
+ /*** DIALOG WINDOW BORDER ***/
+ group {
+ name: "e/widgets/border/dialog/border";
+ images {
+ image: "added_images/DM_Internet_Title_bg.png" COMP;
+ image: "added_images/DM_Internet_icon_close.png" COMP;
+ image: "bd_top.png" COMP;
+ image: "bd_top_hilight.png" COMP;
+ image: "bd_bottom.png" COMP;
+ image: "bd_title_bg.png" COMP;
+ image: "bd_title_over.png" COMP;
+ image: "bd_resize_b.png" COMP;
+ image: "busy-1.png" COMP;
+ image: "busy-2.png" COMP;
+ image: "busy-3.png" COMP;
+ image: "busy-4.png" COMP;
+ image: "busy-5.png" COMP;
+ image: "busy-6.png" COMP;
+ image: "busy-7.png" COMP;
+ image: "busy-8.png" COMP;
+ image: "busy-9.png" COMP;
+ image: "exclam.png" COMP;
+ image: "bd_button_close_shadow.png" COMP;
+ image: "bd_button_close_focused.png" COMP;
+ image: "bd_button_close_unfocused.png" COMP;
+ }
+ parts {
+ part {
+ name: "top";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to_y: "title_base";
+ }
+ color_class: "border_top";
+ image {
+ normal: "added_images/DM_Internet_Title_bg.png";
+ }
+ }
+ }
+ part {
+ name: "bottom";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ color_class: "border_bottom";
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "max" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.text.title";
+ type: TEXT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ align: 0.5 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 9 2;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -8 2;
+ to_x: "title_base";
+ }
+ color: 255 255 255 255;
+ text {
+ font: "Sans:style=Bold";
+ size: 10;
+ min: 0 1;
+ align: 0.5 0.0;
+ text_class: "title_bar";
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "bt_close";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 14 14;
+ max: 14 14;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -28 1;
+ to_x: "top";
+ to_y: "top";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to_x: "top";
+ to_y: "top";
+ }
+ image.normal: "added_images/DM_Internet_icon_close.png";
+ }
+ }
+ part {
+ name: "top_hilight";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ to: "top";
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ offset: -1 0;
+ to: "top";
+ }
+ color_class: "border_top_hilight";
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "buttons_unfoc";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ }
+ part {
+ name: "bt_close_unfoc";
+ mouse_events: 0;
+ clip_to: "buttons_unfoc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_close";
+ rel2.to: "bt_close";
+ image.normal: "added_images/DM_Internet_icon_close.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "buttons_foc";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "bt_close_foc";
+ mouse_events: 0;
+ clip_to: "buttons_foc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_close";
+ rel2.to: "bt_close";
+ image.normal: "added_images/DM_Internet_icon_close.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "title_base";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ //to_x: "icon_area";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -3 4;
+ to_y: "e.text.title";
+ to_x: "bt_close";
+ }
+ }
+ }
+ part {
+ name: "title_back";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ to: "title_base";
+ }
+ rel2 {
+ to: "title_base";
+ relative: 1.0 0.0;
+ }
+ fill.smooth: 0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel2 {
+ to: "title_base";
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ part {
+ name: "title2";
+ type: TEXT;
+ mouse_events: 0;
+ effect: SOFT_SHADOW;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ align: 0.0 1.0;
+ rel1 {
+ to_x: "e.text.title";
+ to_y: "title_back";
+ relative: 0.0 1.0;
+ offset: -1 0;
+ }
+ rel2 {
+ to_x: "e.text.title";
+ to_y: "title_back";
+ relative: 1.0 1.0;
+ offset: 0 0;
+ }
+ color_class: "border_title_active";
+ text {
+ text_source: "e.text.title";
+ font: "Sans:style=Bold";
+ size: 10;
+ align: 0.5 0.0;
+ min: 0 1;
+ text_class: "title_bar";
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "title_over";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1.to: "title_back";
+ rel2.to: "title_back";
+ fill.smooth: 0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "bottom_clip";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "bottom";
+ rel2.to: "bottom";
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "resize_b";
+ mouse_events: 0;
+ clip_to: "bottom_clip";
+ description {
+ state: "default" 0.0;
+ min: 20 10;
+ max: 20 10;
+ rel1 {
+ to: "bottom";
+ relative: 0.5 0.0;
+ offset: 0 -10;
+ }
+ rel2 {
+ to: "bottom";
+ relative: 0.5 0.0;
+ offset: 0 -1;
+ }
+ image {
+ normal: "bd_resize_b.png";
+ }
+ }
+ description {
+ state: "past" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.5 1.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ offset: 0 9;
+ }
+ }
+ }
+ part {
+ name: "e.swallow.client";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_y: "top";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 -1;
+ to_y: "bottom";
+ }
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ to_y: "bottom";
+ }
+ }
+ description {
+ state: "max" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_y: "top";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ to_y: "bottom";
+ }
+ }
+ }
+ part {
+ name: "e.event.titlebar";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "title_base";
+ rel2.to: "title_base";
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "e.event.resize.t";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 3;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.resize.b";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 -4;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.resize.tl";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ offset: 15 15;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.resize.tr";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -16 0;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 15;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.resize.bl";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 -16;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 15 -1;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.resize.br";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ offset: -16 -16;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.event.close";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_close";
+ rel2.to: "bt_close";
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "focus_in";
+ signal: "e,state,focused";
+ source: "e";
+ action: STATE_SET "focused" 0.0;
+ target: "buttons_foc";
+ target: "buttons_unfoc";
+ }
+ program {
+ name: "focus_out";
+ signal: "e,state,unfocused";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "buttons_foc";
+ target: "buttons_unfoc";
+ }
+ program {
+ name: "max_full";
+ signal: "e,action,maximize,fullscreen";
+ source: "e";
+ action: STATE_SET "max" 0.0;
+ target: "bottom";
+ target: "e.swallow.client";
+ }
+ program {
+ name: "unmax_full";
+ signal: "e,action,unmaximize,fullscreen";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "bottom";
+ target: "e.swallow.client";
+ }
+ program {
+ name: "shade_end";
+ signal: "e,state,shaded";
+ source: "e";
+ action: STATE_SET "shaded" 0.0;
+ target: "bottom";
+ target: "e.swallow.client";
+ target: "e.event.resize.tl";
+ target: "e.event.resize.tr";
+ target: "e.event.resize.bl";
+ target: "e.event.resize.br";
+ target: "e.event.resize.t";
+ target: "e.event.resize.b";
+ }
+ program {
+ name: "unshade_start";
+ signal: "e,state,unshading";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "bottom";
+ target: "e.swallow.client";
+ target: "e.event.resize.tl";
+ target: "e.event.resize.tr";
+ target: "e.event.resize.bl";
+ target: "e.event.resize.br";
+ target: "e.event.resize.t";
+ target: "e.event.resize.b";
+ }
+ program {
+ name: "resize_b_on";
+ signal: "mouse,in";
+ source: "e.event.resize.b";
+ action: ACTION_STOP;
+ target: "resize_b_on2";
+ target: "resize_b_on3";
+ after: "resize_b_on2";
+ }
+ program {
+ name: "resize_b_on2";
+ action: STATE_SET "default" 0.0;
+ target: "resize_b";
+ after: "resize_b_on3";
+ }
+ program {
+ name: "resize_b_on3";
+ action: STATE_SET "past" 0.0;
+ transition: LINEAR 0.5;
+ target: "resize_b";
+ after: "resize_b_on2";
+ }
+ program {
+ name: "resize_b_off";
+ signal: "mouse,out";
+ source: "e.event.resize.b";
+ action: ACTION_STOP;
+ target: "resize_b_on";
+ target: "resize_b_on2";
+ target: "resize_b_on3";
+ }
+ program {
+ name: "bt_close_down";
+ signal: "mouse,down,*";
+ source: "e.event.close";
+ action: STATE_SET "active" 0.0;
+ target: "bt_close_unfoc";
+ target: "bt_close_foc";
+ }
+ program {
+ name: "bt_close_up";
+ signal: "mouse,up,*";
+ source: "e.event.close";
+ action: STATE_SET "default" 0.0;
+ target: "bt_close_unfoc";
+ target: "bt_close_foc";
+ }
+ }
+ }
+ /*** NORESIZE DIALOG WINDOW BORDER ***/
+ group {
+ name: "e/widgets/border/noresize_dialog/border";
+ images {
+ image: "added_images/DM_Internet_Title_bg.png" COMP;
+ image: "added_images/DM_Internet_icon_close.png" COMP;
+ image: "bd_top.png" COMP;
+ image: "bd_top_hilight.png" COMP;
+ image: "bd_bottom.png" COMP;
+ image: "bd_title_bg.png" COMP;
+ image: "bd_title_over.png" COMP;
+ image: "bd_resize_b.png" COMP;
+ image: "busy-1.png" COMP;
+ image: "busy-2.png" COMP;
+ image: "busy-3.png" COMP;
+ image: "busy-4.png" COMP;
+ image: "busy-5.png" COMP;
+ image: "busy-6.png" COMP;
+ image: "busy-7.png" COMP;
+ image: "busy-8.png" COMP;
+ image: "busy-9.png" COMP;
+ image: "exclam.png" COMP;
+ image: "bd_button_close_shadow.png" COMP;
+ image: "bd_button_close_focused.png" COMP;
+ image: "bd_button_close_unfocused.png" COMP;
+ }
+ parts {
+ part {
+ name: "top";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to_y: "title_base";
+ }
+ color_class: "border_top";
+ image {
+ normal: "added_images/DM_Internet_Title_bg.png";
+ }
+ }
+ }
+ part {
+ name: "bottom";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ color_class: "border_bottom";
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "max" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "e.text.title";
+ type: TEXT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ align: 0.5 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 9 2;
+ //to_x: "title_base";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -8 2;
+ to_x: "title_base";
+ }
+ color: 255 255 255 255;
+ text {
+ font: "Sans:style=Bold";
+ size: 10;
+ min: 0 1;
+ align: 0.5 0.0;
+ text_class: "title_bar";
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "bt_close";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 14 14;
+ max: 14 14;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -28 2;
+ to_x: "top";
+ to_y: "top";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to_x: "top";
+ to_y: "top";
+ }
+ image.normal: "added_images/DM_Internet_icon_close.png";
+ }
+ }
+ part {
+ name: "top_hilight";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ to: "top";
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ offset: -1 0;
+ to: "top";
+ }
+ color_class: "border_top_hilight";
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "buttons_unfoc";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ }
+ part {
+ name: "bt_close_unfoc";
+ mouse_events: 0;
+ clip_to: "buttons_unfoc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_close";
+ rel2.to: "bt_close";
+ image.normal: "added_images/DM_Internet_icon_close.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "buttons_foc";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "bt_close_foc";
+ mouse_events: 0;
+ clip_to: "buttons_foc";
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_close";
+ rel2.to: "bt_close";
+ image.normal: "added_images/DM_Internet_icon_close.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel1.offset: 0 1;
+ rel2.offset: -1 0;
+ }
+ }
+ part {
+ name: "title_base";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -3 4;
+ to_y: "e.text.title";
+ to_x: "bt_close";
+ }
+ }
+ }
+ part {
+ name: "title_back";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ to: "title_base";
+ }
+ rel2 {
+ to: "title_base";
+ relative: 1.0 0.0;
+ }
+ fill.smooth: 0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel2 {
+ to: "title_base";
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ part {
+ name: "title2";
+ type: TEXT;
+ mouse_events: 0;
+ effect: SOFT_SHADOW;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ align: 0.0 1.0;
+ rel1 {
+ to_x: "e.text.title";
+ to_y: "title_back";
+ relative: 0.0 1.0;
+ offset: -1 0;
+ }
+ rel2 {
+ to_x: "e.text.title";
+ to_y: "title_back";
+ relative: 1.0 1.0;
+ offset: 0 0;
+ }
+ color_class: "border_title_active";
+ text {
+ text_source: "e.text.title";
+ font: "Sans:style=Bold";
+ size: 10;
+ align: 0.5 0.0;
+ min: 0 1;
+ text_class: "title_bar";
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "title_over";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1.to: "title_back";
+ rel2.to: "title_back";
+ fill.smooth: 0;
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "bottom_clip";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "bottom";
+ rel2.to: "bottom";
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "resize_b";
+ mouse_events: 0;
+ clip_to: "bottom_clip";
+ description {
+ state: "default" 0.0;
+ min: 20 10;
+ max: 20 10;
+ rel1 {
+ to: "bottom";
+ relative: 0.5 0.0;
+ offset: 0 -10;
+ }
+ rel2 {
+ to: "bottom";
+ relative: 0.5 0.0;
+ offset: 0 -1;
+ }
+ image {
+ normal: "bd_resize_b.png";
+ }
+ }
+ description {
+ state: "past" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.5 1.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ offset: 0 9;
+ }
+ }
+ }
+ part {
+ name: "e.swallow.client";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_y: "top";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 -1;
+ to_y: "bottom";
+ }
+ }
+ description {
+ state: "shaded" 0.0;
+ inherit: "default" 0.0;
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ to_y: "bottom";
+ }
+ }
+ description {
+ state: "max" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_y: "top";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ to_y: "bottom";
+ }
+ }
+ }
+ part {
+ name: "e.event.titlebar";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "title_base";
+ rel2.to: "title_base";
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "e.event.close";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "bt_close";
+ rel2.to: "bt_close";
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "focus_in";
+ signal: "e,state,focused";
+ source: "e";
+ action: STATE_SET "focused" 0.0;
+ target: "buttons_foc";
+ target: "buttons_unfoc";
+ }
+ program {
+ name: "focus_out";
+ signal: "e,state,unfocused";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "buttons_foc";
+ target: "buttons_unfoc";
+ }
+ program {
+ name: "max_full";
+ signal: "e,action,maximize,fullscreen";
+ source: "e";
+ action: STATE_SET "max" 0.0;
+ target: "bottom";
+ target: "e.swallow.client";
+ }
+ program {
+ name: "unmax_full";
+ signal: "e,action,unmaximize,fullscreen";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "bottom";
+ target: "e.swallow.client";
+ }
+ program {
+ name: "resize_b_on";
+ signal: "mouse,in";
+ source: "e.event.resize.b";
+ action: ACTION_STOP;
+ target: "resize_b_on2";
+ target: "resize_b_on3";
+ after: "resize_b_on2";
+ }
+ program {
+ name: "resize_b_on2";
+ action: STATE_SET "default" 0.0;
+ target: "resize_b";
+ after: "resize_b_on3";
+ }
+ program {
+ name: "resize_b_on3";
+ action: STATE_SET "past" 0.0;
+ transition: LINEAR 0.5;
+ target: "resize_b";
+ after: "resize_b_on2";
+ }
+ program {
+ name: "resize_b_off";
+ signal: "mouse,out";
+ source: "e.event.resize.b";
+ action: ACTION_STOP;
+ target: "resize_b_on";
+ target: "resize_b_on2";
+ target: "resize_b_on3";
+ }
+ program {
+ name: "bt_close_down";
+ signal: "mouse,down,*";
+ source: "e.event.close";
+ action: STATE_SET "active" 0.0;
+ target: "bt_close_unfoc";
+ target: "bt_close_foc";
+ }
+ program {
+ name: "bt_close_up";
+ signal: "mouse,up,*";
+ source: "e.event.close";
+ action: STATE_SET "default" 0.0;
+ target: "bt_close_unfoc";
+ target: "bt_close_foc";
+ }
+ }
+ }
+ /*** BONUS BORDERS TO CHOOSE FROM ***/
+ group {
+ name: "e/widgets/border/pixel/border";
+ parts {
+ part {
+ name: "px1";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 0;
+ }
color: 0 0 0 255;
- rel1 { /* this defines the top-left (rel1) point of the part
- * and where it is placed. the below values are
- * actually the default values, so there is no need
- * to actually declare them. */
- relative: 0.0 0.0; /* make this point relative to the top
- * left of the whole eje object (there
- * is no to: section so it's the whole
- * object). note that the point is
- * calculated as:
- * p.x = obj.width * relative.x
- * p.y = obj.height * relative.y
- * (as the to item is the whole object)
- */
- offset: 0 0; /* and from the relative point, have an offset
- * of 0 pixels - i.e. - none */
- }
- rel2 {
- relative: 1.0 1.0; /* the bottom-right is relative to the
- * base of the title - this way the
- * title region will scale based on font
- * size */
- offset: -1 -1; /* relative to the bottom right */
- to_y: "title_base"; /* only y is relative to title_base. the
- * rest is relative to the whole object
- * (because its not specified) */
- }
- }
- }
- part { name: "bottom"; /* this is the bottom of the window */
+ }
+ }
+ part {
+ name: "px2";
type: RECT;
- mouse_events: 0;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 -1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
color: 0 0 0 255;
- rel1 {
- relative: 0.0 1.0; /* relative to the bottom-left of the edje
- * but 4 pixels up */
- offset: 0 -8;
- }
- rel2 {
- relative: 1.0 1.0;
- offset: -1 -1;
- }
- }
- description { state: "shaded" 0.0; /* when in a shaded state then
- * don't display this part */
- inherit: "default" 0.0;
- visible: 0;
- }
- description { state: "max" 0.0; /* whem maximised too */
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part { name: "icon_area"; /* this is an invisible rectangle that we
- * use to place icons within. we use this
- * to keep it fixed as the "icone area" so
- * the actual swallow part that swallows
- * the icon can be moved/resized for
- * animations */
- type: RECT;
- description { state: "default" 0.0;
- visible: 0;
- align: 0.0 0.5; /* alignt to the left, but center vertically */
- aspect: 1.0 1.0; /* prefer ans aspect of 1.0 (ie width / height
- * is 1.0 - i.e. - square. aspect here is
- * min and max aspect that will be "allowed"
- * (since both min and max are 1.0 respectively
- * in order). */
- aspect_preference: VERTICAL; /* this means that the vertical
- * axis controls aspect and the
- * icon_area part size will be
- * governed by the height of the
- * part (the width simply following
- * along behind) */
- rel1 { /* rel1 - top-left corner of this part */
- relative: 0.0 0.0;
- offset: 2 2; /* 2 pixels in from the top-left of the border
- * corner */
- }
- rel2 {
- relative: 0.0 1.0; /* bottom-right of this part is also 2
- * pixels in from the left (but align will
- * mean it goes to the right) and be 2
- * pixels in from the bottom edge of
- * "title_base" (remember rel2 is the
- * pixel immediately OUTSIDE the part.
- * i.e. x + width & y + height). */
- offset: 2 -3;
- to_y: "title_base";
- }
- }
- description { state: "active" 0.0; /* and an active state */
- inherit: "default" 0.0;
- rel1 {
- offset: 2 3; /* 1 pixel down from default so it looks like it
- * is pressed down a bit */
- }
- rel2 {
- offset: 2 -2; /* same here - down 1 pixel from "default" */
- }
- }
- }
- part { name: "icon_area2"; /* this area is another invisible rect
- * that is used for shuffling around parts
- * that are relative to it. the states
- * below are just a few "random" offsets
- * to make it look like whatever is
- * relative to icon_area2 is "jiggling"
- * around */
- type: RECT;
- description { state: "default" 0.0;
- visible: 0;
- rel1.to: "icon_area";
- rel2.to: "icon_area";
- }
- description { state: "uw0" 0.0; /* jiggle */
- inherit: "default" 0.0;
- rel1.offset: -3 -2;
- rel2.offset: -4 -3;
- }
- description { state: "uw1" 0.0; /* jiggle some more */
- inherit: "default" 0.0;
- rel1.offset: 5 -2;
- rel2.offset: 4 -3;
- }
- description { state: "uw2" 0.0; /* look at me - jiggling! */
- inherit: "default" 0.0;
- rel1.offset: -1 4;
- rel2.offset: -2 3;
- }
- description { state: "uw3" 0.0; /* jiggling about */
- inherit: "default" 0.0;
- rel1.offset: -2 -1;
- rel2.offset: -3 -2;
- }
- description { state: "uw4" 0.0; /* one more jiggle for the dummies */
- inherit: "default" 0.0;
- rel1.offset: -4 1;
- rel2.offset: -5 0;
- }
- }
- part { name: "e.swallow.icon"; /* finally a swallow part - this is
- * just a placeholder to SWALLOW
- * other external evas objects into
- * this region and edje will control
- * any object swallowed as if it were
- * this part itself (move, resize,
- * etc.) */
- type: SWALLOW;
- description { state: "default" 0.0;
- aspect: 1.0 1.0;
- aspect_preference: BOTH;
- rel1.to: "icon_area2";
- rel2.to: "icon_area2";
- }
- description { state: "shrunk" 0.0;
- inherit: "default" 0.0;
- rel1.relative: 0.3 0.3;
- rel2.relative: 0.7 0.7;
- }
- }
- part { name: "e.text.title"; /* this is a text part - the black
- * text on the white title top image */
- type: TEXT;
- mouse_events: 0;
- scale: 1; /* allow this part to scale by a scale factor (dpi) */
- description { state: "default" 0.0;
- visible: 1;
- align: 0.0 0.0; /* align top and left */
- rel1 {
- relative: 1.0 0.0;
- offset: 9 2;
- to_x: "icon_area"; /* relative to the right side of the icon
- * area but 9 pixels away */
- }
- rel2 {
- relative: 1.0 0.0; /* and the bottom right is inset by 8
- * pixels from the right of "title_base"
- * but as its aligned to the top we can
- * keep this at 2 pixels from the top of
- * the whole edje object and let alignment
- * make it extend downward from that point
- * with the text size defining the min size
- * vertically below */
- offset: -8 2;
- to_x: "title_base";
- }
- color: 200 200 200 255; /* black */
- text {
- font: "Sans:style=Bold"; /* Use the Bold style
- * of the Sans font from
- * fontconfig */
- size: 10; /* size in pixels - 10 */
- min: 0 1; /* the text will not determine minimum horizontal
- * size but WILL determine minimal vertical size
- * (thus 0 1 - horiz then vert flags) */
- align: 0.0 0.0; /* align text to top-left of the region
- * given */
- text_class: "title_bar"; /* text class - so font and size
- * can be changed by users */
- }
- }
- description { state: "focused" 0.0; /* when the border is focused
- * then make the text fade out
- * and vanish */
- inherit: "default" 0.0;
- color: 255 255 255 255;
- }
- }
+ }
+ }
+ part {
+ name: "px3";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 1;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 0 -2;
+ }
+ color: 0 0 0 255;
+ }
+ }
+ part {
+ name: "px4";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -1 1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -2;
+ }
+ color: 0 0 0 255;
+ }
+ }
+ part {
+ name: "e.swallow.client";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 1 1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -2 -2;
+ }
+ }
+ }
+ }
+ }
+/////////////////////////////////////////////////////////////////////////////
+/*** THE DEFAULT MOUSE CURSOR - MONOCHROME. REALLY BORING ***/
+ /* This pointer is used if the Xserver does not support full ARGB color
+ * pointers. This can happen if X is old or the driver or libxcursor did
+ * not exist when ecore was compiled. since the cursor will be literally
+ * reduced down to black and white with a single transparency mask,
+ * colors other than black and whigte will be lost (and be approximated
+ * with dithering) and any translucency other than completely opaque or
+ * completely transparent pixels will also be lost. it then makes sense
+ * to have a special black and white only image with no semi-transparency
+ * so when this is displayed it will look directly as intended by the
+ * artist */
- part { name: "bt_close"; /* the close button shadow */
- mouse_events: 0;
+ group {
+ name: "e/pointer/enlightenment/default/mono";
+ images {
+ image: "added_images/e17_pointer_mono.png" COMP;
+ }
+ parts {
+ part {
+ name: "e/pointer";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ image {
+ normal: "added_images/e17_pointer_mono.png";
+ }
+ }
+ }
+ part {
+ name: "hotspot";
+ /* this cursor also has a hotspot */
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 1 1;
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ offset: 1 1;
+ }
+ }
+ }
+ }
+ }
+/////////////////////////////////////////////////////////////////////////////
+/*** TOOLBAR ****/
+
+ group {
+ name: "e/widgets/toolbar";
+ images {
+ image: "bt_dis_base.png" COMP;
+ image: "bt_dis_hilight.png" COMP;
+ image: "bt_dis_shine.png" COMP;
+ image: "icon_left_arrow.png" COMP;
+ image: "icon_right_arrow.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 2 2;
+ }
+ rel2.offset: -3 -3;
+ image {
+ normal: "bt_dis_base.png";
+ border: 4 4 4 4;
+ }
+ }
+ }
+ part {
+ name: "clipper";
type: RECT;
- description { state: "default" 0.0;
- color: 255 0 0 255;
- align: 1.0 0.5;
- min: 20 20; /* min and max size are the same, so never
- * resize this */
- aspect: 1.0 1.0; /* square - always */
- aspect_preference: VERTICAL; /* the vetical axis controls size
- * when applying the aspect ratio
- * hint above */
- rel1 {
- relative: 1.0 0.0;
- offset: -2 1;
- to_x: "top";
- to_y: "top";
- }
- rel2 {
- relative: 1.0 1.0;
- offset: -2 -2;
- to_x: "top";
- to_y: "top";
- }
- }
- }
- part { name: "bt_max"; /* maximize button shadow */
- mouse_events: 0;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "base";
+ offset: 2 2;
+ }
+ rel2 {
+ to: "base";
+ offset: -3 -3;
+ }
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ clip_to: "clipper";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1.to: "clipper";
+ rel2.to: "clipper";
+ }
+ }
+ part {
+ name: "over2";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ image {
+ normal: "bt_dis_shine.png";
+ border: 4 4 4 4;
+ }
+ }
+ }
+ part {
+ name: "over1";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ rel2.relative: 1.0 0.5;
+ image {
+ normal: "bt_dis_hilight.png";
+ border: 4 4 4 0;
+ }
+ color: 255 255 255 128;
+ }
+ }
+ part {
+ name: "left_arrow";
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ image.normal: "icon_left_arrow.png";
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ align: 0.0 0.5;
+ min: 32 32;
+ max: 32 32;
+ }
+ description {
+ state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ }
+ part {
+ name: "right_arrow";
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ image.normal: "icon_right_arrow.png";
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ align: 1.0 0.5;
+ min: 32 32;
+ max: 32 32;
+ }
+ description {
+ state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ }
+ part {
+ name: "e.dragable.hbar";
+ mouse_events: 0;
+ dragable {
+ x: 1 1 0;
+ y: 0 0 0;
+ confine: "base";
+ }
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1.to: "base";
+ rel2.to: "base";
+ }
+ }
+ part {
+ name: "event";
type: RECT;
- description { state: "default" 0.0;
- color: 255 128 0 255;
- align: 1.0 0.5;
- min: 20 20;
- aspect: 1.0 1.0;
- aspect_preference: VERTICAL;
- rel1 {
- relative: 0.0 0.0;
- offset: -2 1;
- to_x: "bt_close"; /* left of the close button */
- to_y: "top";
- }
- rel2 {
- relative: 0.0 1.0;
- offset: -2 -2;
- to_x: "bt_close"; /* left of the close button */
- to_y: "top";
- }
- }
- }
- part { name: "bt_min"; /* minimize button shadow */
- mouse_events: 0;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "sb_hbar_show";
+ signal: "e,action,show,hbar";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.5;
+ target: "left_arrow";
+ target: "right_arrow";
+ }
+ program {
+ name: "sb_hbar_hide";
+ signal: "e,action,hide,hbar";
+ source: "e";
+ action: STATE_SET "hidden" 0.0;
+ target: "left_arrow";
+ target: "right_arrow";
+ transition: LINEAR 0.5;
+ }
+ program {
+ name: "sb_left";
+ signal: "mouse,down,1";
+ source: "left_arrow";
+ action: SIGNAL_EMIT "e,action,prev" "e";
+ }
+ program {
+ name: "sb_right";
+ signal: "mouse,down,1";
+ source: "right_arrow";
+ action: SIGNAL_EMIT "e,action,next" "e";
+ }
+ }
+ }
+ group {
+ name: "e/widgets/toolbar/item";
+ images {
+ image: "toolbar_sel.png" COMP;
+ }
+ parts {
+ part {
+ name: "label2";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 1.0;
+ fixed: 0 1;
+ rel1.to: "e.text.label";
+ rel2.to: "e.text.label";
+ color: 0 0 0 255;
+ text {
+ font: "Sans";
+ text_source: "e.text.label";
+ size: 10;
+ min: 1 1;
+ align: 0.5 0.5;
+ text_class: "fileman_icon";
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "bg";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ image {
+ normal: "toolbar_sel.png";
+ border: 3 3 0 0;
+ }
+ fill.smooth: 0;
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "e.swallow.icon";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 2 2;
+ }
+ rel2 {
+ to_y: "e.text.label";
+ relative: 1.0 0.0;
+ offset: -3 -1;
+ }
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "e.text.label";
+ type: TEXT;
+ effect: SOFT_SHADOW;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 1.0;
+ fixed: 0 1;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 2;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ visible: 0;
+ color: 224 224 224 255;
+ color3: 0 0 0 32;
+ text {
+ font: "Sans:style=Bold";
+ size: 10;
+ min: 1 1;
+ align: 0.5 0.5;
+ text_class: "fileman_icon";
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "event";
type: RECT;
- description { state: "default" 0.0;
- color: 255 255 0 255;
- align: 1.0 0.5;
- min: 20 20;
- aspect: 1.0 1.0;
- aspect_preference: VERTICAL;
- rel1 {
- relative: 0.0 0.0;
- offset: -2 1;
- to_x: "bt_max"; /* left of the maximize button */
- to_y: "top";
- }
- rel2 {
- relative: 0.0 1.0;
- offset: -2 -2;
- to_x: "bt_max"; /* left of the maximize button */
- to_y: "top";
- }
- }
- }
+ mouse_events: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "go_active";
+ signal: "e,state,selected";
+ source: "e";
+ action: STATE_SET "selected" 0.0;
+ target: "bg";
+ target: "e.text.label";
+ target: "label2";
+ transition: LINEAR 0.2;
+ }
+ program {
+ name: "go_passive";
+ signal: "e,state,unselected";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ target: "e.text.label";
+ target: "label2";
+ transition: LINEAR 0.1;
+ }
+ program {
+ name: "go";
+ signal: "mouse,up,1";
+ source: "event";
+ action: SIGNAL_EMIT "e,action,click" "e";
+ }
+ }
+ }
- part { name: "title_base"; /* an invisible rect part/object used for
- * layout purposes */
- type: RECT;
- mouse_events: 0;
- description { state: "default" 0.0;
- visible: 0;
- rel1 {
- relative: 1.0 0.0;
- offset: 0 0;
- to_x: "icon_area";
- }
- rel2 {
- relative: 0.0 1.0;
- offset: -3 4;
- to_y: "e.text.title";
- to_x: "bt_min";
- }
- }
- }
- part { name: "bottom_clip";
- type: RECT;
- description { state: "default" 0.0;
- rel1.to: "bottom";
- rel2.to: "bottom";
- color: 255 255 255 255;
- }
- }
- part { name: "resize_b";
- mouse_events: 0;
- clip_to: "bottom_clip";
+
+/////////////////////////////////////////////////////////////////////////////
+/*** MENUS ***/
+
+ /* this is the background for all menus. it also may optionally display a
+ * title for the menu. this is wrapped around all the menu items that are
+ * laid out in a vertical list from top to bottom */
+
+ group {
+ name: "e/widgets/menu/default/background";
+ images {
+ image: "base_bg.png" COMP;
+ image: "bd_top_hilight.png" COMP;
+ image: "bd_title_bg.png" COMP;
+ image: "bd_title_over.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ color_class: "menu_base";
+ image {
+ normal: "base_bg.png";
+ border: 2 2 2 2;
+ }
+ fill.smooth: 0;
+ /* note - a shortcut for avoiding doing
+ * fill { smooth: 0; } */
+ }
+ }
+ part {
+ name: "top_hilight";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 15;
+ }
+ image.normal: "bd_top_hilight.png";
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "title_back";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 4 0;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -5 0;
+ }
+ image {
+ normal: "bd_title_bg.png";
+ border: 7 7 2 7;
+ }
+ fill.smooth: 0;
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 4 0;
+ }
+ rel2 {
+ to_y: "e.text.title";
+ relative: 1.0 1.0;
+ offset: -5 -4;
+ }
+ }
+ }
+ part {
+ name: "e.text.title";
+ /* e sets the text of this to the title
+ * if there is any */
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ effect: SOFT_SHADOW;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ align: 0.5 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 0;
+ }
+ color_class: "menu_title";
+ text {
+ text_source: "e.text.title";
+ font: "Sans:style=Bold";
+ size: 10;
+ align: 0.5 0.0;
+ min: 0 0;
+ text_class: "menu_title";
+ }
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color_class: "menu_title_active";
+ text.min: 1 1;
+ }
+ }
+ part {
+ name: "title_over";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1.to: "title_back";
+ rel2.to: "title_back";
+ image {
+ normal: "bd_title_over.png";
+ border: 7 7 2 7;
+ }
+ fill.smooth: 0;
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ /* this swallow part determines
+ * where in the menu the vertical
+ * list of menu items is put */
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to_y: "e.text.title";
+ relative: 0.0 1.0;
+ offset: 2 1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -3 -3;
+ }
+ }
+ }
+ }
+ programs {
+ program {
+ name: "on";
+ /* this program is run when e emits a signal
+ * to display a title. e will also set the
+ * title text */
+ signal: "e,action,show,title";
+ source: "e";
+ action: STATE_SET "active" 0.0;
+ target: "title_back";
+ target: "e.text.title";
+ target: "title_over";
+ }
+ program {
+ name: "off";
+ /* run when the title is removed */
+ signal: "e,action,hide,title";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "title_back";
+ target: "e.text.title";
+ target: "title_over";
+ }
+ }
+ }
+ /* this is placed as a horizontal separator between menu items in the
+ * vertical menu item list. it has no functionality other than being
+ * a visual separator */
+ group {
+ name: "e/widgets/menu/default/separator";
+ images {
+ image: "menu_sep.png" COMP;
+ }
+ parts {
+ part {
+ name: "separator";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 16 2;
+ rel1.offset: 2 2;
+ rel2.offset: -3 -3;
+ image {
+ normal: "menu_sep.png";
+ border: 2 2 0 0;
+ }
+ fill.smooth: 0;
+ }
+ }
+ }
+ }
+ /* this is used for regular menu items. this is what swallows/holds the
+ * whole line of the menu item, icon, check/radio mark, label and submenu
+ * indicator, where applicable */
+ group {
+ name: "e/widgets/menu/default/item_bg";
+ /* this is idential to the regular menu item above, but used only for
+ * items that have a submenu. this is to allow for a possible different
+ * look for submenu holding items. here this is identical to to the
+ * normal menu item, thus we are making use of the alias directive that
+ * gives a group the ability to go by manu names */
+ alias: "e/widgets/menu/default/submenu_bg";
+ images {
+ image: "menu_sel_bg.png" COMP;
+ image: "menu_sel_fg.png" COMP;
+ }
+ parts {
+ part {
+ name: "bg";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: -5 -3;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 4 5;
+ }
+ image {
+ normal: "menu_sel_bg.png";
+ border: 8 8 5 9;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: -2 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 1 2;
+ }
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ /* all item content will go here */
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1.offset: 2 1;
+ rel2.offset: -3 -2;
+ }
+ }
+ part {
+ name: "fg";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image {
+ normal: "menu_sel_fg.png";
+ border: 8 8 5 9;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "sel";
+ /* when the menu item is selected (hilighted)
+ * this program is run to give the whole item
+ * an overall selected look */
+ signal: "e,state,selected";
+ source: "e";
+ action: STATE_SET "selected" 0.0;
+ transition: LINEAR 0.2;
+ target: "bg";
+ target: "fg";
+ }
+ program {
+ name: "unsel";
+ /* when selection is removed from the menu
+ * item */
+ signal: "e,state,unselected";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.1;
+ target: "bg";
+ target: "fg";
+ }
+ }
+ }
+ /* this group holds a menu icon. here we just use it to add padding around
+ * the icon. And to gray-out when disabled */
+ group {
+ name: "e/widgets/menu/default/icon";
+ parts {
+ part {
+ name: "clip";
type: RECT;
- description { state: "default" 0.0;
- color: 0 0 0 255;
- min: 20 10;
- max: 20 10;
- rel1 {
- to: "bottom";
- relative: 0.5 0.0;
- offset: 0 -10;
- }
- rel2 {
- to: "bottom";
- relative: 0.5 0.0;
- offset: 0 -1;
- }
- }
- description { state: "past" 0.0;
- inherit: "default" 0.0;
- rel1 {
- relative: 0.5 1.0;
- offset: 0 0;
- }
- rel2 {
- relative: 0.5 1.0;
- offset: 0 9;
- }
- }
- }
+ description {
+ min: 10 10;
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "disabled" 0.0;
+ color: 255 255 255 128;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ /* icon is swallowed here */
+ type: SWALLOW;
+ clip_to: "clip";
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ max: 24 24;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 2 2;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -3 -3;
+ }
+ }
+ }
+ }
+ programs {
+ program {
+ name: "enable";
+ /* enable */
+ signal: "e,state,enable";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "clip";
+ }
+ program {
+ name: "disable";
+ /* disable */
+ signal: "e,state,disable";
+ source: "e";
+ action: STATE_SET "disabled" 0.0;
+ target: "clip";
+ }
+ }
+ }
+ /* this is the actual text label for the menu item */
+ group {
+ name: "e/widgets/menu/default/label";
+ parts {
+ part {
+ name: "e.text.label";
+ /* e sets the text of this */
+ type: TEXT;
+ effect: SOFT_SHADOW;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 1 -1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 1;
+ }
+ color_class: "menu_item";
+ text {
+ font: "Sans";
+ size: 10;
+ min: 1 1;
+ align: 0.0 0.5;
+ text_class: "menu_item";
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color_class: "menu_item_active";
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color_class: "menu_item_disabled";
+ }
+ }
+ }
+ programs {
+ program {
+ name: "sel";
+ /* when the menu item is actually selected */
+ signal: "e,state,selected";
+ source: "e";
+ action: STATE_SET "selected" 0.0;
+ transition: LINEAR 0.2;
+ target: "e.text.label";
+ }
+ program {
+ name: "unsel";
+ /* on de-select */
+ signal: "e,state,unselected";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.3;
+ target: "e.text.label";
+ }
+ program {
+ name: "enable";
+ /* enable */
+ signal: "e,state,enable";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.3;
+ target: "e.text.label";
+ }
+ program {
+ name: "disable";
+ /* disable */
+ signal: "e,state,disable";
+ source: "e";
+ action: STATE_SET "disabled" 0.0;
+ //transition: LINEAR 0.3;
+ target: "e.text.label";
+ }
+ }
+ }
+ /* this is a small arrow on the right of the menu item to indicate that it
+ * has a submenu after it */
+ group {
+ name: "e/widgets/menu/default/submenu";
+ images {
+ image: "menu_arrow_normal.png" COMP;
+ image: "menu_arrow_sel.png" COMP;
+ }
+ parts {
+ part {
+ name: "arrow";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 9 12;
+ max: 9 12;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 4 1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -3 -1;
+ }
+ image.normal: "menu_arrow_normal.png";
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "menu_arrow_sel.png";
+ }
+ }
+ }
+ programs {
+ program {
+ name: "sel";
+ signal: "e,state,selected";
+ source: "e";
+ action: STATE_SET "selected" 0.0;
+ target: "arrow";
+ }
+ program {
+ name: "unsel";
+ signal: "e,state,unselected";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "arrow";
+ }
+ }
+ }
+ /* this is placed left of the icon in a menu item (if any icon) or left
+ * of the label if no icon is present. this is a checkbox to indicate if
+ * the menu item is enabled or disabled */
+ group {
+ name: "e/widgets/menu/default/check";
+ images {
+ image: "check_base.png" COMP;
+ image: "check_on.png" COMP;
+ image: "check_sel.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ max: 16 16;
+ image.normal: "check_base.png";
+ }
+ }
+ part {
+ name: "mark";
+ mouse_events: 0;
+ clip_to: "mark_hold";
+ description {
+ state: "default" 0.0;
+ rel1.to: "mark_hold";
+ rel2.to: "mark_hold";
+ image.normal: "check_on.png";
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "check_sel.png";
+ }
+ }
+ part {
+ name: "mark_hold";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1 {
+ to: "base";
+ offset: -5 -5;
+ }
+ rel2 {
+ to: "base";
+ offset: 4 4;
+ }
+ }
+ description {
+ state: "on" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ rel1.offset: 0 0;
+ rel2.offset: -1 -1;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "sel";
+ /* on selection of the menu item */
+ signal: "e,state,selected";
+ source: "e";
+ action: STATE_SET "selected" 0.0;
+ target: "mark";
+ }
+ program {
+ name: "unsel";
+ /* de-select */
+ signal: "e,state,unselected";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "mark";
+ }
+ program {
+ name: "on";
+ /* if the checkmark is to be displayed */
+ signal: "e,state,on";
+ source: "e";
+ action: STATE_SET "on" 0.0;
+ transition: LINEAR 0.15;
+ target: "mark_hold";
+ }
+ program {
+ name: "off";
+ /* check mark is not to be displayed */
+ signal: "e,state,off";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.2;
+ target: "mark_hold";
+ }
+ }
+ }
+ /* for a radio menu item - same as check, but only one of a group of radio
+ * menu item can be selected at any one time */
+ group {
+ name: "e/widgets/menu/default/radio";
+ images {
+ image: "radio_base.png" COMP;
+ image: "radio_on.png" COMP;
+ image: "radio_sel.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ max: 16 16;
+ image.normal: "radio_base.png";
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "menu_arrow_sel.png";
+ }
+ }
+ part {
+ name: "mark";
+ mouse_events: 0;
+ clip_to: "mark_hold";
+ description {
+ state: "default" 0.0;
+ rel1.to: "mark_hold";
+ rel2.to: "mark_hold";
+ image.normal: "radio_on.png";
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "radio_sel.png";
+ }
+ }
+ part {
+ name: "mark_hold";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1 {
+ to: "base";
+ offset: -5 -5;
+ }
+ rel2 {
+ to: "base";
+ offset: 4 4;
+ }
+ }
+ description {
+ state: "on" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ rel1.offset: 0 0;
+ rel2.offset: -1 -1;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "sel";
+ signal: "e,state,selected";
+ source: "e";
+ action: STATE_SET "selected" 0.0;
+ target: "mark";
+ }
+ program {
+ name: "unsel";
+ signal: "e,state,unselected";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "mark";
+ }
+ program {
+ name: "on";
+ signal: "e,state,on";
+ source: "e";
+ action: STATE_SET "on" 0.0;
+ transition: LINEAR 0.15;
+ target: "mark_hold";
+ }
+ program {
+ name: "off";
+ signal: "e,state,off";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.2;
+ target: "mark_hold";
+ }
+ }
+ }
- part { name: "e.swallow.client"; /* this determines where the actual
- * client window will be placed in
- * the border design */
- type: SWALLOW;
- description { state: "default" 0.0;
- rel1 {
- relative: 0.0 1.0;
- offset: 0 0;
- to_y: "top";
- }
- rel2 {
- relative: 1.0 0.0;
- offset: -1 -1;
- to_y: "bottom";
- }
- }
- description { state: "shaded" 0.0;
- inherit: "default" 0.0;
- rel2 {
- relative: 1.0 1.0;
- offset: -1 -1;
- to_y: "bottom";
- }
- }
- description { state: "max" 0.0;
- inherit: "default" 0.0;
- rel1 {
- relative: 0.0 1.0;
- offset: 0 0;
- to_y: "top";
- }
- rel2 {
- relative: 1.0 1.0;
- offset: -1 -1;
- to_y: "bottom";
- }
- }
- }
+/////////////////////////////////////////////////////////////////////////////
+/*** SHELF ***/
- /* these transparent rect parts are used for catching events in a way
- * here objects for design don't affect the events. these parts
- * are named speciifcally because E has config listening for specific
- * signals (events) coming from these named parts and based on those
- * will perform certain actions. these are actually all configurable
- * by the user, so if they want, clicking the logical "titlebar" could
- * close the window, not move it, and so on. the user decides this.
- * the theme designer simply indicates the "logcal" use of the theme
- * elements they have created */
- part { name: "e.event.titlebar";
- type: RECT;
- description { state: "default" 0.0;
- rel1.to: "title_base";
- rel2.to: "title_base";
- color: 0 0 0 0;
- }
- }
+ /* Shelves are "panels" that are placed around the edges of the screen
+ * to hold useful gadgets to control things - like switch desktops
+ * (the pager module and its gadget), launch programs, and anything else
+ * someone wants to put in there. The way to add gadgets to a shelf is to
+ * write a module that places a gadget there. This means that it might end
+ * up containing all sorts of things and the artist needs to be aware of
+ * that and make sure the shelf border and background etc. won't interfere
+ * with all manner of things that may get placed there */
- part { name: "e.event.resize.t";
- type: RECT;
- description { state: "default" 0.0;
- rel1 {
- relative: 0.0 0.0;
- offset: 0 0;
- }
- rel2 {
- relative: 1.0 0.0;
- offset: -1 3;
- }
- color: 0 0 0 0;
- }
- description { state: "shaded" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part { name: "e.event.resize.b";
- type: RECT;
+ group {
+ name: "e/shelf/default/base";
+ data {
+ /* this tells e the shelf is shaped, not rectangular */
+ // item: "shaped" "1";
+ /* this tells e the number of pixels of the shelf to leave "exposed"
+ * when auto-hiding the shelf */
+ item: "hidden_state_size" "1";
+ /* This makes the border hide instantly after the given amount of
+ * seconds - in this case 3 seconds. This means there will be no
+ * visible part of the shelf after this time at all as it will be
+ * totally hidden */
+ // item: "instant_delay" "3.0";
+ }
+ images {
+ image: "base_bg.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color_class: "shelf_base";
+ image.normal: "base_bg.png";
+ image.border: 2 2 2 2;
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 3 3;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -4 -4;
+ }
+ }
+ }
+ }
+ programs {
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,top";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,top_left";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,top_right";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,bottom";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,bottom_left";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,bottom_right";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,left";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,left_top";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,left_bottom";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,right";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,right_top";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,right_bottom";
+ // source: "e";
+ // }
+ // tell us we became a visible shelf. not used here
+ // program { name: "xx";
+ // signal: "e,state,visible";
+ // source: "e";
+ // }
+ // tell us we became a hidden shelf. not used here
+ // program { name: "xx";
+ // signal: "e,state,hidden";
+ // source: "e";
+ // }
+ }
+ }
+ /* This is put around gadgets in the shelf if they ask for an "inset" style
+ * framing. This puts some sort of bordering around them to make them look
+ * "inset" into the shelf or screen. this is meant to go with the default
+ * shelf style as implied in the group name */
+ group {
+ name: "e/shelf/default/inset";
+ images {
+ image: "inset_sunk.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "inset";
+ offset: 1 1;
+ }
+ rel2 {
+ to: "inset";
+ offset: -2 -2;
+ }
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "clip";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ type: SWALLOW;
+ clip_to: "clip";
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "base";
+ offset: 1 1;
+ }
+ rel2 {
+ to: "base";
+ offset: -2 -2;
+ }
+ }
+ }
+ part {
+ name: "inset";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1.offset: 1 1;
+ rel2.offset: -2 -2;
+ image.normal: "inset_sunk.png";
+ image.middle: 0;
+ /* here we say the "middle" part of the image
+ * between the borders is not filled - it's
+ * empty, so don't draw it - ignore it */
+ image.border: 7 7 7 7;
+ fill.smooth: 0;
+ }
+ }
+ }
+ programs {
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,top";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,top_left";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,top_right";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,bottom";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,bottom_left";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,bottom_right";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,left";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,left_top";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,left_bottom";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,right";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,right_top";
+ // source: "e";
+ // }
+ // tell us what oriantation we are in. not used here
+ // program { name: "xx";
+ // signal: "e,state,orientation,right_bottom";
+ // source: "e";
+ // }
+ }
+ }
+ /* Same as inset, but meant to be with no decorations that are visible. here
+ * we simply make the content swallow inset a bit from the edges to align
+ * with any plain style inset boxes */
+ group {
+ name: "e/shelf/default/plain";
+ parts {
+ part {
+ name: "clip";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ type: SWALLOW;
+ clip_to: "clip";
+ description {
+ state: "default" 0.0;
+ rel1.offset: 1 1;
+ rel2.offset: -2 -2;
+ }
+ }
+ }
+ }
+ /* This is the "invisible" shelf. Yes. Even it has visual config in edje.
+ * The idea is that it will remain invisible, BUT will allow the designer
+ * to do some layout and padding. This gets the same signals as the
+ * default shelf and can provide the same data items */
+ group {
+ name: "e/shelf/invisible/base";
+ data.item: "shaped" "1";
+ parts {
+ part {
+ name: "e.swallow.content";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ }
+ }
+ }
+ }
+ group {
+ name: "e/shelf/invisible/inset";
+ images {
+ image: "inset_sunk_dark.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "inset";
+ offset: 1 1;
+ }
+ rel2 {
+ to: "inset";
+ offset: -2 -2;
+ }
+ color: 0 0 0 32;
+ }
+ }
+ part {
+ name: "clip";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ type: SWALLOW;
+ clip_to: "clip";
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "base";
+ offset: 1 1;
+ }
+ rel2 {
+ to: "base";
+ offset: -2 -2;
+ }
+ }
+ }
+ part {
+ name: "inset";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1.offset: 1 1;
+ rel2.offset: -2 -2;
+ image.normal: "inset_sunk_dark.png";
+ image.middle: 0;
+ image.border: 7 7 7 7;
+ fill.smooth: 0;
+ }
+ }
+ }
+ }
+ group {
+ name: "e/shelf/invisible/plain";
+ parts {
+ part {
+ name: "clip";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ type: SWALLOW;
+ clip_to: "clip";
+ description {
+ state: "default" 0.0;
+ rel1.offset: 1 1;
+ rel2.offset: -2 -2;
+ }
+ }
+ }
+ }
+ /* This is the alternate shelf. It provides a stylistic alternative to
+ * make the shelf more dynamic to your tastes and wallpaper. It is
+ * selected in the Shelf Configuration. More alternative shelfs can
+ * be provided by using more group names. eg, "e/shelf/black/base" */
+ group {
+ name: "e/shelf/alternate/base";
+ images {
+ image: "shelf_alt_bg.png" COMP;
+ // image: "shelf_alt_bg_left.png" COMP;
+ // image: "shelf_alt_bg_right.png" COMP;
+ image: "shelf_alt_over.png" COMP;
+ // image: "shelf_alt_over_left.png" COMP;
+ // image: "shelf_alt_over_right.png" COMP;
+ image: "shelf_alt_shine.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color_class: "shelf_base";
+ image.normal: "shelf_alt_bg.png";
+ fill.smooth: 0;
+ }
+ // description { state: "left" 0.0;
+ // image.normal: "shelf_alt_bg_left.png";
+ // fill.smooth: 0;
+ // }
+ // description { state: "right" 0.0;
+ // image.normal: "shelf_alt_bg_right.png";
+ // fill.smooth: 0;
+ // }
+ }
+ part {
+ name: "e.swallow.content";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 3 3;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -4 -4;
+ }
+ }
+ }
+ part {
+ name: "shine";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ image.normal: "shelf_alt_shine.png";
+ rel2.relative: 1.0 0.5;
+ fill.smooth: 0;
+ }
+ // description { state: "left" 0.0;
+ // inherit: "default" 0.0;
+ // color: 255 255 255 0;
+ // }
+ // description { state: "right" 0.0;
+ // inherit: "default" 0.0;
+ // color: 255 255 255 0;
+ // }
+ }
+ part {
+ name: "over";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ image.normal: "shelf_alt_over.png";
+ image.border: 5 5 5 5;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ // description { state: "left" 0.0;
+ // image.normal: "shelf_alt_over_left.png";
+ // image.border: 5 5 5 5;
+ // image.middle: 0;
+ // fill.smooth: 0;
+ // }
+ // description { state: "right" 0.0;
+ // image.normal: "shelf_alt_over_right.png";
+ // image.border: 5 5 5 5;
+ // image.middle: 0;
+ // fill.smooth: 0;
+ // }
+ }
+ }
+ /* Because programs can not respond to 2 different types of signals,
+ * the programs are split into individual programs that point towards
+ * the base program for its orientation. */
+ programs {
+ /* Left orientation */
+ // program { name: "left";
+ // signal: "e,state,orientation,left";
+ // source: "e";
+ // action: STATE_SET "left" 0.0;
+ // target: "base";
+ // target: "over";
+ // target: "shine";
+ // }
+ // program { name: "left_top";
+ // signal: "e,state,orientation,left_top";
+ // source: "e";
+ // after: "left";
+ // }
+ // program { name: "left_bottom";
+ // signal: "e,state,orientation,left_bottom";
+ // source: "e";
+ // after: "left";
+ // }
+ // /* Right orientation */
+ // program { name: "right";
+ // signal: "e,state,orientation,right";
+ // source: "e";
+ // action: STATE_SET "right" 0.0;
+ // target: "base";
+ // target: "over";
+ // target: "shine";
+ // }
+ // program { name: "right_top";
+ // signal: "e,state,orientation,right_top";
+ // source: "e";
+ // after: "right";
+ // }
+ // program { name: "right_bottom";
+ // signal: "e,state,orientation,right_bottom";
+ // source: "e";
+ // after: "right";
+ // }
+ }
+ }
+ /* This is the alternate shelf. It provides a stylistic alternative to
+ * make the shelf more dynamic to your tastes and wallpaper. It is
+ * selected in the Shelf Configuration. More alternative shelfs can
+ * be provided by using more group names. eg, "e/shelf/black/base" */
+ group { name: "e/shelf/alternate_vertical/base";
+ images {
+ image: "shelf_alt_vert_bg.png" COMP;
+// image: "shelf_alt_bg_left.png" COMP;
+// image: "shelf_alt_bg_right.png" COMP;
+ image: "shelf_alt_over.png" COMP;
+// image: "shelf_alt_over_left.png" COMP;
+// image: "shelf_alt_over_right.png" COMP;
+ }
+ parts {
+ part { name: "base";
+ mouse_events: 0;
description { state: "default" 0.0;
- rel1 {
- relative: 0.0 1.0;
- offset: 0 -4;
- }
- rel2 {
- relative: 1.0 1.0;
- offset: -1 -1;
- }
- color: 0 0 0 0;
- }
- description { state: "shaded" 0.0;
- inherit: "default" 0.0;
- visible: 0;
+ color_class: "shelf_base";
+ image.normal: "shelf_alt_vert_bg.png";
+ fill.smooth: 0;
}
+// description { state: "left" 0.0;
+// image.normal: "shelf_alt_bg_left.png";
+// fill.smooth: 0;
+// }
+// description { state: "right" 0.0;
+// image.normal: "shelf_alt_bg_right.png";
+// fill.smooth: 0;
+// }
}
-
- part { name: "e.event.resize.tl";
- type: RECT;
+ part { name: "e.swallow.content";
+ type: SWALLOW;
description { state: "default" 0.0;
rel1 {
relative: 0.0 0.0;
- offset: 0 0;
- }
- rel2 {
- relative: 0.0 0.0;
- offset: 15 15;
- }
- color: 0 0 0 0;
- }
- description { state: "shaded" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part { name: "e.event.resize.tr";
- type: RECT;
- description { state: "default" 0.0;
- rel1 {
- relative: 1.0 0.0;
- offset: -16 0;
- }
- rel2 {
- relative: 1.0 0.0;
- offset: -1 15;
- }
- color: 0 0 0 0;
- }
- description { state: "shaded" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part { name: "e.event.resize.bl";
- type: RECT;
- description { state: "default" 0.0;
- rel1 {
- relative: 0.0 1.0;
- offset: 0 -16;
+ offset: 3 3;
}
rel2 {
- relative: 0.0 1.0;
- offset: 15 -1;
- }
- color: 0 0 0 0;
- }
- description { state: "shaded" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part { name: "e.event.resize.br";
- type: RECT;
- description { state: "default" 0.0;
- rel1 {
relative: 1.0 1.0;
- offset: -16 -16;
+ offset: -4 -4;
}
- rel2 {
- relative: 1.0 1.0;
- offset: -1 -1;
- }
- color: 0 0 0 0;
- }
- description { state: "shaded" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
-
- part { name: "e.event.icon";
- type: RECT;
- description { state: "default" 0.0;
- rel1.to: "icon_area";
- rel2.to: "icon_area";
- color: 0 0 0 0;
}
}
-
- part { name: "e.event.close";
- type: RECT;
- description { state: "default" 0.0;
- rel1.to: "bt_close";
- rel2.to: "bt_close";
- color: 0 0 0 0;
- }
- }
- part { name: "e.event.minimize";
- type: RECT;
- description { state: "default" 0.0;
- rel1.to: "bt_min";
- rel2.to: "bt_min";
- color: 0 0 0 0;
- }
- }
- part { name: "e.event.maximize";
- type: RECT;
+ part { name: "over";
+ mouse_events: 0;
description { state: "default" 0.0;
- rel1.to: "bt_max";
- rel2.to: "bt_max";
- color: 0 0 0 0;
+ image.normal: "shelf_alt_over.png";
+ image.border: 5 5 5 5;
+ image.middle: 0;
+ fill.smooth: 0;
}
+// description { state: "left" 0.0;
+// image.normal: "shelf_alt_over_left.png";
+// image.border: 5 5 5 5;
+// image.middle: 0;
+// fill.smooth: 0;
+// }
+// description { state: "right" 0.0;
+// image.normal: "shelf_alt_over_right.png";
+// image.border: 5 5 5 5;
+// image.middle: 0;
+// fill.smooth: 0;
+// }
}
}
- /* programs - these are basically snippets of simple logic to respond to
- * incoming signals (generated by signal emisions by code or events) */
+ /* Because programs can not respond to 2 different types of signals,
+ * the programs are split into individual programs that point towards
+ * the base program for its orientation. */
programs {
- program { name: "focus_in"; /* name of the program. must be unique
- * within the list of programs attached
- * to a group of parts */
- signal: "e,state,focused"; /* what signal triggers this program,
- * if any. this can also be a glob like
- * "mouse,down,*" for example. note
- * that globs are slower to match
- * and empty strings are literal matches
- * too */
- source: "e"; /* the source of the signal - this must also match for
- * the program to be run */
- action: STATE_SET "focused" 0.0; /* the action the program will
- * perform. in this case
- * it will set the state to
- * "focused" @ value 0.0 */
- target: "e.text.title";
- }
- program { name: "focus_out"; /* this program is run when focus is
- * removed from a window border */
- signal: "e,state,unfocused";
- source: "e";
- action: STATE_SET "default" 0.0;
- target: "e.text.title";
- }
+ /* Left orientation */
+// program { name: "left";
+// signal: "e,state,orientation,left";
+// source: "e";
+// action: STATE_SET "left" 0.0;
+// target: "base";
+// target: "over";
+// target: "shine";
+// }
+// program { name: "left_top";
+// signal: "e,state,orientation,left_top";
+// source: "e";
+// after: "left";
+// }
+// program { name: "left_bottom";
+// signal: "e,state,orientation,left_bottom";
+// source: "e";
+// after: "left";
+// }
+// /* Right orientation */
+// program { name: "right";
+// signal: "e,state,orientation,right";
+// source: "e";
+// action: STATE_SET "right" 0.0;
+// target: "base";
+// target: "over";
+// target: "shine";
+// }
+// program { name: "right_top";
+// signal: "e,state,orientation,right_top";
+// source: "e";
+// after: "right";
+// }
+// program { name: "right_bottom";
+// signal: "e,state,orientation,right_bottom";
+// source: "e";
+// after: "right";
+// }
+ }
+ }
+ group {
+ name: "e/shelf/alternate/inset";
+ images {
+ image: "inset_raised.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "inset";
+ offset: 4 4;
+ }
+ rel2 {
+ to: "inset";
+ offset: -5 -5;
+ }
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "clip";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ type: SWALLOW;
+ clip_to: "clip";
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "base";
+ offset: 0 0;
+ }
+ rel2 {
+ to: "base";
+ offset: -1 -1;
+ }
+ }
+ }
+ part {
+ name: "inset";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1.offset: -1 -1;
+ rel2.offset: 0 0;
+ image.normal: "inset_raised.png";
+ image.middle: 0;
+ image.border: 7 7 7 7;
+ fill.smooth: 0;
+ }
+ }
+ }
+ }
+ group {
+ name: "e/shelf/alternate/plain";
+ parts {
+ part {
+ name: "clip";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ type: SWALLOW;
+ clip_to: "clip";
+ description {
+ state: "default" 0.0;
+ rel1.offset: 1 1;
+ rel2.offset: -2 -2;
+ }
+ }
+ }
+ }
- program { name: "max_full"; /* run on fullscreen maximize */
- signal: "e,action,maximize,fullscreen";
- source: "e";
- action: STATE_SET "max" 0.0;
- target: "bottom";
- target: "e.swallow.client";
- }
- program { name: "unmax_full"; /* run on unmaximize from fullscreen */
- signal: "e,action,unmaximize,fullscreen";
- source: "e";
- action: STATE_SET "default" 0.0;
- target: "bottom";
- target: "e.swallow.client";
- }
+/////////////////////////////////////////////////////////////////////////////
+/*** MOD: CLOCK ***/
-// don't have any animation or stat change to do at the start of shading
-// program { name: "xx";
-// signal: "e,state,shading";
-// source: "e";
-// }
- program { name: "shade_end"; /* run when the window finishes its
- * shading animation */
- signal: "e,state,shaded";
- source: "e";
- action: STATE_SET "shaded" 0.0;
- target: "bottom";
- target: "e.swallow.client";
- target: "e.event.resize.tl";
- target: "e.event.resize.tr";
- target: "e.event.resize.bl";
- target: "e.event.resize.br";
- target: "e.event.resize.t";
- target: "e.event.resize.b";
- }
- program { name: "unshade_start"; /* run when the window starts
- * unshading itself */
- signal: "e,state,unshading";
- source: "e";
- action: STATE_SET "default" 0.0;
- target: "bottom";
- target: "e.swallow.client";
- target: "e.event.resize.tl";
- target: "e.event.resize.tr";
- target: "e.event.resize.bl";
- target: "e.event.resize.br";
- target: "e.event.resize.t";
- target: "e.event.resize.b";
- }
-// don't have any animation or stat change to do at the end of unshading
-// program { name: "xx";
-// signal: "e,state,unshaded";
-// source: "e";
-// }
- program { name: "resize_b_on";
- signal: "mouse,in"; /* on mouse enter... */
- source: "e.event.resize.b"; /* in this named part */
- action: ACTION_STOP; /* stop the following programs */
- target: "resize_b_on2";
- target: "resize_b_on3";
- after: "resize_b_on2"; /* then run... */
- }
- program { name: "resize_b_on2";
- action: STATE_SET "default" 0.0;
- target: "resize_b";
- after: "resize_b_on3";
- }
- program { name: "resize_b_on3";
- action: STATE_SET "past" 0.0;
- transition: LINEAR 0.5;
- target: "resize_b";
- after: "resize_b_on2";
- }
- program { name: "resize_b_off";
- signal: "mouse,out"; /* on mouse leave... */
- source: "e.event.resize.b";
- action: ACTION_STOP;
- target: "resize_b_on";
- target: "resize_b_on2";
- target: "resize_b_on3";
- }
+images {
+ image: "clock/DM_Clock_time.png" COMP;
+ image: "clock/DM_Clock_time_0.png" COMP;
+ image: "clock/DM_Clock_time_1.png" COMP;
+ image: "clock/DM_Clock_time_2.png" COMP;
+ image: "clock/DM_Clock_time_3.png" COMP;
+ image: "clock/DM_Clock_time_4.png" COMP;
+ image: "clock/DM_Clock_time_5.png" COMP;
+ image: "clock/DM_Clock_time_6.png" COMP;
+ image: "clock/DM_Clock_time_7.png" COMP;
+ image: "clock/DM_Clock_time_8.png" COMP;
+ image: "clock/DM_Clock_time_9.png" COMP;
+ image: "clock/DM_Clock_time_AM.png" COMP;
+ image: "clock/DM_Clock_time_PM.png" COMP;
+ image: "clock/DM_Clock_time_center.png" COMP;
+}
+
+#define DIGIT_WIDTH 0.25
+#define DIGIT_10_WIDTH 0.1
+#define DIGIT_Y 0.2
+#define DIGIT_HEIGHT 0.8
+#define HOUR_10_XOFF 0.0
+#define WEEKDAY_XOFF 0.0
+#define DAY_XOFF 0.15
+#define DAY_HEIGHT 0.2
+#define MONTH_XOFF 0.25
+#define HOUR_1_XOFF 0.1
+#define COLON_XOFF 0.32
+#define COLON_WIDTH 0.05
+#define MIN_10_XOFF 0.34
+#define MIN_1_XOFF 0.54
+#define AM_PM_XOFF 0.78
+#define AM_PM_WIDTH 0.15
+
+#define BASE_DESCR(XOFF) \
+description { state: "default" 0.0; \
+ image.normal: "clock/DM_Clock_time_0.png"; \
+ visible: 1; \
+ rel1 { \
+ to: "whole"; \
+ relative: XOFF DIGIT_Y; \
+ offset: 0 0; \
+ } \
+ rel2 { \
+ to: "whole"; \
+ relative: (XOFF+DIGIT_WIDTH) (DIGIT_Y+DIGIT_HEIGHT); \
+ offset: -1 -1; \
+ } \
+ color: 255 255 255 0; \
+} \
+description { state: "reset" 0.0; \
+ inherit: "default" 0.0; \
+ color: 255 255 255 255; \
+}
+
+#define DIGIT_DESCR_10HOUR(IDX,NUM, X) \
+description { state: "default" 0.0; \
+ image.normal: "clock/DM_Clock_time.png"; \
+ visible: 0; \
+ rel1 { \
+ to: "whole"; \
+ relative: HOUR_10_XOFF DIGIT_Y; \
+ offset: 0 0; \
+ } \
+ rel2 { \
+ to: "whole"; \
+ relative: (HOUR_10_XOFF+DIGIT_10_WIDTH) (DIGIT_Y+DIGIT_HEIGHT); \
+ offset: -1 -1; \
+ } \
+ color: 255 255 255 0; \
+} \
+description { state: "digit" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ color: 255 255 255 255; \
+} \
+description { state: "digit" 0.1; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ color: 255 255 255 255; \
+}
+
+#define DIGIT_DESCR(IDX,NUM, X) \
+description { state: "digit" IDX; \
+ inherit: "default" 0.0; \
+ image.normal: "clock/DM_Clock_time_"NUM".png"; \
+ rel1 { \
+ relative: X DIGIT_Y; \
+ offset: 0 0; \
+ } \
+ rel2 { \
+ relative: (X+DIGIT_WIDTH) (DIGIT_Y+DIGIT_HEIGHT); \
+ offset: 0 0; \
+ } \
+ color: 255 255 255 255; \
+}
+#define BASE_DESCR_AM_PM(XOFF) \
+description { state: "default" 0.0; \
+ image.normal: "clock/DM_Clock_time_0.png"; \
+ visible: 1; \
+ rel1 { \
+ to: "whole"; \
+ relative: XOFF 0.0; \
+ offset: 0 0; \
+ } \
+ rel2 { \
+ to: "whole"; \
+ relative: (XOFF+AM_PM_WIDTH) 1.0; \
+ offset: -1 -1; \
+ } \
+ color: 255 255 255 0; \
+} \
+description { state: "reset" 0.0; \
+ inherit: "default" 0.0; \
+ color: 255 255 255 255; \
+}
+
+#define DIGIT_DESCR_AM_PM(IDX,NUM, X) \
+description { state: "digit" IDX; \
+ inherit: "default" 0.0; \
+ image.normal: "clock/DM_Clock_time_"NUM".png"; \
+ rel1 { \
+ relative: X 0.6; \
+ offset: 0 0; \
+ } \
+ rel2 { \
+ relative: (X+AM_PM_WIDTH) 0.9; \
+ offset: 0 0; \
+ } \
+ color: 255 255 255 255; \
+}
+
+#define BASE_DESCR_WD_MD(XOFF) \
+description { state: "default" 0.0; \
+ visible: 1; \
+ rel1 { \
+ to: "whole"; \
+ relative: XOFF 0.0; \
+ offset: 0 0; \
+ } \
+ rel2 { \
+ to: "whole"; \
+ relative: (XOFF+0.5) 0.3; \
+ offset: -1 -1; \
+ } \
+ color: 255 255 255 255; \
+ text { \
+ text: ""; \
+ font: "Helvetica"; \
+ size: 16; \
+ min: 1 1; \
+ align: 0.5 0.5; \
+ text_class: "configure"; \
+ } \
+} \
+description { state: "reset" 0.0; \
+ inherit: "default" 0.0; \
+ color: 255 255 255 255; \
+}
+
+
+#define DIGIT_DESCR_WD_MD(IDX,DAY, X) \
+description { state: "digit" IDX; \
+ inherit: "default" 0.0; \
+ rel1 { \
+ relative: X 0.0; \
+ offset: 0 0; \
+ } \
+ rel2 { \
+ relative: (X+0.5) DAY_HEIGHT; \
+ offset: -1 -1; \
+ } \
+ color: 255 255 255 255; \
+ color2: 110 133 140 192; \
+ color3: 0 0 0 192; \
+ text { \
+ text: DAY; \
+ font: "Helvetica"; \
+ size: 20; \
+ min: 1 1; \
+ align: 0.0 0.0; \
+ text_class: "configure"; \
+ } \
+}
+
+#define BASE_DESCR_DAY(XOFF) \
+description { state: "default" 0.0; \
+ visible: 1; \
+ rel1 { \
+ to: "whole"; \
+ relative: XOFF 0.0; \
+ offset: 0 0; \
+ } \
+ rel2 { \
+ to: "whole"; \
+ relative: (XOFF+0.5) DAY_HEIGHT; \
+ offset: -1 -1; \
+ } \
+ color: 255 255 255 255; \
+ color2: 110 133 140 192; \
+ color3: 0 0 0 192; \
+ text { \
+ text: "??"; \
+ font: "Helvetica"; \
+ size: 20; \
+ min: 1 1; \
+ align: 0.0 0.0; \
+ text_class: "configure"; \
+ } \
+} \
+description { state: "reset" 0.0; \
+ inherit: "default" 0.0; \
+ color: 255 255 255 255; \
+}
+
+// This sets the digit transition type and length
+#define DIGITRANS SINUSOIDAL 0
+
+#define CELL_TRANS(NAME,IDX,TARGET) \
+ program { name: NAME; \
+ action: STATE_SET "digit" IDX; \
+ transition: DIGITRANS; \
+ target: TARGET; \
+}
+#define HOUR_10_TRANS(NAME,IDX) CELL_TRANS(NAME,IDX,"hour_10")
+#define HOUR_1_TRANS(NAME,IDX) CELL_TRANS(NAME,IDX,"hour_1")
+#define MINUTE_10_TRANS(NAME,IDX) CELL_TRANS(NAME,IDX,"min_10")
+#define MINUTE_1_TRANS(NAME,IDX) CELL_TRANS(NAME,IDX,"min_1")
+#define WEEKDAY_TRANS(NAME,IDX) CELL_TRANS(NAME,IDX,"weekday")
+#define MONTH_TRANS(NAME,IDX) CELL_TRANS(NAME,IDX,"month")
+
+styles
+{
+ style {
+ name: "text_style";
+ base: "font=Helvetica font_size=50 align=left color=#000 style=shadow shadow_color=#ffffff80 wrap=word";
+
+ tag: "br" "\n";
+ tag: "hilight" "+ font=Sans:style=Bold style=glow color=#fff glow2_color=#fe87 glow_color=#fa14";
+ tag: "title" "+ font_size=12 font=Sans:style=Bold style=soft_shadow color=#fff shadow_color=#00000020";
+ tag: "/title" "- \n \n";
+ }
+}
+
+group { name: "e/modules/clock/main";
+
+ script {
+ public cur_hour_;
+ public m_10_;
+ public clock_cb(unused) {
+ new year, month, day, yearday, weekday, hour, minute;
+ new Float:second;
+ new h;
+ new m_mod, m_tmp;
+ new pm;
+ new text[5];
+
+ date(year, month, day, yearday, weekday, hour, minute, second);
+
+ // It is my preference not to have a second hand so the
+ // the timer is set to go off at the top of the minute.
+ timer(61.0 - second, "clock_cb", 1);
+ snprintf(text, 5, "%d%d", day/10,day%10);
+
+ set_text(PART:"day", text);
+ h = get_int(cur_hour_)
+ if (hour != h) {
+ set_int(cur_hour_, hour);
+
+ if (hour > 12) pm = 1;
+ else if (hour == 12) pm = 0;
+
+ if(pm == 1) run_program(PROGRAM:"pm");
+ else if(pm == 0) run_program(PROGRAM:"am");
+
+#ifndef HOURS24
+ if (hour > 12) hour = hour - 12;
+ if (hour == 0) hour = 12;
+#endif
+ new htmp = hour / 10;
+ if (htmp == 0) run_program(PROGRAM:"hour_10_0");
+ else if (htmp == 1) run_program(PROGRAM:"hour_10_1");
+ else if (htmp == 2) run_program(PROGRAM:"hour_10_2");
+
+ //
+ htmp = hour % 10;
+ if (htmp == 0) run_program(PROGRAM:"hour_1_0");
+ else if (htmp == 1) run_program(PROGRAM:"hour_1_1");
+ else if (htmp == 2) run_program(PROGRAM:"hour_1_2");
+ else if (htmp == 3) run_program(PROGRAM:"hour_1_3");
+ else if (htmp == 4) run_program(PROGRAM:"hour_1_4");
+ else if (htmp == 5) run_program(PROGRAM:"hour_1_5");
+ else if (htmp == 6) run_program(PROGRAM:"hour_1_6");
+ else if (htmp == 7) run_program(PROGRAM:"hour_1_7");
+ else if (htmp == 8) run_program(PROGRAM:"hour_1_8");
+ else if (htmp == 9) run_program(PROGRAM:"hour_1_9");
+ }
+
+ m_mod = minute % 10;
+ m_tmp = (minute - m_mod) / 10;
+ if (m_10_ != m_tmp) {
+ m_10_ = m_tmp;
+ // value from 0-5
+ if (m_10_ == 0) run_program(PROGRAM:"min_10_0");
+ else if (m_10_ == 1) run_program(PROGRAM:"min_10_1");
+ else if (m_10_ == 2) run_program(PROGRAM:"min_10_2");
+ else if (m_10_ == 3) run_program(PROGRAM:"min_10_3");
+ else if (m_10_ == 4) run_program(PROGRAM:"min_10_4");
+ else if (m_10_ == 5) run_program(PROGRAM:"min_10_5");
+ }
+ // minutes digit is 0 .. 9
+ if (m_mod == 0) run_program(PROGRAM:"min_1_0");
+ else if (m_mod == 1) run_program(PROGRAM:"min_1_1");
+ else if (m_mod == 2) run_program(PROGRAM:"min_1_2");
+ else if (m_mod == 3) run_program(PROGRAM:"min_1_3");
+ else if (m_mod == 4) run_program(PROGRAM:"min_1_4");
+ else if (m_mod == 5) run_program(PROGRAM:"min_1_5");
+ else if (m_mod == 6) run_program(PROGRAM:"min_1_6");
+ else if (m_mod == 7) run_program(PROGRAM:"min_1_7");
+ else if (m_mod == 8) run_program(PROGRAM:"min_1_8");
+ else if (m_mod == 9) run_program(PROGRAM:"min_1_9");
+
+ if(weekday == 0) run_program(PROGRAM:"weekday_0");
+ else if(weekday == 1) run_program(PROGRAM:"weekday_1");
+ else if(weekday == 2) run_program(PROGRAM:"weekday_2");
+ else if(weekday == 3) run_program(PROGRAM:"weekday_3");
+ else if(weekday == 4) run_program(PROGRAM:"weekday_4");
+ else if(weekday == 5) run_program(PROGRAM:"weekday_5");
+ else if(weekday == 6) run_program(PROGRAM:"weekday_6");
+
+ if(month == 1) run_program(PROGRAM:"month_1");
+ else if(month == 2) run_program(PROGRAM:"month_2");
+ else if(month == 3) run_program(PROGRAM:"month_3");
+ else if(month == 4) run_program(PROGRAM:"month_4");
+ else if(month == 5) run_program(PROGRAM:"month_5");
+ else if(month == 6) run_program(PROGRAM:"month_6");
+ else if(month == 7) run_program(PROGRAM:"month_7");
+ else if(month == 8) run_program(PROGRAM:"month_8");
+ else if(month == 9) run_program(PROGRAM:"month_9");
+ else if(month == 10) run_program(PROGRAM:"month_10");
+ else if(month == 11) run_program(PROGRAM:"month_11");
+ else if(month == 12) run_program(PROGRAM:"month_12");
+ }
+ }
+ parts {
+ part { name: "whole";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 0;
+ rel1 {
+ relative: 0.0 0.1;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 0.9;
+ offset: -1 -1;
+ }
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ rel1 {
+ to: "whole";
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "whole";
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ }
+ }
+ part { name: "hour_10";
+ type: IMAGE;
+ clip_to: "clipper";
+ DIGIT_DESCR_10HOUR(0.0,0, HOUR_10_XOFF);
+ DIGIT_DESCR_10HOUR(0.1,1, HOUR_10_XOFF);
+ DIGIT_DESCR_10HOUR(0.2,2, HOUR_10_XOFF); /* only used in 24-hour clock */
+ }
+ part { name: "hour_1";
+ type: IMAGE;
+ clip_to: "clipper";
+ BASE_DESCR(HOUR_1_XOFF);
+ DIGIT_DESCR(0.0,0, HOUR_1_XOFF);
+ DIGIT_DESCR(0.1,1, HOUR_1_XOFF);
+ DIGIT_DESCR(0.2,2, HOUR_1_XOFF);
+ DIGIT_DESCR(0.3,3, HOUR_1_XOFF);
+ DIGIT_DESCR(0.4,4, HOUR_1_XOFF);
+ DIGIT_DESCR(0.5,5, HOUR_1_XOFF);
+ DIGIT_DESCR(0.6,6, HOUR_1_XOFF);
+ DIGIT_DESCR(0.7,7, HOUR_1_XOFF);
+ DIGIT_DESCR(0.8,8, HOUR_1_XOFF);
+ DIGIT_DESCR(0.9,9, HOUR_1_XOFF);
+ }
+ part { name: "colon";
+ type: IMAGE;
+ clip_to: "clipper";
+ description {
+ state: "default" 0.0;
+ image.normal: "clock/DM_Clock_time_center.png";
+ visible: 1;
+ rel1 {
+ to: "whole";
+ relative: COLON_XOFF DIGIT_Y;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "whole";
+ relative: (COLON_XOFF+COLON_WIDTH) (DIGIT_Y+DIGIT_HEIGHT);
+ offset: 0 0;
+ }
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "min_10";
+ type: IMAGE;
+ clip_to: "clipper";
+ BASE_DESCR(MIN_10_XOFF);
+ DIGIT_DESCR(0.0,0, MIN_10_XOFF);
+ DIGIT_DESCR(0.1,1, MIN_10_XOFF);
+ DIGIT_DESCR(0.2,2, MIN_10_XOFF);
+ DIGIT_DESCR(0.3,3, MIN_10_XOFF);
+ DIGIT_DESCR(0.4,4, MIN_10_XOFF);
+ DIGIT_DESCR(0.5,5, MIN_10_XOFF);
+ }
+
+ part { name: "min_1";
+ type: IMAGE;
+ clip_to: "clipper";
+ BASE_DESCR(MIN_1_XOFF);
+ DIGIT_DESCR(0.0,0, MIN_1_XOFF);
+ DIGIT_DESCR(0.1,1, MIN_1_XOFF);
+ DIGIT_DESCR(0.2,2, MIN_1_XOFF);
+ DIGIT_DESCR(0.3,3, MIN_1_XOFF);
+ DIGIT_DESCR(0.4,4, MIN_1_XOFF);
+ DIGIT_DESCR(0.5,5, MIN_1_XOFF);
+ DIGIT_DESCR(0.6,6, MIN_1_XOFF);
+ DIGIT_DESCR(0.7,7, MIN_1_XOFF);
+ DIGIT_DESCR(0.8,8, MIN_1_XOFF);
+ DIGIT_DESCR(0.9,9, MIN_1_XOFF);
+ }
+ part { name: "am_pm";
+ type: IMAGE;
+ clip_to: "clipper";
+ BASE_DESCR_AM_PM(AM_PM_XOFF);
+ DIGIT_DESCR_AM_PM(0.0,AM, AM_PM_XOFF);
+ DIGIT_DESCR_AM_PM(0.1,PM, AM_PM_XOFF);
+ }
+ part { name: "weekday";
+ type: TEXT;
+ effect: OUTLINE_SOFT_SHADOW;
+ BASE_DESCR_WD_MD(WEEKDAY_XOFF);
+ DIGIT_DESCR_WD_MD(0.0,Mon., WEEKDAY_XOFF);
+ DIGIT_DESCR_WD_MD(0.1,Tue., WEEKDAY_XOFF);
+ DIGIT_DESCR_WD_MD(0.2,Wed., WEEKDAY_XOFF);
+ DIGIT_DESCR_WD_MD(0.3,Tur., WEEKDAY_XOFF);
+ DIGIT_DESCR_WD_MD(0.4,Fri., WEEKDAY_XOFF);
+ DIGIT_DESCR_WD_MD(0.5,Sat., WEEKDAY_XOFF);
+ DIGIT_DESCR_WD_MD(0.6,Sun., WEEKDAY_XOFF);
+ }
+ part { name: "day";
+ type: TEXT;
+ effect: OUTLINE_SOFT_SHADOW;
+ BASE_DESCR_DAY(DAY_XOFF);
+ }
+
+ part { name: "month";
+ type: TEXT;
+ effect: OUTLINE_SOFT_SHADOW;
+ BASE_DESCR_WD_MD(MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.01,Jan, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.02,Feb, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.03,Mar, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.04,Apr, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.05,May, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.06,Jun, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.07,Jul, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.08,Aug, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.09,Sep, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.10,Oct, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.11,Nov, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.12,Dec, MONTH_XOFF);
+ }
+
+ part { name: "main";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "whole";
+ relative: 0.0 0.0;
+ offset: 0 2;
+ }
+ rel2 {
+ to: "whole";
+ relative: 1.0 1.0;
+ offset: -1 -2;
+ }
+ color: 255 255 255 0;
+ }
+ }
+ }
+
+ programs {
+ program { name: "init";
+ signal: "load";
+ source: "";
+ script {
+ set_int(cur_hour_,-1);
+ set_int(m_10_,-1);
+ clock_cb(0);
+ }
+ }
+
+ /* Each transition happens in a similar manner. The only quirk
+ * is that on a transition to 0 a transition to "reset" is made
+ * before the actual change so that rolling always goes the same
+ * direction. (It would be simpler and still work if I didn't do
+ * this, but it looks odd on minute transitions like 19->20
+ * where '1' would roll one way to '2' and '9' would roll
+ * backwards to '0'.)
+ */
+
+ /* The tens of hours transitions */
+ program { name: "am";
+ action: STATE_SET "digit" 0.0;
+ target: "am_pm";
+ }
+ program { name: "pm";
+ action: STATE_SET "digit" 0.1;
+ target: "am_pm";
+ }
+ program { name: "hour_10_0";
+ action: STATE_SET "reset" 0.0;
+ target: "hour_10";
+ after: "hour_10_to_zero";
+ }
+ program { name: "hour_10_to_zero";
+ action: STATE_SET "digit" 0.0;
+ transition: DIGITRANS;
+ target: "hour_10";
+ }
+ HOUR_10_TRANS("hour_10_1", 0.1);
+ HOUR_10_TRANS("hour_10_2", 0.2); /* only used in 24-hour clock */
+
+ /* The hours transitions */
+ program { name: "hour_1_0";
+ action: STATE_SET "reset" 0.0;
+ target: "hour_1";
+ after: "hour_1_to_zero";
+ }
+ program { name: "hour_1_to_zero";
+ action: STATE_SET "digit" 0.0;
+ transition: DIGITRANS;
+ target: "hour_1";
+ }
+ HOUR_1_TRANS("hour_1_1", 0.1);
+ HOUR_1_TRANS("hour_1_2", 0.2);
+ HOUR_1_TRANS("hour_1_3", 0.3);
+ HOUR_1_TRANS("hour_1_4", 0.4);
+ HOUR_1_TRANS("hour_1_5", 0.5);
+ HOUR_1_TRANS("hour_1_6", 0.6);
+ HOUR_1_TRANS("hour_1_7", 0.7);
+ HOUR_1_TRANS("hour_1_8", 0.8);
+ HOUR_1_TRANS("hour_1_9", 0.9);
+
+ /* The tens of minutes transitions */
+ program { name: "min_10_0";
+ action: STATE_SET "reset" 0.0;
+ target: "min_10";
+ after: "min_10_to_zero";
+ }
+ program { name: "min_10_to_zero";
+ action: STATE_SET "digit" 0.0;
+ transition: DIGITRANS;
+ target: "min_10";
+ }
+ MINUTE_10_TRANS("min_10_1", 0.1);
+ MINUTE_10_TRANS("min_10_2", 0.2);
+ MINUTE_10_TRANS("min_10_3", 0.3);
+ MINUTE_10_TRANS("min_10_4", 0.4);
+ MINUTE_10_TRANS("min_10_5", 0.5);
+
+ /* The minute transitions */
+ program { name: "min_1_0";
+ action: STATE_SET "reset" 0.0;
+ target: "min_1";
+ after: "min_1_to_zero";
+ }
+ program { name: "min_1_to_zero";
+ action: STATE_SET "digit" 0.0;
+ transition: DIGITRANS;
+ target: "min_1";
+ }
+ MINUTE_1_TRANS("min_1_1", 0.1);
+ MINUTE_1_TRANS("min_1_2", 0.2);
+ MINUTE_1_TRANS("min_1_3", 0.3);
+ MINUTE_1_TRANS("min_1_4", 0.4);
+ MINUTE_1_TRANS("min_1_5", 0.5);
+ MINUTE_1_TRANS("min_1_6", 0.6);
+ MINUTE_1_TRANS("min_1_7", 0.7);
+ MINUTE_1_TRANS("min_1_8", 0.8);
+ MINUTE_1_TRANS("min_1_9", 0.9);
+
+ WEEKDAY_TRANS("weekday_0",0.0);
+ WEEKDAY_TRANS("weekday_1",0.1);
+ WEEKDAY_TRANS("weekday_2",0.2);
+ WEEKDAY_TRANS("weekday_3",0.3);
+ WEEKDAY_TRANS("weekday_4",0.4);
+ WEEKDAY_TRANS("weekday_5",0.5);
+ WEEKDAY_TRANS("weekday_6",0.6);
+
+ MONTH_TRANS("month_1",0.01);
+ MONTH_TRANS("month_2",0.02);
+ MONTH_TRANS("month_3",0.03);
+ MONTH_TRANS("month_4",0.04);
+ MONTH_TRANS("month_5",0.05);
+ MONTH_TRANS("month_6",0.06);
+ MONTH_TRANS("month_7",0.07);
+ MONTH_TRANS("month_8",0.08);
+ MONTH_TRANS("month_9",0.09);
+ MONTH_TRANS("month_10",0.10);
+ MONTH_TRANS("month_11",0.11);
+ MONTH_TRANS("month_12",0.12);
+
+ }
+}
+group { name: "e/modules/clock/digital";
+
+ script {
+ public cur_hour_;
+ public m_10_;
+ public clock_cb(unused) {
+ new year, month, day, yearday, weekday, hour, minute;
+ new Float:second;
+ new h;
+ new m_mod, m_tmp;
+ new pm;
+ new text[5];
+
+ date(year, month, day, yearday, weekday, hour, minute, second);
+
+ // It is my preference not to have a second hand so the
+ // the timer is set to go off at the top of the minute.
+ timer(61.0 - second, "clock_cb", 1);
+ snprintf(text, 5, "%d%d", day/10,day%10);
+
+ set_text(PART:"day", text);
+ h = get_int(cur_hour_)
+ if (hour != h) {
+ set_int(cur_hour_, hour);
+
+ if (hour > 12) pm = 1;
+ else if (hour == 12) pm = 0;
+
+ if(pm == 1) run_program(PROGRAM:"pm");
+ else if(pm == 0) run_program(PROGRAM:"am");
+
+#ifndef HOURS24
+ if (hour > 12) hour = hour - 12;
+ if (hour == 0) hour = 12;
+#endif
+ new htmp = hour / 10;
+ if (htmp == 0) run_program(PROGRAM:"hour_10_0");
+ else if (htmp == 1) run_program(PROGRAM:"hour_10_1");
+ else if (htmp == 2) run_program(PROGRAM:"hour_10_2");
+
+ //
+ htmp = hour % 10;
+ if (htmp == 0) run_program(PROGRAM:"hour_1_0");
+ else if (htmp == 1) run_program(PROGRAM:"hour_1_1");
+ else if (htmp == 2) run_program(PROGRAM:"hour_1_2");
+ else if (htmp == 3) run_program(PROGRAM:"hour_1_3");
+ else if (htmp == 4) run_program(PROGRAM:"hour_1_4");
+ else if (htmp == 5) run_program(PROGRAM:"hour_1_5");
+ else if (htmp == 6) run_program(PROGRAM:"hour_1_6");
+ else if (htmp == 7) run_program(PROGRAM:"hour_1_7");
+ else if (htmp == 8) run_program(PROGRAM:"hour_1_8");
+ else if (htmp == 9) run_program(PROGRAM:"hour_1_9");
+ }
+
+ m_mod = minute % 10;
+ m_tmp = (minute - m_mod) / 10;
+ if (m_10_ != m_tmp) {
+ m_10_ = m_tmp;
+ // value from 0-5
+ if (m_10_ == 0) run_program(PROGRAM:"min_10_0");
+ else if (m_10_ == 1) run_program(PROGRAM:"min_10_1");
+ else if (m_10_ == 2) run_program(PROGRAM:"min_10_2");
+ else if (m_10_ == 3) run_program(PROGRAM:"min_10_3");
+ else if (m_10_ == 4) run_program(PROGRAM:"min_10_4");
+ else if (m_10_ == 5) run_program(PROGRAM:"min_10_5");
+ }
+ // minutes digit is 0 .. 9
+ if (m_mod == 0) run_program(PROGRAM:"min_1_0");
+ else if (m_mod == 1) run_program(PROGRAM:"min_1_1");
+ else if (m_mod == 2) run_program(PROGRAM:"min_1_2");
+ else if (m_mod == 3) run_program(PROGRAM:"min_1_3");
+ else if (m_mod == 4) run_program(PROGRAM:"min_1_4");
+ else if (m_mod == 5) run_program(PROGRAM:"min_1_5");
+ else if (m_mod == 6) run_program(PROGRAM:"min_1_6");
+ else if (m_mod == 7) run_program(PROGRAM:"min_1_7");
+ else if (m_mod == 8) run_program(PROGRAM:"min_1_8");
+ else if (m_mod == 9) run_program(PROGRAM:"min_1_9");
+
+ if(weekday == 0) run_program(PROGRAM:"weekday_0");
+ else if(weekday == 1) run_program(PROGRAM:"weekday_1");
+ else if(weekday == 2) run_program(PROGRAM:"weekday_2");
+ else if(weekday == 3) run_program(PROGRAM:"weekday_3");
+ else if(weekday == 4) run_program(PROGRAM:"weekday_4");
+ else if(weekday == 5) run_program(PROGRAM:"weekday_5");
+ else if(weekday == 6) run_program(PROGRAM:"weekday_6");
+
+ if(month == 1) run_program(PROGRAM:"month_1");
+ else if(month == 2) run_program(PROGRAM:"month_2");
+ else if(month == 3) run_program(PROGRAM:"month_3");
+ else if(month == 4) run_program(PROGRAM:"month_4");
+ else if(month == 5) run_program(PROGRAM:"month_5");
+ else if(month == 6) run_program(PROGRAM:"month_6");
+ else if(month == 7) run_program(PROGRAM:"month_7");
+ else if(month == 8) run_program(PROGRAM:"month_8");
+ else if(month == 9) run_program(PROGRAM:"month_9");
+ else if(month == 10) run_program(PROGRAM:"month_10");
+ else if(month == 11) run_program(PROGRAM:"month_11");
+ else if(month == 12) run_program(PROGRAM:"month_12");
+ }
+ }
+ parts {
+ part { name: "whole";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 0;
+ rel1 {
+ relative: 0.0 0.1;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 0.9;
+ offset: -1 -1;
+ }
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ rel1 {
+ to: "whole";
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "whole";
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ }
+ }
+ part { name: "hour_10";
+ type: IMAGE;
+ clip_to: "clipper";
+ BASE_DESCR(HOUR_10_XOFF);
+ DIGIT_DESCR(0.0,0, HOUR_10_XOFF);
+ DIGIT_DESCR(0.1,1, HOUR_10_XOFF);
+ DIGIT_DESCR(0.2,2, HOUR_10_XOFF); /* only used in 24-hour clock */
+ }
+ part { name: "hour_1";
+ type: IMAGE;
+ clip_to: "clipper";
+ BASE_DESCR(HOUR_1_XOFF);
+ DIGIT_DESCR(0.0,0, HOUR_1_XOFF);
+ DIGIT_DESCR(0.1,1, HOUR_1_XOFF);
+ DIGIT_DESCR(0.2,2, HOUR_1_XOFF);
+ DIGIT_DESCR(0.3,3, HOUR_1_XOFF);
+ DIGIT_DESCR(0.4,4, HOUR_1_XOFF);
+ DIGIT_DESCR(0.5,5, HOUR_1_XOFF);
+ DIGIT_DESCR(0.6,6, HOUR_1_XOFF);
+ DIGIT_DESCR(0.7,7, HOUR_1_XOFF);
+ DIGIT_DESCR(0.8,8, HOUR_1_XOFF);
+ DIGIT_DESCR(0.9,9, HOUR_1_XOFF);
+ }
+ part { name: "colon";
+ type: IMAGE;
+ clip_to: "clipper";
+ description {
+ state: "default" 0.0;
+ image.normal: "clock/DM_Clock_time_center.png";
+ visible: 1;
+ rel1 {
+ to: "whole";
+ relative: COLON_XOFF DIGIT_Y;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "whole";
+ relative: (COLON_XOFF+.1) 1.0;
+ offset: 0 0;
+ }
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "min_10";
+ type: IMAGE;
+ clip_to: "clipper";
+ BASE_DESCR(MIN_10_XOFF);
+ DIGIT_DESCR(0.0,0, MIN_10_XOFF);
+ DIGIT_DESCR(0.1,1, MIN_10_XOFF);
+ DIGIT_DESCR(0.2,2, MIN_10_XOFF);
+ DIGIT_DESCR(0.3,3, MIN_10_XOFF);
+ DIGIT_DESCR(0.4,4, MIN_10_XOFF);
+ DIGIT_DESCR(0.5,5, MIN_10_XOFF);
+ }
+
+ part { name: "min_1";
+ type: IMAGE;
+ clip_to: "clipper";
+ BASE_DESCR(MIN_1_XOFF);
+ DIGIT_DESCR(0.0,0, MIN_1_XOFF);
+ DIGIT_DESCR(0.1,1, MIN_1_XOFF);
+ DIGIT_DESCR(0.2,2, MIN_1_XOFF);
+ DIGIT_DESCR(0.3,3, MIN_1_XOFF);
+ DIGIT_DESCR(0.4,4, MIN_1_XOFF);
+ DIGIT_DESCR(0.5,5, MIN_1_XOFF);
+ DIGIT_DESCR(0.6,6, MIN_1_XOFF);
+ DIGIT_DESCR(0.7,7, MIN_1_XOFF);
+ DIGIT_DESCR(0.8,8, MIN_1_XOFF);
+ DIGIT_DESCR(0.9,9, MIN_1_XOFF);
+ }
+ part { name: "am_pm";
+ type: IMAGE;
+ clip_to: "clipper";
+ BASE_DESCR_AM_PM(AM_PM_XOFF);
+ DIGIT_DESCR_AM_PM(0.0,AM, AM_PM_XOFF);
+ DIGIT_DESCR_AM_PM(0.1,PM, AM_PM_XOFF);
+ }
+ part { name: "weekday";
+ type: TEXT;
+ effect: OUTLINE_SOFT_SHADOW;
+ BASE_DESCR_WD_MD(WEEKDAY_XOFF);
+ DIGIT_DESCR_WD_MD(0.0,Mon., WEEKDAY_XOFF);
+ DIGIT_DESCR_WD_MD(0.1,Tue., WEEKDAY_XOFF);
+ DIGIT_DESCR_WD_MD(0.2,Wed., WEEKDAY_XOFF);
+ DIGIT_DESCR_WD_MD(0.3,Tur., WEEKDAY_XOFF);
+ DIGIT_DESCR_WD_MD(0.4,Fri., WEEKDAY_XOFF);
+ DIGIT_DESCR_WD_MD(0.5,Sat., WEEKDAY_XOFF);
+ DIGIT_DESCR_WD_MD(0.6,Sun., WEEKDAY_XOFF);
+ }
+ part { name: "day";
+ type: TEXT;
+ effect: OUTLINE_SOFT_SHADOW;
+ scale: 1;
+ BASE_DESCR_DAY(DAY_XOFF);
+ }
+
+ part { name: "month";
+ type: TEXT;
+ effect: OUTLINE_SOFT_SHADOW;
+ BASE_DESCR_WD_MD(MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.01,Jan, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.02,Feb, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.03,Mar, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.04,Apr, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.05,May, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.06,Jun, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.07,Jul, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.08,Aug, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.09,Sep, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.10,Oct, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.11,Nov, MONTH_XOFF);
+ DIGIT_DESCR_WD_MD(0.12,Dec, MONTH_XOFF);
+ }
+
+ part { name: "main";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "whole";
+ relative: 0.0 0.0;
+ offset: 0 2;
+ }
+ rel2 {
+ to: "whole";
+ relative: 1.0 1.0;
+ offset: -1 -2;
+ }
+ color: 255 255 255 0;
+ }
+ }
+ }
+
+ programs {
+ program { name: "init";
+ signal: "load";
+ source: "";
+ script {
+ set_int(cur_hour_,-1);
+ set_int(m_10_,-1);
+ clock_cb(0);
+ }
+ }
+
+ /* Each transition happens in a similar manner. The only quirk
+ * is that on a transition to 0 a transition to "reset" is made
+ * before the actual change so that rolling always goes the same
+ * direction. (It would be simpler and still work if I didn't do
+ * this, but it looks odd on minute transitions like 19->20
+ * where '1' would roll one way to '2' and '9' would roll
+ * backwards to '0'.)
+ */
+
+ /* The tens of hours transitions */
+ program { name: "am";
+ action: STATE_SET "digit" 0.0;
+ target: "am_pm";
+ }
+ program { name: "pm";
+ action: STATE_SET "digit" 0.1;
+ target: "am_pm";
+ }
+ program { name: "hour_10_0";
+ action: STATE_SET "reset" 0.0;
+ target: "hour_10";
+ after: "hour_10_to_zero";
+ }
+ program { name: "hour_10_to_zero";
+ action: STATE_SET "digit" 0.0;
+ transition: DIGITRANS;
+ target: "hour_10";
+ }
+ HOUR_10_TRANS("hour_10_1", 0.1);
+ HOUR_10_TRANS("hour_10_2", 0.2); /* only used in 24-hour clock */
+
+ /* The hours transitions */
+
+ program { name: "hour_1_0";
+ action: STATE_SET "reset" 0.0;
+ target: "hour_1";
+ after: "hour_1_to_zero";
+ }
+ program { name: "hour_1_to_zero";
+ action: STATE_SET "digit" 0.0;
+ transition: DIGITRANS;
+ target: "hour_1";
+ }
+ HOUR_1_TRANS("hour_1_1", 0.1);
+ HOUR_1_TRANS("hour_1_2", 0.2);
+ HOUR_1_TRANS("hour_1_3", 0.3);
+ HOUR_1_TRANS("hour_1_4", 0.4);
+ HOUR_1_TRANS("hour_1_5", 0.5);
+ HOUR_1_TRANS("hour_1_6", 0.6);
+ HOUR_1_TRANS("hour_1_7", 0.7);
+ HOUR_1_TRANS("hour_1_8", 0.8);
+ HOUR_1_TRANS("hour_1_9", 0.9);
+
+ /* The tens of minutes transitions */
+
+ program { name: "min_10_0";
+ action: STATE_SET "reset" 0.0;
+ target: "min_10";
+ after: "min_10_to_zero";
+ }
+ program { name: "min_10_to_zero";
+ action: STATE_SET "digit" 0.0;
+ transition: DIGITRANS;
+ target: "min_10";
+ }
+ MINUTE_10_TRANS("min_10_1", 0.1);
+ MINUTE_10_TRANS("min_10_2", 0.2);
+ MINUTE_10_TRANS("min_10_3", 0.3);
+ MINUTE_10_TRANS("min_10_4", 0.4);
+ MINUTE_10_TRANS("min_10_5", 0.5);
+
+ /* The minute transitions */
+
+ program { name: "min_1_0";
+ action: STATE_SET "reset" 0.0;
+ target: "min_1";
+ after: "min_1_to_zero";
+ }
+ program { name: "min_1_to_zero";
+ action: STATE_SET "digit" 0.0;
+ transition: DIGITRANS;
+ target: "min_1";
+ }
+ /* */
+ MINUTE_1_TRANS("min_1_1", 0.1);
+ MINUTE_1_TRANS("min_1_2", 0.2);
+ MINUTE_1_TRANS("min_1_3", 0.3);
+ MINUTE_1_TRANS("min_1_4", 0.4);
+ MINUTE_1_TRANS("min_1_5", 0.5);
+ MINUTE_1_TRANS("min_1_6", 0.6);
+ MINUTE_1_TRANS("min_1_7", 0.7);
+ MINUTE_1_TRANS("min_1_8", 0.8);
+ MINUTE_1_TRANS("min_1_9", 0.9);
+
+ WEEKDAY_TRANS("weekday_0",0.0);
+ WEEKDAY_TRANS("weekday_1",0.1);
+ WEEKDAY_TRANS("weekday_2",0.2);
+ WEEKDAY_TRANS("weekday_3",0.3);
+ WEEKDAY_TRANS("weekday_4",0.4);
+ WEEKDAY_TRANS("weekday_5",0.5);
+ WEEKDAY_TRANS("weekday_6",0.6);
+
+ MONTH_TRANS("month_1",0.01);
+ MONTH_TRANS("month_2",0.02);
+ MONTH_TRANS("month_3",0.03);
+ MONTH_TRANS("month_4",0.04);
+ MONTH_TRANS("month_5",0.05);
+ MONTH_TRANS("month_6",0.06);
+ MONTH_TRANS("month_7",0.07);
+ MONTH_TRANS("month_8",0.08);
+ MONTH_TRANS("month_9",0.09);
+ MONTH_TRANS("month_10",0.10);
+ MONTH_TRANS("month_11",0.11);
+ MONTH_TRANS("month_12",0.12);
+
+ }
+}
+
+/////////////////////////////////////////////////////////////////////////////
+/*** MOD: IBOX / IBAR ***/
+
+ group {
+ name: "e/modules/ibox/icon";
+ alias: "e/modules/ibar/icon";
+ data {
+ // This didn't seem to work ...
+ item: "raise_on_hilight" "0"; // 1 or 0 if u want an icon holder
+ // to raise when the mouse (or
+ // keyboard) hilights it
+ // item: "item_list" "item item2 item3";
+ }
+ parts {
+ part {
+ name: "item_clip";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ type: SWALLOW;
+ clip_to: "item_clip";
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.35 0.25;
+ offset: 2 2;
+ }
+ rel2 {
+ relative: 0.65 0.55;
+ offset: -2 -2;
+ }
+ }
+ description {
+ state: "smaller" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ offset: 5 5;
+ }
+ rel2 {
+ offset: -5 -5;
+ }
+ }
+ }
+ part {
+ name: "over";
+ type: RECT;
+ repeat_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "hover_down";
+ signal: "mouse,down,1";
+ source: "over";
+ action: STATE_SET "smaller" 0.0;
+ transition: LINEAR 0.2;
+ target: "e.swallow.content";
+ }
+ program {
+ name: "hover_up";
+ signal: "mouse,up,1";
+ source: "over";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.2;
+ target: "e.swallow.content";
+ }
+ program {
+ name: "exec_start";
+ signal: "e,action,start";
+ source: "e";
+ action: STATE_SET "faded" 0.0;
+ transition: LINEAR 0.5;
+ target: "item_clip";
+ }
+ program {
+ name: "exec_exec";
+ signal: "e,action,exec";
+ source: "e";
+ action: STATE_SET "faded" 0.0;
+ transition: LINEAR 0.5;
+ target: "item_clip";
+ after: "exec_stop";
+ }
+ program {
+ name: "exec_stop";
+ signal: "e,action,stop";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "item_clip";
+ }
+ }
+ }
+ group {
+ name: "e/modules/ibox/icon_overlay";
+ alias: "e/modules/ibar/icon_overlay";
+ data {
+ // item: "item_list", "item item2 item3";
+ }
+ parts {
+ part {
+ name: "base";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ }
+ part {
+ name: "background";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ to: "base";
+ }
+ rel2 {
+ to: "base";
+ }
+ color: 255 255 255 0;
+ }
+ description {
+ state: "visible" 0.0;
+ visible: 1;
+ rel1 {
+ to: "base";
+ offset: 0 -5;
+ }
+ rel2 {
+ to: "base";
+ offset: 0 -5;
+ }
+ color: 255 255 255 255;
+ }
+ description {
+ state: "hidden" 0.0;
+ visible: 1;
+ rel1 {
+ relative: -0.3 -0.3;
+ offset: 0 -5;
+ to: "base";
+ }
+ rel2 {
+ relative: 1.3 1.3;
+ offset: 0 -5;
+ to: "base";
+ }
+ color: 255 255 255 0;
+ }
+ description {
+ state: "huge" 0.0;
+ visible: 1;
+ rel1 {
+ relative: -2.0 -2.0;
+ to: "base";
+ }
+ rel2 {
+ relative: 3.0 3.0;
+ to: "base";
+ }
+ color: 255 255 255 0;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ type: SWALLOW;
+ clip_to: "background";
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "background";
+ }
+ rel2 {
+ to: "background";
+ }
+ }
+ }
+ // Smoke ibar text doesn't "fade away" it rolls up
+ part {
+ name: "text_clip";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "base";
+ offset: 0 0;
+ }
+ rel2 {
+ to: "base";
+ offset: 0 0;
+ }
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "e.text.label";
+ type: TEXT;
+ effect: SOFT_SHADOW;
+ mouse_events: 0;
+ clip_to: "text_clip";
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ rel1 {
+ relative: 0.0 0.45;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 0.9;
+ offset: 0 0;
+ }
+ color: 255 255 255 255;
+ color3: 0 0 0 42;
+ color_class: "module_label";
+ text {
+ text: "";
+ font: "Sans";
+ size: 14;
+ min: 0 0;
+ align: 0.5 0.5;
+ elipsis: 0.0;
+ text_class: "module_normal";
+ }
+ }
+ }
+ }
+ programs {
+ program {
+ name: "go_active";
+ signal: "e,state,focused";
+ source: "e";
+ action: STATE_SET "visible" 0.0;
+ target: "background";
+ after: "go_active2";
+ }
+ program {
+ name: "go_activeB";
+ signal: "e,action,show,label";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "e.text.label";
+ after: "go_activeB2";
+ }
+ program {
+ name: "go_activeB2";
+ signal: "";
+ source: "";
+ action: STATE_SET "visible" 0.0;
+ target: "e.text.label";
+ }
+ program {
+ name: "go_active2";
+ signal: "";
+ source: "";
+ action: STATE_SET "hidden" 0.0;
+ target: "background";
+ after: "go_active";
+ }
+ program {
+ name: "go_passive";
+ signal: "e,state,unfocused";
+ source: "e";
+ action: ACTION_STOP;
+ target: "go_active";
+ target: "go_active2";
+ after: "go_passive2";
+ }
+ program {
+ name: "go_passiveB";
+ signal: "e,action,hide,label";
+ source: "e";
+ action: STATE_SET "visible" 0.0;
+ target: "e.text.label";
+ after: "go_passiveB2";
+ }
+ program {
+ name: "go_passiveB2";
+ signal: "";
+ source: "";
+ action: STATE_SET "default" 0.0;
+ target: "e.text.label";
+ }
+ program {
+ name: "go_passive2";
+ signal: "";
+ source: "";
+ action: STATE_SET "default" 0.0;
+ target: "background";
+ }
+ program {
+ name: "go_big";
+ action: STATE_SET "visible" 0.0;
+ target: "background";
+ after: "go_big2";
+ }
+ program {
+ name: "go_big2";
+ action: STATE_SET "huge" 0.0;
+ target: "background";
+ }
+ program {
+ name: "exec_start";
+ signal: "e,action,start";
+ source: "e";
+ action: ACTION_STOP;
+ target: "go_active";
+ target: "go_active2";
+ target: "go_passive";
+ target: "go_passive2";
+ target: "go_big";
+ target: "go_big2";
+ after: "go_big";
+ }
+ program {
+ name: "exec_exec";
+ signal: "e,action,exec";
+ source: "e";
+ after: "exec_start";
+ }
+ program {
+ name: "exec_stop";
+ signal: "e,action,stop";
+ source: "e";
+ }
+ }
+ }
+ group {
+ name: "e/modules/ibox/drop";
+ alias: "e/modules/ibar/drop";
+ images.image: "inset_raised.png" COMP;
+ parts {
+ part {
+ name: "bg";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ image {
+ normal: "inset_raised.png";
+ border: 7 7 7 7;
+ middle: 0;
+ }
+ }
+ }
+ }
+ }
+ group {
+ name: "e/modules/ibox/drop_overlay";
+ alias: "e/modules/ibar/drop_overlay";
+ images {
+ image: "gadman_top.png" COMP;
+ image: "gadman_bottom.png" COMP;
+ image: "gadman_left.png" COMP;
+ image: "gadman_right.png" COMP;
+ }
+ parts {
+ part {
+ name: "left_arrow1";
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1.relative: -1.0 0.5;
+ rel2.relative: -1.0 0.5;
+ image.normal: "gadman_right.png";
+ }
+ description {
+ state: "1" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: -0.8 0.2;
+ rel2.relative: -0.7 0.8;
+ }
+ description {
+ state: "2" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.2 0.5;
+ rel2.relative: 0.2 0.5;
+ }
+ }
+ part {
+ name: "left_arrow2";
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1.relative: -1.0 0.5;
+ rel2.relative: -1.0 0.5;
+ image.normal: "gadman_right.png";
+ }
+ description {
+ state: "1" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: -0.8 0.2;
+ rel2.relative: -0.7 0.8;
+ }
+ description {
+ state: "2" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.2 0.5;
+ rel2.relative: 0.2 0.5;
+ }
+ }
+ part {
+ name: "right_arrow1";
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1.relative: 2.0 0.5;
+ rel2.relative: 2.0 0.5;
+ image.normal: "gadman_left.png";
+ }
+ description {
+ state: "1" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 1.8 0.2;
+ rel2.relative: 1.7 0.8;
+ }
+ description {
+ state: "2" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.8 0.5;
+ rel2.relative: 0.8 0.5;
+ }
+ }
+ part {
+ name: "right_arrow2";
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1.relative: 2.0 0.5;
+ rel2.relative: 2.0 0.5;
+ image.normal: "gadman_left.png";
+ }
+ description {
+ state: "1" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 1.8 0.2;
+ rel2.relative: 1.7 0.8;
+ }
+ description {
+ state: "2" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.8 0.5;
+ rel2.relative: 0.8 0.5;
+ }
+ }
+ part {
+ name: "top_arrow1";
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ rel1.relative: 0.5 -1.0;
+ rel2.relative: 0.5 -1.0;
+ image.normal: "gadman_bottom.png";
+ }
+ description {
+ state: "1" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.2 -0.8;
+ rel2.relative: 0.8 -0.7;
+ }
+ description {
+ state: "2" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.5 0.2;
+ rel2.relative: 0.5 0.2;
+ }
+ }
+ part {
+ name: "top_arrow2";
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ rel1.relative: 0.5 -1.0;
+ rel2.relative: 0.5 -1.0;
+ image.normal: "gadman_bottom.png";
+ }
+ description {
+ state: "1" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.2 -0.8;
+ rel2.relative: 0.8 -0.7;
+ }
+ description {
+ state: "2" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.5 0.2;
+ rel2.relative: 0.5 0.2;
+ }
+ }
+ part {
+ name: "bottom_arrow1";
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ rel1.relative: 0.5 2.0;
+ rel2.relative: 0.5 2.0;
+ image.normal: "gadman_top.png";
+ }
+ description {
+ state: "1" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.2 1.7;
+ rel2.relative: 0.8 1.8;
+ }
+ description {
+ state: "2" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.5 0.8;
+ rel2.relative: 0.5 0.8;
+ }
+ }
+ part {
+ name: "bottom_arrow2";
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ rel1.relative: 0.5 2.0;
+ rel2.relative: 0.5 2.0;
+ image.normal: "gadman_top.png";
+ }
+ description {
+ state: "1" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.2 1.7;
+ rel2.relative: 0.8 1.8;
+ }
+ description {
+ state: "2" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.5 0.8;
+ rel2.relative: 0.5 0.8;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "start1";
+ signal: "show";
+ source: "";
+ after: "left1_1";
+ after: "right1_1";
+ after: "top1_1";
+ after: "bottom1_1";
+ }
+ program {
+ name: "start2";
+ signal: "show";
+ source: "";
+ in: 0.4 0.0;
+ after: "left2_1";
+ after: "right2_1";
+ after: "top2_1";
+ after: "bottom2_1";
+ }
+ // LEFT ARROW
+ program {
+ name: "left1_1";
+ action: STATE_SET "1" 0.0;
+ target: "left_arrow1";
+ transition: LINEAR 0.4;
+ after: "left1_2";
+ }
+ program {
+ name: "left1_2";
+ action: STATE_SET "2" 0.0;
+ target: "left_arrow1";
+ transition: LINEAR 0.4;
+ after: "left1_r";
+ }
+ program {
+ name: "left1_r";
+ action: STATE_SET "default" 0.0;
+ target: "left_arrow1";
+ after: "left1_1";
+ }
+ program {
+ name: "left2_1";
+ action: STATE_SET "1" 0.0;
+ target: "left_arrow2";
+ transition: LINEAR 0.4;
+ after: "left2_2";
+ }
+ program {
+ name: "left2_2";
+ action: STATE_SET "2" 0.0;
+ target: "left_arrow2";
+ transition: LINEAR 0.4;
+ after: "left2_r";
+ }
+ program {
+ name: "left2_r";
+ action: STATE_SET "default" 0.0;
+ target: "left_arrow2";
+ after: "left2_1";
+ }
+ // RIGHT ARROW
+ program {
+ name: "right1_1";
+ action: STATE_SET "1" 0.0;
+ target: "right_arrow1";
+ transition: LINEAR 0.4;
+ after: "right1_2";
+ }
+ program {
+ name: "right1_2";
+ action: STATE_SET "2" 0.0;
+ target: "right_arrow1";
+ transition: LINEAR 0.4;
+ after: "right1_r";
+ }
+ program {
+ name: "right1_r";
+ action: STATE_SET "default" 0.0;
+ target: "right_arrow1";
+ after: "right1_1";
+ }
+ program {
+ name: "right2_1";
+ action: STATE_SET "1" 0.0;
+ target: "right_arrow2";
+ transition: LINEAR 0.4;
+ after: "right2_2";
+ }
+ program {
+ name: "right2_2";
+ action: STATE_SET "2" 0.0;
+ target: "right_arrow2";
+ transition: LINEAR 0.4;
+ after: "right2_r";
+ }
+ program {
+ name: "right2_r";
+ action: STATE_SET "default" 0.0;
+ target: "right_arrow2";
+ after: "right2_1";
+ }
+ // TOP ARROW
+ program {
+ name: "top1_1";
+ action: STATE_SET "1" 0.0;
+ target: "top_arrow1";
+ transition: LINEAR 0.4;
+ after: "top1_2";
+ }
+ program {
+ name: "top1_2";
+ action: STATE_SET "2" 0.0;
+ target: "top_arrow1";
+ transition: LINEAR 0.4;
+ after: "top1_r";
+ }
+ program {
+ name: "top1_r";
+ action: STATE_SET "default" 0.0;
+ target: "top_arrow1";
+ after: "top1_1";
+ }
+ program {
+ name: "top2_1";
+ action: STATE_SET "1" 0.0;
+ target: "top_arrow2";
+ transition: LINEAR 0.4;
+ after: "top2_2";
+ }
+ program {
+ name: "top2_2";
+ action: STATE_SET "2" 0.0;
+ target: "top_arrow2";
+ transition: LINEAR 0.4;
+ after: "top2_r";
+ }
+ program {
+ name: "top2_r";
+ action: STATE_SET "default" 0.0;
+ target: "top_arrow2";
+ after: "top2_1";
+ }
+ // BOTTOM ARROW
+ program {
+ name: "bottom1_1";
+ action: STATE_SET "1" 0.0;
+ target: "bottom_arrow1";
+ transition: LINEAR 0.4;
+ after: "bottom1_2";
+ }
+ program {
+ name: "bottom1_2";
+ action: STATE_SET "2" 0.0;
+ target: "bottom_arrow1";
+ transition: LINEAR 0.4;
+ after: "bottom1_r";
+ }
+ program {
+ name: "bottom1_r";
+ action: STATE_SET "default" 0.0;
+ target: "bottom_arrow1";
+ after: "bottom1_1";
+ }
+ program {
+ name: "bottom2_1";
+ action: STATE_SET "1" 0.0;
+ target: "bottom_arrow2";
+ transition: LINEAR 0.4;
+ after: "bottom2_2";
+ }
+ program {
+ name: "bottom2_2";
+ action: STATE_SET "2" 0.0;
+ target: "bottom_arrow2";
+ transition: LINEAR 0.4;
+ after: "bottom2_r";
+ }
+ program {
+ name: "bottom2_r";
+ action: STATE_SET "default" 0.0;
+ target: "bottom_arrow2";
+ after: "bottom2_1";
+ }
}
}
@@ -932,6 +8801,1037 @@ collections { /* begin the collection of edje groups that are in this file */
}
}
+
+/////////////////////////////////////////////////////////////////////////////
+/*** CONFIGURATION PANEL ***/
+
+ group {
+ name: "e/widgets/configure/main";
+ images {
+ image: "dia_grad.png" COMP;
+ image: "dia_topshad.png" COMP;
+ image: "dia_botshad.png" COMP;
+ image: "menu_sep.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color_class: "dialog_base";
+ image.normal: "dia_grad.png";
+ fill {
+ smooth: 0;
+ size {
+ relative: 0.0 1.0;
+ offset: 64 0;
+ }
+ }
+ }
+ }
+ part {
+ name: "shadow";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 31;
+ image.normal: "dia_topshad.png";
+ fill {
+ smooth: 0;
+ size {
+ relative: 0.0 1.0;
+ offset: 64 0;
+ }
+ }
+ }
+ }
+ part {
+ name: "shadow2";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 0 -4;
+ image.normal: "dia_botshad.png";
+ fill {
+ smooth: 0;
+ size {
+ relative: 0.0 1.0;
+ offset: 64 0;
+ }
+ }
+ }
+ }
+ part {
+ name: "separator";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 16 2;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 4 -1;
+ to_y: "e.swallow.content";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -5 0;
+ to_y: "e.swallow.content";
+ }
+ image {
+ normal: "menu_sep.png";
+ border: 2 2 0 0;
+ }
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ min: 100 200;
+ rel1.offset: 2 2;
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -3 -5;
+ to_y: "e.swallow.button";
+ }
+ }
+ }
+ part {
+ name: "e.swallow.button";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 0.5 1.0;
+ fixed: 1 1;
+ rel1.relative: 0.5 1.0;
+ rel2.relative: 0.5 1.0;
+ }
+ }
+ }
+ }
+
+
+/////////////////////////////////////////////////////////////////////////////
+/*** MOVE/RESIZE BOX ***/
+
+ group {
+ name: "e/widgets/border/default/move";
+ images {
+ image: "base_bg.png" COMP;
+ image: "icon_win_move.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ image {
+ normal: "base_bg.png";
+ border: 2 2 2 2;
+ }
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "icon";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.5;
+ min: 21 21;
+ max: 21 21;
+ fixed: 1 1;
+ rel1.offset: 2 2;
+ rel2.relative: 0.0 1.0;
+ rel2.offset: 2 -3;
+ image.normal: "icon_win_move.png";
+ }
+ }
+ part {
+ name: "e.text.label";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1.to_x: "icon";
+ rel1.offset: 2 4;
+ rel1.relative: 1.0 0.0;
+ rel2.offset: -5 -5;
+ color_class: "move_text";
+ text {
+ text: "X Y";
+ font: "Sans";
+ size: 10;
+ align: 0.5 0.5;
+ min: 1 1;
+ text_class: "move_text";
+ }
+ }
+ }
+ }
+ }
+ group {
+ name: "e/widgets/border/default/resize";
+ images {
+ image: "base_bg.png" COMP;
+ image: "icon_win_resize.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ image {
+ normal: "base_bg.png";
+ border: 2 2 2 2;
+ }
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "icon";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.5;
+ min: 21 21;
+ max: 21 21;
+ fixed: 1 1;
+ rel1.offset: 2 2;
+ rel2.relative: 0.0 1.0;
+ rel2.offset: 2 -3;
+ image.normal: "icon_win_resize.png";
+ }
+ }
+ part {
+ name: "e.text.label";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1.to_x: "icon";
+ rel1.offset: 2 4;
+ rel1.relative: 1.0 0.0;
+ rel2.offset: -5 -5;
+ color_class: "resize_text";
+ text {
+ text: "WxH";
+ font: "Sans";
+ size: 10;
+ align: 0.5 0.5;
+ min: 1 1;
+ text_class: "resize_text";
+ }
+ }
+ }
+ }
+ }
+
+
+/////////////////////////////////////////////////////////////////////////////
+/*** WIDGETS ***/
+
+ group {
+ name: "e/widgets/check";
+ images {
+ image: "check_base.png" COMP;
+ image: "check_on.png" COMP;
+ image: "check_sel.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ max: 16 16;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 2 2;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 2 -3;
+ }
+ image.normal: "check_base.png";
+ }
+ }
+ part {
+ name: "mark";
+ mouse_events: 0;
+ clip_to: "mark_hold";
+ description {
+ state: "default" 0.0;
+ rel1.to: "mark_hold";
+ rel2.to: "mark_hold";
+ image.normal: "check_on.png";
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "check_sel.png";
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 128;
+ }
+ }
+ part {
+ name: "mark_hold";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1 {
+ to: "base";
+ offset: -5 -5;
+ }
+ rel2 {
+ to: "base";
+ offset: 4 4;
+ }
+ }
+ description {
+ state: "on" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ rel1.offset: 0 0;
+ rel2.offset: -1 -1;
+ }
+ }
+ part {
+ name: "e.text.label";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ rel1 {
+ to_x: "base";
+ relative: 1.0 0.0;
+ offset: 2 2;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -2 -2;
+ }
+ color_class: "check_text";
+ text {
+ font: "Sans";
+ size: 10;
+ min: 1 1;
+ align: 0.0 0.5;
+ text_class: "check_button";
+ }
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color_class: "check_text_disabled";
+ }
+ }
+ part {
+ name: "event";
+ type: RECT;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "on";
+ /* if the checkmark is to be displayed */
+ signal: "e,state,checked";
+ source: "e";
+ action: STATE_SET "on" 0.0;
+ transition: LINEAR 0.15;
+ target: "mark_hold";
+ }
+ program {
+ name: "off";
+ /* check mark is not to be displayed */
+ signal: "e,state,unchecked";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.2;
+ target: "mark_hold";
+ }
+ program {
+ name: "click";
+ signal: "mouse,up,1";
+ source: "event";
+ action: SIGNAL_EMIT "e,action,toggle" "";
+ }
+ program {
+ name: "disable";
+ signal: "e,state,disabled";
+ source: "e";
+ action: STATE_SET "disabled" 0.0;
+ target: "mark";
+ target: "event";
+ target: "e.text.label";
+ }
+ program {
+ name: "enable";
+ signal: "e,state,enabled";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "mark";
+ target: "event";
+ target: "e.text.label";
+ }
+ }
+ }
+ group {
+ name: "e/widgets/check_icon";
+ images {
+ image: "check_base.png" COMP;
+ image: "check_on.png" COMP;
+ image: "check_sel.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ max: 16 16;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 2 2;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 2 -3;
+ }
+ image.normal: "check_base.png";
+ }
+ }
+ part {
+ name: "mark";
+ mouse_events: 0;
+ clip_to: "mark_hold";
+ description {
+ state: "default" 0.0;
+ rel1.to: "mark_hold";
+ rel2.to: "mark_hold";
+ image.normal: "check_on.png";
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "check_sel.png";
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 128;
+ }
+ }
+ part {
+ name: "mark_hold";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1 {
+ to: "base";
+ offset: -5 -5;
+ }
+ rel2 {
+ to: "base";
+ offset: 4 4;
+ }
+ }
+ description {
+ state: "on" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ rel1.offset: 0 0;
+ rel2.offset: -1 -1;
+ }
+ }
+ part {
+ name: "e.swallow.icon";
+ type: SWALLOW;
+ clip_to: "icon_clip";
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ rel1 {
+ to_x: "base";
+ relative: 1.0 0.0;
+ offset: 2 2;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -2 -2;
+ }
+ }
+ description {
+ state: "label_visible" 0.0;
+ inherit: "default" 0.0;
+ min: 16 16;
+ rel2 {
+ to_y: "base";
+ relative: 1.0 0.0;
+ offset: -2 -2;
+ }
+ }
+ }
+ part {
+ name: "icon_clip";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "label_clip";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "label_visible" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "e.text.label";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "label_clip";
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ rel1 {
+ to_x: "base";
+ relative: 1.0 0.0;
+ offset: 2 2;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -2 -2;
+ }
+ color_class: "check_text";
+ text {
+ font: "Sans";
+ size: 10;
+ min: 1 1;
+ align: 0.5 0.5;
+ text_class: "check_button";
+ }
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color_class: "check_text_disabled";
+ }
+ }
+ part {
+ name: "event";
+ type: RECT;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "on";
+ /* if the checkmark is to be displayed */
+ signal: "e,state,checked";
+ source: "e";
+ action: STATE_SET "on" 0.0;
+ transition: LINEAR 0.15;
+ target: "mark_hold";
+ }
+ program {
+ name: "off";
+ /* check mark is not to be displayed */
+ signal: "e,state,unchecked";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.2;
+ target: "mark_hold";
+ }
+ program {
+ name: "click";
+ signal: "mouse,up,1";
+ source: "event";
+ action: SIGNAL_EMIT "e,action,toggle" "";
+ }
+ program {
+ name: "label_on";
+ signal: "e,state,labeled";
+ source: "e";
+ action: STATE_SET "label_visible" 0.0;
+ target: "e.swallow.icon";
+ target: "label_clip";
+ }
+ program {
+ name: "disable";
+ signal: "e,state,disabled";
+ source: "e";
+ action: STATE_SET "disabled" 0.0;
+ target: "mark";
+ target: "event";
+ target: "e.text.label";
+ }
+ program {
+ name: "enable";
+ signal: "e,state,enabled";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "mark";
+ target: "event";
+ target: "e.text.label";
+ }
+ }
+ }
+ /* for a radio menu item - same as check, but only one of a group of radio
+ * menu item can be selected at any one time */
+ group {
+ name: "e/widgets/radio";
+ images {
+ image: "radio_base.png" COMP;
+ image: "radio_on.png" COMP;
+ image: "radio_sel.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ max: 16 16;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 2 2;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 2 -3;
+ }
+ image.normal: "radio_base.png";
+ }
+ }
+ part {
+ name: "mark";
+ mouse_events: 0;
+ clip_to: "mark_hold";
+ description {
+ state: "default" 0.0;
+ rel1.to: "mark_hold";
+ rel2.to: "mark_hold";
+ image.normal: "radio_on.png";
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "radio_sel.png";
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 128;
+ }
+ }
+ part {
+ name: "mark_hold";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1 {
+ to: "base";
+ offset: -5 -5;
+ }
+ rel2 {
+ to: "base";
+ offset: 4 4;
+ }
+ }
+ description {
+ state: "on" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ rel1.offset: 0 0;
+ rel2.offset: -1 -1;
+ }
+ }
+ part {
+ name: "e.text.label";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ rel1 {
+ to_x: "base";
+ relative: 1.0 0.0;
+ offset: 2 2;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -2 -2;
+ }
+ color_class: "radio_text";
+ text {
+ font: "Sans";
+ size: 10;
+ min: 1 1;
+ align: 0.0 0.5;
+ text_class: "radio_button";
+ }
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color_class: "radio_text_disabled";
+ }
+ }
+ part {
+ name: "event";
+ type: RECT;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "on";
+ /* if the checkmark is to be displayed */
+ signal: "e,state,on";
+ source: "e";
+ action: STATE_SET "on" 0.0;
+ transition: LINEAR 0.15;
+ target: "mark_hold";
+ }
+ program {
+ name: "off";
+ /* check mark is not to be displayed */
+ signal: "e,state,off";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.2;
+ target: "mark_hold";
+ }
+ program {
+ name: "click";
+ signal: "mouse,up,1";
+ source: "event";
+ action: SIGNAL_EMIT "e,action,toggle" "";
+ }
+ program {
+ name: "disable";
+ signal: "e,state,disabled";
+ source: "e";
+ action: STATE_SET "disabled" 0.0;
+ target: "mark";
+ target: "event";
+ target: "e.text.label";
+ }
+ program {
+ name: "enable";
+ signal: "e,state,enabled";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "mark";
+ target: "event";
+ target: "e.text.label";
+ }
+ }
+ }
+ group {
+ name: "e/widgets/radio_icon";
+ images {
+ image: "radio_base.png" COMP;
+ image: "radio_on.png" COMP;
+ image: "radio_sel.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ max: 16 16;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 2 2;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 2 -3;
+ }
+ image.normal: "radio_base.png";
+ }
+ }
+ part {
+ name: "mark";
+ mouse_events: 0;
+ clip_to: "mark_hold";
+ description {
+ state: "default" 0.0;
+ rel1.to: "mark_hold";
+ rel2.to: "mark_hold";
+ image.normal: "radio_on.png";
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "radio_sel.png";
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 128;
+ }
+ }
+ part {
+ name: "mark_hold";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1 {
+ to: "base";
+ offset: -5 -5;
+ }
+ rel2 {
+ to: "base";
+ offset: 4 4;
+ }
+ }
+ description {
+ state: "on" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ rel1.offset: 0 0;
+ rel2.offset: -1 -1;
+ }
+ }
+ part {
+ name: "e.swallow.icon";
+ type: SWALLOW;
+ clip_to: "icon_clip";
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ rel1 {
+ to_x: "base";
+ relative: 1.0 0.0;
+ offset: 2 2;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -2 -2;
+ }
+ }
+ description {
+ state: "label_visible" 0.0;
+ inherit: "default" 0.0;
+ min: 16 16;
+ rel2 {
+ to_y: "e.text.label";
+ relative: 1.0 0.0;
+ offset: -2 -2;
+ }
+ }
+ }
+ part {
+ name: "icon_clip";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "label_clip";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "label_visible" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "e.text.label";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "label_clip";
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ rel1 {
+ to_x: "base";
+ relative: 1.0 0.5;
+ offset: 2 1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -2 -2;
+ }
+ color_class: "radio_text";
+ text {
+ font: "Sans";
+ size: 10;
+ min: 1 1;
+ align: 0.5 0.5;
+ text_class: "radio_button";
+ }
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color_class: "radio_text_disabled";
+ }
+ }
+ part {
+ name: "event";
+ type: RECT;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "on";
+ /* if the radiomark is to be displayed */
+ signal: "e,state,on";
+ source: "e";
+ action: STATE_SET "on" 0.0;
+ transition: LINEAR 0.15;
+ target: "mark_hold";
+ }
+ program {
+ name: "off";
+ /* radio mark is not to be displayed */
+ signal: "e,state,off";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.2;
+ target: "mark_hold";
+ }
+ program {
+ name: "click";
+ signal: "mouse,up,1";
+ source: "event";
+ action: SIGNAL_EMIT "e,action,toggle" "";
+ }
+ program {
+ name: "label_on";
+ signal: "e,state,labeled";
+ source: "e";
+ action: STATE_SET "label_visible" 0.0;
+ target: "e.swallow.icon";
+ target: "label_clip";
+ }
+ program {
+ name: "disable";
+ signal: "e,state,disabled";
+ source: "e";
+ action: STATE_SET "disabled" 0.0;
+ target: "mark";
+ target: "event";
+ target: "e.text.label";
+ }
+ program {
+ name: "enable";
+ signal: "e,state,enabled";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "mark";
+ target: "event";
+ target: "e.text.label";
+ }
+ }
+ }
group {
name: "e/widgets/button";
images {
@@ -1201,7 +10101,2506 @@ collections { /* begin the collection of edje groups that are in this file */
}
}
}
-
+ /* e/widgets/scrollframe is used in the Wallpaper selector dialog */
+ group {
+ name: "e/widgets/scrollframe";
+ images {
+ image: "added_images/e17_ibar_bg_v.png" COMP;
+ image: "added_images/e17_ibar_over_v.png" COMP;
+ image: "added_images/e17_scrollbar_hdrag_thumb.png" COMP;
+ image: "added_images/e17_scrollbar_vdrag_thumb.png" COMP;
+ image: "added_images/focus.png" COMP;
+ image: "sb_thumb.png" COMP;
+ image: "added_images/DM_Internet_Scroll_01.png" COMP;
+ image: "added_images/DM_Internet_Scroll_h_01.png" COMP;
+ image: "added_images/DM_Internet_Scroll_Up.png" COMP;
+ image: "added_images/DM_Internet_Scroll_Middle.png" COMP;
+ image: "added_images/DM_Internet_Scroll_Down.png" COMP;
+ image: "added_images/DM_Internet_Scroll_Left_h.png" COMP;
+ image: "added_images/DM_Internet_Scroll_Middle_h.png" COMP;
+ image: "added_images/DM_Internet_Scroll_Right_h.png" COMP;
+ image: "added_images/DM_Internet_Scroll_Increase.png" COMP;
+ }
+ parts {
+ part {
+ name: "bg";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ image {
+ normal: "added_images/e17_ibar_bg_v.png";
+ border: 7 7 7 7;
+ }
+ fill {
+ smooth : 0;
+ }
+ }
+ }
+ part {
+ name: "clipper";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "bg";
+ offset: 4 4;
+ }
+ rel2 {
+ to: "bg";
+ offset: -5 -5;
+ }
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ clip_to: "clipper";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ offset: 4 4;
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ offset: -1 -1;
+ to_x: "sb_vbar";
+ to_y: "sb_hbar";
+ }
+ }
+ }
+ part {
+ name: "conf_over";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "bg";
+ }
+ rel2 {
+ to: "bg";
+ }
+ image {
+ normal: "added_images/e17_ibar_over_v.png";
+ border: 13 13 13 13;
+ middle: 0;
+ }
+ fill {
+ smooth : 0;
+ }
+ }
+ }
+ part {
+ name: "sb_vbar";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ align: 1.0 0.0;
+ rel1 {
+ to: "bg";
+ relative: 1.0 0.0;
+ offset: -5 4;
+ }
+ rel2 {
+ to: "bg";
+ relative: 1.0 0.0;
+ offset: -5 -1;
+ to_y: "sb_hbar";
+ }
+ }
+ description {
+ state: "hidden" 0.0;
+ visible: 0;
+ max: 0 99999;
+ rel1 {
+ to: "bg";
+ relative: 1.0 0.0;
+ offset: -4 4;
+ }
+ rel2 {
+ to: "bg";
+ relative: 1.0 0.0;
+ offset: -4 -1;
+ to_y: "sb_hbar";
+ }
+ }
+ }
+ part {
+ name: "sb_vbar_base";
+ type: RECT;
+ clip_to: "sb_vbar";
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to: "sb_vbar_a1";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 -1;
+ to: "sb_vbar_a2";
+ }
+ }
+ }
+ part {
+ name: "sb_vbar_runner";
+ clip_to: "sb_vbar";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "sb_vbar_base";
+ }
+ rel2 {
+ to: "sb_vbar_base";
+ }
+ image {
+ normal: "added_images/DM_Internet_Scroll_Middle.png";
+ }
+ fill {
+ smooth: 0;
+ }
+ }
+ }
+ part {
+ name: "sb_vbar_p1";
+ type: RECT;
+ clip_to: "sb_vbar";
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to: "sb_vbar_a1";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 -1;
+ to: "e.dragable.vbar";
+ }
+ }
+ }
+ part {
+ name: "sb_vbar_p2";
+ type: RECT;
+ clip_to: "sb_vbar";
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to: "e.dragable.vbar";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -1 -1;
+ to: "sb_vbar_a2";
+ }
+ }
+ }
+ part {
+ name: "e.dragable.vbar";
+ clip_to: "sb_vbar";
+ mouse_events: 1;
+ dragable {
+ x: 0 0 0;
+ y: 1 1 0;
+ confine: "sb_vbar_base";
+ }
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ rel1 {
+ relative: 0.5 0.5;
+ offset: 0 0;
+ to: "sb_vbar_base";
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ offset: 0 0;
+ to: "sb_vbar_base";
+ }
+ image {
+ normal: "added_images/DM_Internet_Scroll_01.png";
+ border: 5 5 5 5;
+ }
+ }
+ description {
+ state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "added_images/DM_Internet_Scroll_01.png";
+ }
+ }
+ }
+ part {
+ name: "vbar_bar_thumb";
+ clip_to: "sb_vbar";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ max: 8 8;
+ min: 8 8;
+ rel1 {
+ to: "e.dragable.vbar";
+ }
+ rel2 {
+ to: "e.dragable.vbar";
+ }
+ image {
+ normal: "added_images/e17_scrollbar_vdrag_thumb.png";
+ }
+ }
+ }
+ part {
+ name: "sb_vbar_a1";
+ type: IMAGE;
+ mouse_events: 1;
+ clip_to: "sb_vbar";
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ rel1 {
+ to: "sb_vbar";
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "sb_vbar";
+ relative: 1.0 0.0;
+ offset: -1 0;
+ }
+ image {
+ normal: "added_images/DM_Internet_Scroll_Up.png";
+ }
+ }
+ description {
+ state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "added_images/DM_Internet_Scroll_Up.png";
+ }
+ }
+ }
+ part {
+ name: "sb_vbar_a2";
+ type: IMAGE;
+ mouse_events: 1;
+ clip_to: "sb_vbar";
+ description {
+ state: "default" 0.0;
+ align: 0.5 1.0;
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ rel1 {
+ to: "sb_vbar";
+ relative: 0.0 1.0;
+ offset: 0 -1;
+ }
+ rel2 {
+ to: "sb_vbar";
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ image {
+ normal: "added_images/DM_Internet_Scroll_Down.png";
+ }
+ }
+ description {
+ state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "added_images/DM_Internet_Scroll_Down.png";
+ }
+ }
+ }
+ part {
+ name: "sb_increase";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 1.0;
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ rel1 {
+ to: "sb_hbar_a2";
+ relative: 1.0 0.0;
+ offset: 0 2;
+ }
+ rel2 {
+ to: "sb_vbar_a2";
+ relative: 1.0 2.0;
+ offset: -1 -1;
+ }
+ image {
+ normal: "added_images/DM_Internet_Scroll_Increase.png";
+ }
+ }
+ description {
+ state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "added_images/DM_Internet_Scroll_Increase.png";
+ }
+ }
+ description {
+ state: "hidden" 0.0;
+ visible: 0;
+ rel1 {
+ to: "sb_hbar_a2";
+ relative: 1.0 0.0;
+ offset: 0 2;
+ }
+ rel2 {
+ to: "sb_vbar_a2";
+ relative: 1.0 2.0;
+ offset: -1 -1;
+ }
+ }
+ }
+ part {
+ name: "sb_hbar";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ align: 0.0 1.0;
+ rel1 {
+ to: "bg";
+ relative: 0.0 1.0;
+ offset: 4 -5;
+ }
+ rel2 {
+ to: "bg";
+ relative: 0.0 1.0;
+ offset: -1 -5;
+ to_x: "sb_vbar";
+ }
+ }
+ description {
+ state: "hidden" 0.0;
+ visible: 0;
+ rel1 {
+ to: "bg";
+ relative: 0.0 1.0;
+ offset: 0 -4;
+ }
+ rel2 {
+ to: "bg";
+ relative: 0.0 1.0;
+ offset: -1 -4;
+ to_x: "sb_vbar";
+ }
+ }
+ }
+ part {
+ name: "sb_hbar_base";
+ type: RECT;
+ clip_to: "sb_hbar";
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: 0 0;
+ to: "sb_hbar_a1";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -1 -1;
+ to: "sb_hbar_a2";
+ }
+ }
+ }
+ part {
+ name: "sb_hbar_runner";
+ clip_to: "sb_hbar";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "sb_hbar_base";
+ }
+ rel2 {
+ to: "sb_hbar_base";
+ }
+ image {
+ normal: "added_images/DM_Internet_Scroll_Middle_h.png";
+ }
+ fill {
+ smooth: 0;
+ }
+ }
+ }
+ part {
+ name: "sb_hbar_p1";
+ type: RECT;
+ clip_to: "sb_hbar";
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: 0 0;
+ to: "sb_hbar_a1";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -1 -1;
+ to: "e.dragable.hbar";
+ }
+ }
+ }
+ part {
+ name: "sb_hbar_p2";
+ type: RECT;
+ clip_to: "sb_hbar";
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: 0 0;
+ to: "e.dragable.hbar";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -1 -1;
+ to: "sb_hbar_a2";
+ }
+ }
+ }
+ part {
+ name: "e.dragable.hbar";
+ clip_to: "sb_hbar";
+ mouse_events: 1;
+ dragable {
+ x: 1 1 0;
+ y: 0 0 0;
+ confine: "sb_hbar_base";
+ }
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ rel1 {
+ relative: 0.5 0.5;
+ offset: 0 0;
+ to: "sb_hbar_base";
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ offset: 0 0;
+ to: "sb_hbar_base";
+ }
+ image {
+ normal: "added_images/DM_Internet_Scroll_h_01.png";
+ border: 5 5 5 5;
+ }
+ }
+ description {
+ state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "added_images/DM_Internet_Scroll_h_01.png";
+ }
+ }
+ }
+ part {
+ name: "hbar_bar_thumb";
+ clip_to: "sb_hbar";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ max: 8 8;
+ min: 8 8;
+ rel1 {
+ to: "e.dragable.hbar";
+ }
+ rel2 {
+ to: "e.dragable.hbar";
+ }
+ image {
+ normal: "added_images/e17_scrollbar_hdrag_thumb.png";
+ }
+ }
+ }
+ part {
+ name: "sb_hbar_a1";
+ type: IMAGE;
+ mouse_events: 1;
+ clip_to: "sb_hbar";
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.5;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ to: "sb_hbar";
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "sb_hbar";
+ relative: 0.0 1.0;
+ offset: 0 -1;
+ }
+ image {
+ normal: "added_images/DM_Internet_Scroll_Left_h.png";
+ }
+ }
+ description {
+ state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "added_images/DM_Internet_Scroll_Left_h.png";
+ }
+ }
+ }
+ part {
+ name: "sb_hbar_a2";
+ type: IMAGE;
+ mouse_events: 1;
+ clip_to: "sb_hbar";
+ description {
+ state: "default" 0.0;
+ align: 1.0 0.5;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ to: "sb_hbar";
+ relative: 1.0 0.0;
+ offset: -1 0;
+ }
+ rel2 {
+ to: "sb_hbar";
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ image {
+ normal: "added_images/DM_Internet_Scroll_Right_h.png";
+ }
+ }
+ description {
+ state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "added_images/DM_Internet_Scroll_Right_h.png";
+ }
+ }
+ }
+ part {
+ name: "focus";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ image {
+ normal: "added_images/focus.png";
+ border: 7 7 7 7;
+ middle: 0;
+ }
+ fill {
+ smooth: 0;
+ }
+ }
+ description {
+ state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 255;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "sb_vbar_show";
+ signal: "e,action,show,vbar";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "sb_vbar";
+ target: "sb_increase";
+ }
+ program {
+ name: "sb_vbar_hide";
+ signal: "e,action,hide,vbar";
+ source: "e";
+ action: STATE_SET "hidden" 0.0;
+ target: "sb_vbar";
+ target: "sb_increase";
+ }
+ program {
+ name: "sb_hbar_show";
+ signal: "e,action,show,hbar";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "sb_hbar";
+ target: "sb_increase";
+ }
+ program {
+ name: "sb_hbar_hide";
+ signal: "e,action,hide,hbar";
+ source: "e";
+ action: STATE_SET "hidden" 0.0;
+ target: "sb_hbar";
+ target: "sb_increase";
+ }
+ program {
+ name: "sb_vbar_a1_down";
+ signal: "mouse,down,1";
+ source: "sb_vbar_a1";
+ action: STATE_SET "clicked" 0.0;
+ target: "sb_vbar_a1";
+ }
+ program {
+ name: "sb_vbar_a1_down2";
+ signal: "mouse,down,1";
+ source: "sb_vbar_a1";
+ action: DRAG_VAL_STEP 0.0 -1.0;
+ target: "e.dragable.vbar";
+ }
+ program {
+ name: "sb_vbar_a1_up";
+ signal: "mouse,up,1";
+ source: "sb_vbar_a1";
+ action: STATE_SET "default" 0.0;
+ target: "sb_vbar_a1";
+ }
+ program {
+ name: "sb_vbar_a2_down";
+ signal: "mouse,down,1";
+ source: "sb_vbar_a2";
+ action: STATE_SET "clicked" 0.0;
+ target: "sb_vbar_a2";
+ }
+ program {
+ name: "sb_vbar_a2_down2";
+ signal: "mouse,down,1";
+ source: "sb_vbar_a2";
+ action: DRAG_VAL_STEP 0.0 1.0;
+ target: "e.dragable.vbar";
+ }
+ program {
+ name: "sb_vbar_a2_up";
+ signal: "mouse,up,1";
+ source: "sb_vbar_a2";
+ action: STATE_SET "default" 0.0;
+ target: "sb_vbar_a2";
+ }
+ program {
+ name: "sb_vbar_p1_down";
+ signal: "mouse,down,1";
+ source: "sb_vbar_p1";
+ action: DRAG_VAL_PAGE 0.0 -1.0;
+ target: "e.dragable.vbar";
+ }
+ program {
+ name: "sb_vbar_p2_down";
+ signal: "mouse,down,1";
+ source: "sb_vbar_p2";
+ action: DRAG_VAL_PAGE 0.0 1.0;
+ target: "e.dragable.vbar";
+ }
+ program {
+ name: "sb_vbar_down";
+ signal: "mouse,down,1";
+ source: "e.dragable.vbar";
+ action: STATE_SET "clicked" 0.0;
+ target: "e.dragable.vbar";
+ }
+ program {
+ name: "sb_vbar_up";
+ signal: "mouse,up,1";
+ source: "e.dragable.vbar";
+ action: STATE_SET "default" 0.0;
+ target: "e.dragable.vbar";
+ }
+ program {
+ name: "sb_hbar_a1_down";
+ signal: "mouse,down,1";
+ source: "sb_hbar_a1";
+ action: STATE_SET "clicked" 0.0;
+ target: "sb_hbar_a1";
+ }
+ program {
+ name: "sb_hbar_a1_down2";
+ signal: "mouse,down,1";
+ source: "sb_hbar_a1";
+ action: DRAG_VAL_STEP -1.0 0.0;
+ target: "e.dragable.hbar";
+ }
+ program {
+ name: "sb_hbar_a1_up";
+ signal: "mouse,up,1";
+ source: "sb_hbar_a1";
+ action: STATE_SET "default" 0.0;
+ target: "sb_hbar_a1";
+ }
+ program {
+ name: "sb_hbar_a2_down";
+ signal: "mouse,down,1";
+ source: "sb_hbar_a2";
+ action: STATE_SET "clicked" 0.0;
+ target: "sb_hbar_a2";
+ }
+ program {
+ name: "sb_hbar_a2_down2";
+ signal: "mouse,down,1";
+ source: "sb_hbar_a2";
+ action: DRAG_VAL_STEP 1.0 0.0;
+ target: "e.dragable.hbar";
+ }
+ program {
+ name: "sb_hbar_a2_up";
+ signal: "mouse,up,1";
+ source: "sb_hbar_a2";
+ action: STATE_SET "default" 0.0;
+ target: "sb_hbar_a2";
+ }
+ program {
+ name: "sb_hbar_p1_down";
+ signal: "mouse,down,1";
+ source: "sb_hbar_p1";
+ action: DRAG_VAL_PAGE -1.0 0.0;
+ target: "e.dragable.hbar";
+ }
+ program {
+ name: "sb_hbar_p2_down";
+ signal: "mouse,down,1";
+ source: "sb_hbar_p2";
+ action: DRAG_VAL_PAGE 1.0 0.0;
+ target: "e.dragable.hbar";
+ }
+ program {
+ name: "sb_hbar_down";
+ signal: "mouse,down,1";
+ source: "e.dragable.hbar";
+ action: STATE_SET "clicked" 0.0;
+ target: "e.dragable.hbar";
+ }
+ program {
+ name: "sb_hbar_up";
+ signal: "mouse,up,1";
+ source: "e.dragable.hbar";
+ action: STATE_SET "default" 0.0;
+ target: "e.dragable.hbar";
+ }
+ program {
+ name: "focus_in";
+ signal: "e,state,focused";
+ source: "e";
+ action: STATE_SET "focused" 0.0;
+ transition: DECELERATE 0.2;
+ target: "focus";
+ }
+ program {
+ name: "focus_out";
+ signal: "e,state,unfocused";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: ACCELERATE 0.5;
+ target: "focus";
+ }
+ }
+ }
+ /* e/widgets/ilist is used in the Module Config Dialog for the module list */
+ group {
+ name: "e/widgets/ilist";
+ data.item: "stacking" "above";
+ data.item: "selectraise" "on";
+ images {
+ image: "bt_sm_base1.png" COMP;
+ image: "bt_sm_shine.png" COMP;
+ image: "bt_sm_hilight.png" COMP;
+ image: "ilist_1.png" COMP;
+ image: "ilist_item_shadow.png" COMP;
+ }
+ parts {
+ part {
+ name: "base_sh";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ min: 0 10;
+ rel1 {
+ to: "base";
+ relative: 0.0 1.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "base";
+ relative: 1.0 1.0;
+ offset: -1 0;
+ }
+ image {
+ normal: "ilist_item_shadow.png";
+ }
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "base";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color_class: "ilist_item_base";
+ image {
+ normal: "ilist_1.png";
+ border: 2 2 2 2;
+ }
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "bg";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: -5 -5;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 4 4;
+ }
+ image {
+ normal: "bt_sm_base1.png";
+ border: 6 6 6 6;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: -2 -2;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 1 1;
+ }
+ }
+ }
+ part {
+ name: "e.swallow.icon";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.5;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 4 4;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 4 -5;
+ }
+ }
+ }
+ part {
+ name: "e.text.label";
+ type: TEXT;
+ effect: SOFT_SHADOW;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ rel1 {
+ to_x: "e.swallow.icon";
+ relative: 1.0 0.0;
+ offset: 4 4;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -5 -5;
+ }
+ color_class: "ilist_item";
+ text {
+ font: "Sans";
+ size: 10;
+ min: 1 1;
+ align: 0.0 0.5;
+ text_class: "ilist_item";
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color_class: "ilist_item_selected";
+ }
+ }
+ part {
+ name: "e.swallow.end";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 1.0 0.5;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -5 4;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -5 -5;
+ }
+ }
+ }
+ part {
+ name: "fg1";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bg";
+ rel2.relative: 1.0 0.5;
+ rel2.to: "bg";
+ image {
+ normal: "bt_sm_hilight.png";
+ border: 6 6 6 0;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "fg2";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image {
+ normal: "bt_sm_shine.png";
+ border: 6 6 6 0;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "event";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "go_active";
+ signal: "e,state,selected";
+ source: "e";
+ action: STATE_SET "selected" 0.0;
+ target: "bg";
+ target: "fg1";
+ target: "fg2";
+ target: "e.text.label";
+ }
+ program {
+ name: "go_passive";
+ signal: "e,state,unselected";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ target: "fg1";
+ target: "fg2";
+ target: "e.text.label";
+ transition: LINEAR 0.1;
+ }
+ }
+ }
+ group {
+ name: "e/widgets/ilist_odd";
+ data.item: "stacking" "below";
+ data.item: "selectraise" "on";
+ images {
+ image: "bt_sm_base1.png" COMP;
+ image: "bt_sm_shine.png" COMP;
+ image: "bt_sm_hilight.png" COMP;
+ image: "ilist_2.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color_class: "ilist_item_odd_base";
+ image {
+ normal: "ilist_2.png";
+ border: 2 2 2 2;
+ }
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "bg";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: -5 -5;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 4 4;
+ }
+ image {
+ normal: "bt_sm_base1.png";
+ border: 6 6 6 6;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: -2 -2;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 1 1;
+ }
+ }
+ }
+ part {
+ name: "e.swallow.icon";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.5;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 4 4;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 4 -5;
+ }
+ }
+ }
+ part {
+ name: "e.text.label";
+ type: TEXT;
+ effect: SOFT_SHADOW;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ rel1 {
+ to_x: "e.swallow.icon";
+ relative: 1.0 0.0;
+ offset: 4 4;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -5 -5;
+ }
+ color_class: "ilist_item_odd";
+ text {
+ font: "Sans";
+ size: 10;
+ min: 1 1;
+ align: 0.0 0.5;
+ text_class: "ilist_item";
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color_class: "ilist_item_selected";
+ }
+ }
+ part {
+ name: "e.swallow.end";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 1.0 0.5;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -5 4;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -5 -5;
+ }
+ }
+ }
+ part {
+ name: "fg1";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bg";
+ rel2.relative: 1.0 0.5;
+ rel2.to: "bg";
+ image {
+ normal: "bt_sm_hilight.png";
+ border: 6 6 6 0;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "fg2";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image {
+ normal: "bt_sm_shine.png";
+ border: 6 6 6 0;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "event";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "go_active";
+ signal: "e,state,selected";
+ source: "e";
+ action: STATE_SET "selected" 0.0;
+ target: "bg";
+ target: "fg1";
+ target: "fg2";
+ target: "e.text.label";
+ }
+ program {
+ name: "go_passive";
+ signal: "e,state,unselected";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ target: "fg1";
+ target: "fg2";
+ target: "e.text.label";
+ transition: LINEAR 0.1;
+ }
+ }
+ }
+ group {
+ name: "e/widgets/ilist_header";
+ data.item: "stacking" "above";
+ data.item: "selectraise" "on";
+ images {
+ image: "bt_sm_base1.png" COMP;
+ image: "bt_sm_shine.png" COMP;
+ image: "bt_sm_hilight.png" COMP;
+ image: "ilist_header_1.png" COMP;
+ image: "ilist_item_shadow.png" COMP;
+ }
+ parts {
+ part {
+ name: "base_sh";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ min: 0 10;
+ rel1 {
+ to: "base";
+ relative: 0.0 1.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "base";
+ relative: 1.0 1.0;
+ offset: -1 0;
+ }
+ image {
+ normal: "ilist_item_shadow.png";
+ }
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "base";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color_class: "ilist_item_header_base";
+ image {
+ normal: "ilist_header_1.png";
+ border: 2 2 2 2;
+ }
+ }
+ }
+ part {
+ name: "bg";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: -5 -5;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 4 4;
+ }
+ image {
+ normal: "bt_sm_base1.png";
+ border: 6 6 6 6;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: -2 -2;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 1 1;
+ }
+ }
+ }
+ part {
+ name: "e.swallow.icon";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.5;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 4 4;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 4 -5;
+ }
+ }
+ }
+ part {
+ name: "e.text.label";
+ type: TEXT;
+ effect: SOFT_SHADOW;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ rel1 {
+ to_x: "e.swallow.icon";
+ relative: 1.0 0.0;
+ offset: 4 4;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -5 -5;
+ }
+ color_class: "ilist_item_header";
+ text {
+ font: "Sans:style=Bold";
+ size: 16;
+ min: 1 1;
+ align: 0.0 0.5;
+ text_class: "ilist_item";
+ }
+ }
+ }
+ part {
+ name: "fg1";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bg";
+ rel2.relative: 1.0 0.5;
+ rel2.to: "bg";
+ image {
+ normal: "bt_sm_hilight.png";
+ border: 6 6 6 0;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "fg2";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image {
+ normal: "bt_sm_shine.png";
+ border: 6 6 6 0;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "event";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "go_active";
+ signal: "e,state,selected";
+ source: "e";
+ action: STATE_SET "selected" 0.0;
+ target: "bg";
+ target: "fg1";
+ target: "fg2";
+ target: "e.text.label";
+ }
+ program {
+ name: "go_passive";
+ signal: "e,state,unselected";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ target: "fg1";
+ target: "fg2";
+ target: "e.text.label";
+ transition: LINEAR 0.1;
+ }
+ }
+ }
+ group {
+ name: "e/widgets/ilist_header_odd";
+ data.item: "stacking" "below";
+ data.item: "selectraise" "on";
+ images {
+ image: "bt_sm_base1.png" COMP;
+ image: "bt_sm_shine.png" COMP;
+ image: "bt_sm_hilight.png" COMP;
+ image: "ilist_header_2.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color_class: "ilist_item_header_odd_base";
+ image {
+ normal: "ilist_header_2.png";
+ border: 2 2 2 2;
+ }
+ }
+ }
+ part {
+ name: "bg";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: -5 -5;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 4 4;
+ }
+ image {
+ normal: "bt_sm_base1.png";
+ border: 6 6 6 6;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: -2 -2;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 1 1;
+ }
+ }
+ }
+ part {
+ name: "e.swallow.icon";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.5;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 4 4;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 4 -5;
+ }
+ }
+ }
+ part {
+ name: "e.text.label";
+ type: TEXT;
+ effect: SOFT_SHADOW;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 16 16;
+ rel1 {
+ to_x: "e.swallow.icon";
+ relative: 1.0 0.0;
+ offset: 4 4;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -5 -5;
+ }
+ color_class: "ilist_item_header_odd";
+ text {
+ font: "Sans:style=Bold";
+ size: 16;
+ min: 1 1;
+ align: 0.0 0.5;
+ text_class: "ilist_item";
+ }
+ }
+ }
+ part {
+ name: "fg1";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bg";
+ rel2.relative: 1.0 0.5;
+ rel2.to: "bg";
+ image {
+ normal: "bt_sm_hilight.png";
+ border: 6 6 6 0;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "fg2";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image {
+ normal: "bt_sm_shine.png";
+ border: 6 6 6 0;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "event";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "go_active";
+ signal: "e,state,selected";
+ source: "e";
+ action: STATE_SET "selected" 0.0;
+ target: "bg";
+ target: "fg1";
+ target: "fg2";
+ target: "e.text.label";
+ }
+ program {
+ name: "go_passive";
+ signal: "e,state,unselected";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ target: "fg1";
+ target: "fg2";
+ target: "e.text.label";
+ transition: LINEAR 0.1;
+ }
+ }
+ }
+ group {
+ name: "e/widgets/ilist/toggle_end";
+ images {
+ image: "icon_active.png" COMP;
+ }
+ parts {
+ part {
+ name: "icon";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 0;
+ visible: 0;
+ align: 1.0 0.5;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 4 4;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 4 -5;
+ }
+ image.normal: "icon_active.png";
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "e,state,checked";
+ source: "e";
+ action: STATE_SET "visible" 0.0;
+ target: "icon";
+ transition: LINEAR 0.1;
+ }
+ program {
+ signal: "e,state,unchecked";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "icon";
+ transition: LINEAR 0.1;
+ }
+ }
+ }
+ /* Used to display RGB/HSV values via sliders
+ in Wallpaper Gradient Dialog */
+ group {
+ name: "e/widgets/cslider";
+ images.image: "inset_sunk.png" COMP;
+ parts {
+ part {
+ name: "content_clip";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1.to: "e.swallow.content";
+ rel2.to: "e.swallow.content";
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ type: SWALLOW;
+ clip_to: "content_clip";
+ description {
+ state: "default" 0.0;
+ min: 50 20;
+ rel1.offset: 4 4;
+ rel2.offset: -5 -5;
+ }
+ description {
+ state: "vertical" 0.0;
+ inherit: "default" 0.0;
+ min: 20 50;
+ }
+ }
+ part {
+ name: "border";
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "e.swallow.content";
+ offset: -1 -1;
+ }
+ rel2 {
+ to: "e.swallow.content";
+ offset: 0 0;
+ }
+ image {
+ normal: "inset_sunk.png";
+ border: 7 7 7 7;
+ middle: 0;
+ }
+ fill.smooth : 0;
+ }
+ }
+ part {
+ name: "e.dragable.cursor";
+ type: RECT;
+ clip_to: "content_clip";
+ dragable {
+ confine: "e.swallow.content";
+ x: 1 1 0;
+ y: -1 1 0;
+ }
+ description {
+ state: "default" 0.0;
+ min: 1 24;
+ max: 1 9999;
+ fixed: 1 1;
+ rel1 {
+ to: "e.swallow.content";
+ relative: 0.5 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "e.swallow.content";
+ relative: 0.5 1.0;
+ offset: 0 -1;
+ }
+ color: 255 255 255 150;
+ }
+ description {
+ state: "vertical" 0.0;
+ min: 24 1;
+ max: 9999 1;
+ fixed: 1 1;
+ rel1 {
+ to: "e.swallow.content";
+ relative: 0.0 0.5 ;
+ offset: 0 0;
+ }
+ rel2 {
+ to: "e.swallow.content";
+ relative: 1.0 0.5;
+ offset: -1 0;
+ }
+ color: 255 255 255 150;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "go_vertical";
+ signal: "e,state,direction,v";
+ source: "e";
+ action: STATE_SET "vertical" 0.0;
+ target: "e.dragable.cursor";
+ target: "e.swallow.content";
+ }
+ }
+ }
+ /* e/widgets/slider* is used in the Virtual Desktops Config dialog */
+ group {
+ name: "e/widgets/slider_vertical";
+ images {
+ image: "slider.png" COMP;
+ image: "slider_clicked.png" COMP;
+ image: "sb_runnerv.png" COMP;
+ image: "inset_sunk.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ min: 22 0;
+ rel1.offset: 2 2;
+ rel2.offset: -3 -3;
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel2 {
+ to_y: "label";
+ relative: 1.0 0.0;
+ offset: -3 -1;
+ }
+ }
+ }
+ part {
+ name: "runner";
+ mouse_events: 0;
+ clip_to: "clip";
+ description {
+ state: "default" 0.0;
+ max: 3 99999;
+ rel1.to: "base";
+ rel2.to: "base";
+ image {
+ normal: "sb_runnerv.png";
+ border: 0 0 4 4;
+ }
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "label_base";
+ clip_to: "clip";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 0;
+ visible: 0;
+ rel1.to: "label";
+ rel1.offset: 1 1;
+ rel2.to: "label";
+ rel2.offset: -2 -2;
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "label";
+ mouse_events: 0;
+ clip_to: "clip";
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "active" 0.0;
+ rel1 {
+ to: "e.text.label";
+ offset: -4 -2;
+ }
+ rel2 {
+ to: "e.text.label";
+ offset: 3 1;
+ }
+ }
+ }
+ part {
+ name: "e.text.label";
+ type: TEXT;
+ mouse_events: 0;
+ clip_to: "clip";
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "active" 0.0;
+ align: 0.5 1.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 7 -8;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -8 -8;
+ }
+ color_class: "slider_text";
+ text {
+ text: "0.0";
+ font: "Sans";
+ size: 10;
+ min: 1 1;
+ align: 0.5 0.5;
+ text_class: "slider";
+ }
+ }
+ }
+ part {
+ name: "sld_p1";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ rel2 {
+ relative: 1.0 0.0;
+ to: "e.dragable.slider";
+ }
+ }
+ }
+ part {
+ name: "sld_p2";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "e.dragable.slider";
+ }
+ }
+ }
+ part {
+ name: "e.swallow.bar";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1 {
+ to_x: "e.dragable.slider";
+ to_y: "base";
+ offset: 0 5;
+ }
+ rel2 {
+ to_x: "e.dragable.slider";
+ to_y: "base";
+ offset: -1 -6;
+ }
+ }
+ }
+ part {
+ name: "e.dragable.slider";
+ type: RECT;
+ mouse_events: 1;
+ scale: 1;
+ dragable {
+ x: 0 0 0;
+ y: -1 1 0;
+ confine: "base";
+ }
+ description {
+ state: "default" 0.0;
+ min: 11 11;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.5 0.5;
+ offset: -1 0;
+ to: "base";
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ offset: -1 -1;
+ to: "base";
+ }
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "button";
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 22 22;
+ fixed: 1 1;
+ rel1.to: "e.dragable.slider";
+ rel2.to: "e.dragable.slider";
+ image.normal: "slider.png";
+ }
+ description {
+ state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "slider_clicked.png";
+ }
+ }
+ part {
+ name: "clip";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 128;
+ }
+ }
+ part {
+ name: "event";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 0 0 0 0;
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "sld_p1_down";
+ signal: "mouse,down,1";
+ source: "sld_p1";
+ action: DRAG_VAL_PAGE 0.0 -1.0;
+ target: "e.dragable.slider";
+ }
+ program {
+ name: "sld_p2_down";
+ signal: "mouse,down,1";
+ source: "sld_p2";
+ action: DRAG_VAL_PAGE 0.0 1.0;
+ target: "e.dragable.slider";
+ }
+ program {
+ name: "button_down";
+ signal: "mouse,down,1";
+ source: "e.dragable.slider";
+ action: STATE_SET "clicked" 0.0;
+ target: "button";
+ }
+ program {
+ name: "button_up";
+ signal: "mouse,up,1";
+ source: "e.dragable.slider";
+ action: STATE_SET "default" 0.0;
+ target: "button";
+ }
+ program {
+ name: "show_label";
+ signal: "e,action,show,label";
+ source: "e";
+ action: STATE_SET "active" 0.0;
+ target: "base";
+ target: "label";
+ target: "label_base";
+ target: "e.text.label";
+ }
+ program {
+ name: "hide_label";
+ signal: "e,action,hide,label";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ target: "label";
+ target: "label_base";
+ target: "e.text.label";
+ }
+ program {
+ name: "disable";
+ signal: "e,state,disabled";
+ source: "e";
+ action: STATE_SET "disabled" 0.0;
+ target: "clip";
+ target: "event";
+ }
+ program {
+ name: "enable";
+ signal: "e,state,enabled";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "clip";
+ target: "event";
+ }
+ }
+ }
+ group {
+ name: "e/widgets/slider_horizontal";
+ images {
+ image: "slider.png" COMP;
+ image: "slider_clicked.png" COMP;
+ image: "sb_runnerh.png" COMP;
+ image: "inset_sunk.png" COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ min: 0 22;
+ rel1.offset: 2 2;
+ rel2.offset: -3 -3;
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ rel2 {
+ to_x: "label";
+ relative: 0.0 1.0;
+ offset: -1 -3;
+ }
+ }
+ }
+ part {
+ name: "runner";
+ mouse_events: 0;
+ clip_to: "clip";
+ description {
+ state: "default" 0.0;
+ max: 99999 3;
+ rel1.to: "base";
+ rel2.to: "base";
+ image {
+ normal: "sb_runnerh.png";
+ border: 4 4 0 0;
+ }
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "label_base";
+ clip_to: "clip";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 0;
+ visible: 0;
+ rel1.to: "label";
+ rel1.offset: 1 1;
+ rel2.to: "label";
+ rel2.offset: -2 -2;
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "label";
+ mouse_events: 0;
+ clip_to: "clip";
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "active" 0.0;
+ min: 20 0;
+ rel1 {
+ to: "e.text.label";
+ offset: -4 -2;
+ }
+ rel2 {
+ to: "e.text.label";
+ offset: 2 1;
+ }
+ }
+ }
+ part {
+ name: "e.text.label";
+ type: TEXT;
+ mouse_events: 0;
+ clip_to: "clip";
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "active" 0.0;
+ align: 1.0 0.5;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -8 7;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -8 -8;
+ }
+ color_class: "slider_text";
+ text {
+ text: "0.0";
+ font: "Sans";
+ size: 10;
+ min: 1 1;
+ align: 0.5 0.5;
+ text_class: "slider";
+ }
+ }
+ }
+ part {
+ name: "sld_p1";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ rel2 {
+ relative: 0.0 1.0;
+ to: "e.dragable.slider";
+ }
+ }
+ }
+ part {
+ name: "sld_p2";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "e.dragable.slider";
+ }
+ }
+ }
+ part {
+ name: "e.swallow.bar";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1 {
+ to_x: "base";
+ to_y: "e.dragable.slider";
+ offset: 5 0;
+ }
+ rel2 {
+ to_x: "base";
+ to_y: "e.dragable.slider";
+ offset: -6 -1;
+ }
+ }
+ }
+ part {
+ name: "e.dragable.slider";
+ type: RECT;
+ mouse_events: 1;
+ scale: 1;
+ dragable {
+ x: 1 1 0;
+ y: 0 0 0;
+ confine: "base";
+ }
+ description {
+ state: "default" 0.0;
+ min: 11 11;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.5 0.5;
+ to: "base";
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ offset: 0 0;
+ to: "base";
+ }
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "slider";
+ mouse_events: 0;
+ clip_to: "clip";
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 22 22;
+ fixed: 1 1;
+ rel1.to: "e.dragable.slider";
+ rel2.to: "e.dragable.slider";
+ image.normal: "slider.png";
+ }
+ description {
+ state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "slider_clicked.png";
+ }
+ }
+ part {
+ name: "clip";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 128;
+ }
+ }
+ part {
+ name: "event";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 0 0 0 0;
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "sld_p1_down";
+ signal: "mouse,down,1";
+ source: "sld_p1";
+ action: DRAG_VAL_PAGE -1.0 0.0;
+ target: "e.dragable.slider";
+ }
+ program {
+ name: "sld_p2_down";
+ signal: "mouse,down,1";
+ source: "sld_p2";
+ action: DRAG_VAL_PAGE 1.0 0.0;
+ target: "e.dragable.slider";
+ }
+ program {
+ name: "sld_down";
+ signal: "mouse,down,1";
+ source: "e.dragable.slider";
+ action: STATE_SET "clicked" 0.0;
+ target: "slider";
+ }
+ program {
+ name: "sld_up";
+ signal: "mouse,up,1";
+ source: "e.dragable.slider";
+ action: STATE_SET "default" 0.0;
+ target: "slider";
+ }
+ program {
+ name: "show_label";
+ signal: "e,action,show,label";
+ source: "e";
+ action: STATE_SET "active" 0.0;
+ target: "base";
+ target: "label";
+ target: "label_base";
+ target: "e.text.label";
+ }
+ program {
+ name: "hide_label";
+ signal: "e,action,hide,label";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ target: "label";
+ target: "label_base";
+ target: "e.text.label";
+ }
+ program {
+ name: "disable";
+ signal: "e,state,disabled";
+ source: "e";
+ action: STATE_SET "disabled" 0.0;
+ target: "clip";
+ target: "event";
+ }
+ program {
+ name: "enable";
+ signal: "e,state,enabled";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "clip";
+ target: "event";
+ }
+ }
+ }
+ /* e/widgets/frame is used in the Config Dialog
+ to outline the content */
+ group {
+ name: "e/widgets/frame";
+ images {
+ image: "frame_1.png" COMP;
+ image: "frame_2.png" COMP;
+ image: "dia_grad.png" COMP;
+ }
+ parts {
+ part {
+ name: "base0";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color_class: "frame_base";
+ image.normal: "dia_grad.png";
+ rel1.to: "over";
+ rel2.to: "over";
+ fill {
+ smooth: 0;
+ size {
+ relative: 0.0 1.0;
+ offset: 64 0;
+ }
+ }
+ }
+ }
+ part {
+ name: "base";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ image {
+ normal: "frame_2.png";
+ border: 5 5 32 26;
+ middle: 0;
+ }
+ fill.smooth : 0;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to_y: "e.text.label";
+ relative: 0.0 1.0;
+ offset: 8 2;
+ }
+ rel2.offset: -9 -9;
+ }
+ }
+ part {
+ name: "e.text.label";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.0;
+ fixed: 0 1;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 6 6;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -7 6;
+ }
+ color: 0 0 0 64;
+ text {
+ font: "Sans:style=Bold";
+ size: 10;
+ min: 1 1;
+ max: 1 1;
+ align: 0.0 0.0;
+ text_class: "frame";
+ }
+ }
+ }
+ part {
+ name: "over";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1.offset: 4 4;
+ rel2.offset: -5 -5;
+ image {
+ normal: "frame_1.png";
+ border: 2 2 28 22;
+ middle: 0;
+ }
+ fill.smooth : 0;
+ }
+ }
+ }
+ }
group {
name: "e/widgets/label";
parts {
@@ -1214,7 +12613,7 @@ collections { /* begin the collection of edje groups that are in this file */
state: "default" 0.0;
rel1.offset: 2 2;
rel2.offset: -3 -3;
- color: 0 0 0 255;
+ color_class: "label_text";
text {
font: "Sans";
size: 10;
@@ -1226,7 +12625,7 @@ collections { /* begin the collection of edje groups that are in this file */
description {
state: "disabled" 0.0;
inherit: "default" 0.0;
- color: 0 0 0 128;
+ color_class: "label_text_disabled";
}
}
}
@@ -1247,16 +12646,1278 @@ collections { /* begin the collection of edje groups that are in this file */
}
}
}
-
- group { name: "e/widgets/slidesel";
+
+ /* e/widgets/textblock is used in the description
+ of modules in Module Config dialog */
+ group {
+ name: "e/widgets/textblock";
+ styles {
+ style {
+ name: "textblock_style";
+ base: "font=Sans font_size=10 align=left color=#000 style=shadow shadow_color=#ffffff80 wrap=word";
+ tag: "title" "+ font=Sans:style=Bold font_size=12 style=soft_shadow color=#fff shadow_color=#00000021";
+ tag: "hilight" "+ font=Sans:style=Bold style=glow color=#fff glow2_color=#333333be glow_color=#0000005a";
+ tag: "urgent" "+ font=Sans:style=Bold style=glow color=#fff glow2_color=#333 glow_color=#b01010";
+ tag: "b" "+ font=Sans:style=Bold";
+ tag: "br" "\n";
+ }
+ }
+ parts {
+ part {
+ name: "e.textblock.text";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1.offset: 4 4;
+ rel2.offset: -5 -5;
+ text {
+ style: "textblock_style";
+ min: 1 1;
+ }
+ }
+ }
+ }
+ }
+
+/////////////////////////////////////////////////////////////////////////////
+/*** GADMAN ***/
+
+ group {
+ name: "e/gadman/popup";
+ images.image: "base_bg.png" COMP;
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ image {
+ normal: "base_bg.png";
+ border: 2 2 2 2;
+ }
+ fill.smooth: 0;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1.offset: 3 3;
+ rel2.offset: -4 -4;
+ }
+ }
+ }
+ }
+ group {
+ name: "e/gadman/full_bg";
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ description {
+ state: "visible" 0.0;
+ color: 0 0 0 128;
+ }
+ }
+ part {
+ name: "custom_bg";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ description {
+ state: "visible" 0.0;
+ color: 255 255 255 200;
+ }
+ }
+ part {
+ name: "e.swallow.bg";
+ type: SWALLOW;
+ clip_to: "custom_bg";
+ description {
+ state: "default" 0.0;
+ }
+ }
+ part {
+ name: "grabber";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "show";
+ signal: "e,state,visibility,show";
+ source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: LINEAR 0.4;
+ target: "bg";
+ }
+ program {
+ name: "show_now";
+ signal: "e,state,visibility,show,now";
+ source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: LINEAR 0.0;
+ target: "bg";
+ }
+ program {
+ name: "hide";
+ signal: "e,state,visibility,hide";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.4;
+ target: "bg";
+ after: "hide_stop";
+ }
+ program {
+ name: "hide_now";
+ signal: "e,state,visibility,hide,now";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.0;
+ target: "bg";
+ after: "hide_stop";
+ }
+ program {
+ name: "show_custom";
+ signal: "e,state,visibility,show,custom";
+ source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: LINEAR 0.4;
+ target: "custom_bg";
+ }
+ program {
+ name: "show_custom_now";
+ signal: "e,state,visibility,show,custom,now";
+ source: "e";
+ action: STATE_SET "visible" 0.0;
+ transition: LINEAR 0.0;
+ target: "custom_bg";
+ }
+ program {
+ name: "hide_custom";
+ signal: "e,state,visibility,hide,custom";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.4;
+ target: "custom_bg";
+ after: "hide_stop";
+ }
+ program {
+ name: "hide_custom_now";
+ signal: "e,state,visibility,hide,custom,now";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.0;
+ target: "custom_bg";
+ after: "hide_stop";
+ }
+ program {
+ name: "hide_stop";
+ action: SIGNAL_EMIT "e,action,hide,stop" "";
+ }
+ }
+ }
+ group {
+ name: "e/gadman/frame";
+ images.image: "inset_raised.png" COMP;
+ parts {
+ part {
+ name: "bg_clip";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1.to: "overlay";
+ rel2.to: "overlay";
+ color: 255 255 255 255;
+ }
+ description {
+ state: "plain" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "items_clip";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "overlay";
+ offset: 4 4;
+ }
+ rel2 {
+ to: "overlay";
+ offset: -5 -5;
+ }
+ color: 255 255 255 255;
+ }
+ description {
+ state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ }
+ part {
+ name: "e.swallow.content";
+ type: SWALLOW;
+ clip_to: "items_clip";
+ description {
+ state: "default" 0.0;
+ rel1.offset: 4 4;
+ rel2.offset: -5 -5;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "hidden" 0.0;
+ rel1.relative: 0.5 0.5;
+ rel2.relative: 0.5 0.5;
+ color: 255 255 255 0;
+ }
+ }
+ part {
+ name: "overlay";
+ mouse_events: 0;
+ clip_to: "bg_clip";
+ description {
+ state: "default" 0.0;
+ image {
+ normal: "inset_raised.png";
+ border: 7 7 7 7;
+ middle: 0;
+ }
+ fill.smooth: 0;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.5 0.5;
+ rel2.relative: 0.5 0.5;
+ color: 255 255 255 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "inset";
+ signal: "e,state,visibility,inset";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "bg_clip";
+ }
+ program {
+ name: "plain";
+ signal: "e,state,visibility,plain";
+ source: "e";
+ action: STATE_SET "plain" 0.0;
+ target: "bg_clip";
+ }
+ program {
+ name: "hide";
+ signal: "e,state,visibility,hide";
+ source: "e";
+ action: STATE_SET "hidden" 0.0;
+ transition: ACCELERATE 0.4;
+ target: "items_clip";
+ target: "overlay";
+ target: "e.swallow.content";
+ }
+ program {
+ name: "hide_now";
+ signal: "e,state,visibility,hide,now";
+ source: "e";
+ action: STATE_SET "hidden" 0.0;
+ transition: LINEAR 0.0;
+ target: "items_clip";
+ target: "overlay";
+ target: "e.swallow.content";
+ }
+ program {
+ name: "show";
+ signal: "e,state,visibility,show";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.4;
+ target: "items_clip";
+ target: "overlay";
+ target: "e.swallow.content";
+ }
+ program {
+ name: "show_now";
+ signal: "e,state,visibility,show,now";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.0;
+ target: "items_clip";
+ target: "overlay";
+ target: "e.swallow.content";
+ }
+ }
+ }
+ group {
+ name: "e/gadman/control";
+ images {
+ image: "gadman_frame.png" COMP;
+ image: "gadman_border.png" COMP;
+ image: "gadman_top.png" COMP;
+ image: "gadman_bottom.png" COMP;
+ image: "gadman_left.png" COMP;
+ image: "gadman_right.png" COMP;
+ }
+ parts {
+ part {
+ name: "hclip";
+ mouse_events: 0;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1.offset: -85 -85;
+ rel2.offset: 74 74;
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible : 0;
+ }
+ }
+ part {
+ name: "vclip";
+ mouse_events: 0;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1.offset: -85 -85;
+ rel2.offset: 84 84;
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible : 0;
+ }
+ }
+ part {
+ name: "overlay";
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "border";
+ offset: 4 4;
+ }
+ rel2 {
+ to: "border";
+ offset: -5 -5;
+ }
+ image.normal: "gadman_frame.png";
+ fill.size.relative: 0 0;
+ fill.size.offset: 24 24;
+ }
+ }
+ part {
+ name: "left_arrow1";
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ max: 12 24;
+ rel1 {
+ relative: 0.0 0.5;
+ offset: 3 0;
+ }
+ rel2 {
+ relative: 0.0 0.5;
+ offset: 3 -1;
+ }
+ image.normal: "gadman_left.png";
+ }
+ description {
+ state: "1" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.5;
+ offset: -32 -12;
+ }
+ rel2 {
+ relative: 0.0 0.5;
+ offset: -18 11;
+ }
+ }
+ description {
+ state: "2" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.5;
+ offset: -24 -6;
+ }
+ rel2 {
+ relative: 0.0 0.5;
+ offset: -10 5;
+ }
+ }
+ }
+ part {
+ name: "left_arrow2";
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ max: 12 24;
+ rel1 {
+ relative: 0.0 0.5;
+ offset: 3 0;
+ }
+ rel2 {
+ relative: 0.0 0.5;
+ offset: 3 -1;
+ }
+ image.normal: "gadman_left.png";
+ }
+ description {
+ state: "1" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.5;
+ offset: -32 -12;
+ }
+ rel2 {
+ relative: 0.0 0.5;
+ offset: -18 11;
+ }
+ }
+ description {
+ state: "2" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.5;
+ offset: -24 -6;
+ }
+ rel2 {
+ relative: 0.0 0.5;
+ offset: -10 5;
+ }
+ }
+ }
+ part {
+ name: "right_arrow1";
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ max: 12 24;
+ rel1 {
+ relative: 1.0 0.5;
+ offset: -3 0;
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ offset: -3 -1;
+ }
+ image.normal: "gadman_right.png";
+ }
+ description {
+ state: "1" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 1.0 0.5;
+ offset: 32 -12;
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ offset: 18 11;
+ }
+ }
+ description {
+ state: "2" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 1.0 0.5;
+ offset: 24 -6;
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ offset: 10 5;
+ }
+ }
+ }
+ part {
+ name: "right_arrow2";
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ max: 12 24;
+ rel1 {
+ relative: 1.0 0.5;
+ offset: -3 0;
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ offset: -3 -1;
+ }
+ image.normal: "gadman_right.png";
+ }
+ description {
+ state: "1" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 1.0 0.5;
+ offset: 32 -12;
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ offset: 18 11;
+ }
+ }
+ description {
+ state: "2" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 1.0 0.5;
+ offset: 24 -6;
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ offset: 10 5;
+ }
+ }
+ }
+ part {
+ name: "top_arrow1";
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ max: 24 12;
+ rel1 {
+ relative: 0.5 0.0;
+ offset: 0 3;
+ }
+ rel2 {
+ relative: 0.5 0.0;
+ offset: -1 3;
+ }
+ image.normal: "gadman_top.png";
+ }
+ description {
+ state: "1" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.5 0.0;
+ offset: -12 -32;
+ }
+ rel2 {
+ relative: 0.5 0.0;
+ offset: 11 -18;
+ }
+ }
+ description {
+ state: "2" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.5 0.0;
+ offset: -6 -24;
+ }
+ rel2 {
+ relative: 0.5 0.0;
+ offset: 5 -9;
+ }
+ }
+ }
+ part {
+ name: "top_arrow2";
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ max: 24 12;
+ rel1 {
+ relative: 0.5 0.0;
+ offset: 0 3;
+ }
+ rel2 {
+ relative: 0.5 0.0;
+ offset: -1 3;
+ }
+ image.normal: "gadman_top.png";
+ }
+ description {
+ state: "1" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.5 0.0;
+ offset: -12 -32;
+ }
+ rel2 {
+ relative: 0.5 0.0;
+ offset: 11 -18;
+ }
+ }
+ description {
+ state: "2" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.5 0.0;
+ offset: -6 -24;
+ }
+ rel2 {
+ relative: 0.5 0.0;
+ offset: 5 -9;
+ }
+ }
+ }
+ part {
+ name: "bottom_arrow1";
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ max: 24 12;
+ rel1 {
+ relative: 0.5 1.0;
+ offset: 0 -3;
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ offset: -1 -3;
+ }
+ image.normal: "gadman_bottom.png";
+ }
+ description {
+ state: "1" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.5 1.0;
+ offset: -12 18;
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ offset: 11 31;
+ }
+ }
+ description {
+ state: "2" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.5 1.0;
+ offset: -6 10;
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ offset: 5 24;
+ }
+ }
+ }
+ part {
+ name: "bottom_arrow2";
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ max: 24 12;
+ rel1 {
+ relative: 0.5 1.0;
+ offset: 0 -3;
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ offset: -1 -3;
+ }
+ image.normal: "gadman_bottom.png";
+ }
+ description {
+ state: "1" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.5 1.0;
+ offset: -12 18;
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ offset: 11 31;
+ }
+ }
+ description {
+ state: "2" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 0.5 1.0;
+ offset: -6 10;
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ offset: 5 24;
+ }
+ }
+ }
+ part {
+ name: "v1";
+ mouse_events: 1;
+ clip_to: "vclip";
+ description {
+ state: "default" 0.0;
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 9;
+ }
+ }
+ part {
+ name: "v2";
+ mouse_events: 1;
+ clip_to: "vclip";
+ description {
+ state: "default" 0.0;
+ rel1.relative: 0.0 1.0;
+ rel1.offset: 0 -8;
+ }
+ }
+ part {
+ name: "h1";
+ mouse_events: 1;
+ clip_to: "hclip";
+ description {
+ state: "default" 0.0;
+ rel2.relative: 0.0 1.0;
+ rel2.offset: 9 -1;
+ }
+ }
+ part {
+ name: "h2";
+ mouse_events: 1;
+ clip_to: "hclip";
+ description {
+ state: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel1.offset: -8 0;
+ }
+ }
+ part {
+ name: "border";
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ image {
+ normal: "gadman_border.png";
+ border: 10 10 10 10;
+ middle: 0;
+ }
+ fill.smooth: 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "api_hsize_on";
+ signal: "e,state,hsize,on";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "hclip";
+ }
+ program {
+ name: "api_hsize_off";
+ signal: "e,state,hsize,off";
+ source: "e";
+ action: STATE_SET "disabled" 0.0;
+ target: "hclip";
+ }
+ program {
+ name: "api_vsize_on";
+ signal: "e,state,vsize,on";
+ source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "vclip";
+ }
+ program {
+ name: "api_vsize_off";
+ signal: "e,state,vsize,off";
+ source: "e";
+ action: STATE_SET "disabled" 0.0;
+ target: "vclip";
+ }
+ /*
+ program {
+ name: "api_move_on";
+ signal: "e,state,move,on";
+ source: "e";
+ }
+ program {
+ name: "api_move_off";
+ signal: "e,state,move,off";
+ source: "e";
+ }
+ program {
+ name: "api_active";
+ signal: "e,state,focused";
+ source: "e";
+ }
+ program {
+ name: "api_inactive";
+ signal: "e,state,unfocused";
+ source: "e";
+ }
+ */
+ // MOVE PROGRAMS
+ program {
+ name: "mv_down";
+ signal: "mouse,down,1";
+ source: "overlay";
+ action: SIGNAL_EMIT "e,action,move,start" "";
+ }
+ program {
+ name: "mv_up";
+ signal: "mouse,up,1";
+ source: "overlay";
+ action: SIGNAL_EMIT "e,action,move,stop" "";
+ }
+ program {
+ name: "mv_move";
+ signal: "mouse,move";
+ source: "overlay";
+ action: SIGNAL_EMIT "e,action,move,go" "";
+ }
+ program {
+ name: "h1_down1";
+ signal: "mouse,down,1";
+ source: "h1";
+ action: STATE_SET "clicked" 0.0;
+ target: "h1";
+ }
+ program {
+ name: "h1_up1";
+ signal: "mouse,up,1";
+ source: "h1";
+ action: STATE_SET "default" 0.0;
+ target: "h1";
+ }
+ program {
+ name: "h1_down2";
+ signal: "mouse,down,1";
+ source: "h1";
+ action: SIGNAL_EMIT "e,action,resize,left,start" "";
+ }
+ program {
+ name: "h1_up2";
+ signal: "mouse,up,1";
+ source: "h1";
+ action: SIGNAL_EMIT "e,action,resize,left,stop" "";
+ }
+ program {
+ name: "h1_move";
+ signal: "mouse,move";
+ source: "h1";
+ action: SIGNAL_EMIT "e,action,resize,left,go" "";
+ }
+ program {
+ name: "h2_down1";
+ signal: "mouse,down,1";
+ source: "h2";
+ action: STATE_SET "clicked" 0.0;
+ target: "h2";
+ }
+ program {
+ name: "h2_up1";
+ signal: "mouse,up,1";
+ source: "h2";
+ action: STATE_SET "default" 0.0;
+ target: "h2";
+ }
+ program {
+ name: "h2_down2";
+ signal: "mouse,down,1";
+ source: "h2";
+ action: SIGNAL_EMIT "e,action,resize,right,start" "";
+ }
+ program {
+ name: "h2_up2";
+ signal: "mouse,up,1";
+ source: "h2";
+ action: SIGNAL_EMIT "e,action,resize,right,stop" "";
+ }
+ program {
+ name: "h2_move";
+ signal: "mouse,move";
+ source: "h2";
+ action: SIGNAL_EMIT "e,action,resize,right,go" "";
+ }
+ program {
+ name: "v1_down1";
+ signal: "mouse,down,1";
+ source: "v1";
+ action: STATE_SET "clicked" 0.0;
+ target: "v1";
+ }
+ program {
+ name: "v1_up1";
+ signal: "mouse,up,1";
+ source: "v1";
+ action: STATE_SET "default" 0.0;
+ target: "v1";
+ }
+ program {
+ name: "v1_down2";
+ signal: "mouse,down,1";
+ source: "v1";
+ action: SIGNAL_EMIT "e,action,resize,up,start" "";
+ }
+ program {
+ name: "v1_up2";
+ signal: "mouse,up,1";
+ source: "v1";
+ action: SIGNAL_EMIT "e,action,resize,up,stop" "";
+ }
+ program {
+ name: "v1_move";
+ signal: "mouse,move";
+ source: "v1";
+ action: SIGNAL_EMIT "e,action,resize,up,go" "";
+ }
+ program {
+ name: "v2_down1";
+ signal: "mouse,down,1";
+ source: "v2";
+ action: STATE_SET "clicked" 0.0;
+ target: "v2";
+ }
+ program {
+ name: "v2_up1";
+ signal: "mouse,up,1";
+ source: "v2";
+ action: STATE_SET "default" 0.0;
+ target: "v2";
+ }
+ program {
+ name: "v2_down2";
+ signal: "mouse,down,1";
+ source: "v2";
+ action: SIGNAL_EMIT "e,action,resize,down,start" "";
+ }
+ program {
+ name: "v2_up2";
+ signal: "mouse,up,1";
+ source: "v2";
+ action: SIGNAL_EMIT "e,action,resize,down,stop" "";
+ }
+ program {
+ name: "v2_move";
+ signal: "mouse,move";
+ source: "v2";
+ action: SIGNAL_EMIT "e,action,resize,down,go" "";
+ }
+ // LEFT ARROW
+ program {
+ name: "start_left1";
+ signal: "mouse,in";
+ source: "h1";
+ after: "left1_1";
+ }
+ program {
+ name: "start_left2";
+ signal: "mouse,in";
+ source: "h1";
+ in: 0.4 0.0;
+ after: "left2_1";
+ }
+ program {
+ name: "left1_1";
+ action: STATE_SET "1" 0.0;
+ target: "left_arrow1";
+ transition: LINEAR 0.4;
+ after: "left1_2";
+ }
+ program {
+ name: "left1_2";
+ action: STATE_SET "2" 0.0;
+ target: "left_arrow1";
+ transition: LINEAR 0.4;
+ after: "left1_r";
+ }
+ program {
+ name: "left1_r";
+ action: STATE_SET "default" 0.0;
+ target: "left_arrow1";
+ after: "left1_1";
+ }
+ program {
+ name: "left2_1";
+ action: STATE_SET "1" 0.0;
+ target: "left_arrow2";
+ transition: LINEAR 0.4;
+ after: "left2_2";
+ }
+ program {
+ name: "left2_2";
+ action: STATE_SET "2" 0.0;
+ target: "left_arrow2";
+ transition: LINEAR 0.4;
+ after: "left2_r";
+ }
+ program {
+ name: "left2_r";
+ action: STATE_SET "default" 0.0;
+ target: "left_arrow2";
+ after: "left2_1";
+ }
+ program {
+ name: "stop_left1";
+ signal: "mouse,out";
+ source: "h1";
+ action: ACTION_STOP;
+ target: "left1_1";
+ target: "left1_2";
+ target: "left1_r";
+ target: "left2_1";
+ target: "left2_2";
+ target: "left2_r";
+ target: "start_left2";
+ after: "stop_left2";
+ }
+ program {
+ name: "stop_left2";
+ action: STATE_SET "default" 0.0;
+ target: "left_arrow1";
+ target: "left_arrow2";
+ }
+ // RIGHT ARROW
+ program {
+ name: "start_right1";
+ signal: "mouse,in";
+ source: "h2";
+ after: "right1_1";
+ }
+ program {
+ name: "start_right2";
+ signal: "mouse,in";
+ source: "h2";
+ in: 0.4 0.0;
+ after: "right2_1";
+ }
+ program {
+ name: "right1_1";
+ action: STATE_SET "1" 0.0;
+ target: "right_arrow1";
+ transition: LINEAR 0.4;
+ after: "right1_2";
+ }
+ program {
+ name: "right1_2";
+ action: STATE_SET "2" 0.0;
+ target: "right_arrow1";
+ transition: LINEAR 0.4;
+ after: "right1_r";
+ }
+ program {
+ name: "right1_r";
+ action: STATE_SET "default" 0.0;
+ target: "right_arrow1";
+ after: "right1_1";
+ }
+ program {
+ name: "right2_1";
+ action: STATE_SET "1" 0.0;
+ target: "right_arrow2";
+ transition: LINEAR 0.4;
+ after: "right2_2";
+ }
+ program {
+ name: "right2_2";
+ action: STATE_SET "2" 0.0;
+ target: "right_arrow2";
+ transition: LINEAR 0.4;
+ after: "right2_r";
+ }
+ program {
+ name: "right2_r";
+ action: STATE_SET "default" 0.0;
+ target: "right_arrow2";
+ after: "right2_1";
+ }
+ program {
+ name: "stop_right1";
+ signal: "mouse,out";
+ source: "h2";
+ action: ACTION_STOP;
+ target: "right1_1";
+ target: "right1_2";
+ target: "right1_r";
+ target: "right2_1";
+ target: "right2_2";
+ target: "right2_r";
+ target: "start_right2";
+ after: "stop_right2";
+ }
+ program {
+ name: "stop_right2";
+ action: STATE_SET "default" 0.0;
+ target: "right_arrow1";
+ target: "right_arrow2";
+ }
+ // TOP ARROW
+ program {
+ name: "start_top1";
+ signal: "mouse,in";
+ source: "v1";
+ after: "top1_1";
+ }
+ program {
+ name: "start_top2";
+ signal: "mouse,in";
+ source: "v1";
+ in: 0.4 0.0;
+ after: "top2_1";
+ }
+ program {
+ name: "top1_1";
+ action: STATE_SET "1" 0.0;
+ target: "top_arrow1";
+ transition: LINEAR 0.4;
+ after: "top1_2";
+ }
+ program {
+ name: "top1_2";
+ action: STATE_SET "2" 0.0;
+ target: "top_arrow1";
+ transition: LINEAR 0.4;
+ after: "top1_r";
+ }
+ program {
+ name: "top1_r";
+ action: STATE_SET "default" 0.0;
+ target: "top_arrow1";
+ after: "top1_1";
+ }
+ program {
+ name: "top2_1";
+ action: STATE_SET "1" 0.0;
+ target: "top_arrow2";
+ transition: LINEAR 0.4;
+ after: "top2_2";
+ }
+ program {
+ name: "top2_2";
+ action: STATE_SET "2" 0.0;
+ target: "top_arrow2";
+ transition: LINEAR 0.4;
+ after: "top2_r";
+ }
+ program {
+ name: "top2_r";
+ action: STATE_SET "default" 0.0;
+ target: "top_arrow2";
+ after: "top2_1";
+ }
+ program {
+ name: "stop_top1";
+ signal: "mouse,out";
+ source: "v1";
+ action: ACTION_STOP;
+ target: "top1_1";
+ target: "top1_2";
+ target: "top1_r";
+ target: "top2_1";
+ target: "top2_2";
+ target: "top2_r";
+ target: "start_top2";
+ after: "stop_top2";
+ }
+ program {
+ name: "stop_top2";
+ action: STATE_SET "default" 0.0;
+ target: "top_arrow1";
+ target: "top_arrow2";
+ }
+ // BOTTOM ARROW
+ program {
+ name: "start_bottom1";
+ signal: "mouse,in";
+ source: "v2";
+ after: "bottom1_1";
+ }
+ program {
+ name: "start_bottom2";
+ signal: "mouse,in";
+ source: "v2";
+ in: 0.4 0.0;
+ after: "bottom2_1";
+ }
+ program {
+ name: "bottom1_1";
+ action: STATE_SET "1" 0.0;
+ target: "bottom_arrow1";
+ transition: LINEAR 0.4;
+ after: "bottom1_2";
+ }
+ program {
+ name: "bottom1_2";
+ action: STATE_SET "2" 0.0;
+ target: "bottom_arrow1";
+ transition: LINEAR 0.4;
+ after: "bottom1_r";
+ }
+ program {
+ name: "bottom1_r";
+ action: STATE_SET "default" 0.0;
+ target: "bottom_arrow1";
+ after: "bottom1_1";
+ }
+ program {
+ name: "bottom2_1";
+ action: STATE_SET "1" 0.0;
+ target: "bottom_arrow2";
+ transition: LINEAR 0.4;
+ after: "bottom2_2";
+ }
+ program {
+ name: "bottom2_2";
+ action: STATE_SET "2" 0.0;
+ target: "bottom_arrow2";
+ transition: LINEAR 0.4;
+ after: "bottom2_r";
+ }
+ program {
+ name: "bottom2_r";
+ action: STATE_SET "default" 0.0;
+ target: "bottom_arrow2";
+ after: "bottom2_1";
+ }
+ program {
+ name: "stop_bottom1";
+ signal: "mouse,out";
+ source: "v2";
+ action: ACTION_STOP;
+ target: "bottom1_1";
+ target: "bottom1_2";
+ target: "bottom1_r";
+ target: "bottom2_1";
+ target: "bottom2_2";
+ target: "bottom2_r";
+ target: "start_bottom2";
+ after: "stop_bottom2";
+ }
+ program {
+ name: "stop_bottom2";
+ action: STATE_SET "default" 0.0;
+ target: "bottom_arrow1";
+ target: "bottom_arrow2";
+ }
+ }
+ }
+
+ group {
+ name: "e/widgets/slidesel";
alias: "e/pointer/enlightenment/default/mono";
- alias: "e/widgets/toolbar";
- alias: "e/widgets/menu/default/submenu_bg";
alias: "e/modules/connman/network";
- alias: "e/modules/ibar/icon";
- alias: "e/modules/ibar/icon_overlay";
- alias: "e/modules/ibar/drop";
- alias: "e/modules/ibar/drop_overlay";
alias: "e/fileman/default/list/drop_between";
alias: "e/fileman/desktop/list/drop_in";
alias: "e/fileman/desktop/list/drop_between";
@@ -1268,24 +13929,6 @@ collections { /* begin the collection of edje groups that are in this file */
alias: "e/sys/suspend";
alias: "e/sys/hibernate";
alias: "e/widgets/gradpreview";
- alias: "e/widgets/toolbar/item";
- alias: "e/widgets/menu/default/background";
- alias: "e/widgets/menu/default/separator";
- alias: "e/widgets/menu/default/item_bg";
- alias: "e/widgets/menu/default/icon";
- alias: "e/widgets/menu/default/label";
- alias: "e/widgets/menu/default/submenu";
- alias: "e/widgets/menu/default/check";
- alias: "e/widgets/menu/default/radio";
- alias: "e/shelf/default/base";
- alias: "e/shelf/default/inset";
- alias: "e/shelf/default/plain";
- alias: "e/shelf/invisible/base";
- alias: "e/shelf/invisible/inset";
- alias: "e/shelf/invisible/plain";
- alias: "e/shelf/alternate/base";
- alias: "e/shelf/alternate/inset";
- alias: "e/shelf/alternate/plain";
alias: "e/modules/connman/main";
alias: "e/modules/conf_edgebindings/selection";
alias: "e/modules/start/main";
@@ -1297,10 +13940,6 @@ collections { /* begin the collection of edje groups that are in this file */
alias: "e/modules/temperature/main";
alias: "e/modules/clock/main";
alias: "e/modules/cpufreq/main";
- alias: "e/modules/ibox/icon";
- alias: "e/modules/ibox/icon_overlay";
- alias: "e/modules/ibox/drop";
- alias: "e/modules/ibox/drop_overlay";
alias: "e/widgets/winlist/main";
alias: "e/widgets/winlist/item";
alias: "e/widgets/exebuf/main";
@@ -1324,23 +13963,10 @@ collections { /* begin the collection of edje groups that are in this file */
alias: "e/fileman/default/list/fixed";
alias: "e/fileman/default/list_odd/fixed";
alias: "e/sys/logout";
- alias: "e/widgets/configure/main";
- alias: "e/widgets/border/default/move";
- alias: "e/widgets/border/default/resize";
- alias: "e/toolbar/default/base";
alias: "e/transpreview/0";
alias: "e/transpreview/1";
alias: "e/transitions/crossfade";
alias: "e/transitions/vswipe";
- alias: "e/widgets/check";
- alias: "e/widgets/check_icon";
- alias: "e/widgets/radio";
- alias: "e/widgets/radio_icon";
- alias: "e/widgets/scrollframe";
- alias: "e/widgets/ilist";
- alias: "e/widgets/ilist_odd";
- alias: "e/widgets/ilist_header";
- alias: "e/widgets/ilist_header_odd";
alias: "e/widgets/entry";
alias: "e/widgets/entry/text";
alias: "e/widgets/entry/cursor";
@@ -1349,18 +13975,9 @@ collections { /* begin the collection of edje groups that are in this file */
alias: "e/widgets/deskpreview/desk";
alias: "e/widgets/color_well";
alias: "e/widgets/spectrum";
- alias: "e/widgets/cslider";
- alias: "e/widgets/slider_vertical";
- alias: "e/widgets/slider_horizontal";
- alias: "e/widgets/frame";
alias: "e/widgets/fontpreview";
- alias: "e/widgets/textblock";
alias: "e/desklock/background";
alias: "e/desklock/login_box";
- alias: "e/gadman/popup";
- alias: "e/gadman/full_bg";
- alias: "e/gadman/frame";
- alias: "e/gadman/control";
alias: "e/wizard/extra";
alias: "e/wizard/main";
alias: "e/widgets/about/main";
@@ -1385,13 +14002,15 @@ collections { /* begin the collection of edje groups that are in this file */
alias: "e/widgets/everything/main";
alias: "e/widgets/everything/item";
parts {
- part { name: "base";
- mouse_events: 0;
+ part {
+ name: "base";
+ mouse_events: 0;
type: RECT;
- description { state: "default" 0.0;
+ description {
+ state: "default" 0.0;
color: 0 0 0 0;
- }
- }
+ }
+ }
}
}
}
diff --git a/debian/changelog b/debian/changelog
index 6e7ad63..ba48b09 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,189 @@
+e17 (1:1.0.0.001+svn.68441slp2+build23) unstable; urgency=low
+
+ * Change auto-focus policy
+ - Skip the app-in-app mode window while finding next focused window
+ [OBS] e17-1.0.0.001+svn.68441slp2+build23-slp.1.1
+ * Git: framework/uifw/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build23
+
+ -- Doyoun Kang <doyoun.kang@samsung.com> Sun, 19 Aug 2012 15:27:29 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build22) unstable; urgency=low
+
+ * [E_Gadcon] Add code to remove E_Gadcon from the custom_populate_request list
+ when the E_Gadcon is removed
+ [OBS] e17-1.0.0.001+svn.68441slp2+build22-slp.1.1
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build22
+
+ -- Doyoun Kang <doyoun.kang@samsung.com> Wed, 08 Aug 2012 23:21:15 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build21) unstable; urgency=low
+
+ * [E_Border] Changed _e_border_eval0 to show border on the proper E_Desk.
+ Border which specifies E_PROFILE_LIST shouldn't appear on the screen
+ due to incorrect border events at _e_border_eval0. Thus it has been
+ changed to set desk after creating E_BORDER_ADD event.
+ - Previous Incorrect Border Events: BORDER_SHOW -> BORDER_ADD
+ - Changed Border Events: BORDER_ADD -> BORDER_SHOW
+ [OBS] e17-1.0.0.001+svn.68441slp2+build21-slp.1.1
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build21
+
+ -- Gwanglim <gl77.lee@samsung.com> Sun, 05 Aug 2012 18:06:14 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build20) unstable; urgency=low
+
+ * [E_Util] add feature - external elementary dialog show
+ Using external elementary dialog util instead of e_dialog to display error
+ or warning messages. It is a temporary solution for supporting consistent
+ UX theme. The external dialog is a simple EFL application which is based on
+ elementary. Thus window manager can display message using elementary UX theme,
+ along with other system popup.
+ [OBS] e17-1.0.0.001+svn.68441slp2+build20-slp.1.1
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build20
+
+ -- Gwanglim Lee <gl77.lee@samsung.com> Tue, 24 Jul 2012 23:06:28 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build19) unstable; urgency=low
+
+ * [E_Manager] add feature - composite mode set / get
+ [OBS] e17-1.0.0.001+svn.68441slp2+build19-slp.1.1
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build19
+
+ -- Gwanglim Lee <gl77.lee@samsung.com> Wed, 18 Jul 2012 15:22:50 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build18) unstable; urgency=low
+
+ * [Theme] Change samsung.edc theme file according to UX guide
+ [OBS] e17-1.0.0.001+svn.68441slp2+build18-slp.1.1
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build18
+
+ -- Doyoun Kang <doyoun.kang@samsung.com> Tue, 17 Jul 2012 21:18:07 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build17) unstable; urgency=low
+
+ * [gadman] bug fix - calculate gadget's relative geometry using zone's geometry
+ [OBS] e17-1.0.0.001+svn.68441slp2+build17-slp.1.1
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build17
+
+ -- Doyoun Kang <doyoun.kang@samsung.com> Thu, 12 Jul 2012 17:19:22 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build16) unstable; urgency=low
+
+ * [ibar] add feature - lock to move icon
+ [OBS] e17-1.0.0.001+svn.68441slp2+build16-slp.1.1
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build16
+
+ -- Doyoun Kang <doyoun.kang@samsung.com> Sat, 30 Jun 2012 13:40:39 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build15) unstable; urgency=low
+
+ * 1. Install clock module
+ 2. Added per-window profile to support multi-head display
+ 3. Remove _F_SUPPORT_DESKTOP_MODE_ environment variable feature
+ 4. Apply new UX theme
+ [OBS] e17-1.0.0.001+svn.68441slp2+build15-slp.1.1
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build15
+
+ -- Doyoun Kang <doyoun.kang@samsung.com> Wed, 20 Jun 2012 20:14:21 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build14) unstable; urgency=low
+
+ * [gadman] Add code to handle gadget list when a zone is added or deleted
+ [theme ] Add script to handle gadgets in samsung.edj theme
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build14
+
+ -- Doyoun Kang <doyoun.kang@samsung.com> Wed, 13 Jun 2012 20:41:12 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build13) unstable; urgency=low
+
+ * [ibar] change ELM_SCALE environment value to "extension"
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build13
+
+ -- Doyoun Kang <doyoun.kang@samsung.com> Mon, 4 Jun 2012 14:26:26 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build12) unstable; urgency=low
+
+ * [ibar] Add code to set ELM_SCALE environment value for desktop mode
+ [featuring] Add feature - _F_SUPPORT_DESKTOP_MODE_ : support desktop mode
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build12
+
+ -- Doyoun Kang <doyoun.kang@samsung.com> Thu, 24 May 2012 15:20:20 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build11) unstable; urgency=low
+
+ * Change debian/e17.postinst file
+ - Remove libtool files
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build11
+
+ -- Doyoun Kang <doyoun.kang@samsung.com> Fri, 18 May 2012 13:39:42 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build10) unstable; urgency=low
+
+ * [Theme] change the samsung.edc theme file to support various border type
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build10
+
+ -- Doyoun Kang <doyoun.kang@samsung.com> Sun, 13 May 2012 17:37:08 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build09) unstable; urgency=low
+
+ * Change environment to support desktop mode
+ - change debian/rules and debian/e17.install to install some modules
+ (ibar, ibox, gadman, conf_applications, conf_theme)
+ - change the samsung.edc theme file
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build09
+
+ -- Doyoun Kang <doyoun.kang@samsung.com> Wed, 09 May 2012 10:14:39 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build08) unstable; urgency=low
+
+ * Bug fix - Checking the geometry of a window while the e finding the next
+ focused window when it gets active request message
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build08
+
+ -- Doyoun Kang <doyoun.kang@samsung.com> Fri, 04 May 2012 18:01:34 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build07) unstable; urgency=low
+
+ * Rollback e_container.c file to rev.70439
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build07
+
+ -- Doyoun Kang <doyoun.kang@samsung.com> Wed, 25 Apr 2012 17:49:37 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build06) unstable; urgency=low
+
+ * Patch e_container.c file(rev.70442) - this contains below change
+ - if screens dynamically come and go ONLy free zones we no longer need
+ and ONLy new zones we now do need, dont free all and new existing set
+ + new ones.
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build06
+
+ -- Doyoun Kang <doyoun.kang@samsung.com> Wed, 25 Apr 2012 08:14:22 +0900
+
+e17 (1:1.0.0.001+svn.68441slp2+build05) unstable; urgency=low
+
+ * Update COPYING file
+ * Git: slp/pkgs/e/e17
+ * Tag: e17_1.0.0.001+svn.68441slp2+build05
+
+ -- Doyoun Kang <doyoun.kang@samsung.com> Mon, 09 Apr 2012 15:45:11 +0900
+
e17 (1:1.0.0.001+svn.68441slp2+build04) unstable; urgency=low
* [E_Zone] There is a bug doesn't send E_EVENT_ZONE_DEL event when the zone
diff --git a/debian/e17.install b/debian/e17.install
index 555b5d9..29a9e18 100644
--- a/debian/e17.install
+++ b/debian/e17.install
@@ -5,3 +5,4 @@ debian/tmp/usr/bin/enlightenment_imc
#debian/tmp/usr/lib/enlightenment/utils/enlightenment_*
debian/tmp/etc/enlightenment/sysactions.conf
debian/tmp/usr/lib/enlightenment/preload/e_precache.so
+debian/tmp/usr/lib/enlightenment/modules/*
diff --git a/debian/e17.postinst b/debian/e17.postinst
index b7502ab..e985d0c 100644
--- a/debian/e17.postinst
+++ b/debian/e17.postinst
@@ -7,4 +7,6 @@ wm=enlightenment_start
#update-alternatives --install /usr/bin/x-window-manager x-window-manager \
# /usr/bin/$wm 90
+find /usr/lib/enlightenment/modules -name *.la -exec rm -f {} \;
+
#DEBHELPER#
diff --git a/debian/rules b/debian/rules
index 51b2490..da375f3 100755
--- a/debian/rules
+++ b/debian/rules
@@ -8,7 +8,7 @@ DEB_FIXPERMS_EXCLUDE := enlightenment_sys freqset tempget batget
DEB_MAKE_CLEAN_TARGET := distclean
DEB_INSTALL_MANPAGES_e17 := $(DEB_SRCDIR)/debian/enlightenment.1 $(DEB_SRCDIR)/debian/enlightenment_*.1
DEB_DH_STRIP_ARGS := --dbg-package=e17-dbg
-DEB_CONFIGURE_EXTRA_FLAGS := --enable-extra-features --disable-clock --disable-temperature --disable-mixer --disable-everything --disable-ibar --disable-dropshadow --disable-pager --disable-battery --disable-cpufreq --disable-ibox --disable-start --disable-exebuf --disable-winlist --disable-fileman --disable-fileman-opinfo --disable-wizard --disable-conf --disable-conf-wallpaper --disable-conf-wallpaper2 --disable-conf-theme --disable-conf-colors --disable-conf-fonts --disable-conf-borders --disable-conf-icon-theme --disable-conf-mouse-cursor --disable-conf-transitions --disable-conf-startup --disable-conf-intl --disable-conf-imc --disable-conf-profiles --disable-msgbus-lang --disable-conf-engine --disable-conf-applications --disable-conf-desks --disable-conf-desk --disable-conf-display --disable-conf-desklock --disable-conf-screensaver --disable-conf-dpms --disable-conf-shelves --disable-conf-shelves --disable-conf-keybindings --disable-conf-mousebindings --disable-conf-edgebindings --disable-conf-mouse --disable-conf-window-display --disable-conf-window-focus --disable-conf-window-remembers --disable-conf-window-manipulation --disable-conf-menus --disable-conf-clientlist --disable-conf-dialogs --disable-conf-performance --disable-conf-winlist --disable-conf-exebuf --disable-conf-paths --disable-conf-mime --disable-conf-interaction --disable-conf-scale --disable-gadman --disable-mixel --disable-connman --disable-illume --disable-syscon --disable-bluez --disable-ofono --disable-msgbus --disable-systray --disable-conf_acpibindings --disable-everything-apps --disable-everything-aspell --disable-everything-calc --disable-everything-files --disable-everything-settings --disable-everything-windows --disable-illume-bluetooth --disable-illume-home --disable-illume-toggle --disable-illume-indicator --disable-illume-kbd-toggle --disable-illume-keyboard --disable-illume-mode-toggle --disable-illume-softkey --disable-comp --disable-illume2 --disable-notification --disable-conf_randr --disable-tasks --disable-backlight --disable-shot
+DEB_CONFIGURE_EXTRA_FLAGS := --enable-extra-features --disable-temperature --disable-mixer --disable-everything --disable-dropshadow --disable-pager --disable-battery --disable-cpufreq --disable-start --disable-exebuf --disable-winlist --disable-fileman --disable-fileman-opinfo --disable-wizard --disable-conf --disable-conf-wallpaper --disable-conf-wallpaper2 --disable-conf-colors --disable-conf-fonts --disable-conf-borders --disable-conf-icon-theme --disable-conf-mouse-cursor --disable-conf-transitions --disable-conf-startup --disable-conf-intl --disable-conf-imc --disable-conf-profiles --disable-msgbus-lang --disable-conf-engine --disable-conf-desks --disable-conf-desk --disable-conf-display --disable-conf-desklock --disable-conf-screensaver --disable-conf-dpms --disable-conf-shelves --disable-conf-shelves --disable-conf-keybindings --disable-conf-mousebindings --disable-conf-edgebindings --disable-conf-mouse --disable-conf-window-display --disable-conf-window-focus --disable-conf-window-remembers --disable-conf-window-manipulation --disable-conf-menus --disable-conf-clientlist --disable-conf-dialogs --disable-conf-performance --disable-conf-winlist --disable-conf-exebuf --disable-conf-paths --disable-conf-mime --disable-conf-interaction --disable-conf-scale --disable-mixel --disable-connman --disable-illume --disable-syscon --disable-bluez --disable-ofono --disable-msgbus --disable-systray --disable-conf_acpibindings --disable-everything-apps --disable-everything-aspell --disable-everything-calc --disable-everything-files --disable-everything-settings --disable-everything-windows --disable-illume-bluetooth --disable-illume-home --disable-illume-toggle --disable-illume-indicator --disable-illume-kbd-toggle --disable-illume-keyboard --disable-illume-mode-toggle --disable-illume-softkey --disable-comp --disable-illume2 --disable-notification --disable-conf_randr --disable-tasks --disable-backlight --disable-shot
CFLAGS += -fvisibility=hidden -fPIC
LDFLAGS += -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed
diff --git a/doc/cache.txt b/doc/cache.txt
index 3cf3bd9..3cf3bd9 100755..100644
--- a/doc/cache.txt
+++ b/doc/cache.txt
diff --git a/doc/illume2.html b/doc/illume2.html
index 2f106e0..2f106e0 100755..100644
--- a/doc/illume2.html
+++ b/doc/illume2.html
diff --git a/packaging/e17.spec b/packaging/e17.spec
index ee4400c..4a8bedb 100644
--- a/packaging/e17.spec
+++ b/packaging/e17.spec
@@ -1,6 +1,7 @@
+#sbs-git:slp/pkgs/e/e17 e17 1.0.0.001+svn.68441slp2+build21
Name: e17
Summary: The Enlightenment window manager
-Version: 1.0.0.001+svn.68441slp2
+Version: 1.0.0.001+svn.68441slp2+build21
Release: 1
Group: System/GUI/Other
License: BSD
@@ -75,16 +76,13 @@ export LDFLAGS+=" -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed"
%autogen --disable-static
LIBS='-ledbus' ./configure --prefix=/usr --disable-static \
- --disable-clock \
--disable-temperature \
--disable-mixer \
--disable-everything \
- --disable-ibar \
--disable-dropshadow \
--disable-pager \
--disable-battery \
--disable-cpufreq \
- --disable-ibox \
--disable-start \
--disable-exebuf \
--disable-winlist \
@@ -94,7 +92,6 @@ LIBS='-ledbus' ./configure --prefix=/usr --disable-static \
--disable-conf \
--disable-conf-wallpaper \
--disable-conf-wallpaper2 \
- --disable-conf-theme \
--disable-conf-colors \
--disable-conf-fonts \
--disable-conf-borders \
@@ -107,7 +104,6 @@ LIBS='-ledbus' ./configure --prefix=/usr --disable-static \
--disable-conf-profiles \
--disable-msgbus-lang \
--disable-conf-engine \
- --disable-conf-applications \
--disable-conf-desks \
--disable-conf-desk \
--disable-conf-display \
@@ -134,7 +130,6 @@ LIBS='-ledbus' ./configure --prefix=/usr --disable-static \
--disable-conf-mime \
--disable-conf-interaction \
--disable-conf-scale \
- --disable-gadman \
--disable-mixel \
--disable-connman \
--disable-illume \
@@ -179,6 +174,7 @@ rm -rf %{buildroot}
/usr/bin/enlightenment_imc
/usr/bin/enlightenment_remote
/usr/bin/enlightenment_start
+/usr/lib/enlightenment/modules
/usr/lib/enlightenment/preload/*
/usr/etc/enlightenment/sysactions.conf
diff --git a/src/bin/e_border.c b/src/bin/e_border.c
index 10128ce..4d8b2a0 100644
--- a/src/bin/e_border.c
+++ b/src/bin/e_border.c
@@ -124,6 +124,9 @@ static Eina_Bool _e_border_cb_grab_replay(void *data,
void *event);
static void _e_border_cb_drag_finished(E_Drag *drag,
int dropped);
+static Eina_Bool _e_border_cb_desk_window_profile_change(void *data,
+ int ev_type,
+ void *ev);
static void _e_border_eval(E_Border *bd);
static void _e_border_eval0(E_Border *bd);
@@ -299,6 +302,7 @@ e_border_init(void)
handlers = eina_list_append(handlers, ecore_event_handler_add(EFREET_EVENT_DESKTOP_CACHE_UPDATE, _e_border_cb_efreet_cache_update, NULL));
handlers = eina_list_append(handlers, ecore_event_handler_add(EFREET_EVENT_ICON_CACHE_UPDATE, _e_border_cb_efreet_cache_update, NULL));
handlers = eina_list_append(handlers, ecore_event_handler_add(E_EVENT_CONFIG_ICON_THEME, _e_border_cb_config_icon_theme, NULL));
+ handlers = eina_list_append(handlers, ecore_event_handler_add(E_EVENT_DESK_WINDOW_PROFILE_CHANGE, _e_border_cb_desk_window_profile_change, NULL));
if (!borders_hash) borders_hash = eina_hash_string_superfast_new(NULL);
@@ -600,6 +604,9 @@ e_border_new(E_Container *con,
video_parent = EINA_TRUE;
else if (atoms[i] == ECORE_X_ATOM_E_VIDEO_POSITION)
video_position = EINA_TRUE;
+ /* loop to check for window profile list atom */
+ else if (atoms[i] == ECORE_X_ATOM_E_PROFILE_LIST)
+ bd->client.e.fetch.profile_list = 1;
}
if (video_position && video_parent)
{
@@ -675,6 +682,12 @@ e_border_new(E_Container *con,
desk[0] = deskx;
desk[1] = desky;
ecore_x_window_prop_card32_set(win, E_ATOM_DESK, desk, 2);
+ if (strcmp(bd->desk->window_profile,
+ e_config->desktop_default_window_profile) != 0)
+ {
+ ecore_x_e_window_profile_set(bd->client.win,
+ bd->desk->window_profile);
+ }
focus_stack = eina_list_append(focus_stack, bd);
@@ -4371,6 +4384,7 @@ e_border_resize_limit(E_Border *bd,
static void
_e_border_free(E_Border *bd)
{
+ const char *str;
if (bd->client.e.state.video_parent)
{
Eina_List *l;
@@ -4533,6 +4547,14 @@ _e_border_free(E_Border *bd)
if (bd->internal_icon) eina_stringshare_del(bd->internal_icon);
if (bd->internal_icon_key) eina_stringshare_del(bd->internal_icon_key);
if (bd->icon_object) evas_object_del(bd->icon_object);
+ EINA_LIST_FREE(bd->client.e.state.profiles, str)
+ {
+ if (str) eina_stringshare_del(str);
+ }
+ bd->client.e.state.profiles = NULL;
+ if (bd->client.e.state.profile)
+ eina_stringshare_del(bd->client.e.state.profile);
+ bd->client.e.state.profile = NULL;
evas_object_del(bd->bg_object);
e_canvas_del(bd->bg_ecore_evas);
ecore_evas_free(bd->bg_ecore_evas);
@@ -5366,6 +5388,11 @@ _e_border_cb_window_property(void *data __UNUSED__,
bd->client.e.fetch.video_parent = 1;
bd->changed = 1;
}
+ else if (e->atom == ECORE_X_ATOM_E_PROFILE_LIST)
+ {
+ bd->client.e.fetch.profile_list = 1;
+ bd->changed = 1;
+ }
return ECORE_CALLBACK_PASS_ON;
}
@@ -6407,6 +6434,27 @@ _e_border_cb_drag_finished(E_Drag *drag,
}
static Eina_Bool
+_e_border_cb_desk_window_profile_change(void *data __UNUSED__,
+ int ev_type __UNUSED__,
+ void *ev)
+{
+ E_Event_Desk_Window_Profile_Change *e;
+ Eina_List *l;
+ E_Border *bd;
+
+ e = ev;
+ EINA_LIST_FOREACH(borders, l, bd)
+ {
+ if ((bd) && (!e_object_is_del(E_OBJECT(bd))))
+ {
+ bd->client.e.fetch.profile_list = 1;
+ bd->changed = 1;
+ }
+ }
+ return ECORE_CALLBACK_PASS_ON;
+}
+
+static Eina_Bool
_e_border_post_move_resize_job(void *data)
{
E_Border *bd;
@@ -6500,6 +6548,7 @@ _e_border_eval0(E_Border *bd)
{
int change_urgent = 0;
int rem_change = 0;
+ Eina_Bool need_desk_set = EINA_FALSE;
if (e_object_is_del(E_OBJECT(bd)))
{
@@ -6626,6 +6675,52 @@ _e_border_eval0(E_Border *bd)
bd->client.e.fetch.state = 0;
rem_change = 1;
}
+ if (bd->client.e.fetch.profile_list)
+ {
+ const char **profiles = NULL;
+ const char *str;
+ int num, i;
+
+ if (bd->client.e.state.profile)
+ eina_stringshare_del(bd->client.e.state.profile);
+ EINA_LIST_FREE(bd->client.e.state.profiles, str)
+ {
+ if (str) eina_stringshare_del(str);
+ }
+ bd->client.e.state.profile = NULL;
+ bd->client.e.state.profiles = NULL;
+ bd->client.e.state.profile_list = 0;
+
+ if (ecore_x_e_window_profile_list_get(bd->client.win,
+ &profiles, &num))
+ {
+ bd->client.e.state.profile_list = 1;
+ for (i = 0; i < num; i++)
+ {
+ str = eina_stringshare_add(profiles[i]);
+ bd->client.e.state.profiles = eina_list_append(bd->client.e.state.profiles, str);
+ }
+
+ /* We should set desk to contain given border after creating E_BORDER_ADD event.
+ * If not, e will have an E_BORDER_SHOW event before E_BORDER_ADD event.
+ */
+ need_desk_set = EINA_TRUE;
+ }
+ else
+ {
+ if (strcmp(bd->desk->window_profile,
+ e_config->desktop_default_window_profile) != 0)
+ {
+ ecore_x_e_window_profile_set(bd->client.win,
+ bd->desk->window_profile);
+ }
+ }
+
+ if (profiles)
+ free(profiles);
+
+ bd->client.e.fetch.profile_list = 0;
+ }
if (bd->client.netwm.fetch.type)
{
e_hints_window_type_get(bd);
@@ -7236,6 +7331,29 @@ _e_border_eval0(E_Border *bd)
bd->client.border.changed = 1;
}
+ if (need_desk_set)
+ {
+ E_Container *con = bd->zone->container;
+ E_Desk *desk = NULL;
+ Eina_List *l;
+ const char *str;
+ EINA_LIST_FOREACH(bd->client.e.state.profiles, l, str)
+ {
+ desk = e_container_desk_window_profile_get(con, str);
+ if (desk)
+ {
+ if (bd->desk != desk)
+ {
+ bd->client.e.state.profile = eina_stringshare_add(str);
+ if (bd->zone != desk->zone)
+ e_border_zone_set(bd, desk->zone);
+ e_border_desk_set(bd, desk);
+ }
+ break;
+ }
+ }
+ }
+
/* PRE_POST_FETCH calls e_remember apply for new client */
_e_border_hook_call(E_BORDER_HOOK_EVAL_PRE_POST_FETCH, bd);
_e_border_hook_call(E_BORDER_HOOK_EVAL_POST_FETCH, bd);
@@ -7460,7 +7578,6 @@ _e_border_eval0(E_Border *bd)
static void
_e_border_latest_stacked_focus (E_Border* bd)
{
- Eina_List *l = NULL;
E_Border *temp_bd;
int root_w, root_h;
@@ -7473,6 +7590,7 @@ _e_border_latest_stacked_focus (E_Border* bd)
{
if ((temp_bd->x >= root_w) || (temp_bd->y >= root_h)) continue;
if (((temp_bd->x + temp_bd->w) <= 0) || ((temp_bd->y + temp_bd->h) <= 0)) continue;
+ if (temp_bd->client.illume.win_state.state == ECORE_X_ILLUME_WINDOW_STATE_FLOATING) continue;
if ((!temp_bd->iconic) && (temp_bd->visible) && (temp_bd->desk == bd->desk) &&
(temp_bd->client.icccm.accepts_focus || temp_bd->client.icccm.take_focus) &&
@@ -7501,7 +7619,6 @@ _e_border_latest_stacked_focus (E_Border* bd)
static void
_e_border_check_stack (E_Border *bd)
{
- Eina_List* l = NULL;
E_Border* temp_bd = NULL;;
E_Border* top_bd = NULL;
int passed_focus = 0;
@@ -7515,6 +7632,7 @@ _e_border_check_stack (E_Border *bd)
{
if ((temp_bd->x >= root_w) || (temp_bd->y >= root_h)) continue;
if (((temp_bd->x + temp_bd->w) <= 0) || ((temp_bd->y + temp_bd->h) <= 0)) continue;
+ if (temp_bd->client.illume.win_state.state == ECORE_X_ILLUME_WINDOW_STATE_FLOATING) continue;
if ((!temp_bd->iconic) && (temp_bd->visible) && (temp_bd->desk == bd->desk) &&
(temp_bd->client.icccm.accepts_focus || temp_bd->client.icccm.take_focus) &&
@@ -7570,9 +7688,8 @@ _e_border_check_stack (E_Border *bd)
}
static void
-_e_border_focus_top_stack_set (E_Border* bd)
+_e_border_focus_top_stack_set(E_Border* bd)
{
- Eina_List *l = NULL;
E_Border *temp_bd;
int root_w, root_h;
@@ -7585,6 +7702,7 @@ _e_border_focus_top_stack_set (E_Border* bd)
{
if ((temp_bd->x >= root_w) || (temp_bd->y >= root_h)) continue;
if (((temp_bd->x + temp_bd->w) <= 0) || ((temp_bd->y + temp_bd->h) <= 0)) continue;
+ if (temp_bd->client.illume.win_state.state == ECORE_X_ILLUME_WINDOW_STATE_FLOATING) continue;
if ((!temp_bd->iconic) && (temp_bd->visible) && (temp_bd->desk == bd->desk) &&
(temp_bd->client.icccm.accepts_focus || temp_bd->client.icccm.take_focus) &&
diff --git a/src/bin/e_border.h b/src/bin/e_border.h
index ab1bd3d..86f0843 100644
--- a/src/bin/e_border.h
+++ b/src/bin/e_border.h
@@ -355,15 +355,19 @@ struct _E_Border
Ecore_X_Window video_parent;
E_Border *video_parent_border;
Eina_List *video_child;
+ const char *profile;
+ Eina_List *profiles;
unsigned char centered : 1;
unsigned char video : 1;
+ unsigned char profile_list : 1;
} state;
struct {
unsigned char state : 1;
unsigned char video_parent : 1;
unsigned char video_position : 1;
+ unsigned char profile_list : 1;
} fetch;
} e;
diff --git a/src/bin/e_config.c b/src/bin/e_config.c
index 7f9cfe5..ffc2d46 100644
--- a/src/bin/e_config.c
+++ b/src/bin/e_config.c
@@ -40,6 +40,7 @@ static E_Config_DD *_e_config_bindings_acpi_edd = NULL;
static E_Config_DD *_e_config_path_append_edd = NULL;
static E_Config_DD *_e_config_desktop_bg_edd = NULL;
static E_Config_DD *_e_config_desktop_name_edd = NULL;
+static E_Config_DD *_e_config_desktop_window_profile_edd = NULL;
static E_Config_DD *_e_config_remember_edd = NULL;
static E_Config_DD *_e_config_color_class_edd = NULL;
static E_Config_DD *_e_config_gadcon_edd = NULL;
@@ -276,6 +277,17 @@ e_config_init(void)
E_CONFIG_VAL(D, T, desk_y, INT);
E_CONFIG_VAL(D, T, name, STR);
+ _e_config_desktop_window_profile_edd = E_CONFIG_DD_NEW("E_Config_Desktop_Window_Profile", E_Config_Desktop_Window_Profile);
+#undef T
+#undef D
+#define T E_Config_Desktop_Window_Profile
+#define D _e_config_desktop_window_profile_edd
+ E_CONFIG_VAL(D, T, container, INT);
+ E_CONFIG_VAL(D, T, zone, INT);
+ E_CONFIG_VAL(D, T, desk_x, INT);
+ E_CONFIG_VAL(D, T, desk_y, INT);
+ E_CONFIG_VAL(D, T, profile, STR);
+
_e_config_path_append_edd = E_CONFIG_DD_NEW("E_Path_Dir", E_Path_Dir);
#undef T
#undef D
@@ -625,8 +637,10 @@ e_config_init(void)
E_CONFIG_VAL(D, T, init_default_theme, STR); /**/
E_CONFIG_VAL(D, T, desktop_default_background, STR); /**/
E_CONFIG_VAL(D, T, desktop_default_name, STR); /**/
+ E_CONFIG_VAL(D, T, desktop_default_window_profile, STR); /**/
E_CONFIG_LIST(D, T, desktop_backgrounds, _e_config_desktop_bg_edd); /**/
E_CONFIG_LIST(D, T, desktop_names, _e_config_desktop_name_edd); /**/
+ E_CONFIG_LIST(D, T, desktop_window_profiles, _e_config_desktop_window_profile_edd); /**/
E_CONFIG_VAL(D, T, menus_scroll_speed, DOUBLE); /**/
E_CONFIG_VAL(D, T, menus_fast_mouse_move_threshhold, DOUBLE); /**/
E_CONFIG_VAL(D, T, menus_click_drag_timeout, DOUBLE); /**/
@@ -925,6 +939,7 @@ e_config_shutdown(void)
E_CONFIG_DD_FREE(_e_config_path_append_edd);
E_CONFIG_DD_FREE(_e_config_desktop_bg_edd);
E_CONFIG_DD_FREE(_e_config_desktop_name_edd);
+ E_CONFIG_DD_FREE(_e_config_desktop_window_profile_edd);
E_CONFIG_DD_FREE(_e_config_remember_edd);
E_CONFIG_DD_FREE(_e_config_gadcon_edd);
E_CONFIG_DD_FREE(_e_config_gadcon_client_edd);
@@ -1559,6 +1574,20 @@ e_config_domain_system_load(const char *domain, E_Config_DD *edd)
static void
_e_config_mv_error(const char *from, const char *to)
{
+#if _F_USE_EXTN_DIALOG_
+ char buf[8192];
+ snprintf(buf, sizeof(buf),
+ _("Enlightenment has had an error while moving config files<br>"
+ "from:<br>"
+ "%s<br>"
+ "<br>"
+ "to:<br>"
+ "%s<br>"
+ "<br>"
+ "The rest of the write has been aborted for safety.<br>"),
+ from, to);
+ e_util_extn_dialog_show(_("Enlightenment Settings Write Problems"), buf);
+#else
if (!_e_config_error_dialog)
{
E_Dialog *dia;
@@ -1591,6 +1620,7 @@ _e_config_mv_error(const char *from, const char *to)
_e_config_error_dialog = dia;
}
}
+#endif
}
EAPI int
@@ -2010,6 +2040,7 @@ _e_config_free(E_Config *ecf)
if (ecf->init_default_theme) eina_stringshare_del(ecf->init_default_theme);
if (ecf->desktop_default_background) eina_stringshare_del(ecf->desktop_default_background);
if (ecf->desktop_default_name) eina_stringshare_del(ecf->desktop_default_name);
+ if (ecf->desktop_default_window_profile) eina_stringshare_del(ecf->desktop_default_window_profile);
if (ecf->language) eina_stringshare_del(ecf->language);
if (ecf->transition_start) eina_stringshare_del(ecf->transition_start);
if (ecf->transition_desk) eina_stringshare_del(ecf->transition_desk);
@@ -2132,6 +2163,20 @@ _e_config_eet_close_handle(Eet_File *ef, char *file)
{
/* delete any partially-written file */
ecore_file_unlink(file);
+#if _F_USE_EXTN_DIALOG_
+ char buf[8192];
+ snprintf(buf, sizeof(buf),
+ _("Enlightenment has had an error while writing<br>"
+ "its config file.<br>"
+ "%s<br>"
+ "<br>"
+ "The file where the error occurred was:<br>"
+ "%s<br>"
+ "<br>"
+ "This file has been deleted to avoid corrupt data.<br>"),
+ erstr, file);
+ e_util_extn_dialog_show(_("Enlightenment Settings Write Problems"), buf);
+#else
/* only show dialog for first error - further ones are likely */
/* more of the same error */
if (!_e_config_error_dialog)
@@ -2166,6 +2211,7 @@ _e_config_eet_close_handle(Eet_File *ef, char *file)
_e_config_error_dialog = dia;
}
}
+#endif
return 0;
}
return 1;
diff --git a/src/bin/e_config.h b/src/bin/e_config.h
index 86e278f..5f7bc27 100644
--- a/src/bin/e_config.h
+++ b/src/bin/e_config.h
@@ -2,25 +2,26 @@
#define E_CONFIG_LIMIT(v, min, max) {if (v > max) v = max; else if (v < min) v = min;}
-typedef struct _E_Config E_Config;
-typedef struct _E_Config_Module E_Config_Module;
-typedef struct _E_Config_Theme E_Config_Theme;
-typedef struct _E_Config_Binding_Mouse E_Config_Binding_Mouse;
-typedef struct _E_Config_Binding_Key E_Config_Binding_Key;
-typedef struct _E_Config_Binding_Edge E_Config_Binding_Edge;
-typedef struct _E_Config_Binding_Signal E_Config_Binding_Signal;
-typedef struct _E_Config_Binding_Wheel E_Config_Binding_Wheel;
-typedef struct _E_Config_Binding_Acpi E_Config_Binding_Acpi;
-typedef struct _E_Config_Desktop_Background E_Config_Desktop_Background;
-typedef struct _E_Config_Desktop_Name E_Config_Desktop_Name;
-typedef struct _E_Config_Gadcon E_Config_Gadcon;
-typedef struct _E_Config_Gadcon_Client E_Config_Gadcon_Client;
-typedef struct _E_Config_Shelf E_Config_Shelf;
-typedef struct _E_Config_Shelf_Desk E_Config_Shelf_Desk;
-typedef struct _E_Config_Mime_Icon E_Config_Mime_Icon;
-typedef struct _E_Config_Syscon_Action E_Config_Syscon_Action;
-typedef struct _E_Config_Env_Var E_Config_Env_Var;
-typedef struct _E_Event_Config_Icon_Theme E_Event_Config_Icon_Theme;
+typedef struct _E_Config E_Config;
+typedef struct _E_Config_Module E_Config_Module;
+typedef struct _E_Config_Theme E_Config_Theme;
+typedef struct _E_Config_Binding_Mouse E_Config_Binding_Mouse;
+typedef struct _E_Config_Binding_Key E_Config_Binding_Key;
+typedef struct _E_Config_Binding_Edge E_Config_Binding_Edge;
+typedef struct _E_Config_Binding_Signal E_Config_Binding_Signal;
+typedef struct _E_Config_Binding_Wheel E_Config_Binding_Wheel;
+typedef struct _E_Config_Binding_Acpi E_Config_Binding_Acpi;
+typedef struct _E_Config_Desktop_Background E_Config_Desktop_Background;
+typedef struct _E_Config_Desktop_Name E_Config_Desktop_Name;
+typedef struct _E_Config_Desktop_Window_Profile E_Config_Desktop_Window_Profile;
+typedef struct _E_Config_Gadcon E_Config_Gadcon;
+typedef struct _E_Config_Gadcon_Client E_Config_Gadcon_Client;
+typedef struct _E_Config_Shelf E_Config_Shelf;
+typedef struct _E_Config_Shelf_Desk E_Config_Shelf_Desk;
+typedef struct _E_Config_Mime_Icon E_Config_Mime_Icon;
+typedef struct _E_Config_Syscon_Action E_Config_Syscon_Action;
+typedef struct _E_Config_Env_Var E_Config_Env_Var;
+typedef struct _E_Event_Config_Icon_Theme E_Event_Config_Icon_Theme;
#else
#ifndef E_CONFIG_H
@@ -44,7 +45,9 @@ struct _E_Config
const char *desktop_default_background; // GUI
Eina_List *desktop_backgrounds; // GUI
const char *desktop_default_name;
+ const char *desktop_default_window_profile;
Eina_List *desktop_names; // GUI
+ Eina_List *desktop_window_profiles; // GUI
double menus_scroll_speed; // GUI
double menus_fast_mouse_move_threshhold; // GUI
double menus_click_drag_timeout; // GUI
@@ -449,6 +452,15 @@ struct _E_Config_Desktop_Name
const char *name;
};
+struct _E_Config_Desktop_Window_Profile
+{
+ int container;
+ int zone;
+ int desk_x;
+ int desk_y;
+ const char *profile;
+};
+
struct _E_Config_Gadcon
{
const char *name;
diff --git a/src/bin/e_container.c b/src/bin/e_container.c
index 3f71fe8..46d422a 100644
--- a/src/bin/e_container.c
+++ b/src/bin/e_container.c
@@ -86,12 +86,12 @@ e_container_new(E_Manager *man)
if (!getenv("EVAS_RENDER_MODE"))
{
int have_comp = 0;
- Eina_List *l;
+ Eina_List *ll;
E_Config_Module *em;
// FIXME: major hack. checking in advance for comp. eventully comp
// will be rolled into e17 core and this won't be needed
- EINA_LIST_FOREACH(e_config->modules, l, em)
+ EINA_LIST_FOREACH(e_config->modules, ll, em)
{
if (!strcmp(em->name, "comp"))
{
@@ -363,6 +363,36 @@ e_container_zone_id_get(E_Container *con, int id)
return NULL;
}
+EAPI E_Desk *
+e_container_desk_window_profile_get(E_Container *con,
+ const char *profile)
+{
+ Eina_List *l = NULL;
+ E_Zone *zone = NULL;
+ int x, y;
+
+ E_OBJECT_CHECK_RETURN(con, NULL);
+ E_OBJECT_TYPE_CHECK_RETURN(con, E_CONTAINER_TYPE, NULL);
+
+ EINA_LIST_FOREACH(con->zones, l, zone)
+ {
+ for (x = 0; x < zone->desk_x_count; x++)
+ {
+ for (y = 0; y < zone->desk_y_count; y++)
+ {
+ E_Desk *desk = e_desk_at_xy_get(zone, x, y);
+ if ((desk->window_profile) &&
+ strcmp(desk->window_profile, profile) == 0)
+ {
+ return desk;
+ }
+ }
+ }
+ }
+
+ return NULL;
+}
+
EAPI E_Container_Shape *
e_container_shape_add(E_Container *con)
{
@@ -1116,7 +1146,7 @@ static void
_e_container_resize_handle(E_Container *con)
{
E_Event_Container_Resize *ev;
- Eina_List *l, *screens, *zones = NULL;
+ Eina_List *l, *screens, *zones = NULL, *ll;
E_Zone *zone;
E_Screen *scr;
int i;
@@ -1135,8 +1165,14 @@ _e_container_resize_handle(E_Container *con)
con->zones = NULL;
EINA_LIST_FOREACH(screens, l, scr)
{
+ zone = NULL;
+
printf("@@@ SCREENS: %i %i | %i %i %ix%i\n", scr->screen, scr->escreen, scr->x, scr->y, scr->w, scr->h);
- zone = e_container_zone_id_get(con, scr->escreen);
+ EINA_LIST_FOREACH(zones, ll, zone)
+ {
+ if (zone->id == scr->escreen) break;
+ zone = NULL;
+ }
if (zone)
{
printf("@@@ FOUND ZONE %i %i\n", zone->num, zone->id);
@@ -1151,7 +1187,7 @@ _e_container_resize_handle(E_Container *con)
Eina_List *ll;
E_Config_Shelf *cf_es;
- printf("@@@ container resize handle\n");
+ printf("@@@ container resize handle - new zone\n");
zone = e_zone_new(con, scr->screen, scr->escreen, scr->x, scr->y, scr->w, scr->h);
/* find any shelves configured for this zone and add them in */
EINA_LIST_FOREACH(e_config->shelves, ll, cf_es)
@@ -1164,17 +1200,12 @@ _e_container_resize_handle(E_Container *con)
if (zones)
{
E_Zone *spare_zone = NULL;
- Eina_List *ll;
- EINA_LIST_FOREACH(con->zones, ll, spare_zone)
- {
- if (eina_list_data_find(zones, spare_zone))
- spare_zone = NULL;
- else break;
- }
+ if (con->zones) spare_zone = con->zones->data;
+
EINA_LIST_FREE(zones, zone)
{
- Eina_List *shelves, *ll, *del_shelves;
+ Eina_List *shelves, *ll2, *del_shelves;
E_Shelf *es;
E_Border_List *bl;
E_Border *bd;
@@ -1182,7 +1213,7 @@ _e_container_resize_handle(E_Container *con)
/* delete any shelves on this zone */
shelves = e_shelf_list();
del_shelves = NULL;
- EINA_LIST_FOREACH(shelves, ll, es)
+ EINA_LIST_FOREACH(shelves, ll2, es)
{
if (es->zone == zone)
del_shelves = eina_list_append(del_shelves, es);
@@ -1207,11 +1238,14 @@ _e_container_resize_handle(E_Container *con)
}
else
{
- E_Zone *zone;
+ E_Zone *z;
- zone = e_container_zone_number_get(con, 0);
- e_zone_move_resize(zone, 0, 0, con->w, con->h);
- e_shelf_zone_move_resize_handle(zone);
+ z = e_container_zone_number_get(con, 0);
+ if (z)
+ {
+ e_zone_move_resize(z, 0, 0, con->w, con->h);
+ e_shelf_zone_move_resize_handle(z);
+ }
}
ecore_event_add(E_EVENT_CONTAINER_RESIZE, ev, _e_container_event_container_resize_free, NULL);
diff --git a/src/bin/e_container.h b/src/bin/e_container.h
index 2c6dbaf..58fa91d 100644
--- a/src/bin/e_container.h
+++ b/src/bin/e_container.h
@@ -110,6 +110,8 @@ EAPI E_Zone *e_container_zone_at_point_get(E_Container *con, int x, int y);
EAPI E_Zone *e_container_zone_number_get(E_Container *con, int num);
EAPI E_Zone *e_container_zone_id_get(E_Container *con, int id);
+EAPI E_Desk *e_container_desk_window_profile_get(E_Container *con, const char *profile);
+
EAPI E_Container_Shape *e_container_shape_add(E_Container *con);
EAPI void e_container_shape_show(E_Container_Shape *es);
EAPI void e_container_shape_hide(E_Container_Shape *es);
diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c
index 70ae582..6006e71 100644
--- a/src/bin/e_desk.c
+++ b/src/bin/e_desk.c
@@ -11,6 +11,7 @@ static void _e_desk_event_desk_before_show_free(void *data, void *ev);
static void _e_desk_event_desk_after_show_free(void *data, void *ev);
static void _e_desk_event_desk_deskshow_free(void *data, void *ev);
static void _e_desk_event_desk_name_change_free(void *data, void *ev);
+static void _e_desk_event_desk_window_profile_change_free(void *data, void *ev);
static void _e_desk_show_begin(E_Desk *desk, int mode, int x, int dy);
static void _e_desk_show_end(E_Desk *desk);
static Eina_Bool _e_desk_show_animator(void *data);
@@ -23,6 +24,7 @@ EAPI int E_EVENT_DESK_BEFORE_SHOW = 0;
EAPI int E_EVENT_DESK_AFTER_SHOW = 0;
EAPI int E_EVENT_DESK_DESKSHOW = 0;
EAPI int E_EVENT_DESK_NAME_CHANGE = 0;
+EAPI int E_EVENT_DESK_WINDOW_PROFILE_CHANGE = 0;
EINTERN int
e_desk_init(void)
@@ -32,6 +34,7 @@ e_desk_init(void)
E_EVENT_DESK_AFTER_SHOW = ecore_event_type_new();
E_EVENT_DESK_DESKSHOW = ecore_event_type_new();
E_EVENT_DESK_NAME_CHANGE = ecore_event_type_new();
+ E_EVENT_DESK_WINDOW_PROFILE_CHANGE = ecore_event_type_new();
return 1;
}
@@ -47,6 +50,7 @@ e_desk_new(E_Zone *zone, int x, int y)
E_Desk *desk;
Eina_List *l;
E_Config_Desktop_Name *cfname;
+ E_Config_Desktop_Window_Profile *cfprof;
char name[40];
int ok = 0;
@@ -80,6 +84,27 @@ e_desk_new(E_Zone *zone, int x, int y)
desk->name = eina_stringshare_add(name);
}
+ /* Get window profile name for current desktop */
+ ok = 0;
+ EINA_LIST_FOREACH(e_config->desktop_window_profiles, l, cfprof)
+ {
+ if ((cfprof->container >= 0) &&
+ ((int)zone->container->num != cfprof->container)) continue;
+ if ((cfprof->zone >= 0) &&
+ ((int)zone->num != cfprof->zone)) continue;
+ if ((cfprof->desk_x != desk->x) || (cfprof->desk_y != desk->y))
+ continue;
+ desk->window_profile = eina_stringshare_add(cfprof->profile);
+ ok = 1;
+ break;
+ }
+
+ if (!ok)
+ {
+ desk->window_profile = eina_stringshare_add
+ (e_config->desktop_default_window_profile);
+ }
+
return desk;
}
@@ -517,6 +542,119 @@ e_desk_prev(E_Zone *zone)
e_desk_show(e_desk_at_xy_get(zone, x, y));
}
+EAPI void
+e_desk_window_profile_set(E_Desk *desk,
+ const char *profile)
+{
+ E_Event_Desk_Window_Profile_Change *ev;
+
+ E_OBJECT_CHECK(desk);
+ E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE);
+
+ eina_stringshare_replace(&desk->window_profile, profile);
+
+ ev = E_NEW(E_Event_Desk_Window_Profile_Change, 1);
+ ev->desk = desk;
+ e_object_ref(E_OBJECT(desk));
+ ecore_event_add(E_EVENT_DESK_WINDOW_PROFILE_CHANGE, ev,
+ _e_desk_event_desk_window_profile_change_free, NULL);
+}
+
+EAPI void
+e_desk_window_profile_add(int container,
+ int zone,
+ int desk_x,
+ int desk_y,
+ const char *profile)
+{
+ E_Config_Desktop_Window_Profile *cfprof;
+
+ e_desk_window_profile_del(container, zone, desk_x, desk_y);
+
+ cfprof = E_NEW(E_Config_Desktop_Window_Profile, 1);
+ cfprof->container = container;
+ cfprof->zone = zone;
+ cfprof->desk_x = desk_x;
+ cfprof->desk_y = desk_y;
+ if (profile) cfprof->profile = eina_stringshare_add(profile);
+ else cfprof->profile = NULL;
+ e_config->desktop_window_profiles = eina_list_append(e_config->desktop_window_profiles, cfprof);
+}
+
+EAPI void
+e_desk_window_profile_del(int container,
+ int zone,
+ int desk_x,
+ int desk_y)
+{
+ Eina_List *l = NULL;
+ E_Config_Desktop_Window_Profile *cfprof = NULL;
+
+ EINA_LIST_FOREACH(e_config->desktop_window_profiles, l, cfprof)
+ {
+ if (!((cfprof->container == container) &&
+ (cfprof->zone == zone) &&
+ (cfprof->desk_x == desk_x) &&
+ (cfprof->desk_y == desk_y)))
+ continue;
+
+ e_config->desktop_window_profiles =
+ eina_list_remove_list(e_config->desktop_window_profiles, l);
+ if (cfprof->profile) eina_stringshare_del(cfprof->profile);
+ E_FREE(cfprof);
+ break;
+ }
+}
+
+EAPI void
+e_desk_window_profile_update(void)
+{
+ Eina_List *m, *c, *z, *l;
+ E_Manager *man;
+ E_Container *con;
+ E_Zone *zone;
+ E_Desk *desk;
+ E_Config_Desktop_Window_Profile *cfprof;
+ int d_x, d_y, ok;
+
+ EINA_LIST_FOREACH(e_manager_list(), m, man)
+ {
+ EINA_LIST_FOREACH(man->containers, c, con)
+ {
+ EINA_LIST_FOREACH(con->zones, z, zone)
+ {
+ for (d_x = 0; d_x < zone->desk_x_count; d_x++)
+ {
+ for (d_y = 0; d_y < zone->desk_y_count; d_y++)
+ {
+ desk = zone->desks[d_x + zone->desk_x_count * d_y];
+ ok = 0;
+
+ EINA_LIST_FOREACH(e_config->desktop_window_profiles, l, cfprof)
+ {
+ if ((cfprof->container >= 0) &&
+ ((int)con->num != cfprof->container)) continue;
+ if ((cfprof->zone >= 0) &&
+ ((int)zone->num != cfprof->zone)) continue;
+ if ((cfprof->desk_x != d_x) ||
+ (cfprof->desk_y != d_y)) continue;
+ e_desk_window_profile_set(desk, cfprof->profile);
+ ok = 1;
+ break;
+ }
+
+ if (!ok)
+ {
+ e_desk_window_profile_set
+ (desk, e_config->desktop_default_window_profile);
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
static void
_e_desk_free(E_Desk *desk)
{
@@ -578,6 +716,16 @@ _e_desk_event_desk_name_change_free(void *data __UNUSED__, void *event)
}
static void
+_e_desk_event_desk_window_profile_change_free(void *data __UNUSED__,
+ void *event)
+{
+ E_Event_Desk_Window_Profile_Change *ev;
+ ev = event;
+ e_object_unref(E_OBJECT(ev->desk));
+ E_FREE(ev);
+}
+
+static void
_e_desk_show_begin(E_Desk *desk, int mode, int dx, int dy)
{
E_Border_List *bl;
diff --git a/src/bin/e_desk.h b/src/bin/e_desk.h
index 9ee9547..bbe4355 100644
--- a/src/bin/e_desk.h
+++ b/src/bin/e_desk.h
@@ -6,6 +6,7 @@ typedef struct _E_Event_Desk_Before_Show E_Event_Desk_Before_Show;
typedef struct _E_Event_Desk_After_Show E_Event_Desk_After_Show;
typedef struct _E_Event_Desk_DeskShow E_Event_Desk_DeskShow;
typedef struct _E_Event_Desk_Name_Change E_Event_Desk_Name_Change;
+typedef struct _E_Event_Desk_Window_Profile_Change E_Event_Desk_Window_Profile_Change;
#else
#ifndef E_DESK_H
@@ -19,6 +20,7 @@ struct _E_Desk
E_Zone *zone;
const char *name;
+ const char *window_profile;
int x, y;
unsigned char visible : 1;
unsigned int deskshow_toggle : 1;
@@ -50,6 +52,11 @@ struct _E_Event_Desk_Name_Change
E_Desk *desk;
};
+struct _E_Event_Desk_Window_Profile_Change
+{
+ E_Desk *desk;
+};
+
EINTERN int e_desk_init(void);
EINTERN int e_desk_shutdown(void);
EAPI E_Desk *e_desk_new(E_Zone *zone, int x, int y);
@@ -70,12 +77,17 @@ EAPI void e_desk_row_add(E_Zone *zone);
EAPI void e_desk_row_remove(E_Zone *zone);
EAPI void e_desk_col_add(E_Zone *zone);
EAPI void e_desk_col_remove(E_Zone *zone);
+EAPI void e_desk_window_profile_set(E_Desk *desk, const char *profile);
+EAPI void e_desk_window_profile_add(int container, int zone, int desk_x, int desk_y, const char *profile);
+EAPI void e_desk_window_profile_del(int container, int zone, int desk_x, int desk_y);
+EAPI void e_desk_window_profile_update(void);
extern EAPI int E_EVENT_DESK_SHOW;
extern EAPI int E_EVENT_DESK_BEFORE_SHOW;
extern EAPI int E_EVENT_DESK_AFTER_SHOW;
extern EAPI int E_EVENT_DESK_DESKSHOW;
extern EAPI int E_EVENT_DESK_NAME_CHANGE;
+extern EAPI int E_EVENT_DESK_WINDOW_PROFILE_CHANGE;
#endif
#endif
diff --git a/src/bin/e_fm/e_fm_ipc.h b/src/bin/e_fm/e_fm_ipc.h
index 404e666..404e666 100755..100644
--- a/src/bin/e_fm/e_fm_ipc.h
+++ b/src/bin/e_fm/e_fm_ipc.h
diff --git a/src/bin/e_fm/e_fm_main_hal.h b/src/bin/e_fm/e_fm_main_hal.h
index 9ce1c12..9ce1c12 100755..100644
--- a/src/bin/e_fm/e_fm_main_hal.h
+++ b/src/bin/e_fm/e_fm_main_hal.h
diff --git a/src/bin/e_fm/e_fm_main_udisks.h b/src/bin/e_fm/e_fm_main_udisks.h
index f9bc659..f9bc659 100755..100644
--- a/src/bin/e_fm/e_fm_main_udisks.h
+++ b/src/bin/e_fm/e_fm_main_udisks.h
diff --git a/src/bin/e_gadcon.c b/src/bin/e_gadcon.c
index a76d6ba..a05c52f 100644
--- a/src/bin/e_gadcon.c
+++ b/src/bin/e_gadcon.c
@@ -279,6 +279,10 @@ e_gadcon_custom_del(E_Gadcon *gc)
{
E_OBJECT_CHECK(gc);
E_OBJECT_TYPE_CHECK(gc, E_GADCON_TYPE);
+
+ if (eina_list_data_find(custom_populate_requests, gc))
+ custom_populate_requests = eina_list_remove(custom_populate_requests, gc);
+
gadcons = eina_list_remove(gadcons, gc);
}
diff --git a/src/bin/e_hints.c b/src/bin/e_hints.c
index 30ebb35..d88f11b 100644
--- a/src/bin/e_hints.c
+++ b/src/bin/e_hints.c
@@ -1421,6 +1421,13 @@ e_hints_window_desktop_set(E_Border *bd)
deskpos[1] = bd->desk->y;
ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_DESK, deskpos, 2);
+ if (strcmp(bd->desk->window_profile,
+ e_config->desktop_default_window_profile) != 0)
+ {
+ ecore_x_e_window_profile_set(bd->client.win,
+ bd->desk->window_profile);
+ }
+
#if 0
ecore_x_netwm_desktop_set(bd->client.win, current);
#endif
diff --git a/src/bin/e_main.c b/src/bin/e_main.c
index 5ec0880..76b3452 100644
--- a/src/bin/e_main.c
+++ b/src/bin/e_main.c
@@ -134,7 +134,9 @@ main(int argc, char **argv)
Eina_Bool after_restart = EINA_FALSE;
double t = 0.0, tstart = 0.0;
char *s = NULL, buff[32];
+#ifndef _F_DO_NOT_USE_SIG_HANDLER_
struct sigaction action;
+#endif
#ifdef TS_DO
t0 = t1 = t2 = ecore_time_unix_get();
#endif
diff --git a/src/bin/e_manager.c b/src/bin/e_manager.c
index 8451fcf..917dc7e 100644
--- a/src/bin/e_manager.c
+++ b/src/bin/e_manager.c
@@ -673,6 +673,30 @@ e_manager_comp_src_move_unlock(E_Manager *man, E_Manager_Comp_Source *src)
}
#endif
+#ifdef _F_COMP_COMPOSITE_MODE_
+EAPI void
+e_manager_comp_composite_mode_set(E_Manager *man, E_Zone *zone, Eina_Bool set)
+{
+ E_OBJECT_CHECK(man);
+ E_OBJECT_CHECK(zone);
+ E_OBJECT_TYPE_CHECK(man, E_MANAGER_TYPE);
+ E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
+ if (!man->comp) return;
+ man->comp->func.composite_mode_set(man->comp->data, man, zone, set);
+}
+
+EAPI Eina_Bool
+e_manager_comp_composite_mode_get(E_Manager *man, E_Zone *zone)
+{
+ E_OBJECT_CHECK_RETURN(man, EINA_FALSE);
+ E_OBJECT_CHECK_RETURN(zone, EINA_FALSE);
+ E_OBJECT_TYPE_CHECK_RETURN(man, E_MANAGER_TYPE, EINA_FALSE);
+ E_OBJECT_TYPE_CHECK_RETURN(zone, E_ZONE_TYPE, EINA_FALSE);
+ if (!man->comp) return EINA_FALSE;
+ return man->comp->func.composite_mode_get(man->comp->data, man, zone);
+}
+#endif /* _F_COMP_COMPOSITE_MODE_ */
+
EAPI void
e_manager_comp_event_resize_send(E_Manager *man)
{
@@ -1039,9 +1063,7 @@ _e_manager_windows_group_raise (E_Border* bd)
leader_win = bd->client.icccm.client_leader;
if (leader_win)
{
- Eina_List* border_list;
Eina_List* restack_list;
- Eina_List *l;
E_Border *temp_bd;
E_Border *top_bd;
E_Border_List *bl;
@@ -1199,13 +1221,16 @@ _e_manager_cb_client_message(void *data __UNUSED__, int ev_type __UNUSED__, void
e_border_focus_set(bd, 1, 1);
else
{
- Eina_List* l = NULL;
E_Border* temp_bd = NULL;
E_Border_List *bl;
bl = e_container_border_list_last(bd->zone->container);
while ((temp_bd = e_container_border_list_prev(bl)))
{
+ if ((temp_bd->x >= bd->zone->w) || (temp_bd->y >= bd->zone->h)) continue;
+ if (((temp_bd->x + temp_bd->w) <= 0) || ((temp_bd->y + temp_bd->h) <= 0)) continue;
+ if (temp_bd->client.illume.win_state.state == ECORE_X_ILLUME_WINDOW_STATE_FLOATING) continue;
+
if ((!temp_bd->iconic) && (temp_bd->visible) && (temp_bd->desk == bd->desk) &&
(temp_bd->client.icccm.accepts_focus || temp_bd->client.icccm.take_focus) &&
(temp_bd->client.netwm.type != ECORE_X_WINDOW_TYPE_DOCK) &&
diff --git a/src/bin/e_manager.h b/src/bin/e_manager.h
index 916c6cd..83b3d87 100644
--- a/src/bin/e_manager.h
+++ b/src/bin/e_manager.h
@@ -56,6 +56,10 @@ struct _E_Manager_Comp
Eina_Bool (*src_move_lock) (void *data, E_Manager *man, E_Manager_Comp_Source *src);
Eina_Bool (*src_move_unlock) (void *data, E_Manager *man, E_Manager_Comp_Source *src);
#endif
+#ifdef _F_COMP_COMPOSITE_MODE_
+ void (*composite_mode_set) (void *data, E_Manager *man, E_Zone *zone, Eina_Bool set);
+ Eina_Bool (*composite_mode_get) (void *data, E_Manager *man, E_Zone *zone);
+#endif
} func;
void *data;
};
@@ -151,5 +155,14 @@ EAPI Eina_Bool e_manager_comp_src_input_region_set(E_Manager *man, E_Mana
EAPI Eina_Bool e_manager_comp_src_move_lock(E_Manager *man, E_Manager_Comp_Source *src);
EAPI Eina_Bool e_manager_comp_src_move_unlock(E_Manager *man, E_Manager_Comp_Source *src);
#endif
+#ifdef _F_COMP_COMPOSITE_MODE_
+// set the composite rendering state of a zone.
+// if set is EINA_TRUE, then composite module will be running with composite rendering mode.
+// if set is EINA_FALSE, then composite module may be running with nocomposite mode on given zone.
+EAPI void e_manager_comp_composite_mode_set(E_Manager *man, E_Zone *zone, Eina_Bool set);
+// get the composite rendering state of a zone.
+// if return value is EINA_TRUE, zone is rendered with composite mode.
+EAPI Eina_Bool e_manager_comp_composite_mode_get(E_Manager *man, E_Zone *zone);
+#endif
#endif
#endif
diff --git a/src/bin/e_module.c b/src/bin/e_module.c
index 633f96d..fc9a404 100644
--- a/src/bin/e_module.c
+++ b/src/bin/e_module.c
@@ -501,6 +501,16 @@ _e_module_free(E_Module *m)
free(m);
}
+#if _F_USE_EXTN_DIALOG_
+static void
+_e_module_dialog_disable_show(const char *title,
+ const char *body,
+ E_Module *m __UNUSED__)
+{
+ printf("MODULE ERR:\n%s\n", body);
+ e_util_extn_dialog_show(title, body);
+}
+#else
static void
_e_module_dialog_disable_show(const char *title, const char *body, E_Module *m)
{
@@ -523,6 +533,7 @@ _e_module_dialog_disable_show(const char *title, const char *body, E_Module *m)
e_win_centered_set(dia->win, 1);
e_dialog_show(dia);
}
+#endif
static void
_e_module_cb_dialog_disable(void *data, E_Dialog *dia)
diff --git a/src/bin/e_utils.c b/src/bin/e_utils.c
index b5128b9..ba357a4 100644
--- a/src/bin/e_utils.c
+++ b/src/bin/e_utils.c
@@ -1637,3 +1637,24 @@ e_util_fullscreen_any(void)
}
return EINA_FALSE;
}
+
+#if _F_USE_EXTN_DIALOG_
+/**
+ * Using external elementary dialog util instead of e_dialog to display error or warning
+ * messages. It is a temporary solution for supporting consistent UX theme. The external
+ * dialog is a simple EFL application which is based on elementary. Thus window manager
+ * can display message using elementary UX theme, along with other system popup.
+ */
+EAPI void
+e_util_extn_dialog_show(const char *title,
+ const char *txt)
+{
+ Ecore_Exe *exe;
+ char cmd[4096];
+
+ /* external_dialog_name, icccm_name, icccm_class, popup_title, popup_contents */
+ snprintf(cmd, sizeof(cmd), "/usr/bin/extndialog E _extn_dialog \'%s\' \'%s\'", title, txt);
+ exe = ecore_exe_run(cmd, NULL);
+ if (exe) ecore_exe_free(exe);
+}
+#endif
diff --git a/src/bin/e_utils.h b/src/bin/e_utils.h
index 835f0d0..9070315 100644
--- a/src/bin/e_utils.h
+++ b/src/bin/e_utils.h
@@ -103,5 +103,9 @@ EAPI int e_util_container_desk_count_get(E_Container *con);
EAPI Eina_Bool e_util_fullscreen_curreny_any(void);
EAPI Eina_Bool e_util_fullscreen_any(void);
+#if _F_USE_EXTN_DIALOG_
+EAPI void e_util_extn_dialog_show(const char *title, const char *txt);
+#endif
+
#endif
#endif
diff --git a/src/modules/bluez/module.desktop.in b/src/modules/bluez/module.desktop.in
index 2f84a42..2f84a42 100755..100644
--- a/src/modules/bluez/module.desktop.in
+++ b/src/modules/bluez/module.desktop.in
diff --git a/src/modules/clock/module.desktop.in b/src/modules/clock/module.desktop.in
index 6804d3c..6804d3c 100755..100644
--- a/src/modules/clock/module.desktop.in
+++ b/src/modules/clock/module.desktop.in
diff --git a/src/modules/conf/module.desktop.in b/src/modules/conf/module.desktop.in
index 0f64555..0f64555 100755..100644
--- a/src/modules/conf/module.desktop.in
+++ b/src/modules/conf/module.desktop.in
diff --git a/src/modules/conf_applications/module.desktop.in b/src/modules/conf_applications/module.desktop.in
index 73b6820..73b6820 100755..100644
--- a/src/modules/conf_applications/module.desktop.in
+++ b/src/modules/conf_applications/module.desktop.in
diff --git a/src/modules/conf_dialogs/module.desktop.in b/src/modules/conf_dialogs/module.desktop.in
index c2ae949..c2ae949 100755..100644
--- a/src/modules/conf_dialogs/module.desktop.in
+++ b/src/modules/conf_dialogs/module.desktop.in
diff --git a/src/modules/conf_display/e_int_config_desk.c b/src/modules/conf_display/e_int_config_desk.c
index cb2f457..d546ee6 100644
--- a/src/modules/conf_display/e_int_config_desk.c
+++ b/src/modules/conf_display/e_int_config_desk.c
@@ -15,6 +15,7 @@ struct _E_Config_Dialog_Data
int desk_y;
char *bg;
char *name;
+ char *profile;
Evas_Object *preview;
Ecore_Event_Handler *hdl;
@@ -61,6 +62,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
const char *bg;
char name[40];
int ok = 0;
+ E_Config_Desktop_Window_Profile *prof;
bg = e_bg_file_get(cfdata->con_num, cfdata->zone_num, cfdata->desk_x, cfdata->desk_y);
if (!bg)
@@ -88,6 +90,23 @@ _fill_data(E_Config_Dialog_Data *cfdata)
snprintf(name, sizeof(name), _(e_config->desktop_default_name), cfdata->desk_x, cfdata->desk_y);
cfdata->name = strdup(name);
}
+
+ EINA_LIST_FOREACH(e_config->desktop_window_profiles, l, prof)
+ {
+ if (!((prof->container == cfdata->con_num) &&
+ (prof->zone == cfdata->zone_num) &&
+ (prof->desk_x == cfdata->desk_x) &&
+ (prof->desk_y == cfdata->desk_y)))
+ continue;
+
+ if (prof->profile)
+ cfdata->profile = strdup(prof->profile);
+ ok = 1;
+ break;
+ }
+
+ if (!ok)
+ cfdata->profile = strdup(e_config->desktop_default_window_profile);
}
static void *
@@ -110,6 +129,8 @@ _free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
E_FREE(cfdata->bg);
if (cfdata->name)
E_FREE(cfdata->name);
+ if (cfdata->profile)
+ E_FREE(cfdata->profile);
E_FREE(cfdata);
}
@@ -125,11 +146,20 @@ _basic_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
cfdata->name = strdup(name);
}
+ if (!cfdata->profile[0])
+ cfdata->profile = strdup(e_config->desktop_default_window_profile);
+
e_desk_name_del(cfdata->con_num, cfdata->zone_num,
cfdata->desk_x, cfdata->desk_y);
e_desk_name_add(cfdata->con_num, cfdata->zone_num,
cfdata->desk_x, cfdata->desk_y, cfdata->name);
e_desk_name_update();
+
+ e_desk_window_profile_del(cfdata->con_num, cfdata->zone_num,
+ cfdata->desk_x, cfdata->desk_y);
+ e_desk_window_profile_add(cfdata->con_num, cfdata->zone_num,
+ cfdata->desk_x, cfdata->desk_y, cfdata->profile);
+ e_desk_window_profile_update();
e_bg_del(cfdata->con_num, cfdata->zone_num, cfdata->desk_x, cfdata->desk_y);
e_bg_add(cfdata->con_num, cfdata->zone_num,
@@ -156,6 +186,13 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
ob = e_widget_entry_add(evas, &(cfdata->name), NULL, NULL, NULL);
e_widget_frametable_object_append(of, ob, 1, 0, 2, 1, 1, 1, 1, 0);
e_widget_list_object_append(o, of, 1, 1, 0.5);
+
+ of = e_widget_frametable_add(evas, _("Desktop Window Profile"), 0);
+ ob = e_widget_label_add(evas, _("Profile Name:"));
+ e_widget_frametable_object_append(of, ob, 0, 0, 1, 1, 1, 1, 1, 0);
+ ob = e_widget_entry_add(evas, &(cfdata->profile), NULL, NULL, NULL);
+ e_widget_frametable_object_append(of, ob, 1, 0, 2, 1, 1, 1, 1, 0);
+ e_widget_list_object_append(o, of, 1, 1, 0.5);
of = e_widget_frametable_add(evas, _("Desktop Wallpaper"), 0);
ob = e_widget_preview_add(evas, 240, (240 * zone->h) / zone->w);
diff --git a/src/modules/conf_edgebindings/module.desktop.in b/src/modules/conf_edgebindings/module.desktop.in
index 6536105..6536105 100755..100644
--- a/src/modules/conf_edgebindings/module.desktop.in
+++ b/src/modules/conf_edgebindings/module.desktop.in
diff --git a/src/modules/conf_interaction/module.desktop.in b/src/modules/conf_interaction/module.desktop.in
index 0a50196..0a50196 100755..100644
--- a/src/modules/conf_interaction/module.desktop.in
+++ b/src/modules/conf_interaction/module.desktop.in
diff --git a/src/modules/conf_intl/module.desktop.in b/src/modules/conf_intl/module.desktop.in
index f58e3e7..f58e3e7 100755..100644
--- a/src/modules/conf_intl/module.desktop.in
+++ b/src/modules/conf_intl/module.desktop.in
diff --git a/src/modules/conf_keybindings/module.desktop.in b/src/modules/conf_keybindings/module.desktop.in
index 1211ebe..1211ebe 100755..100644
--- a/src/modules/conf_keybindings/module.desktop.in
+++ b/src/modules/conf_keybindings/module.desktop.in
diff --git a/src/modules/conf_menus/module.desktop.in b/src/modules/conf_menus/module.desktop.in
index 9895c78..9895c78 100755..100644
--- a/src/modules/conf_menus/module.desktop.in
+++ b/src/modules/conf_menus/module.desktop.in
diff --git a/src/modules/conf_paths/module.desktop.in b/src/modules/conf_paths/module.desktop.in
index 71285fe..71285fe 100755..100644
--- a/src/modules/conf_paths/module.desktop.in
+++ b/src/modules/conf_paths/module.desktop.in
diff --git a/src/modules/conf_performance/module.desktop.in b/src/modules/conf_performance/module.desktop.in
index cb0edbd..cb0edbd 100755..100644
--- a/src/modules/conf_performance/module.desktop.in
+++ b/src/modules/conf_performance/module.desktop.in
diff --git a/src/modules/conf_shelves/module.desktop.in b/src/modules/conf_shelves/module.desktop.in
index de3d974..de3d974 100755..100644
--- a/src/modules/conf_shelves/module.desktop.in
+++ b/src/modules/conf_shelves/module.desktop.in
diff --git a/src/modules/conf_wallpaper2/module.desktop.in b/src/modules/conf_wallpaper2/module.desktop.in
index a6d119b..a6d119b 100755..100644
--- a/src/modules/conf_wallpaper2/module.desktop.in
+++ b/src/modules/conf_wallpaper2/module.desktop.in
diff --git a/src/modules/conf_window_manipulation/module.desktop.in b/src/modules/conf_window_manipulation/module.desktop.in
index a7332e8..a7332e8 100755..100644
--- a/src/modules/conf_window_manipulation/module.desktop.in
+++ b/src/modules/conf_window_manipulation/module.desktop.in
diff --git a/src/modules/conf_window_remembers/module.desktop.in b/src/modules/conf_window_remembers/module.desktop.in
index 40aeb94..40aeb94 100755..100644
--- a/src/modules/conf_window_remembers/module.desktop.in
+++ b/src/modules/conf_window_remembers/module.desktop.in
diff --git a/src/modules/connman/module.desktop.in b/src/modules/connman/module.desktop.in
index 3b9f422..3b9f422 100755..100644
--- a/src/modules/connman/module.desktop.in
+++ b/src/modules/connman/module.desktop.in
diff --git a/src/modules/cpufreq/module.desktop.in b/src/modules/cpufreq/module.desktop.in
index fbdbdd0..fbdbdd0 100755..100644
--- a/src/modules/cpufreq/module.desktop.in
+++ b/src/modules/cpufreq/module.desktop.in
diff --git a/src/modules/dropshadow/module.desktop.in b/src/modules/dropshadow/module.desktop.in
index 2dd46c2..2dd46c2 100755..100644
--- a/src/modules/dropshadow/module.desktop.in
+++ b/src/modules/dropshadow/module.desktop.in
diff --git a/src/modules/everything/module.desktop.in b/src/modules/everything/module.desktop.in
index d9406aa..d9406aa 100755..100644
--- a/src/modules/everything/module.desktop.in
+++ b/src/modules/everything/module.desktop.in
diff --git a/src/modules/fileman/module.desktop.in b/src/modules/fileman/module.desktop.in
index 794b182..794b182 100755..100644
--- a/src/modules/fileman/module.desktop.in
+++ b/src/modules/fileman/module.desktop.in
diff --git a/src/modules/fileman_opinfo/module.desktop.in b/src/modules/fileman_opinfo/module.desktop.in
index 6c35b4e..6c35b4e 100755..100644
--- a/src/modules/fileman_opinfo/module.desktop.in
+++ b/src/modules/fileman_opinfo/module.desktop.in
diff --git a/src/modules/gadman/e_mod_gadman.c b/src/modules/gadman/e_mod_gadman.c
index 80cddb8..cdef849 100644
--- a/src/modules/gadman/e_mod_gadman.c
+++ b/src/modules/gadman/e_mod_gadman.c
@@ -42,9 +42,15 @@ static void on_menu_add(void *data, E_Menu *m, E_Menu_Item *mi);
static int _e_gadman_client_add (void *data __UNUSED__, const E_Gadcon_Client_Class *cc);
static void _e_gadman_client_remove (void *data __UNUSED__, E_Gadcon_Client *gcc);
+static void _e_gadman_handlers_add(void);
+static void _e_gadman_handler_del(void);
+static Eina_Bool _e_gadman_cb_zone_add(void *data __UNUSED__, int type __UNUSED__, void *event);
+static Eina_Bool _e_gadman_cb_zone_del(void *data __UNUSED__, int type __UNUSED__, void *event);
+
E_Gadcon_Client *current = NULL;
Manager *Man = NULL;
static E_Gadcon_Location *location = NULL;
+static Eina_List *_gadman_hdls = NULL;
/* Implementation */
void
@@ -90,6 +96,8 @@ gadman_init(E_Module *m)
Man->gadcons[layer] = eina_list_append(Man->gadcons[layer], gc);
}
}
+
+ _e_gadman_handlers_add();
}
void
@@ -98,6 +106,8 @@ gadman_shutdown(void)
E_Gadcon *gc;
unsigned int layer;
+ _e_gadman_handler_del();
+
e_gadcon_location_unregister(location);
e_container_shape_change_callback_del(Man->container, on_shape_change, NULL);
@@ -667,14 +677,14 @@ _apply_widget_position(E_Gadcon_Client *gcc)
int x, y, w, h;
E_Zone *zone;
- x = gcc->cf->geom.pos_x * Man->width;
- y = gcc->cf->geom.pos_y * Man->height;
- w = gcc->cf->geom.size_w * Man->width;
- h = gcc->cf->geom.size_h * Man->height;
-
/* Obtain zone from parent gadcon */
zone = gcc->gadcon->zone;
+ x = (gcc->cf->geom.pos_x * zone->w) + zone->x;
+ y = (gcc->cf->geom.pos_y * zone->h) + zone->y;
+ w = gcc->cf->geom.size_w * zone->w;
+ h = gcc->cf->geom.size_h * zone->h;
+
/* Respect min sizes */
if (h < gcc->min.h) h = gcc->min.h;
if (w < gcc->min.w) w = gcc->min.w;
@@ -873,10 +883,11 @@ _get_bind_text(const char* action)
static void
on_shape_change(void *data __UNUSED__, E_Container_Shape *es, E_Container_Shape_Change ch __UNUSED__)
{
- const Eina_List *l, *g;
+ const Eina_List *l, *g, *ll;
E_Gadcon *gc;
E_Config_Gadcon_Client *cf_gcc;
E_Container *con;
+ E_Gadcon_Client *gcc;
unsigned int layer;
con = e_container_shape_container_get(es);
@@ -890,12 +901,18 @@ on_shape_change(void *data __UNUSED__, E_Container_Shape *es, E_Container_Shape_
for (layer = 0; layer < GADMAN_LAYER_COUNT; layer++)
{
- EINA_LIST_FOREACH(Man->gadcons[layer], g, gc)
- {
- e_gadcon_unpopulate(gc);
- EINA_LIST_FOREACH(gc->cf->clients, l, cf_gcc)
- gadman_gadget_place(cf_gcc, layer, gc->zone);
- }
+ EINA_LIST_FOREACH(Man->gadcons[layer], g, gc)
+ {
+ EINA_LIST_FOREACH(gc->clients, ll, gcc)
+ {
+ Man->gadgets[layer] = eina_list_remove(Man->gadgets[layer], gcc);
+ if (gcc->gadcon->editing) gadman_gadget_edit_end(NULL, NULL, NULL, NULL);
+ }
+
+ e_gadcon_unpopulate(gc);
+ EINA_LIST_FOREACH(gc->cf->clients, l, cf_gcc)
+ gadman_gadget_place(cf_gcc, layer, gc->zone);
+ }
}
}
@@ -1365,3 +1382,102 @@ _e_gadman_client_remove(void *data __UNUSED__, E_Gadcon_Client *gcc)
{
gadman_gadget_del(gcc);
}
+
+static void
+_e_gadman_handlers_add(void)
+{
+ _gadman_hdls =
+ eina_list_append(_gadman_hdls,
+ ecore_event_handler_add(E_EVENT_ZONE_ADD,
+ _e_gadman_cb_zone_add,
+ NULL));
+ _gadman_hdls =
+ eina_list_append(_gadman_hdls,
+ ecore_event_handler_add(E_EVENT_ZONE_DEL,
+ _e_gadman_cb_zone_del,
+ NULL));
+}
+
+static void
+_e_gadman_handler_del(void)
+{
+ Ecore_Event_Handler *hdl;
+
+ /* remove the ecore event handlers */
+ EINA_LIST_FREE(_gadman_hdls, hdl)
+ ecore_event_handler_del(hdl);
+}
+
+static Eina_Bool
+_e_gadman_cb_zone_add(void *data __UNUSED__, int type __UNUSED__, void *event)
+{
+ E_Event_Zone_Add *ev;
+ E_Zone* zone;
+ E_Gadcon *gc;
+ Eina_List *l;
+ unsigned int layer;
+
+ ev = event;
+ zone = ev->zone;
+
+ for (layer = 0; layer < GADMAN_LAYER_COUNT; layer++)
+ {
+ EINA_LIST_FOREACH(Man->gadcons[layer], l, gc)
+ if (gc->zone == zone) return ECORE_CALLBACK_PASS_ON;
+ }
+
+ // Not exist, then add
+ /* iterating through zones - and making gadmans on each */
+ const char *layer_name[] = {"gadman", "gadman_top"};
+
+ for (layer = 0; layer < GADMAN_LAYER_COUNT; layer++)
+ {
+ E_Gadcon *gc;
+
+ gc = _gadman_gadcon_new(layer_name[layer], layer, zone, location);
+ Man->gadcons[layer] = eina_list_append(Man->gadcons[layer], gc);
+ }
+
+ return ECORE_CALLBACK_PASS_ON;
+}
+
+static Eina_Bool
+_e_gadman_cb_zone_del(void *data __UNUSED__, int type __UNUSED__, void *event)
+{
+ E_Event_Zone_Del *ev;
+ E_Zone* zone;
+ Eina_List *l, *ll;
+ E_Gadcon *gc;
+ E_Gadcon_Client *gcc;
+ unsigned int layer;
+
+ ev = event;
+ zone = ev->zone;
+
+ for (layer = 0; layer < GADMAN_LAYER_COUNT; layer++)
+ {
+ EINA_LIST_FOREACH(Man->gadcons[layer], l, gc)
+ {
+ if (gc->zone != zone) continue;
+
+ Man->gadcons[layer] = eina_list_remove(Man->gadcons[layer], gc);
+
+ EINA_LIST_FOREACH(gc->clients, ll, gcc)
+ {
+ Man->gadgets[layer] = eina_list_remove(Man->gadgets[layer], gcc);
+ if (gcc->gadcon->editing) gadman_gadget_edit_end(NULL, NULL, NULL, NULL);
+ }
+
+ e_gadcon_unpopulate(gc);
+ e_gadcon_custom_del(gc);
+
+ eina_stringshare_del(gc->name);
+ if (gc->config_dialog) e_object_del(E_OBJECT(gc->config_dialog));
+
+ E_FREE(gc);
+ }
+ }
+
+ return ECORE_CALLBACK_PASS_ON;
+}
+
diff --git a/src/modules/ibar/e_mod_config.c b/src/modules/ibar/e_mod_config.c
index 8e4264a..cf3cec6 100644
--- a/src/modules/ibar/e_mod_config.c
+++ b/src/modules/ibar/e_mod_config.c
@@ -5,6 +5,7 @@ struct _E_Config_Dialog_Data
{
const char *dir;
int show_label, eap_label;
+ int lock_move;
Evas_Object *tlist;
Evas_Object *radio_name;
@@ -26,6 +27,7 @@ static void _cb_confirm_dialog_yes(void *data);
static void _cb_confirm_dialog_destroy(void *data);
static void _load_tlist(E_Config_Dialog_Data *cfdata);
static void _show_label_cb_change(void *data, Evas_Object *obj);
+static void _lock_move_cb_change(void *data, Evas_Object *obj);
void
_config_ibar_module(Config_Item *ci)
@@ -64,6 +66,7 @@ _fill_data(Config_Item *ci, E_Config_Dialog_Data *cfdata)
cfdata->dir = eina_stringshare_add("");
cfdata->show_label = ci->show_label;
cfdata->eap_label = ci->eap_label;
+ cfdata->lock_move = ci->lock_move;
}
static void *
@@ -136,6 +139,14 @@ _basic_create_widgets(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dial
if (!cfdata->show_label) e_widget_disabled_set(cfdata->radio_generic, 1);
e_widget_list_object_append(o, of, 1, 1, 0.5);
+
+ of = e_widget_framelist_add(evas, _("Icon Movement"), 0);
+ ob = e_widget_check_add(evas, _("Lock Icon Move"), &(cfdata->lock_move));
+ e_widget_on_change_hook_set(ob, _lock_move_cb_change, cfdata);
+ e_widget_framelist_object_append(of, ob);
+
+ e_widget_list_object_append(o, of, 1, 1, 0.5);
+
return o;
}
@@ -148,8 +159,10 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
if (ci->dir) eina_stringshare_del(ci->dir);
ci->dir = NULL;
if (cfdata->dir) ci->dir = eina_stringshare_ref(cfdata->dir);
+
ci->show_label = cfdata->show_label;
ci->eap_label = cfdata->eap_label;
+ ci->lock_move = cfdata->lock_move;
_ibar_config_update(ci);
e_config_save_queue();
return 1;
@@ -305,3 +318,13 @@ _show_label_cb_change(void *data, Evas_Object *obj __UNUSED__)
e_widget_disabled_set(cfdata->radio_comment, !cfdata->show_label);
e_widget_disabled_set(cfdata->radio_generic, !cfdata->show_label);
}
+
+static void
+_lock_move_cb_change(void *data, Evas_Object *obj __UNUSED__)
+{
+ E_Config_Dialog_Data *cfdata;
+
+ cfdata = data;
+ if (!cfdata) return;
+}
+
diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c
index 7d4ddd9..322cce0 100644
--- a/src/modules/ibar/e_mod_main.c
+++ b/src/modules/ibar/e_mod_main.c
@@ -442,6 +442,8 @@ _ibar_config_item_get(const char *id)
ci->dir = eina_stringshare_add("default");
ci->show_label = 1;
ci->eap_label = 0;
+ ci->lock_move= 0;
+
ibar_config->items = eina_list_append(ibar_config->items, ci);
return ci;
}
@@ -746,11 +748,11 @@ _ibar_cb_icon_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUS
ic = data;
if (ev->button == 1)
{
- ic->drag.x = ev->output.x;
- ic->drag.y = ev->output.y;
- ic->drag.start = 1;
- ic->drag.dnd = 0;
- ic->mouse_down = 1;
+ ic->drag.x = ev->output.x;
+ ic->drag.y = ev->output.y;
+ ic->drag.start = 1;
+ ic->drag.dnd = 0;
+ ic->mouse_down = 1;
}
else if ((ev->button == 3) && (!ibar_config->menu))
{
@@ -827,28 +829,31 @@ _ibar_cb_icon_mouse_up(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *e
ev = event_info;
ic = data;
- if ((ev->button == 1) && (!ic->drag.dnd) && (ic->mouse_down == 1))
- {
- if (ic->app->type == EFREET_DESKTOP_TYPE_APPLICATION)
- e_exec(ic->ibar->inst->gcc->gadcon->zone, ic->app, NULL, NULL, "ibar");
- else if (ic->app->type == EFREET_DESKTOP_TYPE_LINK)
- {
- if (!strncasecmp(ic->app->url, "file:", 5))
- {
- E_Action *act;
-
- act = e_action_find("fileman");
- if (act) act->func.go(E_OBJECT(obj), ic->app->url + 5);
- }
- }
- ic->drag.start = 0;
- ic->drag.dnd = 0;
- ic->mouse_down = 0;
- /* TODO: bring back "e,action,start|stop" for the startup_notify apps
- * when startup_notify is used again
- */
- _ibar_icon_signal_emit(ic, "e,action,exec", "e");
+ if ((ev->button == 1) && (ic->mouse_down == 1))
+ {
+ if (!ic->drag.dnd)
+ {
+ if (ic->app->type == EFREET_DESKTOP_TYPE_APPLICATION)
+ e_exec(ic->ibar->inst->gcc->gadcon->zone, ic->app, NULL, NULL, "ibar");
+ else if (ic->app->type == EFREET_DESKTOP_TYPE_LINK)
+ {
+ if (!strncasecmp(ic->app->url, "file:", 5))
+ {
+ E_Action *act;
+
+ act = e_action_find("fileman");
+ if (act) act->func.go(E_OBJECT(obj), ic->app->url + 5);
+ }
+ }
+ /* TODO: bring back "e,action,start|stop" for the startup_notify apps
+ * when startup_notify is used again
+ */
+ _ibar_icon_signal_emit(ic, "e,action,exec", "e");
+ }
+ ic->drag.start = 0;
+ ic->drag.dnd = 0;
+ ic->mouse_down = 0;
}
}
@@ -879,6 +884,8 @@ _ibar_cb_icon_mouse_move(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUS
ic->drag.dnd = 1;
ic->drag.start = 0;
+ if (ic->ibar->inst->ci->lock_move) return;
+
evas_object_geometry_get(ic->o_icon, &x, &y, &w, &h);
d = e_drag_new(ic->ibar->inst->gcc->gadcon->zone->container,
x, y, drag_types, 1,
@@ -1162,6 +1169,7 @@ e_modapi_init(E_Module *m)
E_CONFIG_VAL(D, T, dir, STR);
E_CONFIG_VAL(D, T, show_label, INT);
E_CONFIG_VAL(D, T, eap_label, INT);
+ E_CONFIG_VAL(D, T, lock_move, INT);
conf_edd = E_CONFIG_DD_NEW("IBar_Config", Config);
#undef T
@@ -1183,6 +1191,8 @@ e_modapi_init(E_Module *m)
ci->dir = eina_stringshare_add("default");
ci->show_label = 1;
ci->eap_label = 0;
+ ci->lock_move= 0;
+
ibar_config->items = eina_list_append(ibar_config->items, ci);
}
diff --git a/src/modules/ibar/e_mod_main.h b/src/modules/ibar/e_mod_main.h
index 0811876..dd32910 100644
--- a/src/modules/ibar/e_mod_main.h
+++ b/src/modules/ibar/e_mod_main.h
@@ -22,6 +22,7 @@ struct _Config_Item
const char *dir;
int show_label;
int eap_label;
+ int lock_move;
};
EAPI extern E_Module_Api e_modapi;
diff --git a/src/modules/illume-keyboard/module.desktop.in b/src/modules/illume-keyboard/module.desktop.in
index 232d60f..232d60f 100755..100644
--- a/src/modules/illume-keyboard/module.desktop.in
+++ b/src/modules/illume-keyboard/module.desktop.in
diff --git a/src/modules/illume-mode-toggle/module.desktop.in b/src/modules/illume-mode-toggle/module.desktop.in
index d808f3f..d808f3f 100755..100644
--- a/src/modules/illume-mode-toggle/module.desktop.in
+++ b/src/modules/illume-mode-toggle/module.desktop.in
diff --git a/src/modules/illume-softkey/module.desktop.in b/src/modules/illume-softkey/module.desktop.in
index dd92124..dd92124 100755..100644
--- a/src/modules/illume-softkey/module.desktop.in
+++ b/src/modules/illume-softkey/module.desktop.in
diff --git a/src/modules/layout/module.desktop.in b/src/modules/layout/module.desktop.in
index 5099de2..5099de2 100755..100644
--- a/src/modules/layout/module.desktop.in
+++ b/src/modules/layout/module.desktop.in
diff --git a/src/modules/msgbus/module.desktop.in b/src/modules/msgbus/module.desktop.in
index dabcd7b..dabcd7b 100755..100644
--- a/src/modules/msgbus/module.desktop.in
+++ b/src/modules/msgbus/module.desktop.in
diff --git a/src/modules/ofono/module.desktop.in b/src/modules/ofono/module.desktop.in
index 8be6c81..8be6c81 100755..100644
--- a/src/modules/ofono/module.desktop.in
+++ b/src/modules/ofono/module.desktop.in
diff --git a/src/modules/pager/module.desktop.in b/src/modules/pager/module.desktop.in
index 3c928cc..3c928cc 100755..100644
--- a/src/modules/pager/module.desktop.in
+++ b/src/modules/pager/module.desktop.in
diff --git a/src/modules/shot/.svn/all-wcprops b/src/modules/shot/.svn/all-wcprops
deleted file mode 100755
index 997dc22..0000000
--- a/src/modules/shot/.svn/all-wcprops
+++ /dev/null
@@ -1,41 +0,0 @@
-K 25
-svn:wc:ra_dav:version-url
-V 46
-/svn/e/!svn/ver/59941/trunk/e/src/modules/shot
-END
-module.desktop.in
-K 25
-svn:wc:ra_dav:version-url
-V 64
-/svn/e/!svn/ver/59829/trunk/e/src/modules/shot/module.desktop.in
-END
-e-module-shot.edj
-K 25
-svn:wc:ra_dav:version-url
-V 64
-/svn/e/!svn/ver/59797/trunk/e/src/modules/shot/e-module-shot.edj
-END
-e_mod_main.c
-K 25
-svn:wc:ra_dav:version-url
-V 59
-/svn/e/!svn/ver/59792/trunk/e/src/modules/shot/e_mod_main.c
-END
-Makefile.am
-K 25
-svn:wc:ra_dav:version-url
-V 58
-/svn/e/!svn/ver/59766/trunk/e/src/modules/shot/Makefile.am
-END
-.cvsignore
-K 25
-svn:wc:ra_dav:version-url
-V 57
-/svn/e/!svn/ver/59766/trunk/e/src/modules/shot/.cvsignore
-END
-e_mod_main.h
-K 25
-svn:wc:ra_dav:version-url
-V 59
-/svn/e/!svn/ver/59766/trunk/e/src/modules/shot/e_mod_main.h
-END
diff --git a/src/modules/shot/.svn/dir-prop-base b/src/modules/shot/.svn/dir-prop-base
deleted file mode 100755
index feed959..0000000
--- a/src/modules/shot/.svn/dir-prop-base
+++ /dev/null
@@ -1,9 +0,0 @@
-K 10
-svn:ignore
-V 42
-Makefile
-Makefile.in
-.deps
-module.desktop
-
-END
diff --git a/src/modules/shot/.svn/entries b/src/modules/shot/.svn/entries
deleted file mode 100755
index 83c070f..0000000
--- a/src/modules/shot/.svn/entries
+++ /dev/null
@@ -1,232 +0,0 @@
-10
-
-dir
-60234
-https://svn.enlightenment.org/svn/e/trunk/e/src/modules/shot
-https://svn.enlightenment.org/svn/e
-
-
-
-2011-06-04T01:21:47.218159Z
-59941
-raster
-has-props
-
-
-
-
-
-
-
-
-
-
-
-
-
-7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
-
-module.desktop.in
-file
-
-
-
-
-2011-06-12T06:33:50.000000Z
-2576a4fa15a98341d07ed5eae5f1c276
-2011-05-31T00:55:25.015330Z
-59829
-seoz
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-382
-
-e-module-shot.edj
-file
-
-
-
-
-2011-06-12T06:33:50.000000Z
-a3ebb37b918859a4ee1a960092700b3c
-2011-05-30T05:35:45.697661Z
-59797
-raster
-has-props
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-9475
-
-e_mod_main.c
-file
-
-
-
-
-2011-06-12T06:33:50.000000Z
-cb66237d4e2373a5dd7fd8405a58cc33
-2011-05-29T23:45:40.227255Z
-59792
-raster
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-23589
-
-Makefile.am
-file
-
-
-
-
-2011-05-29T06:47:52.000000Z
-da54f69937931d923395364370e0e776
-2011-05-28T06:53:44.881572Z
-59766
-raster
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-982
-
-.cvsignore
-file
-
-
-
-
-2011-05-29T06:47:52.000000Z
-30ebe381b2db35c06ea554373a095af7
-2011-05-28T06:53:44.881572Z
-59766
-raster
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-63
-
-e_mod_main.h
-file
-
-
-
-
-2011-05-29T06:47:52.000000Z
-b027d70ec5e628a1b3c5e7891c153218
-2011-05-28T06:53:44.881572Z
-59766
-raster
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-219
-
diff --git a/src/modules/shot/.svn/prop-base/e-module-shot.edj.svn-base b/src/modules/shot/.svn/prop-base/e-module-shot.edj.svn-base
deleted file mode 100755
index 5e9587e..0000000
--- a/src/modules/shot/.svn/prop-base/e-module-shot.edj.svn-base
+++ /dev/null
@@ -1,5 +0,0 @@
-K 13
-svn:mime-type
-V 24
-application/octet-stream
-END
diff --git a/src/modules/shot/.svn/text-base/.cvsignore.svn-base b/src/modules/shot/.svn/text-base/.cvsignore.svn-base
deleted file mode 100755
index 06d064a..0000000
--- a/src/modules/shot/.svn/text-base/.cvsignore.svn-base
+++ /dev/null
@@ -1,7 +0,0 @@
-.deps
-.libs
-Makefile
-Makefile.in
-*.lo
-module.la
-module.desktop
diff --git a/src/modules/shot/.svn/text-base/Makefile.am.svn-base b/src/modules/shot/.svn/text-base/Makefile.am.svn-base
deleted file mode 100755
index 3bf6d94..0000000
--- a/src/modules/shot/.svn/text-base/Makefile.am.svn-base
+++ /dev/null
@@ -1,28 +0,0 @@
-MAINTAINERCLEANFILES = Makefile.in
-MODULE = shot
-
-# data files for the module
-filesdir = $(libdir)/enlightenment/modules/$(MODULE)
-files_DATA = \
-e-module-$(MODULE).edj module.desktop
-
-EXTRA_DIST = $(files_DATA)
-
-# the module .so file
-INCLUDES = -I. \
- -I$(top_srcdir) \
- -I$(top_srcdir)/src/modules/$(MODULE) \
- -I$(top_srcdir)/src/bin \
- -I$(top_builddir)/src/bin \
- -I$(top_srcdir)/src/modules \
- @e_cflags@
-pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = e_mod_main.c \
- e_mod_main.h
-module_la_LIBADD = @e_libs@ @dlopen_libs@
-module_la_LDFLAGS = -module -avoid-version
-module_la_DEPENDENCIES = $(top_builddir)/config.h
-
-uninstall:
- rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE)
diff --git a/src/modules/shot/.svn/text-base/e-module-shot.edj.svn-base b/src/modules/shot/.svn/text-base/e-module-shot.edj.svn-base
deleted file mode 100755
index a507906..0000000
--- a/src/modules/shot/.svn/text-base/e-module-shot.edj.svn-base
+++ /dev/null
Binary files differ
diff --git a/src/modules/shot/.svn/text-base/e_mod_main.c.svn-base b/src/modules/shot/.svn/text-base/e_mod_main.c.svn-base
deleted file mode 100755
index f4a85c7..0000000
--- a/src/modules/shot/.svn/text-base/e_mod_main.c.svn-base
+++ /dev/null
@@ -1,839 +0,0 @@
-#include "e.h"
-#include "e_mod_main.h"
-
-static E_Module *shot_module = NULL;
-
-static E_Action *act = NULL;
-static E_Int_Menu_Augmentation *maug = NULL;
-static Ecore_Timer *timer = NULL;
-static E_Win *win = NULL;
-static Evas_Object *o_bg = NULL, *o_box = NULL, *o_content = NULL;
-static Evas_Object *o_event = NULL, *o_img = NULL, *o_hlist = NULL;
-static E_Manager *sman = NULL;
-static E_Container *scon = NULL;
-static int quality = 90;
-static int screen = -1;
-#define MAXZONES 64
-static Evas_Object *o_rectdim[MAXZONES] = { NULL };
-static Evas_Object *o_radio_all = NULL;
-static Evas_Object *o_radio[MAXZONES] = { NULL };
-static Evas_Object *o_fsel = NULL;
-static Evas_Object *o_label = NULL;
-static Evas_Object *o_entry = NULL;
-static unsigned char *fdata = NULL;
-static int fsize = 0;
-static Ecore_Con_Url *url_up = NULL;
-static Eina_List *handlers = NULL;
-static char *url_ret = NULL;
-
-static void
-_win_delete_cb(E_Win *w __UNUSED__)
-{
- if (win)
- {
- e_object_del(E_OBJECT(win));
- win = NULL;
- }
-}
-
-static void
-_win_resize_cb(E_Win *w __UNUSED__)
-{
- evas_object_resize(o_bg, win->w, win->h);
-}
-
-static void
-_on_focus_cb(void *data __UNUSED__, Evas_Object *obj)
-{
- if (obj == o_content) e_widget_focused_object_clear(o_box);
- else if (o_content) e_widget_focused_object_clear(o_content);
-}
-
-static void
-_key_down_cb(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event)
-{
- Evas_Event_Key_Down *ev = event;
-
- if (!strcmp(ev->keyname, "Tab"))
- {
- if (evas_key_modifier_is_set(evas_key_modifier_get(e_win_evas_get(win)), "Shift"))
- {
- if (e_widget_focus_get(o_box))
- {
- if (!e_widget_focus_jump(o_box, 0))
- {
- e_widget_focus_set(o_content, 0);
- if (!e_widget_focus_get(o_content))
- e_widget_focus_set(o_box, 0);
- }
- }
- else
- {
- if (!e_widget_focus_jump(o_content, 0))
- e_widget_focus_set(o_box, 0);
- }
- }
- else
- {
- if (e_widget_focus_get(o_box))
- {
- if (!e_widget_focus_jump(o_box, 1))
- {
- e_widget_focus_set(o_content, 1);
- if (!e_widget_focus_get(o_content))
- e_widget_focus_set(o_box, 1);
- }
- }
- else
- {
- if (!e_widget_focus_jump(o_content, 1))
- e_widget_focus_set(o_box, 1);
- }
- }
- }
- else if (((!strcmp(ev->keyname, "Return")) ||
- (!strcmp(ev->keyname, "KP_Enter")) ||
- (!strcmp(ev->keyname, "space"))))
- {
- Evas_Object *o = NULL;
-
- if ((o_content) && (e_widget_focus_get(o_content)))
- o = e_widget_focused_object_get(o_content);
- else
- o = e_widget_focused_object_get(o_box);
- if (o) e_widget_activate(o);
- }
-}
-
-static void
-_screen_change_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
-{
- Eina_List *l;
- E_Zone *z;
-
- EINA_LIST_FOREACH(scon->zones, l, z)
- {
- if (screen == -1)
- evas_object_color_set(o_rectdim[z->num], 0, 0, 0, 0);
- else if (screen == (int)z->num)
- evas_object_color_set(o_rectdim[z->num], 0, 0, 0, 0);
- else
- evas_object_color_set(o_rectdim[z->num], 0, 0, 0, 200);
- }
-}
-
-static void
-_save_to(const char *file)
-{
- char *extn = strrchr(file, '.');
- char opts[256];
-
- if (!extn)
- {
- e_util_dialog_show
- (_("Error - Unknown format"),
- _("File has an unspecified extension.<br>"
- "Please use '.jpg' or '.png' extensions<br>"
- "only as other formats are not<br>"
- "supported currently."));
- return;
- }
- if (!((!strcasecmp(extn, ".png")) ||
- (!strcasecmp(extn, ".jpg")) ||
- (!strcasecmp(extn, ".jpeg"))))
- {
- e_util_dialog_show
- (_("Error - Unknown format"),
- _("File has an unrecognized extension.<br>"
- "Please use '.jpg' or '.png' extensions<br>"
- "only as other formats are not<br>"
- "supported currently."));
- return;
- }
- if (!strcasecmp(extn, ".png"))
- snprintf(opts, sizeof(opts), "compress=%i", 9);
- else
- snprintf(opts, sizeof(opts), "quality=%i", quality);
- if (screen == -1)
- {
- evas_object_image_save(o_img, file, NULL, opts);
- }
- else
- {
- Evas_Object *o;
- Eina_List *l;
- E_Zone *z = NULL;
-
- EINA_LIST_FOREACH(scon->zones, l, z)
- {
- if (screen == (int)z->num) break;
- z = NULL;
- }
- if (z)
- {
- unsigned char *src, *dst, *s, *d;
- int sstd, dstd, y;
-
- o = evas_object_image_add(evas_object_evas_get(o_img));
- evas_object_image_colorspace_set(o, EVAS_COLORSPACE_ARGB8888);
- evas_object_image_alpha_set(o, EINA_FALSE);
- evas_object_image_size_set(o, z->w, z->h);
- src = evas_object_image_data_get(o_img, EINA_FALSE);
- sstd = evas_object_image_stride_get(o_img);
- dst = evas_object_image_data_get(o, EINA_TRUE);
- dstd = evas_object_image_stride_get(o);
- d = dst;
- for (y = 0; y < z->h; y++)
- {
- s = src + (sstd * y) + (z->x * 4);
- memcpy(d, s, z->w * 4);
- d += z->w * 4;
- }
- evas_object_image_save(o, file, NULL, opts);
- evas_object_del(o);
- }
- }
-}
-
-static void
-_file_select_ok_cb(void *data __UNUSED__, E_Dialog *dia)
-{
- const char *file;
-
- file = e_widget_fsel_selection_path_get(o_fsel);
- if (file) _save_to(file);
- if (dia) e_util_defer_object_del(E_OBJECT(dia));
- if (win)
- {
- e_object_del(E_OBJECT(win));
- win = NULL;
- }
-}
-
-static void
-_file_select_cancel_cb(void *data __UNUSED__, E_Dialog *dia)
-{
- if (dia) e_util_defer_object_del(E_OBJECT(dia));
- if (win)
- {
- e_object_del(E_OBJECT(win));
- win = NULL;
- }
-}
-
-static void
-_win_save_cb(void *data __UNUSED__, void *data2 __UNUSED__)
-{
- E_Dialog *dia;
- Evas_Object *o;
- Evas_Coord mw, mh;
-
- dia = e_dialog_new(scon, "E", "_e_shot_fsel");
- e_dialog_title_set(dia, _("Select screenshot save location"));
- o = e_widget_fsel_add(dia->win->evas, "~/", "/", NULL, NULL,
- NULL, NULL,
- NULL, NULL, 1);
- o_fsel = o;
- evas_object_show(o);
- e_widget_size_min_get(o, &mw, &mh);
- e_dialog_content_set(dia, o, mw, mh);
- e_dialog_button_add(dia, _("OK"), NULL,
- _file_select_ok_cb, NULL);
- e_dialog_button_add(dia, _("Cancel"), NULL,
- _file_select_cancel_cb, NULL);
- e_dialog_resizable_set(dia, 1);
- e_win_centered_set(dia->win, 1);
- e_dialog_show(dia);
-}
-
-static void
-_share_done(void)
-{
- Ecore_Event_Handler *h;
-
- EINA_LIST_FREE(handlers, h) ecore_event_handler_del(h);
- o_label = NULL;
- if (url_ret)
- {
- free(url_ret);
- url_ret = NULL;
- }
- if (url_up)
- {
- ecore_con_url_free(url_up);
- url_up = NULL;
- }
- ecore_con_url_shutdown();
-}
-
-static void
-_upload_ok_cb(void *data __UNUSED__, E_Dialog *dia)
-{
- // ok just hides dialog and does background upload
- o_label = NULL;
- if (dia) e_util_defer_object_del(E_OBJECT(dia));
- if (win)
- {
- e_object_del(E_OBJECT(win));
- win = NULL;
- }
- _share_done();
-}
-
-static void
-_upload_cancel_cb(void *data __UNUSED__, E_Dialog *dia)
-{
- if (dia) e_util_defer_object_del(E_OBJECT(dia));
- if (win)
- {
- e_object_del(E_OBJECT(win));
- win = NULL;
- }
-}
-
-static Eina_Bool
-_upload_data_cb(void *data __UNUSED__, int ev_type __UNUSED__, void *event)
-{
- Ecore_Con_Event_Url_Data *ev = event;
- if (ev->url_con != url_up) return EINA_TRUE;
- if ((o_label) && (ev->size < 1024))
- {
- char *txt = alloca(ev->size + 1);
-
- memcpy(txt, ev->data, ev->size);
- txt[ev->size] = 0;
-/*
- printf("GOT %i bytes: '%s'\n", ev->size, txt);
- int i;
- for (i = 0; i < ev->size; i++) printf("%02x.", ev->data[i]);
- printf("\n");
- */
- if (!url_ret) url_ret = strdup(txt);
- else
- {
- char *n;
-
- n = malloc(strlen(url_ret) + ev->size + 1);
- if (n)
- {
- free(url_ret);
- strcpy(n, url_ret);
- strcat(n, txt);
- url_ret = n;
- }
- }
- }
- return EINA_FALSE;
-}
-
-static Eina_Bool
-_upload_progress_cb(void *data __UNUSED__, int ev_type __UNUSED__, void *event)
-{
- Ecore_Con_Event_Url_Progress *ev = event;
- if (ev->url_con != url_up) return EINA_TRUE;
- if (o_label)
- {
- char buf[1024];
-
- snprintf(buf, sizeof(buf),
- "Uploaded %1.1fKB / %1.1fKB",
- ev->up.now / 1024,
- ev->up.total / 1024);
- e_widget_label_text_set(o_label, buf);
- }
- return EINA_FALSE;
-}
-
-static Eina_Bool
-_upload_complete_cb(void *data __UNUSED__, int ev_type __UNUSED__, void *event)
-{
- Ecore_Con_Event_Url_Complete *ev = event;
- if (ev->url_con != url_up) return EINA_TRUE;
- if (ev->status != 200)
- {
- e_util_dialog_show
- (_("Error - Upload Failed"),
- _("Upload failed with status code:<br>"
- "%i"),
- ev->status);
- _share_done();
- return EINA_FALSE;
- }
- if ((o_entry) && (url_ret))
- e_widget_entry_text_set(o_entry, url_ret);
- _share_done();
- return EINA_FALSE;
-}
-
-static void
-_win_share_cb(void *data __UNUSED__, void *data2 __UNUSED__)
-{
- E_Dialog *dia;
- Evas_Object *o, *ol;
- Evas_Coord mw, mh;
- char buf[PATH_MAX];
- FILE *f;
-
- if (quality == 100) snprintf(buf, sizeof(buf), "/tmp/e-shot-XXXXXX.png");
- else snprintf(buf, sizeof(buf), "/tmp/e-shot-XXXXXX.jpg");
- if (!mkstemp(buf))
- {
- e_util_dialog_show
- (_("Error - Can't create File"),
- _("Cannot create temporary file:\n"
- "%s"),
- buf);
- if (win)
- {
- e_object_del(E_OBJECT(win));
- win = NULL;
- }
- return;
- }
- _save_to(buf);
- if (win)
- {
- e_object_del(E_OBJECT(win));
- win = NULL;
- }
- f = fopen(buf, "rb");
- if (!f)
- {
- // FIXME: error disp
- return;
- }
- fseek(f, 0, SEEK_END);
- fsize = ftell(f);
- if (fsize < 1)
- {
- // FIXME: error disp
- fclose(f);
- return;
- }
- rewind(f);
- if (fdata) free(fdata);
- fdata = malloc(fsize);
- if (!fdata)
- {
- // FIXME: error disp
- fclose(f);
- return;
- }
- if (fread(fdata, fsize, 1, f) != 1)
- {
- // FIXME: error disp
- free(fdata);
- fdata = NULL;
- fclose(f);
- return;
- }
- fclose(f);
- ecore_file_unlink(buf);
-
- _share_done();
-
- if (!ecore_con_url_init())
- {
- // FIXME: error disp
- free(fdata);
- fdata = NULL;
- return;
- }
-
- handlers = eina_list_append
- (handlers, ecore_event_handler_add
- (ECORE_CON_EVENT_URL_DATA, _upload_data_cb, NULL));
- handlers = eina_list_append
- (handlers, ecore_event_handler_add
- (ECORE_CON_EVENT_URL_PROGRESS, _upload_progress_cb, NULL));
- handlers = eina_list_append
- (handlers, ecore_event_handler_add
- (ECORE_CON_EVENT_URL_COMPLETE, _upload_complete_cb, NULL));
-
- url_up = ecore_con_url_new("http://www.enlightenment.org/shot.php");
- ecore_con_url_post(url_up, fdata, fsize, "application/x-e-shot");
-
- dia = e_dialog_new(scon, "E", "_e_shot_share");
- e_dialog_title_set(dia, _("Uploading screenshot"));
-
- o = e_widget_list_add(dia->win->evas, 0, 0);
- ol = o;
-
- o = e_widget_label_add(dia->win->evas, _("Uploading ..."));
- o_label = o;
- e_widget_list_object_append(ol, o, 0, 0, 0.5);
-
- o = e_widget_label_add(dia->win->evas,
- _("Screenshot is available at this location:"));
- e_widget_list_object_append(ol, o, 0, 0, 0.5);
-
- o = e_widget_entry_add(dia->win->evas, NULL, NULL, NULL, NULL);
- o_entry = o;
- e_widget_list_object_append(ol, o, 1, 0, 0.5);
-
- e_widget_size_min_get(ol, &mw, &mh);
- e_dialog_content_set(dia, ol, mw, mh);
- e_dialog_button_add(dia, _("OK"), NULL, _upload_ok_cb, NULL);
- e_dialog_button_add(dia, _("Cancel"), NULL, _upload_cancel_cb, NULL);
- e_dialog_resizable_set(dia, 1);
- e_win_centered_set(dia->win, 1);
- e_dialog_show(dia);
-}
-
-static void
-_win_cancel_cb(void *data __UNUSED__, void *data2 __UNUSED__)
-{
- if (win)
- {
- e_object_del(E_OBJECT(win));
- win = NULL;
- }
-}
-
-static void
-_rect_down_cb(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
-{
- Evas_Event_Mouse_Down *ev = event_info;
- Eina_List *l;
- E_Zone *z;
-
- if (ev->button != 1) return;
-
- e_widget_radio_toggle_set(o_radio_all, 0);
- EINA_LIST_FOREACH(scon->zones, l, z)
- {
- if (obj == o_rectdim[z->num])
- {
- screen = z->num;
- e_widget_radio_toggle_set(o_radio[z->num], 1);
- }
- else
- e_widget_radio_toggle_set(o_radio[z->num], 0);
- }
-
- EINA_LIST_FOREACH(scon->zones, l, z)
- {
- if (screen == -1)
- evas_object_color_set(o_rectdim[z->num], 0, 0, 0, 0);
- else if (screen == (int)z->num)
- evas_object_color_set(o_rectdim[z->num], 0, 0, 0, 0);
- else
- evas_object_color_set(o_rectdim[z->num], 0, 0, 0, 200);
- }
-}
-
-static void
-_shot_now(E_Zone *zone)
-{
- Ecore_X_Image *img;
- Ecore_X_Window_Attributes att;
- unsigned char *src;
- unsigned int *dst;
- int bpl = 0, rows = 0, bpp = 0;
- Evas *evas, *evas2;
- Evas_Object *o, *oa, *op, *ol;
- Evas_Coord w, h;
- Evas_Modifier_Mask mask;
- E_Radio_Group *rg;
-
- sman = zone->container->manager;
- scon = zone->container;
- memset(&att, 0, sizeof(Ecore_X_Window_Attributes));
- ecore_x_window_attributes_get(sman->root, &att);
- img = ecore_x_image_new(sman->w, sman->h, att.visual, att.depth);
- ecore_x_image_get(img, sman->root, 0, 0, 0, 0, sman->w, sman->h);
- src = ecore_x_image_data_get(img, &bpl, &rows, &bpp);
- if (!ecore_x_image_is_argb32_get(img))
- {
- dst = malloc(sman->w * sman->h * sizeof(int));
- ecore_x_image_to_argb_convert(src, bpp, bpl, att.colormap, att.visual,
- 0, 0, sman->w, sman->h,
- dst, (sman->w * sizeof(int)), 0, 0);
- }
- else
- dst = (unsigned int *)src;
-
- if (win) e_object_del(E_OBJECT(win));
- win = e_win_new(e_container_current_get(e_manager_current_get()));
-
- evas = e_win_evas_get(win);
- e_win_title_set(win, _("Where to put Screenshot..."));
- e_win_delete_callback_set(win, _win_delete_cb);
- e_win_resize_callback_set(win, _win_resize_cb);
- e_win_dialog_set(win, 1);
- e_win_centered_set(win, 1);
- e_win_name_class_set(win, "E", "_shot_dialog");
-
- o = edje_object_add(evas);
- o_bg = o;;
- e_theme_edje_object_set(o, "base/theme/dialog", "e/widgets/dialog/main");
- evas_object_move(o, 0, 0);
- evas_object_show(o);
-
- o = e_widget_list_add(evas, 0, 0);
- o_content = o;
- e_widget_size_min_get(o, &w, &h);
- edje_extern_object_min_size_set(o, w, h);
- edje_object_part_swallow(o_bg, "e.swallow.content", o);
- evas_object_show(o);
-
- w = sman->w / 4;
- if (w < 220) w = 220;
- h = (w * sman->h) / sman->w;
-
- o = e_widget_aspect_add(evas, w, h);
- oa = o;
- o = e_widget_preview_add(evas, w, h);
- op = o;
-
- evas2 = e_widget_preview_evas_get(op);
-
- o = evas_object_image_filled_add(evas2);
- o_img = o;
- evas_object_image_colorspace_set(o, EVAS_COLORSPACE_ARGB8888);
- evas_object_image_alpha_set(o, EINA_FALSE);
- evas_object_image_size_set(o, sman->w, sman->h);
- evas_object_image_data_copy_set(o, dst);
- if (dst != (unsigned int *)src) free(dst);
- ecore_x_image_free(img);
- evas_object_image_data_update_add(o, 0, 0, sman->w, sman->h);
- e_widget_preview_extern_object_set(op, o);
- evas_object_show(o);
-
- evas_object_show(op);
- evas_object_show(oa);
-
- e_widget_aspect_child_set(oa, op);
- e_widget_list_object_append(o_content, oa, 0, 0, 0.5);
-
- o = e_widget_list_add(evas, 1, 1);
- o_hlist = o;
-
- o = e_widget_framelist_add(evas, _("Quality"), 0);
- ol = o;
-
- rg = e_widget_radio_group_new(&quality);
- o = e_widget_radio_add(evas, _("Perfect"), 100, rg);
- e_widget_framelist_object_append(ol, o);
- o = e_widget_radio_add(evas, _("High"), 90, rg);
- e_widget_framelist_object_append(ol, o);
- o = e_widget_radio_add(evas, _("Medium"), 70, rg);
- e_widget_framelist_object_append(ol, o);
- o = e_widget_radio_add(evas, _("Low"), 50, rg);
- e_widget_framelist_object_append(ol, o);
-
- e_widget_list_object_append(o_hlist, ol, 1, 0, 0.5);
-
- screen = -1;
- if (eina_list_count(scon->zones) > 1)
- {
- Eina_List *l;
- E_Zone *z;
- int i;
-
- o = e_widget_framelist_add(evas, _("Screen"), 0);
- ol = o;
-
- rg = e_widget_radio_group_new(&screen);
- o = e_widget_radio_add(evas, _("All"), -1, rg);
- o_radio_all = o;
- evas_object_smart_callback_add(o, "changed", _screen_change_cb, NULL);
- e_widget_framelist_object_append(ol, o);
- i = 0;
- EINA_LIST_FOREACH(scon->zones, l, z)
- {
- char buf[32];
-
- if (z->num >= MAXZONES) continue;
- snprintf(buf, sizeof(buf), "%i", z->num);
- o = e_widget_radio_add(evas, buf, z->num, rg);
- o_radio[z->num] = o;
- evas_object_smart_callback_add(o, "changed", _screen_change_cb, NULL);
- e_widget_framelist_object_append(ol, o);
-
- o = evas_object_rectangle_add(evas2);
- evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN,
- _rect_down_cb, NULL);
- o_rectdim[z->num] = o;
- evas_object_color_set(o, 0, 0, 0, 0);
- evas_object_show(o);
- evas_object_geometry_get(o_img, NULL, NULL, &w, &h);
- evas_object_move(o,
- (z->x * w) / sman->w,
- (z->y * h) / sman->h);
- evas_object_resize(o,
- (z->w * w) / sman->w,
- (z->h * h) / sman->h);
- i++;
- }
-
- e_widget_list_object_append(o_hlist, ol, 1, 0, 0.5);
- }
-
- e_widget_list_object_append(o_content, o_hlist, 0, 0, 0.5);
-
- o = o_content;
- e_widget_size_min_get(o, &w, &h);
- edje_extern_object_min_size_set(o, w, h);
- edje_object_part_swallow(o_bg, "e.swallow.content", o);
- evas_object_show(o);
-
- ///////////////////////////////////////////////////////////////////////
-
- o = e_widget_list_add(evas, 1, 1);
- o_box = o;
- e_widget_on_focus_hook_set(o, _on_focus_cb, NULL);
- edje_object_part_swallow(o_bg, "e.swallow.buttons", o);
-
- o = e_widget_button_add(evas, _("Save"), NULL, _win_save_cb, win, NULL);
- e_widget_list_object_append(o_box, o, 1, 0, 0.5);
- o = e_widget_button_add(evas, _("Share"), NULL, _win_share_cb, win, NULL);
- e_widget_list_object_append(o_box, o, 1, 0, 0.5);
- o = e_widget_button_add(evas, _("Cancel"), NULL, _win_cancel_cb, win, NULL);
- e_widget_list_object_append(o_box, o, 1, 0, 0.5);
-
- o = o_box;
- e_widget_size_min_get(o, &w, &h);
- edje_extern_object_min_size_set(o, w, h);
- edje_object_part_swallow(o_bg, "e.swallow.buttons", o);
-
- o = evas_object_rectangle_add(evas);
- o_event = o;
- mask = 0;
- if (!evas_object_key_grab(o, "Tab", mask, ~mask, 0)) printf("grab err\n");
- mask = evas_key_modifier_mask_get(evas, "Shift");
- if (!evas_object_key_grab(o, "Tab", mask, ~mask, 0)) printf("grab err\n");
- mask = 0;
- if (!evas_object_key_grab(o, "Return", mask, ~mask, 0)) printf("grab err\n");
- mask = 0;
- if (!evas_object_key_grab(o, "KP_Enter", mask, ~mask, 0)) printf("grab err\n");
- evas_object_event_callback_add(o, EVAS_CALLBACK_KEY_DOWN, _key_down_cb, NULL);
-
- edje_object_size_min_calc(o_bg, &w, &h);
- evas_object_resize(o_bg, w, h);
- e_win_resize(win, w, h);
- e_win_size_min_set(win, w, h);
- e_win_size_max_set(win, 99999, 99999);
- e_win_show(win);
- e_win_border_icon_set(win, "enlightenment/shot");
-
- if (!e_widget_focus_get(o_bg)) e_widget_focus_set(o_box, 1);
-}
-
-static Eina_Bool
-_shot_delay(void *data)
-{
- timer = NULL;
- _shot_now(data);
- return EINA_FALSE;
-}
-
-static void
-_shot(E_Zone *zone)
-{
- if (timer) ecore_timer_del(timer);
- timer = ecore_timer_add(1.0, _shot_delay, zone);
-}
-
-static void
-_e_mod_menu_cb(void *data __UNUSED__, E_Menu *m, E_Menu_Item *mi __UNUSED__)
-{
- if (m->zone) _shot(m->zone);
-}
-
-static void
-_e_mod_action_cb(E_Object *obj, const char *params __UNUSED__)
-{
- E_Zone *zone = NULL;
-
- if (obj)
- {
- if (obj->type == E_MANAGER_TYPE)
- zone = e_util_zone_current_get((E_Manager *)obj);
- else if (obj->type == E_CONTAINER_TYPE)
- zone = e_util_zone_current_get(((E_Container *)obj)->manager);
- else if (obj->type == E_ZONE_TYPE)
- zone = ((E_Zone *)obj);
- else
- zone = e_util_zone_current_get(e_manager_current_get());
- }
- if (!zone) zone = e_util_zone_current_get(e_manager_current_get());
- if (!zone) return;
- if (timer)
- {
- ecore_timer_del(timer);
- timer = NULL;
- }
- _shot_now(zone);
-}
-
-static void
-_e_mod_menu_add(void *data __UNUSED__, E_Menu *m)
-{
- E_Menu_Item *mi;
-
- mi = e_menu_item_new(m);
- e_menu_item_label_set(mi, _("Take Screenshot"));
- e_util_menu_item_theme_icon_set(mi, "screenshot");
- e_menu_item_callback_set(mi, _e_mod_menu_cb, NULL);
-}
-
-/* module setup */
-EAPI E_Module_Api e_modapi =
-{
- E_MODULE_API_VERSION,
- "Shot"
-};
-
-EAPI void *
-e_modapi_init(E_Module *m)
-{
- e_module_delayed_set(m, 1);
-
- shot_module = m;
- act = e_action_add("shot");
- if (act)
- {
- act->func.go = _e_mod_action_cb;
- e_action_predef_name_set(_("Screen"), _("Take Screenshot"),
- "shot", NULL, NULL, 0);
- }
- maug = e_int_menus_menu_augmentation_add_sorted
- ("main/2", _("Take Screenshot"), _e_mod_menu_add, NULL, NULL, NULL);
- return m;
-}
-
-EAPI int
-e_modapi_shutdown(E_Module *m __UNUSED__)
-{
- _share_done();
- if (win)
- {
- e_object_del(E_OBJECT(win));
- win = NULL;
- }
- if (timer)
- {
- ecore_timer_del(timer);
- timer = NULL;
- }
- if (maug)
- {
- e_int_menus_menu_augmentation_del("main/2", maug);
- maug = NULL;
- }
- if (act)
- {
- e_action_predef_name_del(_("Screen"), _("Take Screenshot"));
- e_action_del("shot");
- act = NULL;
- }
- shot_module = NULL;
- return 1;
-}
-
-EAPI int
-e_modapi_save(E_Module *m __UNUSED__)
-{
- return 1;
-}
diff --git a/src/modules/shot/.svn/text-base/e_mod_main.h.svn-base b/src/modules/shot/.svn/text-base/e_mod_main.h.svn-base
deleted file mode 100755
index 4adf2f1..0000000
--- a/src/modules/shot/.svn/text-base/e_mod_main.h.svn-base
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef E_MOD_MAIN_H
-#define E_MOD_MAIN_H
-
-EAPI extern E_Module_Api e_modapi;
-
-EAPI void *e_modapi_init (E_Module *m);
-EAPI int e_modapi_shutdown (E_Module *m);
-EAPI int e_modapi_save (E_Module *m);
-
-#endif
diff --git a/src/modules/shot/.svn/text-base/module.desktop.in.svn-base b/src/modules/shot/.svn/text-base/module.desktop.in.svn-base
deleted file mode 100755
index d13feb9..0000000
--- a/src/modules/shot/.svn/text-base/module.desktop.in.svn-base
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Type=Link
-Name=Shot
-Name[fr]=Déclic
-Name[ko]=스크린샷
-Icon=e-module-shot
-X-Enlightenment-ModuleType=utils
-Comment=Simple screenshot+save/upload module
-Comment[fr]=Module pour faire des captures d'écran et les partager.
-Comment[it]=Semplice modulo per il salvataggio e l'upload di istantanee del desktop.
-Comment[ko]=간단한 스크린샷 저장/공유 모듈
diff --git a/src/modules/shot/e-module-shot.edj b/src/modules/shot/e-module-shot.edj
index a507906..a507906 100755..100644
--- a/src/modules/shot/e-module-shot.edj
+++ b/src/modules/shot/e-module-shot.edj
Binary files differ
diff --git a/src/modules/start/module.desktop.in b/src/modules/start/module.desktop.in
index 6999579..6999579 100755..100644
--- a/src/modules/start/module.desktop.in
+++ b/src/modules/start/module.desktop.in
diff --git a/src/modules/syscon/module.desktop.in b/src/modules/syscon/module.desktop.in
index ed2f342..ed2f342 100755..100644
--- a/src/modules/syscon/module.desktop.in
+++ b/src/modules/syscon/module.desktop.in
diff --git a/src/modules/systray/module.desktop.in b/src/modules/systray/module.desktop.in
index 03d5451..03d5451 100755..100644
--- a/src/modules/systray/module.desktop.in
+++ b/src/modules/systray/module.desktop.in
diff --git a/src/modules/winlist/module.desktop.in b/src/modules/winlist/module.desktop.in
index a1cb8c6..a1cb8c6 100755..100644
--- a/src/modules/winlist/module.desktop.in
+++ b/src/modules/winlist/module.desktop.in