forked from enlightenment/enlightenment
Compare commits
374 Commits
master
...
devs/princ
Author | SHA1 | Date |
---|---|---|
Deon 'PrinceAMD' Thomas | 7a3b04e863 | |
Thanatermesis | a090ef0cd9 | |
Mike Blumenkrantz | 414cc655d1 | |
Thanatermesis | 79fae834e2 | |
Jean-Philippe Andre | dca8b85659 | |
maxerba | 0be0170b23 | |
Thanatermesis | 26e6437d91 | |
Mike Blumenkrantz | 52b59c1755 | |
Sebastian Dransfeld | 58c0cfb666 | |
Thanatermesis | 72023b2535 | |
Sebastian Dransfeld | 9195d17b47 | |
maxerba | cae503d4d1 | |
Deon Thomas | be2f9e3447 | |
Thanatermesis | a05cdfad3f | |
Carsten Haitzler | 79e709d06d | |
maxerba | a1b479ee81 | |
maxerba | 83d8b7edbe | |
Thanatermesis | 2415b9c045 | |
maxerba | 551bf1dab8 | |
Chris Seekamp | 7fd16ce26d | |
Carsten Haitzler | a93490e567 | |
Eduardo Lima (Etrunko) | 758006828e | |
maxerba | 3d6d44d3d7 | |
Deon Thomas | 86a75e2771 | |
Deon Thomas | 672592ebfe | |
Carsten Haitzler | ea605237bb | |
Eduardo Lima (Etrunko) | 83c1ddab46 | |
Mike Blumenkrantz | 70bcba8451 | |
Mike Blumenkrantz | 1f95d146fe | |
Mike Blumenkrantz | cba24a9731 | |
Mike Blumenkrantz | 9cbdc8dc12 | |
Mike Blumenkrantz | c8cdc5b103 | |
Mike Blumenkrantz | c84416f964 | |
Carsten Haitzler | 126afd0fda | |
Carsten Haitzler | 8cabf27085 | |
maxerba | 1ff718fe4e | |
Dieter Roelants | 41ed2a2079 | |
Tom Hacohen | 1a6ce053d0 | |
Tom Hacohen | 0fc17879bc | |
Bertrand Jacquin | 5cab004a75 | |
Tom Hacohen | 09bff77be7 | |
Eduardo Lima (Etrunko) | d9415c9a74 | |
Eduardo Lima (Etrunko) | 910e109760 | |
Mike Blumenkrantz | b23cebb26e | |
maxerba | 10e2271afa | |
maxerba | dcaf7c09c5 | |
Mike Blumenkrantz | 0e5d2c0ccf | |
Mike Blumenkrantz | c3bae7cb39 | |
Mike Blumenkrantz | 5c37d93a0b | |
Jérémy Zurcher | eb26e1385c | |
discomfitor | 77b2c5a7f4 | |
discomfitor | b8f50a95f7 | |
discomfitor | 5c809b6f98 | |
Boris Faure | 643f6fa6ff | |
Mike Blumenkrantz | f5f61572fd | |
Mike Blumenkrantz | 8368d57692 | |
Deon Thomas | bf587cfd97 | |
Chris Michael | b17a9b9cc9 | |
Chris Michael | 7d190c4918 | |
Chris Michael | 0d83892949 | |
Mike Blumenkrantz | 3e081a2432 | |
Eduardo Lima (Etrunko) | 454003d820 | |
Chris Michael | f15b2eda9d | |
Chris Michael | 455fe96f66 | |
Chris Michael | 628bcc0280 | |
Chris Michael | be9e1d24b5 | |
Chris Michael | aae26dbf64 | |
Chris Michael | 9566fe746e | |
Chris Michael | e998dc38cf | |
Chris Michael | 4f4f0c04b3 | |
Carsten Haitzler | 75c2ab58a3 | |
Deon Thomas | 5bcf144064 | |
Deon Thomas | 7c8e3d8e31 | |
Chris Michael | fa97eba302 | |
Chris Michael | bfc9f1e7b1 | |
Chris Michael | f0f7f8f4de | |
Chris Michael | 39587299c2 | |
maxerba | 75d1a637dc | |
maxerba | 18c9d84fe8 | |
Chris Michael | 4b5defdd2c | |
Chris Michael | 3d26cd06e6 | |
maxerba | e22a6685d3 | |
maxerba | 41f7acf8a6 | |
maxerba | ae01d44d6c | |
maxerba | 1f723d2f0e | |
maxerba | cbec7f47b8 | |
Deon Thomas | 6dc3aab009 | |
Chris Michael | ee44bcda90 | |
Chris Michael | 5e9323bf7d | |
Christopher Michael | d7d914cb72 | |
Christopher Michael | 2ac021ae1c | |
Christopher Michael | c95298713b | |
Christopher Michael | d47839c9d0 | |
Christopher Michael | 7dbd8b4177 | |
Christopher Michael | 24603c1ee0 | |
Christopher Michael | ef6583b7bc | |
Deon Thomas | e5164aa076 | |
Chris Michael | b80fd54f7f | |
Chris Michael | 1482c7e7e8 | |
Chris Michael | a3990e5108 | |
Mike Blumenkrantz | 9170ac74dc | |
Chris Michael | e2dc213609 | |
Chris Michael | c45ebc84c9 | |
Chris Michael | 5c49020e46 | |
Chris Michael | 42c22c8c6a | |
Chris Michael | 162c86ce55 | |
Chris Michael | 60da535deb | |
Chris Michael | d8a1f8f933 | |
Chris Michael | 83063049cf | |
Chris Michael | eaf0a927e4 | |
Chris Michael | 8559262f63 | |
Chris Michael | 76d317c5d0 | |
Christopher Michael | 14a8acad61 | |
Christopher Michael | fb124fe454 | |
Christopher Michael | ba1c77fde0 | |
Christopher Michael | fca3d397c0 | |
Christopher Michael | 0bcf3180f6 | |
Christopher Michael | abee7d357d | |
Christopher Michael | c9fcef1274 | |
Christopher Michael | 98f4caf047 | |
Christopher Michael | a2f1bc7d0d | |
Christopher Michael | e87f09c568 | |
Christopher Michael | d96738b2ed | |
Christopher Michael | b9da0c55e0 | |
Christopher Michael | 6809a193b8 | |
Christopher Michael | 1d2c53712d | |
Christopher Michael | 732046f172 | |
Christopher Michael | dc837d6e12 | |
Christopher Michael | 3b79dfada2 | |
Christopher Michael | 08d80f1c7d | |
Christopher Michael | 4ad30863fd | |
Christopher Michael | 7c298cf1df | |
Christopher Michael | d5c6502ed0 | |
Christopher Michael | 305c2119cd | |
Christopher Michael | f85e50b90e | |
Christopher Michael | 0b4d3e059f | |
Christopher Michael | 592f491a71 | |
Christopher Michael | 8b0997959e | |
Christopher Michael | 42e9ced343 | |
Christopher Michael | 0658fda5a7 | |
Christopher Michael | 3a3cea80b6 | |
Christopher Michael | e6b1f0cbea | |
Christopher Michael | 39ab375a64 | |
Christopher Michael | f30acdc4ee | |
Christopher Michael | 92215e3b9d | |
Christopher Michael | 9ab072cd4e | |
Christopher Michael | 88110ca30a | |
Christopher Michael | 138323d6b1 | |
Christopher Michael | c1a6c1c6aa | |
Christopher Michael | bda7510577 | |
Christopher Michael | 4c512aa526 | |
Christopher Michael | ae9cbd4e9f | |
Christopher Michael | 63163546d8 | |
Christopher Michael | ab05ef5335 | |
Christopher Michael | 85d7ef2fbe | |
Christopher Michael | 853de9c660 | |
Christopher Michael | 4772dd90e8 | |
Christopher Michael | 48308853d3 | |
Christopher Michael | d44ba20579 | |
Christopher Michael | f53cc4a5f2 | |
Christopher Michael | ddc4c39e43 | |
Christopher Michael | d94e796050 | |
Christopher Michael | b2c3ccd676 | |
Christopher Michael | 4a4b5c98f5 | |
Christopher Michael | f00692e8c7 | |
Christopher Michael | 5fc3d77e62 | |
Christopher Michael | d56779e775 | |
Christopher Michael | f7fa56bdcc | |
Christopher Michael | ed2d213e2e | |
Christopher Michael | d8fc923492 | |
Christopher Michael | caa8ea5cf0 | |
Christopher Michael | 00eac610e4 | |
Christopher Michael | 65b0455109 | |
Christopher Michael | e28a1a1bc5 | |
Christopher Michael | 733f98fbbf | |
Christopher Michael | 684b8bf06b | |
Christopher Michael | 3f4c7629d9 | |
Christopher Michael | 310c60449d | |
Christopher Michael | bc99da4a26 | |
Christopher Michael | 71094979e9 | |
Christopher Michael | 4eebdb484f | |
Christopher Michael | 7969bbf3aa | |
Christopher Michael | 0137ff7e1f | |
Christopher Michael | 8647ccdb45 | |
Christopher Michael | aa05275768 | |
Christopher Michael | efaa83ab72 | |
Christopher Michael | f144a53b87 | |
Christopher Michael | 8958edd03d | |
Christopher Michael | e1b4d5448c | |
Christopher Michael | 03dee4db92 | |
Christopher Michael | b1919817a9 | |
Christopher Michael | 8f82bb694c | |
Christopher Michael | b996c449d7 | |
Christopher Michael | 7f3f30ff44 | |
Christopher Michael | dc14c4eae6 | |
Christopher Michael | 1fd4212846 | |
Christopher Michael | 6f0dfdad6c | |
Christopher Michael | 29da423051 | |
Christopher Michael | 13a4aed496 | |
Christopher Michael | 5e882d1275 | |
Christopher Michael | d1d8dc4124 | |
Christopher Michael | f2d9856ccb | |
Christopher Michael | 4f8bb6f04c | |
Christopher Michael | 862c8dcfe3 | |
Christopher Michael | ac9ed0f98e | |
Christopher Michael | 0c09d80685 | |
Christopher Michael | 1c26ea8b99 | |
Christopher Michael | e7c9315004 | |
Christopher Michael | 17fdbee784 | |
Christopher Michael | 306fcfcb70 | |
Christopher Michael | a0cbdec5c2 | |
Christopher Michael | e22c359f06 | |
Christopher Michael | 671f459fbc | |
Christopher Michael | 652db147ca | |
Deon Thomas | 4f05f2a80c | |
Deon Thomas | 458a0ebfe6 | |
Deon Thomas | b95d6b1394 | |
Deon Thomas | c99e2e61c4 | |
Daniel Willmann | 07f04ae508 | |
Christopher Michael | 9eb43636ee | |
Chris Michael | 0c2bb7260b | |
Chris Michael | 398a6db329 | |
Chris Michael | 2bd7e0aab6 | |
Chris Michael | 710b97f493 | |
Chris Michael | f9f138277f | |
Chris Michael | 765921a458 | |
Chris Michael | 2d060297f8 | |
Chris Michael | 0f067cb391 | |
Chris Michael | 42ebed1598 | |
Chris Michael | ef10745993 | |
Chris Michael | 674b6a9998 | |
Chris Michael | 00934e820a | |
Chris Michael | 7fa2c66d74 | |
Chris Michael | 5bb2aaf6b0 | |
Christopher Michael | 6a9d354d2d | |
Christopher Michael | 99bcb2ccb9 | |
Christopher Michael | c17ffb43b3 | |
Christopher Michael | 7bd21a70a2 | |
Christopher Michael | 128d82a0d8 | |
Christopher Michael | a309af7689 | |
Christopher Michael | 1918c5ae8f | |
Christopher Michael | ce4d086048 | |
Christopher Michael | 49573c4d72 | |
Christopher Michael | aa726e1be9 | |
Christopher Michael | a75407c538 | |
Christopher Michael | 20ab70d7b0 | |
Christopher Michael | b0467b2bda | |
Christopher Michael | 29315808a1 | |
Christopher Michael | 89f80239fb | |
Christopher Michael | eb5d9e226f | |
Deon Thomas | fe1f530dbe | |
Deon Thomas | 3b7ef95299 | |
maxerba | 3dd5a50ac9 | |
Mike Blumenkrantz | 8ed229bdae | |
Mike Blumenkrantz | 7c8609245f | |
Mike Blumenkrantz | b8257d3c78 | |
Mike Blumenkrantz | bc1b7a75e0 | |
Mike Blumenkrantz | 5f9dcff9fc | |
maxerba | 3fbbc05f98 | |
maxerba | b603d86d38 | |
maxerba | fbcd2717c1 | |
maxerba | 9e260009b3 | |
maxerba | 29d742cab9 | |
maxerba | 015655555b | |
Rafael Antognolli | d61d8a0fcc | |
Rafael Antognolli | 5ecac874ab | |
maxerba | 904b187c77 | |
maxerba | ec4032095c | |
Mike Blumenkrantz | ed1615509a | |
Mike Blumenkrantz | eb0ec1e00f | |
Mike Blumenkrantz | 52cfa36ac5 | |
Mike Blumenkrantz | 1da8387c2f | |
Boris Faure | 0636064d62 | |
Carsten Haitzler | 6fbbc81264 | |
Rafael Antognolli | c653571595 | |
Rafael Antognolli | 09c4882010 | |
Rafael Antognolli | 84cc298615 | |
Rafael Antognolli | 815c790403 | |
maxerba | cf2cd59177 | |
maxerba | 4f6a5b45a4 | |
Rafael Antognolli | ca1a1ef117 | |
Rafael Antognolli | a0bcfeaca2 | |
Rafael Antognolli | 1453955f52 | |
maxerba | 55f70e835b | |
Mike Blumenkrantz | d82095041d | |
Mike Blumenkrantz | 12d37212b5 | |
Mike Blumenkrantz | 3f7627e738 | |
Mike Blumenkrantz | 073cb0e61c | |
Cedric BAIL | 377c996358 | |
Mike Blumenkrantz | 0d8d7a8f7b | |
Mike Blumenkrantz | 1cadd929a1 | |
Massimo Maiurana | 41c9310c93 | |
Cedric BAIL | 7bb68c1c18 | |
Mike Blumenkrantz | 719b0dc526 | |
Mike Blumenkrantz | 8af4a8c925 | |
Cedric BAIL | 3c03512f56 | |
Mike Blumenkrantz | a3bc3f6ccc | |
Massimo Maiurana | 6dc3c880f9 | |
Massimo Maiurana | 2186019d58 | |
Mike Blumenkrantz | d164d5f19c | |
Mike Blumenkrantz | 7882931f91 | |
Mike Blumenkrantz | f8ec5816c5 | |
Mike Blumenkrantz | 2143948e0e | |
Massimo Maiurana | d96be633ea | |
Mike Blumenkrantz | d8bfb3cdd3 | |
Mike Blumenkrantz | 6ac98b2eff | |
Mike Blumenkrantz | 24cdd1cb26 | |
Mike Blumenkrantz | 397713edc8 | |
Mike Blumenkrantz | e33b133624 | |
Mike Blumenkrantz | 699e006aa4 | |
Mike Blumenkrantz | 3826b2e35d | |
Mike Blumenkrantz | d47abf7df1 | |
Mike Blumenkrantz | 9748b9fa4d | |
Mike Blumenkrantz | eb55dfc2b1 | |
Mike Blumenkrantz | ddabcafa1c | |
Mike Blumenkrantz | 2a297fc64b | |
Mike Blumenkrantz | 0d65e97786 | |
Mike Blumenkrantz | 5c74113476 | |
Mike Blumenkrantz | c04df54c12 | |
Mike Blumenkrantz | d34601d71c | |
Mike Blumenkrantz | 9d2a42dd2b | |
Mike Blumenkrantz | 1ae0448a82 | |
Mike Blumenkrantz | 1a0ad007cd | |
Mike Blumenkrantz | f27bc42066 | |
Mike Blumenkrantz | fce4ad17c5 | |
Massimo Maiurana | 4fb3ad6c35 | |
Massimo Maiurana | b9a732a319 | |
Massimo Maiurana | 87c747ee2d | |
Massimo Maiurana | 1fef180693 | |
Mike Blumenkrantz | 9d83e1feeb | |
Massimo Maiurana | fa145f0d50 | |
Igor Murzov | 0a491a1e6f | |
Massimo Maiurana | 3197098853 | |
Mike Blumenkrantz | 5ab1029c63 | |
Igor Murzov | 9d9907265b | |
Igor Murzov | 000a2b7bea | |
Mike Blumenkrantz | 73743d1db7 | |
Mike Blumenkrantz | 34e4de2fe8 | |
Mike Blumenkrantz | c7deb20915 | |
Mike Blumenkrantz | bc5c135613 | |
Mike Blumenkrantz | 058c768cbb | |
Mike Blumenkrantz | b7d8881e1e | |
Mike Blumenkrantz | ebe9fbd3bd | |
Mike Blumenkrantz | 55375ea8e8 | |
Igor Murzov | 4857d86db3 | |
Igor Murzov | 37d444fa0f | |
Igor Murzov | f0ec4d0fe9 | |
Igor Murzov | c6e5116146 | |
Mike Blumenkrantz | 246a7b79bc | |
Mike Blumenkrantz | 9b0304c03b | |
Mike Blumenkrantz | 2acecac6c4 | |
Mike Blumenkrantz | cc83600d48 | |
Mike Blumenkrantz | 49b44f84d0 | |
Carsten Haitzler | 97b48b3668 | |
Mike Blumenkrantz | b2b9146a6f | |
Mike Blumenkrantz | e69c53fc50 | |
Mike Blumenkrantz | 4fc258e760 | |
Mike Blumenkrantz | aad37e8693 | |
Mike Blumenkrantz | d47ea23576 | |
Mike Blumenkrantz | 10c649ccdc | |
Mike Blumenkrantz | 4890358e43 | |
Mike Blumenkrantz | 76e47a970e | |
Tom Hacohen | 0a99a25feb | |
Tom Hacohen | e1d1e56cbd | |
Mike Blumenkrantz | fb86a363bd | |
Mike Blumenkrantz | 45aecae167 | |
Cedric BAIL | bef2c4bf30 | |
Massimo Maiurana | 64373bd6fe | |
Cedric BAIL | ff8c3bdf0b | |
Mike Blumenkrantz | 0e7d9366bb | |
Mike Blumenkrantz | ccbe06fe87 | |
Mike Blumenkrantz | ba9291282b | |
Mike Blumenkrantz | 430e75cbba | |
Mike Blumenkrantz | 262f3b354e |
3
AUTHORS
3
AUTHORS
|
@ -48,3 +48,6 @@ Boris Faure <billiob@gmail.com>
|
|||
Michael Stapelberg <michael+e17@stapelberg.de>
|
||||
Stefan Sperling <stsp@openbsd.org>
|
||||
Nicolas Beaumont <nicolas.beaumont@gmail.com>
|
||||
David H. Bronke <whitelynx@gmail.com>
|
||||
Deon Thomas
|
||||
dieter.e
|
||||
|
|
255
ChangeLog
255
ChangeLog
|
@ -1,3 +1,258 @@
|
|||
2014-08-09 Samuel F. Baggen (Thanatermesis)
|
||||
|
||||
* fix for window border titles and sizes (backports)
|
||||
* fix for text that looked "cut" in some elements like wizard buttons (backports)
|
||||
|
||||
2014-06-27 Samuel F. Baggen (Thanatermesis)
|
||||
|
||||
* highlight correct keybinding when modifying an existing binding (backports)
|
||||
* XDG menu prefix merge fixes (backports)
|
||||
* fixed backtraces generating (backports)
|
||||
|
||||
2013-12-05 Eduardo Lima (Etrunko)
|
||||
|
||||
* 0.17.6 release
|
||||
|
||||
2013-11-26 dieter.e
|
||||
|
||||
* fixed potential crashes when switching desktops and closing windows
|
||||
|
||||
2013-11-25 Tom Hacohen
|
||||
|
||||
* Entry: Fixed issues with entry not scrolling to cursor.
|
||||
|
||||
2013-11-05 Tom Hacohen
|
||||
|
||||
* wsod: Fixed gdb hangs when generating backtraces.
|
||||
|
||||
2013-10-14 Eduardo Lima (Etrunko)
|
||||
* 0.17.5 release
|
||||
|
||||
2013-10-14 Mike Blumenkrantz
|
||||
|
||||
* Fix event clipping on filemanager icons
|
||||
|
||||
2013-09-20 Mike Blumenkrantz
|
||||
|
||||
* Check mouse location when clicking menus, only activate items when clicking in the menu
|
||||
|
||||
2013-09-19 Mike Blumenkrantz
|
||||
|
||||
* Fix bug where new files could not be created repeatedly
|
||||
|
||||
2013-08-02 Deon Thomas (PrinceAMD)
|
||||
|
||||
* fixed stall on startup because xinerama started before randr (backports).
|
||||
|
||||
2013-08-02 Eduardo Lima (Etrunko)
|
||||
|
||||
* 0.17.4 release
|
||||
|
||||
2013-05-11 Rafael Antognolli
|
||||
|
||||
* 0.17.3 release
|
||||
|
||||
2013-06-17 Mike Blumenkrantz
|
||||
|
||||
* fixed bug where e widgets would not unset focus
|
||||
* fixed bug with filemanager setting path with too many spaces when opened from menu
|
||||
|
||||
2013-06-10 Mike Blumenkrantz
|
||||
|
||||
* fix remember size/position apply
|
||||
|
||||
2013-05-24 Christopher Michael
|
||||
|
||||
* added support for hotplugging monitors in randr code
|
||||
* added support for setting Primary Output used by randr protocol
|
||||
|
||||
2013-04-26 Mike Blumenkrantz
|
||||
|
||||
* fixed theme bug which prevented windows from unshading correctly when animations were disabled
|
||||
|
||||
2013-04-25 Mike Blumenkrantz
|
||||
|
||||
* improve efm mouse movement detection for icons
|
||||
* add check for vmware window in another spot to disable key remapping
|
||||
|
||||
2013-04-09 Rafael Antognolli
|
||||
|
||||
* 0.17.2.1 release
|
||||
|
||||
2013-04-08 maxerba
|
||||
|
||||
* Update Esperanto translations.
|
||||
|
||||
2013-04-06 Joan Coll
|
||||
|
||||
* Update Catalan translations.
|
||||
|
||||
2013-04-04 Rafael Antognolli
|
||||
|
||||
* 0.17.2 release
|
||||
|
||||
2013-02-20 Mike Blumenkrantz
|
||||
|
||||
* toolbar gadgets no longer crash when trying to display a popup
|
||||
|
||||
2013-02-18 Mike Blumenkrantz
|
||||
|
||||
* fixed disable of input methods in input method config dialog
|
||||
* fixed pointer warp when pointer was inside warp window but not directly over it
|
||||
|
||||
2013-02-11 Mike Blumenkrantz
|
||||
|
||||
* fixed bug where pointer warping to new clients would start at a random location
|
||||
* fix crash when locking screen from Start gadget and then activating gadget again
|
||||
* fixed bug where e_layout would ignore frozen state and crash
|
||||
|
||||
2013-02-08 Cedric Bail
|
||||
|
||||
* remove call to efreet_menu_parse from a thread.
|
||||
|
||||
2013-02-07 Mike Blumenkrantz
|
||||
|
||||
* keyboard mapping change now also disables for window class "vmware"
|
||||
|
||||
2013-02-07 Cedric Bail
|
||||
|
||||
* enable image preloading for all e_widget_preview using edje
|
||||
|
||||
2013-02-07 Carsten Haitzler
|
||||
|
||||
* fix clock timerfd usage to actually detect a date change.
|
||||
* improve clock to also listen to /etc/timezone changes too.
|
||||
|
||||
2013-02-06 Mike Blumenkrantz
|
||||
|
||||
* moved "allow windows above fullscreen windows" option to geometry settings dialog
|
||||
* fix filemanager efreet cache listeners and updates
|
||||
|
||||
2013-02-05 Mike Blumenkrantz
|
||||
|
||||
* fix bug where edge flips would stop functioning after dragging to an invalid edge containing a shelf
|
||||
* remove unnecessary shelf deletion when changing resolution
|
||||
|
||||
2013-02-04 Mike Blumenkrantz
|
||||
|
||||
* fix possible crash in xkb rule parsing
|
||||
* fix list update on deletion of personal app launchers
|
||||
* fix button toggling in personal app launchers dialog
|
||||
|
||||
2013-02-01 Mike Blumenkrantz
|
||||
|
||||
* fixed leak in profile list dbus method
|
||||
* fixed behavior of Up/Down keys in filemanager when typebuf was visible
|
||||
|
||||
2013-01-31 Mike Blumenkrantz
|
||||
|
||||
* fixed a number of bugs where keyboard layouts could not be applied or selected
|
||||
* filemanager now ignores changes to .part files
|
||||
* fixed opening of links in filemanager in some cases
|
||||
* fixed window autoraise triggering from pointer slide
|
||||
* 0.17.1 release
|
||||
|
||||
2013-01-29 Mike Blumenkrantz
|
||||
|
||||
* fixed bug where dragging files into sidebar would move them instead of creating links
|
||||
|
||||
2013-01-23 Mike Blumenkrantz
|
||||
|
||||
* module error dialog is no longer remembered across restarts
|
||||
* fix small leak in efm when performing dnd onto mounted drive icon
|
||||
* fixed small leak in e_import_config_dialog_show during failure case
|
||||
* fixed small leak in e_import_dialog_show during failure case
|
||||
* fixed small leak in illume2 policy config
|
||||
* fixed path setting in import dialog
|
||||
* fixed possible NULL deref in desktop editor
|
||||
* fixed possible NULL deref in e_sys when debugging
|
||||
|
||||
2013-01-22 Massimo Maiurana
|
||||
|
||||
* Added three more files for input methods used in asian countries
|
||||
|
||||
2013-01-22 Igor Murzov
|
||||
|
||||
* Marked some messages for translation
|
||||
* Better gettext usage in a few places
|
||||
* Fixed some typos and improved some messages a bit
|
||||
|
||||
2013-01-22 Mike Blumenkrantz
|
||||
|
||||
* Desktop->Shelves menu now shows shelf names
|
||||
* No longer build illume edj files
|
||||
* fixed gadget dragging on desktop near screen edges
|
||||
* fixed bug where backlight settings would try to update dummy backlight devices
|
||||
* fixed bug where "don't composite fullscreen windows" option would cause some windows to stop appearing
|
||||
|
||||
2013-01-11 Mike Blumenkrantz
|
||||
|
||||
* fixed bug where backlight settings would try to update dummy backlight devices
|
||||
|
||||
2013-01-10 Carsten Haitzler
|
||||
|
||||
* fixed bug where starting with a nonexistent config could cause a crash instead of simply restarting
|
||||
* fixed window border hide bug where after iconification hides leave ghosts
|
||||
|
||||
2013-01-10 Mike Blumenkrantz
|
||||
|
||||
* fixed bug where internal dialogs would not redraw after unfullscreening
|
||||
|
||||
2013-01-10 Deon Thomas
|
||||
|
||||
* Fixed bug with desktop config profile where conf module version variable was misnamed
|
||||
|
||||
2013-01-09 Mike Blumenkrantz
|
||||
|
||||
* fixed bug where window border insets were not applied to initial positioning geometry, causing them to be placed incorrectly
|
||||
|
||||
2013-01-08 Mike Blumenkrantz
|
||||
|
||||
* Fixed bug where keyboard resizing of windows would not be possible if timeout was set to zero
|
||||
* Fixed crash when clicking apply in wallpaper settings dialog and no wallpaper is selected
|
||||
* Fixed bug where disabled slider widgets could be changed with mouse wheel
|
||||
* Fixed bug where fileman config slider widgets were not properly disabled
|
||||
* Tasks gadgets now apply the selected style
|
||||
|
||||
2013-01-07 Tom "TAsn" Hacohen
|
||||
* e_entry + e_scrollable: Fixed issues with smart members.
|
||||
|
||||
2013-01-07 Mike Blumenkrantz
|
||||
|
||||
* Restore default keybindings no longer restores two bindings for ctrl+alt+f
|
||||
|
||||
2013-01-07 Thomas Petazzoni
|
||||
|
||||
* Fix build with uClibc.
|
||||
|
||||
2013-01-04 Lucas De Marchi
|
||||
|
||||
* Fixed crash when changing desktops configuration
|
||||
|
||||
2013-01-03 Cedric Bail
|
||||
|
||||
* Fix E17 restart after manually monitoring it
|
||||
|
||||
2012-12-28 Tomas Cech
|
||||
|
||||
* Fix construction of variant list for setxkbmap
|
||||
|
||||
2012-12-28 Carsten Haitzler
|
||||
|
||||
* Increased maximum menu size, improved menu autoscrolling
|
||||
|
||||
2012-12-28 Hannes Janetzek
|
||||
|
||||
* Fixed error in Evry when trying to call edje functions on non-edje object
|
||||
|
||||
2012-12-24 Mike Blumenkrantz
|
||||
|
||||
* Fixed crash when changing ibar source
|
||||
|
||||
2012-12-24 Boris Faure
|
||||
|
||||
* Fixed SIGFPE in tiling module and functionality of toggle_rows_count
|
||||
|
||||
2012-12-21
|
||||
|
||||
Initial release
|
||||
|
|
151
NEWS
151
NEWS
|
@ -0,0 +1,151 @@
|
|||
Changes since 0.17.4:
|
||||
---------------------
|
||||
|
||||
Additions:
|
||||
|
||||
Deprecations:
|
||||
|
||||
Changes:
|
||||
* backports / fixes for make it working with efl/elementary in versions bigger than 1.9, maybe not works correctly with lower versions now
|
||||
|
||||
Removed:
|
||||
|
||||
Improvements:
|
||||
|
||||
Fixes:
|
||||
* fixed stall on startup because xinerama started before randr (backports).
|
||||
|
||||
|
||||
Changes since 0.17.3:
|
||||
---------------------
|
||||
|
||||
Additions:
|
||||
|
||||
Deprecations:
|
||||
|
||||
Changes:
|
||||
|
||||
Removed:
|
||||
|
||||
Improvements:
|
||||
|
||||
Fixes:
|
||||
|
||||
|
||||
|
||||
Changes since 0.17.2:
|
||||
---------------------
|
||||
|
||||
Additions:
|
||||
|
||||
Deprecations:
|
||||
|
||||
Changes:
|
||||
|
||||
Removed:
|
||||
|
||||
Improvements:
|
||||
* improve efm mouse movement detection for icons
|
||||
* add check for vmware window in another spot to disable key remapping
|
||||
|
||||
Fixes:
|
||||
* fixed theme bug which prevented windows from unshading correctly when animations were disabled
|
||||
|
||||
|
||||
|
||||
Changes since 0.17.1:
|
||||
---------------------
|
||||
|
||||
Additions:
|
||||
* e_config_xkb functions
|
||||
|
||||
Deprecations:
|
||||
|
||||
Changes:
|
||||
* e_xkb_layout API now deals directly with E_Config_XKB_Layout structs
|
||||
|
||||
Removed:
|
||||
|
||||
Improvements:
|
||||
* clock listens to /etc/timezone changes now too
|
||||
* updated Catalan translations
|
||||
|
||||
Fixes:
|
||||
* fixed window autoraise triggering from pointer slide
|
||||
* fixed opening of links in filemanager in some cases
|
||||
* filemanager now ignores changes to .part files
|
||||
* fixed bugs where keyboard layouts could not be applied or selected
|
||||
* fixed leak in profile list dbus method
|
||||
* fixed behavior of Up/Down keys in filemanager when typebuf was visible
|
||||
* fix possible crash in xkb rule parsing
|
||||
* fix list update on deletion of personal app launchers
|
||||
* fix button toggling in personal app launchers dialog
|
||||
* fix bug where edge flips would stop functioning after dragging to an invalid edge containing a shelf
|
||||
* moved "allow windows above fullscreen windows" option to geometry settings dialog
|
||||
* fix filemanager efreet cache listeners and updates
|
||||
* fix clock timerfd usage to actually detect date changes
|
||||
* enable image preloading for all e_widget_preview using edje
|
||||
* keyboard mapping change now also disables for window class "vmware"
|
||||
* don't call efreet_menu_parse from a thread
|
||||
* fixed bug where pointer warping to new clients would start at a random location
|
||||
* fix crash when locking screen from Start gadget and then activating gadget again
|
||||
* fixed bug where e_layout would ignore frozen state and crash
|
||||
* fixed disable of input methods in input method config dialog
|
||||
* fixed pointer warp when pointer was inside warp window but not directly over it
|
||||
* toolbar gadgets no longer crash when trying to display a popup
|
||||
|
||||
|
||||
Changes since 0.17.0:
|
||||
---------------------
|
||||
|
||||
Additions:
|
||||
|
||||
Deprecations:
|
||||
|
||||
Removed:
|
||||
|
||||
Improvements:
|
||||
* Mixer settings dialog is now resizable
|
||||
* No longer build illume edj files
|
||||
* Better messages in UI
|
||||
* Added three more files for input methods used in asian countries
|
||||
* Desktop->Shelves menu now shows shelf names
|
||||
* remove unnecessary shelf deletion when changing resolution
|
||||
|
||||
Fixes:
|
||||
* Fixed crash when changing ibar source
|
||||
* Fixed SIGFPE in tiling module and functionality of toggle_rows_count
|
||||
* Fixed error in Evry when trying to call edje functions on non-edje object
|
||||
* Fix construction of variant list for setxkbmap
|
||||
* Fix E17 restart after manually monitoring it
|
||||
* Fix build with uClibc
|
||||
* Restore default keybindings no longer restores two bindings for ctrl+alt+f
|
||||
* entry/scrollframe: Fixed issues with submembers.
|
||||
* Fixed bug where keyboard resizing of windows would not be possible if timeout was set to zero
|
||||
* Fixed crash when clicking apply in wallpaper settings dialog and no wallpaper is selected
|
||||
* Fixed bug where disabled slider widgets could be changed with mouse wheel
|
||||
* Fixed bug where fileman config slider widgets were not properly disabled
|
||||
* Tasks gadgets now apply the selected style
|
||||
* Fixed crash when changing desktops configuration
|
||||
* fixed bug where window border insets were not applied to initial positioning geometry, causing them to be placed incorrectly
|
||||
* Fixed bug with desktop config profile where conf module version variable was misnamed
|
||||
* fixed bug where internal dialogs would not redraw after unfullscreening
|
||||
* fixed bug where starting with a nonexistent config could cause a crash instead of simply restarting
|
||||
* fixed window border hide bug where after iconification hides leave ghosts
|
||||
* fixed bug where backlight settings would try to update dummy backlight devices
|
||||
* fixed gadget dragging on desktop near screen edges
|
||||
* fixed bug where "don't composite fullscreen windows" option would cause some windows to stop appearing
|
||||
* module error dialog is no longer remembered across restarts
|
||||
* fix small leak in efm when performing dnd onto mounted drive icon
|
||||
* fixed small leak in e_import_config_dialog_show during failure case
|
||||
* fixed small leak in e_import_dialog_show during failure case
|
||||
* fixed small leak in illume2 policy config
|
||||
* fixed path setting in import dialog
|
||||
* fixed possible NULL deref in desktop editor
|
||||
* fixed possible NULL deref in e_sys when debugging
|
||||
* fixed bug where dragging files into sidebar would move them instead of creating links
|
||||
* fixed bug where e widgets would not unset focus
|
||||
* fixed bug with filemanager setting path with too many spaces when opened from menu
|
||||
* fix remember size/position apply
|
||||
* wsod: Fixed gdb hangs when generating backtraces.
|
||||
* Entry: Fixed issues with entry not scrolling to cursor.
|
|
@ -3,7 +3,7 @@
|
|||
rm -rf autom4te.cache
|
||||
rm -f aclocal.m4 ltmain.sh config.cache
|
||||
|
||||
autoreconf --symlink --install || exit 1
|
||||
autoreconf --force --install || exit 1
|
||||
|
||||
if [ -z "$NOCONFIGURE" ]; then
|
||||
exec ./configure -C "$@"
|
||||
|
|
|
@ -1,31 +1,33 @@
|
|||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Type=Link
|
||||
Name=Default
|
||||
Name[ab]=默认
|
||||
Name[cs]=Výchozí
|
||||
Name[el]=Προκαθορισμένο
|
||||
Name[eo]=Aprioro
|
||||
Name[es]=Predefinido
|
||||
Name[gl]=Predefinido
|
||||
Name[it]=Predefinito
|
||||
Name[hu]=Alapértelmezett
|
||||
Name[fr]=Prédéfini
|
||||
Name[el]=Προκαθορισμένο
|
||||
Name[zh_CN]=默认
|
||||
Name[pt]=Predefinições
|
||||
Name[ru]=По умолчанию
|
||||
Name[tr]=Öntanımlı
|
||||
Name[gl]=Predefinido
|
||||
Name[hu]=Alapértelmezett
|
||||
Name[it]=Predefinito
|
||||
Name[ko]=기본
|
||||
Icon=enlightenment-default
|
||||
Name[pt]=Predefinições
|
||||
Name[ru]=Заново
|
||||
Name[tr]=Öntanımlı
|
||||
Name[zh_CN]=默认
|
||||
Comment=Select this to begin the initial setup again.
|
||||
Comment[ru]=Выберите этот пункт, чтобы начать настройку сначала.
|
||||
Comment[cs]=Vyberte pro znovuspuštění<br>tohoto průvodce.
|
||||
Comment[el]=Επέλεξε αυτό για να <br>ξεκινήσεις την αρχική ρύθμιση ξανά.
|
||||
Comment[eo]=Elektu ĉi tion por ekigi komencan agordadon.
|
||||
Comment[es]=Seleccione esto para volver a la configuración inicial.
|
||||
Comment[gl]=Seleccione isto para voltar á configuración inicial.
|
||||
Comment[it]=Selezionare questo per riprendere la<br>configurazione iniziale.
|
||||
Comment[hu]=Válaszd ezt az alap<br>beállítáok megismétléséhez.
|
||||
Comment[fr]=Sélectionnez ceci pour retrouver la configuration<br>par défaut et reprendre le paramétrage initial.
|
||||
Comment[el]=Επέλεξε αυτό για να <br>ξεκινήσεις την αρχική ρύθμιση ξανά.
|
||||
Comment[zh_CN]=点击这里重新进行初始化设置主题。
|
||||
Comment[pt]=Escolha isto para executar novamente a configuração inicial
|
||||
Comment[tr]=Açılış ayarlarına geri dönmek için bu profili seçin.
|
||||
Comment[gl]=Seleccione isto para voltar á configuración inicial.
|
||||
Comment[hu]=Válaszd ezt az alap<br>beállítáok megismétléséhez.
|
||||
Comment[it]=Selezionare questo per riprendere la<br>configurazione iniziale.
|
||||
Comment[ko]=초기 설정을 다시 하려면 이 부분을 선택하세요.
|
||||
Comment[pt]=Escolha isto para executar novamente a configuração inicial
|
||||
Comment[ru]=Выберите этот пункт, чтобы начать настройку сначала.
|
||||
Comment[tr]=Açılış ayarlarına geri dönmek için bu profili seçin.
|
||||
Comment[zh_CN]=点击这里重新进行初始化设置主题。
|
||||
Icon=enlightenment-default
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
group "Config" struct {
|
||||
value "config_version" int: 1000000;
|
||||
value "version" int: 1000000;
|
||||
value "menu_augmentation" int: 0;
|
||||
}
|
||||
|
|
|
@ -1,20 +1,21 @@
|
|||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Type=Link
|
||||
Name=Mobile
|
||||
Name[eo]=Portebla
|
||||
Name[eo]=Poŝtelefono
|
||||
Name[es]=Móvil
|
||||
Name[fr]=Écran tactile
|
||||
Name[gl]=Móbil
|
||||
Name[ko]=터치스크린
|
||||
Name[pt]=Ecrã tátil
|
||||
Name[ru]=Мобильные устройства
|
||||
Name[ko]=터치스크린
|
||||
Icon=enlightenment-mobile
|
||||
Comment=EXPERIMENTAL!<br>Configuration set up to work best with touchscreen<br>phones, tablets and similar devices.
|
||||
Comment[eo]=EKSPERIMENTA!<br>Agordoj kongruas plej kun tuŝekranaj telefonoj,<br> tabulkomputiloj aŭ similaj aparatoj.
|
||||
Comment[es]=¡EXPERIMENTAL!<br>Configuración adaptada para el uso en móviles<br>de pantalla táctil, tablets y dispositivos similares.
|
||||
Comment[fr]=EXPÉRIMENTAL !<br>Configuration adaptée aux écrans tactiles<br>des téléphones, tablettes et apparentés.
|
||||
Comment[gl]=EXPERIMENTAL!<br>Configuración adaptada para o uso en móbiles<br>de pantalla táctil, tablets e dispositivos similares.
|
||||
Comment[it]=SPERIMENTALE!<br>Configurazione adatta per l'uso in smartphone<br>con interfaccia tattile, tablets e similari.
|
||||
Comment[ko]=실험 단계중!<br>터치스크린 기반의 휴대폰, 태블릿 등과 같은 장치에 맞는 설정.
|
||||
Comment[pt]=EXPERIMENTAL!<br>Configuração de ecrãs táteis como os dos telefones, tablets e similares.
|
||||
Comment[ru]=Экспериментально!<br>Конфигурация предназначенная специально для сенсорных<br>экранов телефонов, планшетов и прочих подобных устройств.
|
||||
Comment[ko]=실험 단계중!<br>터치스크린 기반의 휴대폰, 태블릿 등과 같은 장치에 맞는 설정.
|
||||
Icon=enlightenment-mobile
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
group "Config" struct {
|
||||
value "config_version" int: 1000000;
|
||||
value "version" int: 1000000;
|
||||
value "menu_augmentation" int: 1;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Type=Link
|
||||
Name=Computer (Standard Enlightenment)
|
||||
Name[eo]=Komputilo (kutima Enlightenment)
|
||||
|
@ -6,16 +7,16 @@ Name[es]=Ordenador (Enlightenment estándar)
|
|||
Name[fr]=Ordinateur (Enlightenment standard)
|
||||
Name[gl]=Ordenador (Enlightenment estándar)
|
||||
Name[it]=Computer (Enlightenment standard)
|
||||
Name[ko]=컴퓨터 (표준 Enlightenment)
|
||||
Name[pt]=Computador (Enlightenment padrão)
|
||||
Name[ru]=Компьютер (Стандартный Enlightenment)
|
||||
Name[ko]=컴퓨터 (표준 Enlightenment)
|
||||
Icon=enlightenment-standard
|
||||
Comment=Configuration for devices with keyboards and mice<br>like your average PC Desktop, Laptop or Netbook<br>with Enlightenment's traditional keyboard bindings<br>and mouse controls.
|
||||
Comment[eo]=Agordoj por aparatoj kun klavaro kaj muso<br>samkiel via kutima PC aŭ portebla komputilo<br>kun kutima klavaraj bindaĵoj de Enlightenment kaj musaj kontroloj.
|
||||
Comment[es]=Configuración para dispositivos con teclado y<br>ratón, como puede ser un PC de escritorio, portátil o Netbook,<br>con las asociaciones de teclado y ratón<br>tradicionales de Enlightenment.
|
||||
Comment[eo]=Agordoj por aparatoj kun klavaro kaj muso<br>samkiel via kutima PC aŭ portebla komputilo<br>kun kutima klavaraj bindaĵoj de Enlightenment kaj musaj kontroloj.
|
||||
Comment[es]=Configuración para dispositivos con teclado y<br>ratón, como puede ser un PC de escritorio, portátil o Netbook,<br>con las asociaciones de teclado y ratón<br>tradicionales de Enlightenment.
|
||||
Comment[fr]=Configuration pour les machines avec clavier et<br>souris comme les PC de bureau et les portables,<br>offrant raccourcis et contrôles traditionnels.
|
||||
Comment[gl]=Configuración para dispositivos con teclado e<br>rato, tal como un PC de escritorio, portátil ou Netbook,<br>coas asociacións de teclado e rato<br>tradicionais de Enlightenment.
|
||||
Comment[it]=Configurazione per macchine con tastiera e mouse,<br>come i normali computer fissi e portatili,<br>con le tradizionali associazioni di tasti e controlli<br>del mouse.
|
||||
Comment[ko]=일반적인 PC 데스크탑, 노트북, 넷북 환경과 같이 키보드와 마우스 기반 환경 설정. Enlightenment 의 전통적인 키보드 바인딩 및 마우스 동작 지원.
|
||||
Comment[pt]=Configuração de dispositivos com teclados e ratos como os computadores de secretária ou portáteis, com os atalhos padrão do Enlightenment.
|
||||
Comment[ru]=Конфигурация для устройств с клавиатурой и мышью,<br>таких как обычный компьютер или ноутбук,<br>с традиционными для Enlightenment'а сочетаниями<br>клавиш и управлением мышью.
|
||||
Comment[ko]=일반적인 PC 데스크탑, 노트북, 넷북 환경과 같이 키보드와 마우스 기반 환경 설정. Enlightenment 의 전통적인 키보드 바인딩 및 마우스 동작 지원.
|
||||
Icon=enlightenment-standard
|
||||
|
|
36
configure.ac
36
configure.ac
|
@ -2,12 +2,13 @@
|
|||
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
||||
m4_define([v_maj], [0])
|
||||
m4_define([v_min], [17])
|
||||
m4_define([v_mic], [0])
|
||||
m4_define([v_mic], [6])
|
||||
|
||||
m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
|
||||
m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
|
||||
##-- When released, remove the dnl on the below line
|
||||
dnl m4_undefine([v_rev])
|
||||
m4_define([relname], [0.17.0])
|
||||
m4_undefine([v_rev])
|
||||
m4_define([relname], [0.17.6])
|
||||
##-- When doing snapshots - change soname. remove dnl on below line
|
||||
dnl m4_define([relname], [ver-pre-svn-08])
|
||||
dnl m4_define([v_rel], [-release relname])
|
||||
|
@ -73,8 +74,27 @@ EFL_CHECK_PATH_MAX
|
|||
|
||||
AC_CHECK_FUNCS(setenv)
|
||||
AC_CHECK_FUNCS(unsetenv)
|
||||
AC_CHECK_FUNCS(clearenv)
|
||||
AC_CHECK_HEADERS(features.h)
|
||||
|
||||
efl_version="1.7.4"
|
||||
case "$host_os" in
|
||||
darwin*)
|
||||
AC_DEFINE([environ], [(*_NSGetEnviron())],
|
||||
["apple doesn't follow POSIX in this case."])
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
AC_TRY_COMPILE([
|
||||
#define _GNU_SOURCE 1
|
||||
#include <unistd.h>
|
||||
],[
|
||||
extern char **environ;
|
||||
],[
|
||||
AC_DEFINE(HAVE_ENVIRON, 1, [Have environ var])
|
||||
])
|
||||
|
||||
efl_version="1.7.10"
|
||||
AC_SUBST(efl_version)
|
||||
|
||||
AC_CHECK_HEADERS([sys/timerfd.h sys/ptrace.h arpa/inet.h netinet/in.h])
|
||||
|
@ -257,6 +277,11 @@ m4_ifdef([AM_GNU_GETTEXT_VERSION], [
|
|||
AM_GNU_GETTEXT_VERSION([0.17])
|
||||
])
|
||||
|
||||
m4_ifdef([AC_GNU_GETTEXT], [
|
||||
AC_GNU_GETTEXT([external], [need-ngettext])
|
||||
po_makefile_in=po/Makefile.in
|
||||
have_po="yes"
|
||||
],[
|
||||
m4_ifdef([AM_GNU_GETTEXT], [
|
||||
AM_GNU_GETTEXT([external], [need-ngettext])
|
||||
po_makefile_in=po/Makefile.in
|
||||
|
@ -264,6 +289,7 @@ have_po="yes"
|
|||
],[
|
||||
have_po="no"
|
||||
])
|
||||
])
|
||||
AC_SUBST(LTLIBINTL)
|
||||
if test "x$LIBINTL" = "x"; then
|
||||
LIBINTL="$INTLLIBS"
|
||||
|
@ -593,7 +619,7 @@ if test "x$want_elementary" != "xno"; then
|
|||
fi
|
||||
if test "x$have_elementary" = "xyes"; then
|
||||
AC_DEFINE([HAVE_ELEMENTARY], 1, "Have Elementary support")
|
||||
requirements_e="${requirements_e} elementary > 1.6.9.0"
|
||||
requirements_e="${requirements_e} elementary >= ${efl_version}"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Name=Enlightenment File Manager
|
||||
Name[eo]=Dosieradministrilo de Enlightenment
|
||||
Name[es]=Administrador de archivos de Enlightenment
|
||||
Name[fr]=Gestionnaire de fichiers d'Enlightenment
|
||||
Name[gl]=Xestor de ficheiros de Enlightenment
|
||||
Name[it]=Filemanager di Enlightenment
|
||||
Name[pt]=Gestor de ficheiros do Enlightenment
|
||||
|
@ -10,15 +12,16 @@ Name[ru]=Файловый менеджер для Enlightenment
|
|||
Comment=File Manager provided by Enlightenment
|
||||
Comment[eo]=La dosieradministrilo provizita de Enlightenment
|
||||
Comment[es]=El administrador de ficheros proporcionado por Enlightenment
|
||||
Comment[fr]=Explorateur de fichier fourni par Enlightenment
|
||||
Comment[gl]=O xestor de ficheiros fornecido por Enlightenment
|
||||
Comment[it]=Il filemanager fornito da Enlightenment
|
||||
Comment[pt]=Gestor de ficheiros para o Enlightenment
|
||||
Comment[ru]=Файловый менеджер встроенный в Enlightenment
|
||||
Exec=enlightenment_filemanager %U
|
||||
Icon=system-file-manager
|
||||
Categories=FileManager;Utility;Core;System;FileTools;
|
||||
OnlyShowIn=X-Enlightenment;
|
||||
Exec=enlightenment_filemanager %U
|
||||
Terminal=false
|
||||
MimeType=inode/directory;
|
||||
Categories=FileManager;Utility;Core;System;FileTools;
|
||||
StartupNotify=false
|
||||
StartupWMClass=e_fm
|
||||
OnlyShowIn=X-Enlightenment;
|
||||
MimeType=inode/directory;
|
||||
|
|
|
@ -10,7 +10,7 @@ menusdir = $(sysconfdir)/xdg/menus
|
|||
menus_DATA =
|
||||
|
||||
if INSTALL_ENLIGHTENMENT_MENU
|
||||
menus_DATA += enlightenment.menu
|
||||
menus_DATA += e-applications.menu
|
||||
endif
|
||||
|
||||
EXTRA_DIST = $(files_DATA) $(menus_DATA)
|
||||
|
|
|
@ -50,7 +50,6 @@ action: hibernate @HIBERNATE@
|
|||
action: /bin/mount /bin/mount
|
||||
action: /bin/umount /bin/umount
|
||||
action: /usr/bin/eject /usr/bin/eject
|
||||
action: gdb gdb
|
||||
|
||||
# on FreeBSD use this instead of the above.
|
||||
#action suspend /usr/sbin/zzz
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Type=Link
|
||||
Name=Desktop
|
||||
Name[eo]=Labortablo
|
||||
Name[es]=Escritorio
|
||||
|
@ -14,8 +16,7 @@ Comment[gl]=Os ficheiros no seu escritorio
|
|||
Comment[it]=I file sul vostro desktop
|
||||
Comment[pt]=Os ficheiros da área de trabalho
|
||||
Comment[ru]=Файлы на рабочем столе
|
||||
Type=Link
|
||||
X-Enlightenment-Type=Mount
|
||||
URL=file:$HOME/Desktop
|
||||
Icon=user-desktop
|
||||
NotShowIn=GNOME;KDE;LXDE;ROX;XFCE;
|
||||
URL=file:$HOME/Desktop
|
||||
X-Enlightenment-Type=Mount
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Type=Link
|
||||
Name=Home
|
||||
Name[eo]=Hejmo
|
||||
Name[es]=Carpeta personal
|
||||
Name[fr]=Accueil
|
||||
Name[gl]=Cartafol persoal
|
||||
Name[pt]=Pasta pessoal
|
||||
Name[ru]=Домашний каталог
|
||||
|
@ -13,8 +16,7 @@ Comment[gl]=O directorio que contén tódolos seus ficheiros persoais
|
|||
Comment[it]=La directory contenente i vostri file personali
|
||||
Comment[pt]=O diretório com os ficheiros do utilizador
|
||||
Comment[ru]=Каталог содержащий ваши личные файлы
|
||||
Type=Link
|
||||
X-Enlightenment-Type=Mount
|
||||
URL=file:$HOME
|
||||
Icon=user-home
|
||||
NotShowIn=GNOME;KDE;LXDE;ROX;XFCE;
|
||||
URL=file:$HOME
|
||||
X-Enlightenment-Type=Mount
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Type=Link
|
||||
Name=Root
|
||||
Name[eo]=Radiko
|
||||
Name[fr]=Dossier racine
|
||||
Name[ru]=Корневой каталог
|
||||
Comment=The Root Filesystem base
|
||||
Comment[eo]=La radika dosiersistemo
|
||||
|
@ -10,8 +13,7 @@ Comment[gl]=O sistema de ficheiros root
|
|||
Comment[it]=Il filesystem principale
|
||||
Comment[pt]=O sistema de ficheiros root
|
||||
Comment[ru]=Корень файловой системы
|
||||
Type=Link
|
||||
X-Enlightenment-Type=Mount
|
||||
URL=file:/
|
||||
Icon=computer
|
||||
NotShowIn=GNOME;KDE;LXDE;ROX;XFCE;
|
||||
URL=file:/
|
||||
X-Enlightenment-Type=Mount
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Type=Link
|
||||
Name=Temp
|
||||
Name[eo]=Dumtempaj
|
||||
Name[fr]=Temporaires
|
||||
Name[pt]=Temporários
|
||||
Name[ru]=Временный каталог
|
||||
Comment=Temporary files
|
||||
|
@ -11,8 +14,7 @@ Comment[gl]=Ficheiros temporais
|
|||
Comment[it]=File temporanei
|
||||
Comment[pt]=Ficheiros temporários
|
||||
Comment[ru]=Временные файлы
|
||||
Type=Link
|
||||
X-Enlightenment-Type=Mount
|
||||
URL=file:/tmp
|
||||
Icon=user-temp
|
||||
NotShowIn=GNOME;KDE;LXDE;ROX;XFCE;
|
||||
URL=file:/tmp
|
||||
X-Enlightenment-Type=Mount
|
||||
|
|
|
@ -98,6 +98,11 @@ unknown_flag.png \
|
|||
us_flag.png \
|
||||
uz_flag.png \
|
||||
vn_flag.png \
|
||||
za_flag.png
|
||||
za_flag.png \
|
||||
au_flag.png \
|
||||
eg_flag.png \
|
||||
id_flag.png \
|
||||
mg_flag.png \
|
||||
so_flag.png
|
||||
|
||||
EXTRA_DIST = $(files_DATA)
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 3.4 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
Binary file not shown.
After Width: | Height: | Size: 288 B |
Binary file not shown.
After Width: | Height: | Size: 307 B |
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
|
@ -4,6 +4,9 @@ files_DATA = \
|
|||
scim.imc \
|
||||
uim.imc \
|
||||
iiimf.imc \
|
||||
ibus.imc
|
||||
ibus.imc \
|
||||
gcin.imc \
|
||||
hime.imc \
|
||||
fcitx.imc
|
||||
|
||||
EXTRA_DIST = $(files_DATA)
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -167,6 +167,7 @@ group { name: "e/widgets/about/main";
|
|||
rel2.offset: 3 3;
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.0 0.0;
|
||||
text_class: "about_title";
|
||||
}
|
||||
|
@ -184,6 +185,7 @@ group { name: "e/widgets/about/main";
|
|||
rel2.offset: -4 3;
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 1.0 0.0;
|
||||
text_class: "about_version";
|
||||
}
|
||||
|
@ -221,6 +223,7 @@ group { name: "e/widgets/about/main";
|
|||
align: 0.5 1.0;
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.5 0.5;
|
||||
text_class: "button";
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ group { name: "e/theme/about";
|
|||
text { font: "Sans:style=Bold"; size: 64;
|
||||
text: "Dark";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.5 0.5;
|
||||
}
|
||||
}
|
||||
|
@ -55,6 +56,7 @@ group { name: "e/theme/about";
|
|||
text { font: "Sans"; size: 10;
|
||||
text: "The default theme for Enlightenment";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.5 1.0;
|
||||
}
|
||||
}
|
||||
|
@ -107,6 +109,7 @@ group { name: "e/theme/about";
|
|||
min: 85 0;
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.5 0.5;
|
||||
text_class: "button";
|
||||
}
|
||||
|
@ -145,6 +148,7 @@ group { name: "e/theme/about";
|
|||
min: 85 0;
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.5 0.5;
|
||||
text_class: "button";
|
||||
}
|
||||
|
|
|
@ -319,6 +319,7 @@ group { name: "e/modules/battery/popup";
|
|||
text { font: "Sans:style=Bold"; size: 10;
|
||||
text: "Your battery is low!";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
text_class: "module_large";
|
||||
}
|
||||
}
|
||||
|
@ -334,6 +335,7 @@ group { name: "e/modules/battery/popup";
|
|||
text { font: "Sans"; size: 10;
|
||||
text: "AC power is recommended.";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
text_class: "module_normal";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@ group { name: "e/widgets/border/default/border";
|
|||
color_class: "border_top";
|
||||
image.normal: "vgrad_med_lighter.png";
|
||||
rel2.to_y: "title2";
|
||||
rel2.offset: -1 -4;
|
||||
rel2.offset: -1 0;
|
||||
fill.smooth: 0;
|
||||
TILED_HORIZ(120)
|
||||
}
|
||||
|
@ -591,11 +591,12 @@ group { name: "e/widgets/border/default/border";
|
|||
}
|
||||
// program {
|
||||
// signal: "e,state,shading"; source: "e";
|
||||
// }
|
||||
// program {
|
||||
// signal: "e,state,unshaded"; source: "e";
|
||||
// }
|
||||
program {
|
||||
signal: "e,state,unshaded"; source: "e";
|
||||
after: "unshading";
|
||||
}
|
||||
program { name: "unshading";
|
||||
signal: "e,state,unshading"; source: "e";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "e.swallow.client";
|
||||
|
@ -677,6 +678,7 @@ group { name: "e/widgets/border/default/border";
|
|||
}
|
||||
|
||||
group { name: "e/widgets/border/dialog/border";
|
||||
alias: "e/widgets/border/modal/border";
|
||||
inherit: "e/widgets/border/default/border";
|
||||
parts {
|
||||
part { name: "max1";
|
||||
|
@ -1024,6 +1026,7 @@ group { name: "e/widgets/border/default/move";
|
|||
color_class: "move_text";
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
text_class: "move_text";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -71,6 +71,7 @@
|
|||
color_class: "button_text";
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.5 0.5;
|
||||
text_class: "button";
|
||||
}
|
||||
|
|
|
@ -78,6 +78,7 @@ group { name: "e/widgets/check";
|
|||
color_class: "check_text";
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.0 0.5;
|
||||
text_class: "check_button";
|
||||
}
|
||||
|
|
|
@ -435,6 +435,8 @@ group { name: "e/modules/clock/digital";
|
|||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
fixed: 1 1;
|
||||
text.min: 1 1;
|
||||
text.ellipsis: -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -818,6 +820,7 @@ group { name: "e/modules/clock/calendar/dayname";
|
|||
text { font: "Sans"; size: 8;
|
||||
text: "WWe";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.5 0.5;
|
||||
text_class: "module_small";
|
||||
}
|
||||
|
@ -880,6 +883,7 @@ group { name: "e/modules/clock/calendar/day";
|
|||
text { font: "Sans"; size: 10;
|
||||
text: "00";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.5 0.5;
|
||||
}
|
||||
}
|
||||
|
@ -911,6 +915,7 @@ group { name: "e/modules/clock/calendar/day";
|
|||
text { font: "Sans"; size: 10;
|
||||
text_source: "e.text.label";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.5 0.5;
|
||||
}
|
||||
visible: 0;
|
||||
|
|
|
@ -61,6 +61,7 @@ group { name: "e/modules/conf_colors/preview/text";
|
|||
text { font: "Sans"; size: 10;
|
||||
text: "Text";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -74,6 +75,7 @@ group { name: "e/modules/conf_colors/preview/text";
|
|||
text { font: "Sans:style=Bold"; size: 16;
|
||||
text: "Ab";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ group { name: "e/modules/comp/preview";
|
|||
text_class: "fileman_icon";
|
||||
align: 0.5 0.5;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
}
|
||||
fixed: 0 1;
|
||||
}
|
||||
|
|
|
@ -225,6 +225,7 @@ group { name: "e/modules/cpufreq/main";
|
|||
color_class: "module_label";
|
||||
text { font: "Sans"; size: 6;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
text_class: "module_small";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -121,6 +121,7 @@ group { name: "e/desklock/login_box";
|
|||
min: 1 1;
|
||||
align: 0.0 0.5;
|
||||
text_class: "desklock_passwd";
|
||||
ellipsis: -1;
|
||||
}
|
||||
fixed: 1 1;
|
||||
}
|
||||
|
|
|
@ -103,6 +103,7 @@ group { name: "e/widgets/dialog/text";
|
|||
text {
|
||||
style: "dialog_style";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -69,6 +69,7 @@ group { name: "e/modules/conf_edgebindings/selection";
|
|||
text { font: "Sans"; size: 10;
|
||||
text_class: "label";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -224,6 +225,7 @@ offset: -5 -45;
|
|||
text {
|
||||
style: "edge_binding_style";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -74,6 +74,7 @@ group { name: "e/widgets/entry/text";
|
|||
text: "";
|
||||
style: "entry_textblock_style";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.0 0.5;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -457,7 +457,9 @@ group { name: "e/modules/everything/list";
|
|||
text { font: "Sans"; size: 10;
|
||||
align: 0.0 0.5;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
text_class: "fileman_typebuf";
|
||||
ellipsis: -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -762,6 +764,7 @@ group { name: "e/modules/everything/tab_item";
|
|||
color_class: "menu_item";
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.5 0.5;
|
||||
text_class: "menu_item";
|
||||
}
|
||||
|
@ -1884,6 +1887,7 @@ group { name: "e/modules/everything/textblock";
|
|||
rel2.offset: -5 -5;
|
||||
text { style: "everything_textblock_style";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -87,6 +87,7 @@ group { name: "e/fileman/default/list/variable";
|
|||
min: 1 1;
|
||||
align: 0.0 0.5;
|
||||
text_class: "ilist_item";
|
||||
ellipsis: 0.0;
|
||||
}
|
||||
}
|
||||
description { state: "selected" 0.0;
|
||||
|
@ -111,6 +112,7 @@ group { name: "e/fileman/default/list/variable";
|
|||
text_source: "e.text.label";
|
||||
align: 0.0 0.5;
|
||||
text_class: "ilist_item";
|
||||
ellipsis: 0.0;
|
||||
}
|
||||
visible: 0;
|
||||
}
|
||||
|
@ -139,6 +141,7 @@ group { name: "e/fileman/default/list/variable";
|
|||
text_source: "e.text.label";
|
||||
align: 0.0 0.5;
|
||||
text_class: "ilist_item";
|
||||
ellipsis: 0.0;
|
||||
}
|
||||
visible: 0;
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@ group { name: "e/widgets/fontpreview";
|
|||
color3: 0 0 0 128;
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.5 0.5;
|
||||
text_class: "_e_font_preview";
|
||||
}
|
||||
|
|
|
@ -192,6 +192,7 @@ group { name: "e/modules/ibox/icon_overlay";
|
|||
color_class: "module_label";
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.5 0.5;
|
||||
text_class: "module_normal";
|
||||
}
|
||||
|
|
|
@ -37,6 +37,7 @@ group { name: "e/ilist";
|
|||
color_class: "ilist_typebuf";
|
||||
text { font: "Sans:style=Bold"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.5 0.5;
|
||||
text_class: "ilist_typebuf";
|
||||
}
|
||||
|
@ -146,6 +147,7 @@ group { name: "e/widgets/ilist";
|
|||
color_class: "ilist_item";
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.0 0.5;
|
||||
text_class: "ilist_item";
|
||||
}
|
||||
|
|
|
@ -107,6 +107,7 @@ group { name: "e/init/splash";
|
|||
text { font: "Sans"; size: 8;
|
||||
text: "0.17.0";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 1.0 1.0;
|
||||
text_class: "init_version";
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@ group { name: "e/widgets/label";
|
|||
color_class: "label_text";
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.0 0.5;
|
||||
text_class: "label";
|
||||
}
|
||||
|
|
|
@ -260,6 +260,7 @@ group { name: "e/widgets/menu/default/label";
|
|||
color_class: "menu_item";
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.0 0.5;
|
||||
text_class: "menu_item";
|
||||
}
|
||||
|
|
|
@ -55,6 +55,7 @@ group { name: "e/widgets/radio";
|
|||
color_class: "radio_text";
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.0 0.5;
|
||||
text_class: "radio_button";
|
||||
}
|
||||
|
|
|
@ -1,3 +1,53 @@
|
|||
group { name: "e/conf/randr/main";
|
||||
images.image: "inset_shadow.png" COMP;
|
||||
images.image: "bevel_in.png" COMP;
|
||||
parts {
|
||||
part { name: "bg"; type: RECT;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "e.swallow.content";
|
||||
rel2.to: "e.swallow.content";
|
||||
color: 64 64 64 255;
|
||||
}
|
||||
}
|
||||
part { name: "clipper"; type: RECT;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "e.swallow.content";
|
||||
rel2.to: "e.swallow.content";
|
||||
}
|
||||
}
|
||||
part { name: "e.swallow.content"; type: SWALLOW;
|
||||
clip_to: "clipper";
|
||||
description { state: "default" 0.0;
|
||||
rel1.offset: 0 0;
|
||||
rel2.offset: -1 -1;
|
||||
}
|
||||
}
|
||||
part { name: "shadow"; type: IMAGE; mouse_events: 0;
|
||||
description { state: "default" 0.0;
|
||||
image.normal: "inset_shadow.png";
|
||||
image.border: 5 5 7 3;
|
||||
image.middle: 0;
|
||||
rel1.to: "bg";
|
||||
rel2.to: "bg";
|
||||
fill.smooth: 0;
|
||||
color: 255 255 255 128;
|
||||
}
|
||||
}
|
||||
part { name: "inset"; type: IMAGE; mouse_events: 0;
|
||||
description { state: "default" 0.0;
|
||||
image.normal: "bevel_in.png";
|
||||
image.border: 1 1 1 1;
|
||||
image.middle: 0;
|
||||
rel1.offset: -1 -1;
|
||||
rel1.to: "bg";
|
||||
rel2.offset: 0 0;
|
||||
rel2.to: "bg";
|
||||
fill.smooth: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { name: "e/conf/randr/main/monitor";
|
||||
parts {
|
||||
part { name: "e.swallow.stand"; type: SWALLOW;
|
||||
|
@ -28,7 +78,7 @@ group { name: "e/conf/randr/main/frame";
|
|||
images.image: "sym_up_light_normal.png" COMP;
|
||||
images.image: "sym_up_light_selected.png" COMP;
|
||||
styles {
|
||||
style { name: "randr_monitor_style";
|
||||
style { name: "randr_name_style";
|
||||
base: "font=Sans font_size=10 text_class=randr_monitor align=center color=#ffff style=shadow,bottom shadow_color=#00000080 wrap=word";
|
||||
tag: "br" "\n";
|
||||
tag: "hilight" "+ font=Sans:style=Bold";
|
||||
|
@ -38,11 +88,29 @@ group { name: "e/conf/randr/main/frame";
|
|||
tag: "br" "\n";
|
||||
tag: "hilight" "+ font=Sans:style=Bold";
|
||||
}
|
||||
style { name: "randr_position_style";
|
||||
base: "font=Sans font_size=10 text_class=randr_position align=center color=#3399ffff wrap=mixed style=glow glow_color=#3399ff18 align=center glow2_color=#3399ff12";
|
||||
tag: "br" "\n";
|
||||
tag: "hilight" "+ font=Sans:style=Bold";
|
||||
}
|
||||
}
|
||||
script {
|
||||
public refresh_open;
|
||||
}
|
||||
parts {
|
||||
part { name: "primary"; type: IMAGE;
|
||||
description { state: "default" 0.0;
|
||||
image.normal: "glow_small.png";
|
||||
image.border: 7 7 7 7;
|
||||
rel1.offset: -4 -4;
|
||||
rel2.offset: 3 3;
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "on" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
part { name: "base";
|
||||
description { state: "default" 0.0;
|
||||
image.normal: "screen_bg.png";
|
||||
|
@ -61,6 +129,11 @@ group { name: "e/conf/randr/main/frame";
|
|||
rel1.to: "e.swallow.preview";
|
||||
rel2.to: "e.swallow.preview";
|
||||
}
|
||||
description { state: "off" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
color: 255 255 255 64;
|
||||
// color: 64 64 64 255;
|
||||
}
|
||||
}
|
||||
part { name: "e.box.clone"; type: BOX;
|
||||
clip_to: "clone_clip";
|
||||
|
@ -68,7 +141,9 @@ group { name: "e/conf/randr/main/frame";
|
|||
rel1.to: "e.swallow.preview";
|
||||
rel1.relative: 0.0 1.0;
|
||||
rel1.offset: 0 -27;
|
||||
rel2.to: "e.swallow.preview";
|
||||
rel2.relative: 1.0 0.0;
|
||||
rel2.to_x: "e.swallow.preview";
|
||||
rel2.to_y: "e.event.indicator";
|
||||
box {
|
||||
layout: "horizontal";
|
||||
padding: 2 0;
|
||||
|
@ -141,8 +216,9 @@ group { name: "e/conf/randr/main/frame";
|
|||
rel2.relative: 0.5 0.5;
|
||||
rel2.to: "e.swallow.preview";
|
||||
align: 0.5 1.0;
|
||||
text { style: "randr_monitor_style";
|
||||
min: 1.0 1.0;
|
||||
text { style: "randr_name_style";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -156,7 +232,24 @@ group { name: "e/conf/randr/main/frame";
|
|||
rel2.to: "e.swallow.preview";
|
||||
align: 0.5 0.0;
|
||||
text { style: "randr_resolution_style";
|
||||
min: 1.0 1.0;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
part { name: "e.text.position"; type: TEXTBLOCK; mouse_events: 0;
|
||||
clip_to: "clip";
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
rel1.relative: 0.5 1.0;
|
||||
rel1.to_x: "e.swallow.preview";
|
||||
rel1.to_y: "e.text.resolution";
|
||||
rel2.relative: 0.5 0.5;
|
||||
rel2.to: "e.swallow.preview";
|
||||
align: 0.5 0.0;
|
||||
text { style: "randr_position_style";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -335,9 +428,13 @@ group { name: "e/conf/randr/main/frame";
|
|||
part { name: "e.event.indicator"; type: RECT;
|
||||
description { state: "default" 0.0;
|
||||
color: 0 0 0 0;
|
||||
max: 21 21;
|
||||
max: 15 15;
|
||||
align: 0.0 1.0;
|
||||
}
|
||||
description { state: "disabled" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 0;
|
||||
}
|
||||
}
|
||||
part { name: "e.event.resize"; type: RECT;
|
||||
description { state: "default" 0.0;
|
||||
|
@ -422,6 +519,7 @@ group { name: "e/conf/randr/main/frame";
|
|||
program {
|
||||
signal: "e,state,enabled"; source: "e";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "clip";
|
||||
target: "led";
|
||||
after: "pulse1";
|
||||
}
|
||||
|
@ -436,6 +534,7 @@ group { name: "e/conf/randr/main/frame";
|
|||
signal: "e,state,disabled"; source: "e";
|
||||
action: STATE_SET "off" 0.0;
|
||||
target: "led";
|
||||
target: "clip";
|
||||
}
|
||||
program {
|
||||
signal: "e,state,drop,on"; source: "e";
|
||||
|
@ -452,6 +551,26 @@ group { name: "e/conf/randr/main/frame";
|
|||
action: STATE_SET "disabled" 0.0;
|
||||
target: "e.event.rotate";
|
||||
}
|
||||
program {
|
||||
signal: "e,state,primary,off"; source: "e";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "primary";
|
||||
}
|
||||
program {
|
||||
signal: "e,state,primary,on"; source: "e";
|
||||
action: STATE_SET "on" 0.0;
|
||||
target: "primary";
|
||||
}
|
||||
program {
|
||||
signal: "e,state,indicator,enabled"; source: "e";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "e.event.indicator";
|
||||
}
|
||||
program {
|
||||
signal: "e,state,indicator,disabled"; source: "e";
|
||||
action: STATE_SET "disabled" 0.0;
|
||||
target: "e.event.indicator";
|
||||
}
|
||||
program {
|
||||
signal: "mouse,in"; source: "e.event.resize";
|
||||
action: SIGNAL_EMIT "e,action,resize,in" "e";
|
||||
|
|
|
@ -92,6 +92,7 @@ group { name: "e/widgets/slider_horizontal";
|
|||
description { state: "active" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
text.min: 1 1;
|
||||
text.ellipsis: -1;
|
||||
visible: 1;
|
||||
max: 99999 99999;
|
||||
}
|
||||
|
@ -318,6 +319,7 @@ group { name: "e/widgets/slider_vertical";
|
|||
description { state: "active" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
text.min: 1 1;
|
||||
text.ellipsis: -1;
|
||||
visible: 1;
|
||||
max: 99999 99999;
|
||||
}
|
||||
|
|
|
@ -47,6 +47,7 @@ group { name: "e/sys/logout";
|
|||
min: 20 80;
|
||||
text { style: "sys_style";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -79,6 +79,7 @@ group { name: "e/widgets/syscon/main";
|
|||
align: 0.5 1.0;
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.5 0.5;
|
||||
text_class: "button";
|
||||
}
|
||||
|
@ -178,6 +179,7 @@ group { name: "e/widgets/syscon/item/button";
|
|||
color_class: "button_text";
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.5 0.5;
|
||||
text_class: "button";
|
||||
}
|
||||
|
|
|
@ -46,8 +46,8 @@ group { name:"e/modules/tasks/item";
|
|||
part { name: "sel_base"; mouse_events: 0;
|
||||
clip_to: "sel_clip";
|
||||
description { state: "default" 0.0;
|
||||
rel1.offset: 4 4;
|
||||
rel2.offset: -5 -5;
|
||||
rel1.offset: 3 3;
|
||||
rel2.offset: -4 -4;
|
||||
image.normal: "vgrad_med_dark.png";
|
||||
fill.smooth: 0;
|
||||
TILED_HORIZ(120)
|
||||
|
@ -178,14 +178,26 @@ group { name:"e/modules/tasks/item";
|
|||
color: 255 255 255 64;
|
||||
}
|
||||
}
|
||||
part { name: "bar"; mouse_events: 0;
|
||||
clip_to: "sel_clip";
|
||||
description { state: "default" 0.0;
|
||||
rel1.offset: -5 -10;
|
||||
rel1.relative: 0.0 1.0;
|
||||
rel1.to: "sel_base";
|
||||
rel2.offset: 4 4;
|
||||
rel2.to: "sel_base";
|
||||
image.normal: "horizontal_separated_bar_glow.png";
|
||||
image.border: 7 7 7 7;
|
||||
fill.smooth: 0;
|
||||
fixed: 0 1;
|
||||
}
|
||||
}
|
||||
part { name: "e.swallow.icon"; type: SWALLOW; mouse_events: 0;
|
||||
clip_to: "icon_clip";
|
||||
description { state: "default" 0.0;
|
||||
aspect: 1.0 1.0; aspect_preference: VERTICAL;
|
||||
align: 0.0 0.5;
|
||||
rel1.offset: 4 4;
|
||||
rel1.to: "icon";
|
||||
rel2.offset: -5 -5;
|
||||
rel2.to: "icon";
|
||||
color: 255 0 0 128;
|
||||
}
|
||||
|
@ -206,20 +218,6 @@ group { name:"e/modules/tasks/item";
|
|||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
part { name: "bar"; mouse_events: 0;
|
||||
clip_to: "sel_clip";
|
||||
description { state: "default" 0.0;
|
||||
rel1.offset: -5 -10;
|
||||
rel1.relative: 0.0 1.0;
|
||||
rel1.to: "sel_base";
|
||||
rel2.offset: 4 4;
|
||||
rel2.to: "sel_base";
|
||||
image.normal: "horizontal_separated_bar_glow.png";
|
||||
image.border: 7 7 7 7;
|
||||
fill.smooth: 0;
|
||||
fixed: 0 1;
|
||||
}
|
||||
}
|
||||
part { name: "sel_shine"; mouse_events: 0;
|
||||
clip_to: "sel_clip";
|
||||
description { state: "default" 0.0;
|
||||
|
|
|
@ -48,6 +48,7 @@ group { name: "e/modules/temperature/main";
|
|||
color_class: "module_label";
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
text_class: "module_small";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ group { name: "e/widgets/textblock";
|
|||
text {
|
||||
style: "textblock_style";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -261,6 +261,7 @@ group { name: "e/widgets/toolbar/item";
|
|||
color_class: "menu_item";
|
||||
text { font: "Sans"; size: 10;
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
align: 0.5 0.5;
|
||||
text_class: "menu_item";
|
||||
}
|
||||
|
|
|
@ -104,6 +104,7 @@ group { name: "e/wizard/main";
|
|||
text { font: "Sans"; size: 10;
|
||||
text: "Next";
|
||||
min: 1 1;
|
||||
ellipsis: -1;
|
||||
}
|
||||
}
|
||||
description { state: "disabled" 0.0;
|
||||
|
|
|
@ -1,21 +1,25 @@
|
|||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Name=Enlightenment
|
||||
Name[ru]=Enlightenment
|
||||
Name[ca]=Enlightenment
|
||||
Name[el]=Enlightenment
|
||||
Name[eo]=Enlightenment
|
||||
Name[fr]=Enlightenment
|
||||
Name[ru]=Enlightenment
|
||||
Name[tr]=Enlightenment
|
||||
Comment=Log in using Enlightenment (Version @VERSION@)
|
||||
Comment[ru]=Войти используя Enlightenment (Версия @VERSION@)
|
||||
Comment[ca]=Iniciar sessió amb Enlightenment (Versió @VERSION@)
|
||||
Comment[el]=Είσοδος με το Enlightenment (Έκδοση @VERSION@)
|
||||
Comment[eo]=Ensaluti pere de Enlightenment (Versio @VERSION@)
|
||||
Comment[es]=Iniciar sesión usando Enlightenment (Versión @VERSION@)
|
||||
Comment[fr]=Ouvrir une session Enlightenment (Version @VERSION@)
|
||||
Comment[gl]=Iniciar sesión usando Enlightenment (Versión @VERSION@)
|
||||
Comment[it]=Accedi con Enlightenment (Versione @VERSION@)
|
||||
Comment[pt]=Iniciar sessão no Enlightenment (Versão @VERSION@)
|
||||
Comment[tr]=Enlightenment kullanarak giriş yaın (Version @VERSION@)
|
||||
Comment[ko]=Enlightenment 로그인(버전 @VERSION@)
|
||||
Type=Application
|
||||
Comment[pt]=Iniciar sessão no Enlightenment (Versão @VERSION@)
|
||||
Comment[ru]=Войти используя Enlightenment (Версия @VERSION@)
|
||||
Comment[tr]=Enlightenment kullanarak giriş yaın (Version @VERSION@)
|
||||
Icon=@prefix@/share/enlightenment/data/images/enlightenment.png
|
||||
Exec=@prefix@/bin/enlightenment_start
|
||||
TryExec=@prefix@/bin/enlightenment_start
|
||||
Exec=@prefix@/bin/enlightenment_start
|
||||
|
|
|
@ -32,6 +32,7 @@ ro
|
|||
ru
|
||||
sk
|
||||
sl
|
||||
sr
|
||||
sv
|
||||
tr
|
||||
uk
|
||||
|
|
|
@ -98,6 +98,7 @@ src/bin/e_theme.c
|
|||
src/bin/e_thumb.c
|
||||
src/bin/e_thumb_main.c
|
||||
src/bin/e_toolbar.c
|
||||
src/bin/e_update.c
|
||||
src/bin/e_user.c
|
||||
src/bin/e_utils.c
|
||||
src/bin/e_widget_aspect.c
|
||||
|
@ -255,6 +256,7 @@ src/modules/start/e_mod_main.c
|
|||
src/modules/syscon/e_int_config_syscon.c
|
||||
src/modules/syscon/e_mod_main.c
|
||||
src/modules/syscon/e_syscon.c
|
||||
src/modules/syscon/e_syscon_gadget.c
|
||||
src/modules/temperature/e_mod_config.c
|
||||
src/modules/temperature/e_mod_main.c
|
||||
src/modules/wizard/e_mod_main.c
|
||||
|
|
|
@ -289,14 +289,6 @@ e_popup.c \
|
|||
e_powersave.c \
|
||||
e_prefix.c \
|
||||
e_randr.c \
|
||||
e_randr_serialization.c \
|
||||
e_randr_11.c \
|
||||
e_randr_11_serialization.c \
|
||||
e_randr_12.c \
|
||||
e_randr_12_output.c \
|
||||
e_randr_12_crtc.c \
|
||||
e_randr_12_ask_dialog.c \
|
||||
e_randr_12_serialization.c \
|
||||
e_remember.c \
|
||||
e_resist.c \
|
||||
e_scale.c \
|
||||
|
@ -442,6 +434,3 @@ install-data-hook:
|
|||
endif
|
||||
installed_headersdir = $(prefix)/include/enlightenment
|
||||
installed_headers_DATA = $(ENLIGHTENMENTHEADERS)
|
||||
|
||||
EXTRA_DIST = \
|
||||
e_randr_private.h
|
||||
|
|
|
@ -92,7 +92,7 @@ void *alloca (size_t);
|
|||
# include <memcheck.h>
|
||||
# endif
|
||||
|
||||
# ifdef __GLIBC__
|
||||
# ifdef HAVE_EXECINFO_H
|
||||
# include <execinfo.h>
|
||||
# endif
|
||||
|
||||
|
@ -248,7 +248,7 @@ typedef struct _E_Rect E_Rect;
|
|||
} \
|
||||
}
|
||||
|
||||
#ifndef eina_list_last_data_get
|
||||
#if (EINA_VERSION_MAJOR == 1) && (EINA_VERSION_MINOR < 8)
|
||||
# define eina_list_last_data_get(X) eina_list_data_get(eina_list_last(X))
|
||||
#endif
|
||||
|
||||
|
|
|
@ -2872,8 +2872,13 @@ ACT_FN_GO(backlight_adjust, )
|
|||
|
||||
ACT_FN_GO(kbd_layout, )
|
||||
{
|
||||
unsigned int x;
|
||||
|
||||
if (!params) return;
|
||||
e_xkb_layout_set(params);
|
||||
errno = 0;
|
||||
x = strtoul(params, NULL, 10);
|
||||
if (errno || (x > eina_list_count(e_config->xkb.used_layouts) - 1)) return;
|
||||
e_xkb_layout_set(eina_list_nth(e_config->xkb.used_layouts, x));
|
||||
}
|
||||
|
||||
ACT_FN_GO(kbd_layout_next, __UNUSED__)
|
||||
|
|
|
@ -507,12 +507,19 @@ _bl_sys_level_get(void)
|
|||
|
||||
maxval = atoi(str);
|
||||
eina_stringshare_del(str);
|
||||
if (maxval <= 0) maxval = 255;
|
||||
if (maxval < 0) maxval = 255;
|
||||
str = eeze_udev_syspath_get_sysattr(bl_sysval, "brightness");
|
||||
if (!str) return;
|
||||
|
||||
val = atoi(str);
|
||||
eina_stringshare_del(str);
|
||||
if ((!maxval) && (!val))
|
||||
{
|
||||
bl_val = 0;
|
||||
sysmode = MODE_NONE;
|
||||
return;
|
||||
}
|
||||
if (!maxval) maxval = 255;
|
||||
if ((val >= 0) && (val <= maxval))
|
||||
bl_val = (double)val / (double)maxval;
|
||||
// fprintf(stderr, "GET: %i/%i (%1.3f)\n", val, maxval, bl_val);
|
||||
|
|
|
@ -1091,17 +1091,16 @@ e_border_hide(E_Border *bd,
|
|||
switch (manage)
|
||||
{
|
||||
case 2: break;
|
||||
|
||||
case 3:
|
||||
bd->hidden = 1;
|
||||
|
||||
case 1:
|
||||
/* Make sure that this border isn't deleted */
|
||||
bd->await_hide_event++;
|
||||
|
||||
default:
|
||||
if (!e_manager_comp_evas_get(bd->zone->container->manager))
|
||||
ecore_x_window_hide(bd->client.win);
|
||||
if (!e_manager_comp_evas_get(bd->zone->container->manager))
|
||||
{
|
||||
/* Make sure that this border isn't deleted */
|
||||
bd->await_hide_event++;
|
||||
ecore_x_window_hide(bd->client.win);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3159,10 +3158,10 @@ e_border_unfullscreen(E_Border *bd)
|
|||
screen_size.width = -1;
|
||||
screen_size.height = -1;
|
||||
}
|
||||
e_border_move_resize(bd,
|
||||
bd->saved.x + bd->zone->x,
|
||||
bd->saved.y + bd->zone->y,
|
||||
bd->saved.w, bd->saved.h);
|
||||
_e_border_move_resize_internal(bd,
|
||||
bd->zone->x + bd->saved.x,
|
||||
bd->zone->y + bd->saved.y,
|
||||
bd->saved.w, bd->saved.h, 0, 1);
|
||||
|
||||
if (bd->saved.maximized)
|
||||
e_border_maximize(bd, (e_config->maximize_policy & E_MAXIMIZE_TYPE) |
|
||||
|
@ -3789,10 +3788,8 @@ _e_border_action_move_timeout(void *data __UNUSED__)
|
|||
static void
|
||||
_e_border_action_move_timeout_add(void)
|
||||
{
|
||||
if (!e_config->border_keyboard.timeout) return;
|
||||
if (action_timer)
|
||||
ecore_timer_reset(action_timer);
|
||||
else
|
||||
E_FN_DEL(ecore_timer_del, action_timer);
|
||||
if (e_config->border_keyboard.timeout)
|
||||
action_timer = ecore_timer_add(e_config->border_keyboard.timeout, _e_border_action_move_timeout, NULL);
|
||||
}
|
||||
|
||||
|
@ -3902,9 +3899,9 @@ _e_border_action_resize_timeout(void *data __UNUSED__)
|
|||
static void
|
||||
_e_border_action_resize_timeout_add(void)
|
||||
{
|
||||
if (action_timer)
|
||||
ecore_timer_del(action_timer);
|
||||
action_timer = ecore_timer_add(e_config->border_keyboard.timeout, _e_border_action_resize_timeout, NULL);
|
||||
E_FN_DEL(ecore_timer_del, action_timer);
|
||||
if (e_config->border_keyboard.timeout)
|
||||
action_timer = ecore_timer_add(e_config->border_keyboard.timeout, _e_border_action_resize_timeout, NULL);
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
|
@ -5009,6 +5006,19 @@ _e_border_free(E_Border *bd)
|
|||
|
||||
focused = NULL;
|
||||
}
|
||||
|
||||
if (warp_timer_border == bd)
|
||||
{
|
||||
warp_to = 0;
|
||||
warp_timer_border = NULL;
|
||||
if (warp_timer)
|
||||
{
|
||||
ecore_timer_del(warp_timer);
|
||||
warp_timer = NULL;
|
||||
e_border_focus_lock_set(EINA_FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
E_FREE_LIST(bd->handlers, ecore_event_handler_del);
|
||||
if (bd->remember)
|
||||
{
|
||||
|
@ -5044,7 +5054,7 @@ _e_border_free(E_Border *bd)
|
|||
eina_stringshare_del(bd->client.icccm.name);
|
||||
if (bd->client.icccm.class)
|
||||
{
|
||||
if (!strcmp(bd->client.icccm.class, "Vmplayer"))
|
||||
if ((!strcasecmp(bd->client.icccm.class, "vmplayer")) || (!strcasecmp(bd->client.icccm.class, "vmware")))
|
||||
e_bindings_mapping_change_enable(EINA_TRUE);
|
||||
eina_stringshare_del(bd->client.icccm.class);
|
||||
}
|
||||
|
@ -5117,6 +5127,7 @@ _e_border_del(E_Border *bd)
|
|||
E_Event_Border_Remove *ev;
|
||||
E_Border *child;
|
||||
|
||||
bd->take_focus = bd->want_focus = 0;
|
||||
if (bd == focused)
|
||||
{
|
||||
focused = NULL;
|
||||
|
@ -5127,6 +5138,18 @@ _e_border_del(E_Border *bd)
|
|||
|
||||
focus_next = eina_list_remove(focus_next, bd);
|
||||
|
||||
if (warp_timer_border == bd)
|
||||
{
|
||||
warp_to = 0;
|
||||
warp_timer_border = NULL;
|
||||
if (warp_timer)
|
||||
{
|
||||
ecore_timer_del(warp_timer);
|
||||
warp_timer = NULL;
|
||||
e_border_focus_lock_set(EINA_FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
if (bd->fullscreen) bd->desk->fullscreen_borders--;
|
||||
|
||||
if ((drag_border) && (drag_border->data == bd))
|
||||
|
@ -7236,7 +7259,7 @@ _e_border_eval0(E_Border *bd)
|
|||
bd->changes.border = 0;
|
||||
|
||||
/* fetch any info queued to be fetched */
|
||||
if (bd->client.netwm.fetch.state)
|
||||
if (bd->changes.prop || bd->client.netwm.fetch.state)
|
||||
{
|
||||
e_hints_window_state_get(bd);
|
||||
bd->client.netwm.fetch.state = 0;
|
||||
|
@ -7324,7 +7347,8 @@ _e_border_eval0(E_Border *bd)
|
|||
pclass = bd->client.icccm.class;
|
||||
bd->client.icccm.name = eina_stringshare_add(nname);
|
||||
bd->client.icccm.class = eina_stringshare_add(nclass);
|
||||
if (bd->client.icccm.class && (!strcmp(bd->client.icccm.class, "Vmplayer")))
|
||||
if ((!e_util_strcasecmp(bd->client.icccm.class, "vmplayer")) ||
|
||||
(!e_util_strcasecmp(bd->client.icccm.class, "vmware")))
|
||||
e_bindings_mapping_change_enable(EINA_FALSE);
|
||||
free(nname);
|
||||
free(nclass);
|
||||
|
@ -7339,13 +7363,13 @@ _e_border_eval0(E_Border *bd)
|
|||
bd->changes.icon = 1;
|
||||
rem_change = 1;
|
||||
}
|
||||
if (bd->client.icccm.fetch.state)
|
||||
if (bd->changes.prop || bd->client.icccm.fetch.state)
|
||||
{
|
||||
bd->client.icccm.state = ecore_x_icccm_state_get(bd->client.win);
|
||||
bd->client.icccm.fetch.state = 0;
|
||||
rem_change = 1;
|
||||
}
|
||||
if (bd->client.e.fetch.state)
|
||||
if (bd->changes.prop || bd->client.e.fetch.state)
|
||||
{
|
||||
e_hints_window_e_state_get(bd);
|
||||
bd->client.e.fetch.state = 0;
|
||||
|
@ -7414,7 +7438,7 @@ _e_border_eval0(E_Border *bd)
|
|||
bd->client.e.fetch.profile = 0;
|
||||
}
|
||||
#endif
|
||||
if (bd->client.netwm.fetch.type)
|
||||
if (bd->changes.prop || bd->client.netwm.fetch.type)
|
||||
{
|
||||
e_hints_window_type_get(bd);
|
||||
if ((!bd->lock_border) || (!bd->client.border.name))
|
||||
|
@ -7471,7 +7495,7 @@ _e_border_eval0(E_Border *bd)
|
|||
bd->client.icccm.fetch.command = 0;
|
||||
rem_change = 1;
|
||||
}
|
||||
if (bd->client.icccm.fetch.hints)
|
||||
if (bd->changes.prop || bd->client.icccm.fetch.hints)
|
||||
{
|
||||
Eina_Bool accepts_focus, is_urgent;
|
||||
|
||||
|
@ -7503,7 +7527,7 @@ _e_border_eval0(E_Border *bd)
|
|||
bd->client.icccm.fetch.hints = 0;
|
||||
rem_change = 1;
|
||||
}
|
||||
if (bd->client.icccm.fetch.size_pos_hints)
|
||||
if (bd->changes.prop || bd->client.icccm.fetch.size_pos_hints)
|
||||
{
|
||||
Eina_Bool request_pos;
|
||||
|
||||
|
@ -7915,7 +7939,7 @@ _e_border_eval0(E_Border *bd)
|
|||
}
|
||||
bd->need_shape_merge = 1;
|
||||
}
|
||||
if (bd->client.mwm.fetch.hints)
|
||||
if (bd->changes.prop || bd->client.mwm.fetch.hints)
|
||||
{
|
||||
int pb;
|
||||
|
||||
|
@ -7998,7 +8022,7 @@ _e_border_eval0(E_Border *bd)
|
|||
|
||||
fprintf(stderr, "internal position has been updated [%i, %i]\n", bd->client.e.state.video_position.x, bd->client.e.state.video_position.y);
|
||||
}
|
||||
if (bd->client.netwm.update.state)
|
||||
if (bd->changes.prop || bd->client.netwm.update.state)
|
||||
{
|
||||
e_hints_window_state_set(bd);
|
||||
/* Some stats might change the border, like modal */
|
||||
|
@ -8403,6 +8427,7 @@ _e_border_eval0(E_Border *bd)
|
|||
bd->client.border.changed = 0;
|
||||
}
|
||||
|
||||
bd->changes.prop = 0;
|
||||
if (rem_change) e_remember_update(bd);
|
||||
|
||||
if (change_urgent)
|
||||
|
@ -8547,6 +8572,14 @@ _e_border_eval(E_Border *bd)
|
|||
if (bd->y < zy)
|
||||
bd->y = zy;
|
||||
|
||||
/* ensure we account for windows which already have client_inset;
|
||||
* fixes lots of wine placement issues
|
||||
*/
|
||||
if (bd->x - bd->client_inset.l >= zx)
|
||||
bd->x -= bd->client_inset.l;
|
||||
if (bd->y - bd->client_inset.t >= zy)
|
||||
bd->y -= bd->client_inset.t;
|
||||
|
||||
if (bd->x + bd->w > zx + zw)
|
||||
bd->x = zx + zw - bd->w;
|
||||
|
||||
|
@ -9148,7 +9181,6 @@ _e_border_eval(E_Border *bd)
|
|||
bd->new_client = 0;
|
||||
bd->changed = 0;
|
||||
bd->changes.stack = 0;
|
||||
bd->changes.prop = 0;
|
||||
|
||||
if ((bd->take_focus) || (bd->want_focus))
|
||||
{
|
||||
|
@ -10105,23 +10137,11 @@ e_border_focus_track_thaw(void)
|
|||
focus_track_frozen--;
|
||||
}
|
||||
|
||||
EAPI E_Border *
|
||||
e_border_under_pointer_get(E_Desk *desk,
|
||||
E_Border *exclude)
|
||||
static E_Border *
|
||||
_e_border_under_pointer_helper(E_Desk *desk, E_Border *exclude, int x, int y)
|
||||
{
|
||||
E_Border *bd = NULL, *cbd;
|
||||
Eina_List *l;
|
||||
int x, y;
|
||||
|
||||
/* We need to ensure that we can get the container window for the
|
||||
* zone of either the given desk or the desk of the excluded
|
||||
* window, so return if neither is given */
|
||||
if (desk)
|
||||
ecore_x_pointer_xy_get(desk->zone->container->win, &x, &y);
|
||||
else if (exclude)
|
||||
ecore_x_pointer_xy_get(exclude->desk->zone->container->win, &x, &y);
|
||||
else
|
||||
return NULL;
|
||||
|
||||
EINA_LIST_FOREACH(e_border_raise_stack_get(), l, cbd)
|
||||
{
|
||||
|
@ -10143,6 +10163,25 @@ e_border_under_pointer_get(E_Desk *desk,
|
|||
return bd;
|
||||
}
|
||||
|
||||
EAPI E_Border *
|
||||
e_border_under_pointer_get(E_Desk *desk,
|
||||
E_Border *exclude)
|
||||
{
|
||||
int x, y;
|
||||
|
||||
/* We need to ensure that we can get the container window for the
|
||||
* zone of either the given desk or the desk of the excluded
|
||||
* window, so return if neither is given */
|
||||
if (desk)
|
||||
ecore_x_pointer_xy_get(desk->zone->container->win, &x, &y);
|
||||
else if (exclude)
|
||||
ecore_x_pointer_xy_get(exclude->desk->zone->container->win, &x, &y);
|
||||
else
|
||||
return NULL;
|
||||
|
||||
return _e_border_under_pointer_helper(desk, exclude, x, y);
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_e_border_pointer_warp_to_center_timer(void *data __UNUSED__)
|
||||
{
|
||||
|
@ -10182,6 +10221,7 @@ cleanup:
|
|||
ecore_timer_del(warp_timer);
|
||||
warp_timer = NULL;
|
||||
e_border_focus_lock_set(EINA_FALSE);
|
||||
e_focus_event_mouse_in(warp_timer_border);
|
||||
warp_timer_border = NULL;
|
||||
return ECORE_CALLBACK_CANCEL;
|
||||
}
|
||||
|
@ -10190,6 +10230,7 @@ EAPI int
|
|||
e_border_pointer_warp_to_center(E_Border *bd)
|
||||
{
|
||||
int x, y;
|
||||
E_Border *cbd = NULL;
|
||||
|
||||
/* Do not slide pointer when disabled (probably breaks focus
|
||||
* on sloppy/mouse focus but requested by users). */
|
||||
|
@ -10199,7 +10240,10 @@ e_border_pointer_warp_to_center(E_Border *bd)
|
|||
ecore_x_pointer_xy_get(bd->zone->container->win, &x, &y);
|
||||
if ((x >= bd->x) && (x <= (bd->x + bd->w)) &&
|
||||
(y >= bd->y) && (y <= (bd->y + bd->h)))
|
||||
return 0;
|
||||
{
|
||||
cbd = _e_border_under_pointer_helper(bd->desk, bd, x, y);
|
||||
if (cbd == bd) return 0;
|
||||
}
|
||||
|
||||
warp_to_x = bd->x + (bd->w / 2);
|
||||
if (warp_to_x < (bd->zone->x + 1))
|
||||
|
@ -10213,6 +10257,15 @@ e_border_pointer_warp_to_center(E_Border *bd)
|
|||
else if (warp_to_y > (bd->zone->y + bd->zone->h))
|
||||
warp_to_y = (bd->zone->y + bd->zone->h + bd->y) / 2;
|
||||
|
||||
/* TODO: handle case where another border is over the exact center,
|
||||
* find a place where the requested border is not overlapped?
|
||||
*
|
||||
if (!cbd) cbd = _e_border_under_pointer_helper(bd->desk, bd, x, y);
|
||||
if (cbd != bd)
|
||||
{
|
||||
}
|
||||
*/
|
||||
|
||||
warp_to = 1;
|
||||
warp_to_win = bd->zone->container->win;
|
||||
ecore_x_pointer_xy_get(bd->zone->container->win, &warp_x[0], &warp_y[0]);
|
||||
|
@ -10337,7 +10390,7 @@ e_border_activate(E_Border *bd, Eina_Bool just_do_it)
|
|||
/* XXX ooffice does send this request for
|
||||
config dialogs when the main window gets focus.
|
||||
causing the pointer to jump back and forth. */
|
||||
if ((e_config->focus_policy != E_FOCUS_CLICK) &&
|
||||
if ((e_config->focus_policy != E_FOCUS_CLICK) && (!bd->new_client) &&
|
||||
!(bd->client.icccm.name && !strcmp(bd->client.icccm.name, "VCLSalFrame")))
|
||||
ecore_x_pointer_warp(bd->zone->container->win,
|
||||
bd->x + (bd->w / 2), bd->y + (bd->h / 2));
|
||||
|
|
|
@ -839,5 +839,18 @@ extern EAPI int E_EVENT_BORDER_PROPERTY;
|
|||
extern EAPI int E_EVENT_BORDER_FULLSCREEN;
|
||||
extern EAPI int E_EVENT_BORDER_UNFULLSCREEN;
|
||||
|
||||
/* macro for finding misuse of changed flag */
|
||||
#if 0
|
||||
# define BD_CHANGED(BD) \
|
||||
do { \
|
||||
if (e_object_is_del(E_OBJECT(BD))) \
|
||||
EINA_LOG_CRIT("CHANGED SET ON DELETED BORDER!"); \
|
||||
BD->changed = 1; \
|
||||
INF("%s:%d - BD CHANGED: %p", __FILE__, __LINE__, BD); \
|
||||
} while (0)
|
||||
#else
|
||||
# define BD_CHANGED(BD) BD->changed = 1
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -6,10 +6,6 @@
|
|||
#define DEF_MENUCLICK 0.25
|
||||
#endif
|
||||
|
||||
#define RANDR_SERIALIZED_SETUP_11 ((int)((1 << 16) | 1))
|
||||
#define RANDR_SERIALIZED_SETUP_12 ((int)((1 << 16) | 2))
|
||||
#define RANDR_SERIALIZED_SETUP_13 ((int)((1 << 16) | 3))
|
||||
|
||||
EAPI E_Config * e_config = NULL;
|
||||
|
||||
static int _e_config_revisions = 9;
|
||||
|
@ -50,15 +46,6 @@ static E_Config_DD *_e_config_shelf_desk_edd = NULL;
|
|||
static E_Config_DD *_e_config_mime_icon_edd = NULL;
|
||||
static E_Config_DD *_e_config_syscon_action_edd = NULL;
|
||||
static E_Config_DD *_e_config_env_var_edd = NULL;
|
||||
static E_Config_DD *_e_config_randr_size_edd = NULL;
|
||||
static E_Config_DD *_e_config_randr_edid_hash_edd = NULL;
|
||||
static E_Config_DD *_e_config_randr_serialized_setup_edd = NULL;
|
||||
static E_Config_DD *_e_config_randr_serialized_setup_11_edd = NULL;
|
||||
static E_Config_DD *_e_config_randr_serialized_setup_12_edd = NULL;
|
||||
static E_Config_DD *_e_config_randr_serialized_output_policy_edd = NULL;
|
||||
static E_Config_DD *_e_config_randr_serialized_output_edd = NULL;
|
||||
static E_Config_DD *_e_config_randr_mode_info_edd = NULL;
|
||||
static E_Config_DD *_e_config_randr_serialized_crtc_edd = NULL;
|
||||
static E_Config_DD *_e_config_xkb_layout_edd = NULL;
|
||||
static E_Config_DD *_e_config_xkb_option_edd = NULL;
|
||||
|
||||
|
@ -107,80 +94,9 @@ _e_config_profile_name_get(Eet_File *ef)
|
|||
return s;
|
||||
}
|
||||
|
||||
/* externally accessible functions */
|
||||
EINTERN int
|
||||
e_config_init(void)
|
||||
static void
|
||||
_e_config_edd_init(Eina_Bool old)
|
||||
{
|
||||
E_EVENT_CONFIG_ICON_THEME = ecore_event_type_new();
|
||||
E_EVENT_CONFIG_MODE_CHANGED = ecore_event_type_new();
|
||||
E_EVENT_CONFIG_LOADED = ecore_event_type_new();
|
||||
|
||||
/* if environment var set - use this profile name */
|
||||
_e_config_profile = eina_stringshare_add(getenv("E_CONF_PROFILE"));
|
||||
|
||||
if (!_e_config_profile)
|
||||
{
|
||||
Eet_File *ef;
|
||||
char buf[PATH_MAX];
|
||||
|
||||
/* try user profile config */
|
||||
e_user_dir_concat_static(buf, "config/profile.cfg");
|
||||
ef = eet_open(buf, EET_FILE_MODE_READ);
|
||||
if (ef)
|
||||
{
|
||||
_e_config_profile = _e_config_profile_name_get(ef);
|
||||
eet_close(ef);
|
||||
ef = NULL;
|
||||
}
|
||||
if (!_e_config_profile)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 1; i <= _e_config_revisions; i++)
|
||||
{
|
||||
e_user_dir_snprintf(buf, sizeof(buf), "config/profile.%i.cfg", i);
|
||||
ef = eet_open(buf, EET_FILE_MODE_READ);
|
||||
if (ef)
|
||||
{
|
||||
_e_config_profile = _e_config_profile_name_get(ef);
|
||||
eet_close(ef);
|
||||
ef = NULL;
|
||||
if (_e_config_profile) break;
|
||||
}
|
||||
}
|
||||
if (!_e_config_profile)
|
||||
{
|
||||
/* use system if no user profile config */
|
||||
e_prefix_data_concat_static(buf, "data/config/profile.cfg");
|
||||
ef = eet_open(buf, EET_FILE_MODE_READ);
|
||||
}
|
||||
}
|
||||
if (ef)
|
||||
{
|
||||
_e_config_profile = _e_config_profile_name_get(ef);
|
||||
eet_close(ef);
|
||||
ef = NULL;
|
||||
}
|
||||
if (!_e_config_profile)
|
||||
{
|
||||
/* no profile config - try other means */
|
||||
char *lnk = NULL;
|
||||
|
||||
/* check symlink - if default is a symlink to another dir */
|
||||
e_prefix_data_concat_static(buf, "data/config/default");
|
||||
lnk = ecore_file_readlink(buf);
|
||||
/* if so use just the filename as the profile - must be a local link */
|
||||
if (lnk)
|
||||
{
|
||||
_e_config_profile = eina_stringshare_add(ecore_file_file_get(lnk));
|
||||
free(lnk);
|
||||
}
|
||||
else
|
||||
_e_config_profile = eina_stringshare_add("default");
|
||||
}
|
||||
if (!getenv("E_CONF_PROFILE"))
|
||||
e_util_env_set("E_CONF_PROFILE", _e_config_profile);
|
||||
}
|
||||
|
||||
_e_config_gadcon_client_edd = E_CONFIG_DD_NEW("E_Config_Gadcon_Client", E_Config_Gadcon_Client);
|
||||
#undef T
|
||||
|
@ -523,103 +439,6 @@ e_config_init(void)
|
|||
E_CONFIG_VAL(D, T, val, STR);
|
||||
E_CONFIG_VAL(D, T, unset, UCHAR);
|
||||
|
||||
_e_config_randr_size_edd = E_CONFIG_DD_NEW("Ecore_X_Randr_Screen_Size", Ecore_X_Randr_Screen_Size);
|
||||
#undef T
|
||||
#undef D
|
||||
#define T Ecore_X_Randr_Screen_Size
|
||||
#define D _e_config_randr_size_edd
|
||||
E_CONFIG_VAL(D, T, width, INT);
|
||||
E_CONFIG_VAL(D, T, height, INT);
|
||||
|
||||
_e_config_randr_edid_hash_edd = E_CONFIG_DD_NEW("E_Randr_Edid_Hash", E_Randr_Edid_Hash);
|
||||
#undef T
|
||||
#undef D
|
||||
#define T E_Randr_Edid_Hash
|
||||
#define D _e_config_randr_edid_hash_edd
|
||||
E_CONFIG_VAL(D, T, hash, INT);
|
||||
|
||||
_e_config_randr_serialized_setup_11_edd = E_CONFIG_DD_NEW("E_Randr_Serialized_Setup_11", E_Randr_Serialized_Setup_11);
|
||||
#undef T
|
||||
#undef D
|
||||
#define T E_Randr_Serialized_Setup_11
|
||||
#define D _e_config_randr_serialized_setup_11_edd
|
||||
E_CONFIG_VAL(D, T, size.width, INT);
|
||||
E_CONFIG_VAL(D, T, size.height, INT);
|
||||
E_CONFIG_VAL(D, T, size.width_mm, INT);
|
||||
E_CONFIG_VAL(D, T, size.height_mm, INT);
|
||||
E_CONFIG_VAL(D, T, orientation, INT);
|
||||
E_CONFIG_VAL(D, T, refresh_rate, SHORT);
|
||||
|
||||
_e_config_randr_serialized_output_policy_edd = E_CONFIG_DD_NEW("E_Randr_Serialized_Output_Policy", E_Randr_Serialized_Output_Policy);
|
||||
#undef T
|
||||
#undef D
|
||||
#define T E_Randr_Serialized_Output_Policy
|
||||
#define D _e_config_randr_serialized_output_policy_edd
|
||||
E_CONFIG_VAL(D, T, name, STR);
|
||||
E_CONFIG_VAL(D, T, policy, INT);
|
||||
|
||||
_e_config_randr_serialized_output_edd = E_CONFIG_DD_NEW("E_Randr_Serialized_Output", E_Randr_Serialized_Output);
|
||||
#undef T
|
||||
#undef D
|
||||
#define T E_Randr_Serialized_Output
|
||||
#define D _e_config_randr_serialized_output_edd
|
||||
E_CONFIG_VAL(D, T, name, STR);
|
||||
E_CONFIG_VAL(D, T, backlight_level, DOUBLE);
|
||||
|
||||
_e_config_randr_mode_info_edd = E_CONFIG_DD_NEW("Ecore_X_Randr_Mode_Info", Ecore_X_Randr_Mode_Info);
|
||||
#undef T
|
||||
#undef D
|
||||
#define T Ecore_X_Randr_Mode_Info
|
||||
#define D _e_config_randr_mode_info_edd
|
||||
E_CONFIG_VAL(D, T, xid, INT);
|
||||
E_CONFIG_VAL(D, T, width, UINT);
|
||||
E_CONFIG_VAL(D, T, height, UINT);
|
||||
E_CONFIG_VAL(D, T, dotClock, LL);
|
||||
E_CONFIG_VAL(D, T, hSyncStart, UINT);
|
||||
E_CONFIG_VAL(D, T, hSyncEnd, UINT);
|
||||
E_CONFIG_VAL(D, T, hTotal, UINT);
|
||||
E_CONFIG_VAL(D, T, hSkew, UINT);
|
||||
E_CONFIG_VAL(D, T, vSyncStart, UINT);
|
||||
E_CONFIG_VAL(D, T, vSyncEnd, UINT);
|
||||
E_CONFIG_VAL(D, T, vTotal, UINT);
|
||||
E_CONFIG_VAL(D, T, name, STR);
|
||||
E_CONFIG_VAL(D, T, nameLength, UINT);
|
||||
/* Work around a possible ABI break due to poor type choice. */
|
||||
if (sizeof (int) == sizeof (unsigned long))
|
||||
E_CONFIG_VAL(D, T, modeFlags, INT);
|
||||
else if (sizeof (unsigned long long) == sizeof (unsigned long))
|
||||
E_CONFIG_VAL(D, T, modeFlags, LL);
|
||||
|
||||
_e_config_randr_serialized_crtc_edd = E_CONFIG_DD_NEW("E_Randr_Serialized_Crtc", E_Randr_Serialized_Crtc);
|
||||
#undef T
|
||||
#undef D
|
||||
#define T E_Randr_Serialized_Crtc
|
||||
#define D _e_config_randr_serialized_crtc_edd
|
||||
E_CONFIG_LIST(D, T, outputs, _e_config_randr_serialized_output_edd);
|
||||
E_CONFIG_SUB(D, T, mode_info, _e_config_randr_mode_info_edd);
|
||||
E_CONFIG_VAL(D, T, index, INT);
|
||||
E_CONFIG_VAL(D, T, pos.x, INT);
|
||||
E_CONFIG_VAL(D, T, pos.y, INT);
|
||||
E_CONFIG_VAL(D, T, orientation, INT);
|
||||
|
||||
_e_config_randr_serialized_setup_12_edd = E_CONFIG_DD_NEW("E_Randr_Serialized_Setup_12", E_Randr_Serialized_Setup_12);
|
||||
#undef T
|
||||
#undef D
|
||||
#define T E_Randr_Serialized_Setup_12
|
||||
#define D _e_config_randr_serialized_setup_12_edd
|
||||
E_CONFIG_VAL(D, T, timestamp, DOUBLE);
|
||||
E_CONFIG_LIST(D, T, crtcs, _e_config_randr_serialized_crtc_edd);
|
||||
E_CONFIG_LIST(D, T, edid_hashes, _e_config_randr_edid_hash_edd);
|
||||
|
||||
_e_config_randr_serialized_setup_edd = E_CONFIG_DD_NEW("E_Randr_Serialized_Setup", E_Randr_Serialized_Setup);
|
||||
#undef T
|
||||
#undef D
|
||||
#define T E_Randr_Serialized_Setup
|
||||
#define D _e_config_randr_serialized_setup_edd
|
||||
E_CONFIG_SUB(D, T, serialized_setup_11, _e_config_randr_serialized_setup_11_edd);
|
||||
E_CONFIG_LIST(D, T, serialized_setups_12, _e_config_randr_serialized_setup_12_edd);
|
||||
E_CONFIG_LIST(D, T, outputs_policies, _e_config_randr_serialized_output_policy_edd);
|
||||
|
||||
_e_config_xkb_layout_edd = E_CONFIG_DD_NEW("E_Config_XKB_Layout",
|
||||
E_Config_XKB_Layout);
|
||||
#undef T
|
||||
|
@ -794,9 +613,6 @@ e_config_init(void)
|
|||
E_CONFIG_VAL(D, T, desklock_ask_presentation, UCHAR);
|
||||
E_CONFIG_VAL(D, T, desklock_ask_presentation_timeout, DOUBLE);
|
||||
|
||||
//randr specifics
|
||||
E_CONFIG_SUB(D, T, randr_serialized_setup, _e_config_randr_serialized_setup_edd);
|
||||
|
||||
E_CONFIG_VAL(D, T, screensaver_enable, INT);
|
||||
E_CONFIG_VAL(D, T, screensaver_timeout, INT);
|
||||
E_CONFIG_VAL(D, T, screensaver_interval, INT);
|
||||
|
@ -952,6 +768,19 @@ e_config_init(void)
|
|||
E_CONFIG_LIST(D, T, xkb.used_options, _e_config_xkb_option_edd);
|
||||
E_CONFIG_VAL(D, T, xkb.only_label, INT);
|
||||
E_CONFIG_VAL(D, T, xkb.default_model, STR);
|
||||
|
||||
if (old)
|
||||
{
|
||||
E_CONFIG_SUB(D, T, xkb.current_layout, _e_config_xkb_option_edd);
|
||||
E_CONFIG_SUB(D, T, xkb.sel_layout, _e_config_xkb_option_edd);
|
||||
E_CONFIG_SUB(D, T, xkb.lock_layout, _e_config_xkb_option_edd);
|
||||
}
|
||||
else
|
||||
{
|
||||
E_CONFIG_SUB(D, T, xkb.current_layout, _e_config_xkb_layout_edd);
|
||||
E_CONFIG_SUB(D, T, xkb.sel_layout, _e_config_xkb_layout_edd);
|
||||
E_CONFIG_SUB(D, T, xkb.lock_layout, _e_config_xkb_layout_edd);
|
||||
}
|
||||
E_CONFIG_VAL(D, T, xkb.selected_layout, STR);
|
||||
E_CONFIG_VAL(D, T, xkb.cur_layout, STR);
|
||||
E_CONFIG_VAL(D, T, xkb.desklock_layout, STR);
|
||||
|
@ -960,16 +789,11 @@ e_config_init(void)
|
|||
E_CONFIG_VAL(D, T, exe_always_single_instance, UCHAR);
|
||||
|
||||
E_CONFIG_VAL(D, T, use_desktop_window_profile, INT);
|
||||
e_config_load();
|
||||
|
||||
e_config_save_queue();
|
||||
return 1;
|
||||
}
|
||||
|
||||
EINTERN int
|
||||
e_config_shutdown(void)
|
||||
static void
|
||||
_e_config_edd_shutdown(void)
|
||||
{
|
||||
eina_stringshare_del(_e_config_profile);
|
||||
E_CONFIG_DD_FREE(_e_config_edd);
|
||||
E_CONFIG_DD_FREE(_e_config_module_edd);
|
||||
E_CONFIG_DD_FREE(_e_config_font_default_edd);
|
||||
|
@ -996,14 +820,101 @@ e_config_shutdown(void)
|
|||
E_CONFIG_DD_FREE(_e_config_env_var_edd);
|
||||
E_CONFIG_DD_FREE(_e_config_xkb_layout_edd);
|
||||
E_CONFIG_DD_FREE(_e_config_xkb_option_edd);
|
||||
//E_CONFIG_DD_FREE(_e_config_randr_serialized_setup_edd);
|
||||
}
|
||||
|
||||
/* externally accessible functions */
|
||||
EINTERN int
|
||||
e_config_init(void)
|
||||
{
|
||||
E_EVENT_CONFIG_ICON_THEME = ecore_event_type_new();
|
||||
E_EVENT_CONFIG_MODE_CHANGED = ecore_event_type_new();
|
||||
E_EVENT_CONFIG_LOADED = ecore_event_type_new();
|
||||
|
||||
/* if environment var set - use this profile name */
|
||||
_e_config_profile = eina_stringshare_add(getenv("E_CONF_PROFILE"));
|
||||
|
||||
if (!_e_config_profile)
|
||||
{
|
||||
Eet_File *ef;
|
||||
char buf[PATH_MAX];
|
||||
|
||||
/* try user profile config */
|
||||
e_user_dir_concat_static(buf, "config/profile.cfg");
|
||||
ef = eet_open(buf, EET_FILE_MODE_READ);
|
||||
if (ef)
|
||||
{
|
||||
_e_config_profile = _e_config_profile_name_get(ef);
|
||||
eet_close(ef);
|
||||
ef = NULL;
|
||||
}
|
||||
if (!_e_config_profile)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 1; i <= _e_config_revisions; i++)
|
||||
{
|
||||
e_user_dir_snprintf(buf, sizeof(buf), "config/profile.%i.cfg", i);
|
||||
ef = eet_open(buf, EET_FILE_MODE_READ);
|
||||
if (ef)
|
||||
{
|
||||
_e_config_profile = _e_config_profile_name_get(ef);
|
||||
eet_close(ef);
|
||||
ef = NULL;
|
||||
if (_e_config_profile) break;
|
||||
}
|
||||
}
|
||||
if (!_e_config_profile)
|
||||
{
|
||||
/* use system if no user profile config */
|
||||
e_prefix_data_concat_static(buf, "data/config/profile.cfg");
|
||||
ef = eet_open(buf, EET_FILE_MODE_READ);
|
||||
}
|
||||
}
|
||||
if (ef)
|
||||
{
|
||||
_e_config_profile = _e_config_profile_name_get(ef);
|
||||
eet_close(ef);
|
||||
ef = NULL;
|
||||
}
|
||||
if (!_e_config_profile)
|
||||
{
|
||||
/* no profile config - try other means */
|
||||
char *lnk = NULL;
|
||||
|
||||
/* check symlink - if default is a symlink to another dir */
|
||||
e_prefix_data_concat_static(buf, "data/config/default");
|
||||
lnk = ecore_file_readlink(buf);
|
||||
/* if so use just the filename as the profile - must be a local link */
|
||||
if (lnk)
|
||||
{
|
||||
_e_config_profile = eina_stringshare_add(ecore_file_file_get(lnk));
|
||||
free(lnk);
|
||||
}
|
||||
else
|
||||
_e_config_profile = eina_stringshare_add("default");
|
||||
}
|
||||
if (!getenv("E_CONF_PROFILE"))
|
||||
e_util_env_set("E_CONF_PROFILE", _e_config_profile);
|
||||
}
|
||||
|
||||
_e_config_edd_init(EINA_FALSE);
|
||||
e_config_load();
|
||||
|
||||
e_config_save_queue();
|
||||
return 1;
|
||||
}
|
||||
|
||||
EINTERN int
|
||||
e_config_shutdown(void)
|
||||
{
|
||||
eina_stringshare_del(_e_config_profile);
|
||||
_e_config_edd_shutdown();
|
||||
return 1;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
e_config_load(void)
|
||||
{
|
||||
E_Config *tcfg = NULL;
|
||||
int reload = 0;
|
||||
|
||||
e_config = e_config_domain_load("e", _e_config_edd);
|
||||
|
@ -1048,36 +959,84 @@ e_config_load(void)
|
|||
e_config = e_config_domain_load("e", _e_config_edd);
|
||||
}
|
||||
}
|
||||
if (!e_config)
|
||||
while (!e_config)
|
||||
{
|
||||
_e_config_edd_shutdown();
|
||||
_e_config_edd_init(EINA_TRUE);
|
||||
e_config = e_config_domain_load("e", _e_config_edd);
|
||||
/* I made a c&p error here and fucked the world, so this ugliness
|
||||
* will be my public mark of shame until E19 :/
|
||||
* -zmike, 2013
|
||||
*/
|
||||
if (e_config)
|
||||
{
|
||||
Eina_List *l;
|
||||
E_Config_XKB_Layout *cl;
|
||||
int set = 0;
|
||||
|
||||
/* this is essentially CONFIG_VERSION_CHECK(7) */
|
||||
INF("Performing config upgrade to %d.%d", 1, 7);
|
||||
_e_config_edd_shutdown();
|
||||
_e_config_edd_init(EINA_FALSE);
|
||||
set += !!e_config->xkb.current_layout;
|
||||
set += !!e_config->xkb.sel_layout;
|
||||
set += !!e_config->xkb.lock_layout;
|
||||
EINA_LIST_FOREACH(e_config->xkb.used_layouts, l, cl)
|
||||
{
|
||||
if (e_config->xkb.current_layout && (e_config->xkb.current_layout->name == cl->name))
|
||||
{
|
||||
e_config->xkb.current_layout->model = eina_stringshare_ref(cl->model);
|
||||
e_config->xkb.current_layout->variant = eina_stringshare_ref(cl->variant);
|
||||
set--;
|
||||
}
|
||||
if (e_config->xkb.sel_layout && (e_config->xkb.sel_layout->name == cl->name))
|
||||
{
|
||||
e_config->xkb.sel_layout->model = eina_stringshare_ref(cl->model);
|
||||
e_config->xkb.sel_layout->variant = eina_stringshare_ref(cl->variant);
|
||||
set--;
|
||||
}
|
||||
if (e_config->xkb.lock_layout && (e_config->xkb.lock_layout->name == cl->name))
|
||||
{
|
||||
e_config->xkb.lock_layout->model = eina_stringshare_ref(cl->model);
|
||||
e_config->xkb.lock_layout->variant = eina_stringshare_ref(cl->variant);
|
||||
set--;
|
||||
}
|
||||
if (!set) break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
#undef T
|
||||
#undef D
|
||||
e_config_profile_set("default");
|
||||
if (!reload) e_config_profile_del(e_config_profile_get());
|
||||
e_config_save_block_set(1);
|
||||
e_sys_action_do(E_SYS_RESTART, NULL);
|
||||
ecore_app_restart();
|
||||
//e_sys_action_do(E_SYS_RESTART, NULL);
|
||||
return;
|
||||
}
|
||||
if (e_config->config_version < E_CONFIG_FILE_VERSION)
|
||||
{
|
||||
/* we need an upgrade of some sort */
|
||||
tcfg = e_config_domain_system_load("e", _e_config_edd);
|
||||
if (!tcfg)
|
||||
if (e_config->config_version - (E_CONFIG_FILE_EPOCH * 1000000) < 5)
|
||||
{
|
||||
const char *pprofile;
|
||||
E_Config_XKB_Layout *cl;
|
||||
Eina_List *l;
|
||||
|
||||
pprofile = e_config_profile_get();
|
||||
if (pprofile) pprofile = eina_stringshare_add(pprofile);
|
||||
e_config_profile_set("standard");
|
||||
tcfg = e_config_domain_system_load("e", _e_config_edd);
|
||||
e_config_profile_set(pprofile);
|
||||
if (pprofile) eina_stringshare_del(pprofile);
|
||||
}
|
||||
/* can't find your profile or standard or default - try default after
|
||||
* a wipe */
|
||||
if (!tcfg)
|
||||
{
|
||||
e_config_profile_set("default");
|
||||
e_config_profile_del(e_config_profile_get());
|
||||
e_config_save_block_set(1);
|
||||
e_sys_action_do(E_SYS_RESTART, NULL);
|
||||
if (e_config->xkb.cur_layout || e_config->xkb.selected_layout || e_config->xkb.desklock_layout)
|
||||
{
|
||||
EINA_LIST_FOREACH(e_config->xkb.used_layouts, l, cl)
|
||||
{
|
||||
if (cl->name == e_config->xkb.cur_layout)
|
||||
e_config->xkb.current_layout = e_config_xkb_layout_dup(cl);
|
||||
if (cl->name == e_config->xkb.selected_layout)
|
||||
e_config->xkb.sel_layout = e_config_xkb_layout_dup(cl);
|
||||
if (cl->name == e_config->xkb.desklock_layout)
|
||||
e_config->xkb.lock_layout = e_config_xkb_layout_dup(cl);
|
||||
if (((!!e_config->xkb.current_layout) == (!!e_config->xkb.cur_layout)) &&
|
||||
((!!e_config->xkb.sel_layout) == (!!e_config->xkb.selected_layout)) &&
|
||||
((!!e_config->xkb.lock_layout) == (!!e_config->xkb.desklock_layout)))
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1826,7 +1785,6 @@ _e_config_free(E_Config *ecf)
|
|||
E_Path_Dir *epd;
|
||||
E_Remember *rem;
|
||||
E_Config_Env_Var *evr;
|
||||
E_Config_XKB_Layout *cl;
|
||||
E_Config_XKB_Option *op;
|
||||
E_Config_Desktop_Window_Profile *wp;
|
||||
|
||||
|
@ -1840,14 +1798,7 @@ _e_config_free(E_Config *ecf)
|
|||
|
||||
eina_stringshare_del(ecf->xkb.default_model);
|
||||
|
||||
EINA_LIST_FREE(ecf->xkb.used_layouts, cl)
|
||||
{
|
||||
eina_stringshare_del(cl->name);
|
||||
eina_stringshare_del(cl->model);
|
||||
eina_stringshare_del(cl->variant);
|
||||
E_FREE(cl);
|
||||
}
|
||||
|
||||
E_FREE_LIST(ecf->xkb.used_layouts, e_config_xkb_layout_free);
|
||||
EINA_LIST_FREE(ecf->xkb.used_options, op)
|
||||
{
|
||||
eina_stringshare_del(op->name);
|
||||
|
@ -1984,6 +1935,9 @@ _e_config_free(E_Config *ecf)
|
|||
eina_stringshare_del(ecf->xkb.selected_layout);
|
||||
eina_stringshare_del(ecf->xkb.cur_layout);
|
||||
eina_stringshare_del(ecf->xkb.desklock_layout);
|
||||
e_config_xkb_layout_free(ecf->xkb.current_layout);
|
||||
e_config_xkb_layout_free(ecf->xkb.sel_layout);
|
||||
e_config_xkb_layout_free(ecf->xkb.lock_layout);
|
||||
if (ecf->transition_start) eina_stringshare_del(ecf->transition_start);
|
||||
if (ecf->transition_desk) eina_stringshare_del(ecf->transition_desk);
|
||||
if (ecf->transition_change) eina_stringshare_del(ecf->transition_change);
|
||||
|
@ -2004,10 +1958,6 @@ _e_config_free(E_Config *ecf)
|
|||
if (sca->icon) eina_stringshare_del(sca->icon);
|
||||
E_FREE(sca);
|
||||
}
|
||||
if (ecf->randr_serialized_setup)
|
||||
{
|
||||
e_randr_serialized_setup_free(ecf->randr_serialized_setup);
|
||||
}
|
||||
EINA_LIST_FREE(ecf->env_vars, evr)
|
||||
{
|
||||
if (evr->var) eina_stringshare_del(evr->var);
|
||||
|
|
|
@ -38,7 +38,7 @@ typedef struct _E_Event_Config_Icon_Theme E_Event_Config_Icon_Theme;
|
|||
/* increment this whenever a new set of config values are added but the users
|
||||
* config doesn't need to be wiped - simply new values need to be put in
|
||||
*/
|
||||
#define E_CONFIG_FILE_GENERATION 0
|
||||
#define E_CONFIG_FILE_GENERATION 7
|
||||
#define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH * 1000000) + E_CONFIG_FILE_GENERATION)
|
||||
|
||||
struct _E_Config
|
||||
|
@ -234,8 +234,6 @@ struct _E_Config
|
|||
int mouse_accel_denominator; // GUI
|
||||
int mouse_accel_threshold; // GUI
|
||||
|
||||
E_Randr_Serialized_Setup *randr_serialized_setup; // GUI
|
||||
|
||||
int border_raise_on_mouse_action; // GUI
|
||||
int border_raise_on_focus; // GUI
|
||||
int desk_flip_wrap; // GUI
|
||||
|
@ -395,6 +393,13 @@ struct _E_Config
|
|||
int only_label;
|
||||
const char *default_model;
|
||||
int cur_group;
|
||||
E_Config_XKB_Layout *current_layout;
|
||||
E_Config_XKB_Layout *sel_layout;
|
||||
E_Config_XKB_Layout *lock_layout;
|
||||
|
||||
/* NO LONGER USED BECAUSE I SUCK
|
||||
* -zmike, 31 January 2013
|
||||
*/
|
||||
const char *cur_layout; // whatever the current layout is
|
||||
const char *selected_layout; // whatever teh current layout that the user has selected is
|
||||
const char *desklock_layout;
|
||||
|
|
|
@ -1190,20 +1190,9 @@ _e_container_resize_handle(E_Container *con)
|
|||
|
||||
EINA_LIST_FREE(zones, zone)
|
||||
{
|
||||
Eina_List *shelves, *ll2, *del_shelves;
|
||||
E_Shelf *es;
|
||||
E_Border_List *bl;
|
||||
E_Border *bd;
|
||||
|
||||
/* delete any shelves on this zone */
|
||||
shelves = e_shelf_list();
|
||||
del_shelves = NULL;
|
||||
EINA_LIST_FOREACH(shelves, ll2, es)
|
||||
{
|
||||
if (es->zone == zone)
|
||||
del_shelves = eina_list_append(del_shelves, es);
|
||||
}
|
||||
E_FREE_LIST(del_shelves, e_object_del);
|
||||
bl = e_container_border_list_first(zone->container);
|
||||
while ((bd = e_container_border_list_next(bl)))
|
||||
{
|
||||
|
|
|
@ -224,8 +224,8 @@ e_desklock_show(Eina_Bool suspend)
|
|||
if (e_config->desklock_language)
|
||||
e_intl_language_set(e_config->desklock_language);
|
||||
|
||||
if (e_config->xkb.desklock_layout)
|
||||
e_xkb_layout_set(e_config->xkb.desklock_layout);
|
||||
if (e_config->xkb.lock_layout)
|
||||
e_xkb_layout_set(e_config->xkb.lock_layout);
|
||||
_e_custom_desklock_exe =
|
||||
ecore_exe_run(e_config->desklock_custom_desklock_cmd, NULL);
|
||||
_e_desklock_state = EINA_TRUE;
|
||||
|
@ -310,8 +310,8 @@ works:
|
|||
if (e_config->desklock_language)
|
||||
e_intl_language_set(e_config->desklock_language);
|
||||
|
||||
if (e_config->xkb.desklock_layout)
|
||||
e_xkb_layout_set(e_config->xkb.desklock_layout);
|
||||
if (e_config->xkb.lock_layout)
|
||||
e_xkb_layout_set(e_config->xkb.lock_layout);
|
||||
|
||||
total_zone_num = _e_desklock_zone_num_get();
|
||||
EINA_LIST_FOREACH(managers, l, man)
|
||||
|
@ -382,10 +382,10 @@ e_desklock_hide(void)
|
|||
if (e_config->desklock_language)
|
||||
e_intl_language_set(e_config->language);
|
||||
|
||||
if (e_config->xkb.cur_layout == e_config->xkb.desklock_layout)
|
||||
if (e_config_xkb_layout_eq(e_config->xkb.current_layout, e_config->xkb.lock_layout))
|
||||
{
|
||||
if (e_config->xkb.selected_layout)
|
||||
e_xkb_layout_set(e_config->xkb.selected_layout);
|
||||
if (e_config->xkb.sel_layout)
|
||||
e_xkb_layout_set(e_config->xkb.sel_layout);
|
||||
}
|
||||
|
||||
_e_desklock_state = EINA_FALSE;
|
||||
|
|
|
@ -143,7 +143,7 @@ e_desktop_border_create(E_Border *bd)
|
|||
*/
|
||||
char file[PATH_MAX];
|
||||
|
||||
snprintf(file, sizeof(file), "%s-%.6f.png", bname, ecore_time_get());
|
||||
snprintf(file, sizeof(file), "%s-%.6f.png", bname ?: "", ecore_time_get());
|
||||
snprintf(path, sizeof(path), "%s/%s", icon_dir, file);
|
||||
if (e_util_icon_save(&(bd->client.netwm.icons[0]), path))
|
||||
desktop->icon = strdup(file);
|
||||
|
|
|
@ -45,6 +45,7 @@ static void _e_entry_cb_paste(void *data, E_Menu *m, E_Menu_Item *mi);
|
|||
static void _e_entry_cb_select_all(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||
static void _e_entry_cb_delete(void *data, E_Menu *m , E_Menu_Item *mi );
|
||||
static void _e_entry_mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
||||
static void _entry_recalc_size(Evas_Object *object);
|
||||
/* local subsystem globals */
|
||||
static Evas_Smart *_e_entry_smart = NULL;
|
||||
static int _e_entry_smart_use = 0;
|
||||
|
@ -128,6 +129,9 @@ e_entry_text_set(Evas_Object *entry, const char *_text)
|
|||
sd->changing--;
|
||||
evas_object_smart_callback_call(entry, "changed", NULL);
|
||||
free(text);
|
||||
|
||||
edje_object_size_min_calc(sd->entry_object, &sd->min_width, &sd->height);
|
||||
_entry_recalc_size(entry);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -694,6 +698,13 @@ _entry_recalc_size(Evas_Object *object)
|
|||
evas_object_geometry_get(sd->entry_object, NULL, NULL, &pw, &ph);
|
||||
if ((w == pw) && (h == ph)) return;
|
||||
evas_object_resize(sd->entry_object, w, h);
|
||||
|
||||
{
|
||||
Evas_Coord cx, cy, cw, ch;
|
||||
edje_object_part_text_cursor_geometry_get(sd->entry_object,
|
||||
ENTRY_PART_NAME, &cx, &cy, &cw, &ch);
|
||||
e_scrollframe_child_region_show(sd->scroll_object, cx, cy, cw, ch);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
197
src/bin/e_fm.c
197
src/bin/e_fm.c
|
@ -83,6 +83,7 @@ struct _E_Fm2_Smart_Data
|
|||
{
|
||||
Ecore_Thread *thread;
|
||||
const char *filename;
|
||||
Eina_Bool done : 1;
|
||||
} new_file;
|
||||
|
||||
E_Fm2_Icon *last_selected;
|
||||
|
@ -164,7 +165,6 @@ struct _E_Fm2_Smart_Data
|
|||
E_Fm2_Icon *iop_icon;
|
||||
|
||||
Eina_List *handlers;
|
||||
Ecore_Event_Handler *efreet_cache_update;
|
||||
Efreet_Desktop *desktop;
|
||||
};
|
||||
|
||||
|
@ -183,7 +183,7 @@ struct _E_Fm2_Icon
|
|||
E_Fm2_Smart_Data *sd;
|
||||
E_Fm2_Region *region;
|
||||
Evas_Coord x, y, w, h, min_w, min_h;
|
||||
Evas_Object *obj, *obj_icon;
|
||||
Evas_Object *obj, *obj_icon, *rect;
|
||||
E_Menu *menu;
|
||||
E_Entry_Dialog *entry_dialog;
|
||||
Evas_Object *entry_widget;
|
||||
|
@ -1124,9 +1124,6 @@ e_fm2_path_set(Evas_Object *obj, const char *dev, const char *path)
|
|||
if ((m->volume->efm_mode != EFM_MODE_USING_HAL_MOUNT) && (!sd->mount->mounted)) return;
|
||||
}
|
||||
}
|
||||
if (sd->efreet_cache_update)
|
||||
ecore_event_handler_del(sd->efreet_cache_update);
|
||||
sd->efreet_cache_update = NULL;
|
||||
if (!sd->realpath) return;
|
||||
|
||||
if (!sd->mount || sd->mount->mounted)
|
||||
|
@ -1617,16 +1614,14 @@ e_fm2_window_object_set(Evas_Object *obj, E_Object *eobj)
|
|||
e_drop_handler_xds_set(sd->drop_handler, _e_fm2_cb_dnd_drop);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
e_fm2_icons_update(Evas_Object *obj)
|
||||
static void
|
||||
_e_fm2_icons_update_helper(E_Fm2_Smart_Data *sd, Eina_Bool icon_only)
|
||||
{
|
||||
Eina_List *l;
|
||||
E_Fm2_Icon *ic;
|
||||
char buf[PATH_MAX], *pfile;
|
||||
int bufused, buffree;
|
||||
|
||||
EFM_SMART_CHECK();
|
||||
|
||||
if ((!sd->realpath) || (!sd->icons)) return;
|
||||
bufused = eina_strlcpy(buf, sd->realpath, sizeof(buf));
|
||||
if (bufused >= (int)(sizeof(buf) - 2))
|
||||
|
@ -1665,7 +1660,13 @@ e_fm2_icons_update(Evas_Object *obj)
|
|||
}
|
||||
}
|
||||
|
||||
if (ic->realized)
|
||||
if (!ic->realized) continue;
|
||||
if (icon_only)
|
||||
{
|
||||
E_FN_DEL(evas_object_del, ic->obj_icon);
|
||||
_e_fm2_icon_icon_set(ic);
|
||||
}
|
||||
else
|
||||
{
|
||||
_e_fm2_icon_unrealize(ic);
|
||||
_e_fm2_icon_realize(ic);
|
||||
|
@ -1674,6 +1675,13 @@ e_fm2_icons_update(Evas_Object *obj)
|
|||
e_fm2_custom_file_flush();
|
||||
}
|
||||
|
||||
EAPI void
|
||||
e_fm2_icons_update(Evas_Object *obj)
|
||||
{
|
||||
EFM_SMART_CHECK();
|
||||
_e_fm2_icons_update_helper(sd, EINA_FALSE);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
e_fm2_pan_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
|
@ -1993,7 +2001,7 @@ _e_fm2_icon_thumb_edje_get(Evas *evas, const E_Fm2_Icon *ic, Evas_Smart_Cb cb, v
|
|||
static Eina_Bool
|
||||
_e_fm2_icon_cache_update(void *data, int type __UNUSED__, void *event __UNUSED__)
|
||||
{
|
||||
e_fm2_icons_update(data);
|
||||
_e_fm2_icons_update_helper(data, EINA_TRUE);
|
||||
return ECORE_CALLBACK_RENEW;
|
||||
}
|
||||
|
||||
|
@ -4559,12 +4567,7 @@ _e_fm2_icon_fill(E_Fm2_Icon *ic, E_Fm2_Finfo *finf)
|
|||
}
|
||||
|
||||
if (_e_fm2_file_is_desktop(ic->info.file))
|
||||
{
|
||||
_e_fm2_icon_desktop_load(ic);
|
||||
if (!ic->sd->efreet_cache_update)
|
||||
ic->sd->efreet_cache_update =
|
||||
ecore_event_handler_add(EFREET_EVENT_DESKTOP_CACHE_UPDATE, (Ecore_Event_Handler_Cb)_e_fm2_icon_cache_update, ic->sd->obj);
|
||||
}
|
||||
_e_fm2_icon_desktop_load(ic);
|
||||
|
||||
if (cf)
|
||||
{
|
||||
|
@ -4757,16 +4760,48 @@ _e_fm2_icon_label_click(void *data, Evas_Object *obj __UNUSED__, const char *emi
|
|||
_e_fm2_file_rename(ic, NULL, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_fm2_icon_position(E_Fm2_Icon *ic)
|
||||
{
|
||||
Eina_Bool list = _e_fm2_view_mode_get(ic->sd) == E_FM2_VIEW_MODE_LIST;
|
||||
evas_object_move(ic->obj,
|
||||
ic->sd->x + ic->x - ic->sd->pos.x,
|
||||
ic->sd->y + ic->y - ic->sd->pos.y);
|
||||
evas_object_resize(ic->obj, ic->w, ic->h);
|
||||
if (list)
|
||||
{
|
||||
/* only resize vertically for list view */
|
||||
evas_object_move(ic->rect,
|
||||
ic->sd->x + ic->x - ic->sd->pos.x,
|
||||
ic->sd->y + ic->y - ic->sd->pos.y + (0.1 * ic->h));
|
||||
evas_object_resize(ic->rect, ic->w, ic->h * 0.8);
|
||||
}
|
||||
else
|
||||
{
|
||||
evas_object_move(ic->rect,
|
||||
ic->sd->x + ic->x - ic->sd->pos.x + (0.1 * ic->w),
|
||||
ic->sd->y + ic->y - ic->sd->pos.y + (0.1 * ic->h));
|
||||
evas_object_resize(ic->rect, ic->w * 0.8, ic->h * 0.8);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_e_fm2_icon_realize(E_Fm2_Icon *ic)
|
||||
{
|
||||
Evas *e;
|
||||
|
||||
if (ic->realized) return;
|
||||
e = evas_object_evas_get(ic->sd->obj);
|
||||
/* actually create evas objects etc. */
|
||||
ic->realized = EINA_TRUE;
|
||||
evas_event_freeze(evas_object_evas_get(ic->sd->obj));
|
||||
ic->obj = edje_object_add(evas_object_evas_get(ic->sd->obj));
|
||||
evas_event_freeze(e);
|
||||
ic->obj = edje_object_add(e);
|
||||
edje_object_freeze(ic->obj);
|
||||
evas_object_smart_member_add(ic->obj, ic->sd->obj);
|
||||
ic->rect = evas_object_rectangle_add(e);
|
||||
evas_object_color_set(ic->rect, 0, 0, 0, 0);
|
||||
evas_object_smart_member_add(ic->rect, ic->sd->obj);
|
||||
evas_object_repeat_events_set(ic->rect, 1);
|
||||
evas_object_stack_below(ic->obj, ic->sd->drop);
|
||||
if (_e_fm2_view_mode_get(ic->sd) == E_FM2_VIEW_MODE_LIST)
|
||||
{
|
||||
|
@ -4813,25 +4848,25 @@ _e_fm2_icon_realize(E_Fm2_Icon *ic)
|
|||
"base/theme/fileman",
|
||||
"icon/variable");
|
||||
}
|
||||
evas_object_stack_above(ic->rect, ic->obj);
|
||||
_e_fm2_icon_label_set(ic, ic->obj);
|
||||
evas_object_clip_set(ic->obj, ic->sd->clip);
|
||||
evas_object_move(ic->obj,
|
||||
ic->sd->x + ic->x - ic->sd->pos.x,
|
||||
ic->sd->y + ic->y - ic->sd->pos.y);
|
||||
evas_object_resize(ic->obj, ic->w, ic->h);
|
||||
evas_object_clip_set(ic->rect, ic->sd->clip);
|
||||
_e_fm2_icon_position(ic);
|
||||
|
||||
evas_object_event_callback_add(ic->obj, EVAS_CALLBACK_MOUSE_DOWN, _e_fm2_cb_icon_mouse_down, ic);
|
||||
evas_object_event_callback_add(ic->obj, EVAS_CALLBACK_MOUSE_UP, _e_fm2_cb_icon_mouse_up, ic);
|
||||
evas_object_event_callback_add(ic->obj, EVAS_CALLBACK_MOUSE_MOVE, _e_fm2_cb_icon_mouse_move, ic);
|
||||
evas_object_event_callback_add(ic->obj, EVAS_CALLBACK_MOUSE_IN, _e_fm2_cb_icon_mouse_in, ic);
|
||||
evas_object_event_callback_add(ic->obj, EVAS_CALLBACK_MOUSE_OUT, _e_fm2_cb_icon_mouse_out, ic);
|
||||
evas_object_event_callback_add(ic->rect, EVAS_CALLBACK_MOUSE_DOWN, _e_fm2_cb_icon_mouse_down, ic);
|
||||
evas_object_event_callback_add(ic->rect, EVAS_CALLBACK_MOUSE_UP, _e_fm2_cb_icon_mouse_up, ic);
|
||||
evas_object_event_callback_add(ic->rect, EVAS_CALLBACK_MOUSE_MOVE, _e_fm2_cb_icon_mouse_move, ic);
|
||||
evas_object_event_callback_add(ic->rect, EVAS_CALLBACK_MOUSE_IN, _e_fm2_cb_icon_mouse_in, ic);
|
||||
evas_object_event_callback_add(ic->rect, EVAS_CALLBACK_MOUSE_OUT, _e_fm2_cb_icon_mouse_out, ic);
|
||||
edje_object_signal_callback_add(ic->obj, "e,action,label,click", "e", _e_fm2_icon_label_click, ic);
|
||||
|
||||
_e_fm2_icon_icon_set(ic);
|
||||
|
||||
edje_object_thaw(ic->obj);
|
||||
evas_event_thaw(evas_object_evas_get(ic->sd->obj));
|
||||
evas_event_thaw(e);
|
||||
evas_object_show(ic->obj);
|
||||
evas_object_show(ic->rect);
|
||||
|
||||
if (ic->selected)
|
||||
{
|
||||
|
@ -4844,11 +4879,27 @@ _e_fm2_icon_realize(E_Fm2_Icon *ic)
|
|||
edje_object_signal_emit(ic->obj_icon, "e,state,selected", "e");
|
||||
selectraise = edje_object_data_get(ic->obj, "selectraise");
|
||||
if ((selectraise) && (!strcmp(selectraise, "on")))
|
||||
evas_object_stack_below(ic->obj, ic->sd->drop);
|
||||
{
|
||||
evas_object_stack_below(ic->obj, ic->sd->drop);
|
||||
evas_object_stack_above(ic->rect, ic->obj);
|
||||
}
|
||||
}
|
||||
|
||||
if (ic->info.removable)
|
||||
_e_fm2_icon_removable_update(ic);
|
||||
if (ic->sd->new_file.thread && (!ic->sd->new_file.filename))
|
||||
{
|
||||
/* we got the file through the scanner :/ */
|
||||
const char *file = ecore_thread_global_data_find("efm_pending_filename");
|
||||
|
||||
if (!e_util_strcmp(ic->info.file, file))
|
||||
{
|
||||
_e_fm2_file_rename(ic, NULL, NULL);
|
||||
ic->sd->new_file.done = 1;
|
||||
}
|
||||
if (file)
|
||||
ecore_thread_global_data_del("efm_pending_filename");
|
||||
}
|
||||
if (ic->sd->new_file.filename)
|
||||
{
|
||||
if (ic->info.file == ic->sd->new_file.filename)
|
||||
|
@ -4867,6 +4918,8 @@ _e_fm2_icon_unrealize(E_Fm2_Icon *ic)
|
|||
ic->realized = EINA_FALSE;
|
||||
evas_object_del(ic->obj);
|
||||
ic->obj = NULL;
|
||||
evas_object_del(ic->rect);
|
||||
ic->rect = NULL;
|
||||
evas_object_del(ic->obj_icon);
|
||||
ic->obj_icon = NULL;
|
||||
}
|
||||
|
@ -4987,6 +5040,7 @@ _e_fm2_icon_select(E_Fm2_Icon *ic)
|
|||
selectraise = edje_object_data_get(ic->obj, "selectraise");
|
||||
if ((selectraise) && (!strcmp(selectraise, "on")))
|
||||
evas_object_stack_below(ic->obj, ic->sd->drop);
|
||||
evas_object_stack_above(ic->rect, ic->obj);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5013,7 +5067,10 @@ _e_fm2_icon_deselect(E_Fm2_Icon *ic)
|
|||
if ((selectraise) && (!strcmp(selectraise, "on")))
|
||||
{
|
||||
if ((stacking) && (!strcmp(stacking, "below")))
|
||||
evas_object_stack_above(ic->obj, ic->sd->underlay);
|
||||
{
|
||||
evas_object_stack_above(ic->obj, ic->sd->underlay);
|
||||
evas_object_stack_above(ic->rect, ic->obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -5192,7 +5249,10 @@ _e_fm2_region_realize(E_Fm2_Region *rg)
|
|||
EINA_LIST_FOREACH(rg->list, l, ic)
|
||||
{
|
||||
if (ic->selected)
|
||||
evas_object_stack_below(ic->obj, ic->sd->drop);
|
||||
{
|
||||
evas_object_stack_below(ic->obj, ic->sd->drop);
|
||||
evas_object_stack_above(ic->rect, ic->obj);
|
||||
}
|
||||
}
|
||||
edje_thaw();
|
||||
}
|
||||
|
@ -5726,7 +5786,7 @@ _e_fm2_inplace_open(const E_Fm2_Icon *ic)
|
|||
if (!_e_fm2_icon_path(ic, buf, sizeof(buf)))
|
||||
return -1;
|
||||
|
||||
e_fm2_path_set(ic->sd->obj, ic->sd->dev, buf);
|
||||
e_fm2_path_set(ic->sd->obj, ic->info.link ? "/" : ic->sd->dev, buf);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -6189,6 +6249,7 @@ _e_fm2_dnd_finish(Evas_Object *obj, int refresh)
|
|||
ic->drag.src = EINA_FALSE;
|
||||
if (ic->drag.hidden) continue;
|
||||
if (ic->obj) evas_object_show(ic->obj);
|
||||
if (ic->rect) evas_object_show(ic->rect);
|
||||
if (ic->obj_icon) evas_object_show(ic->obj_icon);
|
||||
}
|
||||
if (refresh) e_fm2_refresh(obj);
|
||||
|
@ -6930,7 +6991,7 @@ _e_fm2_cb_dnd_selection_notify(void *data, const char *type, void *event)
|
|||
}
|
||||
else if (e_drop_handler_action_get() == ECORE_X_ATOM_XDND_ACTION_MOVE)
|
||||
{
|
||||
if (sd->config->view.link_drop && (!sd->drop_icon))
|
||||
if (sd->config->view.link_drop)
|
||||
lnk = do_lnk = EINA_TRUE;
|
||||
else
|
||||
do_move = EINA_TRUE;
|
||||
|
@ -6957,7 +7018,7 @@ _e_fm2_cb_dnd_selection_notify(void *data, const char *type, void *event)
|
|||
evas_object_data_set(sd->obj, "drop_menu_data", mop);
|
||||
E_LIST_FOREACH(isel, _e_fm2_cb_drag_finished_show);
|
||||
}
|
||||
if (((!mnt) && (!mop)) && (do_lnk || do_copy || do_move))
|
||||
if (((!mnt) || (!mop)) && (do_lnk || do_copy || do_move))
|
||||
free(args);
|
||||
}
|
||||
end:
|
||||
|
@ -7235,7 +7296,6 @@ _e_fm2_cb_icon_mouse_up(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSE
|
|||
ic = data;
|
||||
ev = event_info;
|
||||
|
||||
edje_object_message_signal_process(ic->obj);
|
||||
edje_object_message_signal_process(ic->obj);
|
||||
|
||||
_e_fm2_typebuf_hide(ic->sd->obj);
|
||||
|
@ -7257,6 +7317,7 @@ _e_fm2_cb_drag_finished_show(E_Fm2_Icon *ic)
|
|||
{
|
||||
ic->drag.dnd = ic->drag.src = EINA_FALSE;
|
||||
if (ic->obj) evas_object_show(ic->obj);
|
||||
if (ic->rect) evas_object_show(ic->rect);
|
||||
if (ic->obj_icon) evas_object_show(ic->obj_icon);
|
||||
ic->drag.dnd_end_timer = NULL;
|
||||
return EINA_FALSE;
|
||||
|
@ -7391,15 +7452,6 @@ _e_fm2_cb_icon_mouse_out(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUS
|
|||
ev = event_info;
|
||||
|
||||
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
|
||||
/* here we have some stupid checks to see if we're REALLY getting a mouse out or
|
||||
* if some jackass is sending us bad events
|
||||
* ticket #1324
|
||||
*/
|
||||
if (E_INSIDE(ev->output.x, ev->output.y - 10, ic->sd->x + ic->x - ic->sd->pos.x, ic->sd->y + ic->y - ic->sd->pos.y, ic->w, ic->h) &&
|
||||
E_INSIDE(ev->output.x - 10, ev->output.y, ic->sd->x + ic->x - ic->sd->pos.x, ic->sd->y + ic->y - ic->sd->pos.y, ic->w, ic->h) &&
|
||||
E_INSIDE(ev->output.x + 10, ev->output.y, ic->sd->x + ic->x - ic->sd->pos.x, ic->sd->y + ic->y - ic->sd->pos.y, ic->w, ic->h) &&
|
||||
E_INSIDE(ev->output.x, ev->output.y + 10, ic->sd->x + ic->x - ic->sd->pos.x, ic->sd->y + ic->y - ic->sd->pos.y, ic->w, ic->h) &&
|
||||
evas_pointer_inside_get(evas_object_evas_get(ic->sd->obj))) return;
|
||||
evas_object_smart_callback_call(ic->sd->obj, "icon_mouse_out", &ic->info);
|
||||
}
|
||||
|
||||
|
@ -7464,6 +7516,7 @@ _e_fm2_cb_icon_mouse_move(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNU
|
|||
ic->sd->drag = EINA_TRUE;
|
||||
ic->drag.dnd = EINA_TRUE;
|
||||
if (ic->obj) evas_object_hide(ic->obj);
|
||||
if (ic->rect) evas_object_hide(ic->rect);
|
||||
if (ic->obj_icon) evas_object_hide(ic->obj_icon);
|
||||
ic->drag.start = EINA_FALSE;
|
||||
evas_object_geometry_get(ic->obj, &x, &y, &w, &h);
|
||||
|
@ -7505,6 +7558,7 @@ _e_fm2_cb_icon_mouse_move(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNU
|
|||
|
||||
ici->ic->drag.dnd = EINA_TRUE;
|
||||
if (ici->ic->obj) evas_object_hide(ici->ic->obj);
|
||||
if (ici->ic->rect) evas_object_hide(ici->ic->rect);
|
||||
if (ici->ic->obj_icon) evas_object_hide(ici->ic->obj_icon);
|
||||
}
|
||||
if (!sel) return;
|
||||
|
@ -7718,24 +7772,14 @@ _e_fm2_cb_key_down(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event
|
|||
}
|
||||
else if (!strcmp(ev->key, "Up"))
|
||||
{
|
||||
if (sd->typebuf_visible)
|
||||
/* FIXME: icon mode, typebuf extras */
|
||||
/* is there a way to use this atm? */
|
||||
// _e_fm2_typebuf_history_prev(obj);
|
||||
_e_fm2_typebuf_match(obj, -1);
|
||||
else if (_e_fm2_view_mode_get(sd) == E_FM2_VIEW_MODE_LIST)
|
||||
if (_e_fm2_view_mode_get(sd) == E_FM2_VIEW_MODE_LIST)
|
||||
_e_fm2_icon_sel_prev(obj, evas_key_modifier_is_set(ev->modifiers, "Shift"));
|
||||
else
|
||||
_e_fm2_icon_sel_up(obj, evas_key_modifier_is_set(ev->modifiers, "Shift"));
|
||||
}
|
||||
else if (!strcmp(ev->key, "Down"))
|
||||
{
|
||||
if (sd->typebuf_visible)
|
||||
/* FIXME: icon mode, typebuf extras */
|
||||
/* is there a way to use this? */
|
||||
//_e_fm2_typebuf_history_next(obj);
|
||||
_e_fm2_typebuf_match(obj, 1);
|
||||
else if (_e_fm2_view_mode_get(sd) == E_FM2_VIEW_MODE_LIST)
|
||||
if (_e_fm2_view_mode_get(sd) == E_FM2_VIEW_MODE_LIST)
|
||||
_e_fm2_icon_sel_next(obj, evas_key_modifier_is_set(ev->modifiers, "Shift"));
|
||||
else
|
||||
_e_fm2_icon_sel_down(obj, evas_key_modifier_is_set(ev->modifiers, "Shift"));
|
||||
|
@ -8290,10 +8334,7 @@ _e_fm2_obj_icons_place(E_Fm2_Smart_Data *sd)
|
|||
{
|
||||
e_thumb_icon_end(ic->obj_icon);
|
||||
}
|
||||
evas_object_move(ic->obj,
|
||||
sd->x + ic->x - sd->pos.x,
|
||||
sd->y + ic->y - sd->pos.y);
|
||||
evas_object_resize(ic->obj, ic->w, ic->h);
|
||||
_e_fm2_icon_position(ic);
|
||||
_e_fm2_icon_thumb(ic, ic->obj_icon, 0);
|
||||
if (_e_fm2_view_mode_get(ic->sd) != E_FM2_VIEW_MODE_LIST) continue;
|
||||
/* FIXME: this is probably something that should be unnecessary,
|
||||
|
@ -8387,7 +8428,7 @@ _e_fm2_smart_add(Evas_Object *obj)
|
|||
evas_object_resize(obj, 0, 0);
|
||||
|
||||
E_LIST_HANDLER_APPEND(sd->handlers, E_EVENT_CONFIG_ICON_THEME, _e_fm2_cb_theme, sd->obj);
|
||||
E_LIST_HANDLER_APPEND(sd->handlers, EFREET_EVENT_DESKTOP_CACHE_BUILD, _e_fm2_icon_cache_update, sd->obj);
|
||||
E_LIST_HANDLER_APPEND(sd->handlers, EFREET_EVENT_ICON_CACHE_UPDATE, _e_fm2_icon_cache_update, sd);
|
||||
|
||||
_e_fm2_list = eina_list_append(_e_fm2_list, sd->obj);
|
||||
}
|
||||
|
@ -8402,9 +8443,6 @@ _e_fm2_smart_del(Evas_Object *obj)
|
|||
|
||||
E_FREE_LIST(sd->handlers, ecore_event_handler_del);
|
||||
|
||||
if (sd->efreet_cache_update)
|
||||
ecore_event_handler_del(sd->efreet_cache_update);
|
||||
|
||||
_e_fm2_client_monitor_list_end(obj);
|
||||
if (sd->realpath) _e_fm2_client_monitor_del(sd->id, sd->realpath);
|
||||
_e_fm2_live_process_end(obj);
|
||||
|
@ -9488,10 +9526,13 @@ _e_fm2_new_dir_notify(void *data, Ecore_Thread *eth __UNUSED__, char *filename)
|
|||
{
|
||||
E_Fm2_Smart_Data *sd = data;
|
||||
|
||||
if (filename)
|
||||
sd->new_file.filename = eina_stringshare_add(ecore_file_file_get(filename));
|
||||
else
|
||||
e_util_dialog_internal(_("Error"), _("Could not create a directory!"));
|
||||
if (!sd->new_file.done)
|
||||
{
|
||||
if (filename)
|
||||
sd->new_file.filename = eina_stringshare_add(ecore_file_file_get(filename));
|
||||
else
|
||||
e_util_dialog_internal(_("Error"), _("Could not create a directory!"));
|
||||
}
|
||||
free(filename);
|
||||
}
|
||||
|
||||
|
@ -9500,10 +9541,13 @@ _e_fm2_new_file_notify(void *data, Ecore_Thread *eth __UNUSED__, char *filename)
|
|||
{
|
||||
E_Fm2_Smart_Data *sd = data;
|
||||
|
||||
if (filename)
|
||||
sd->new_file.filename = eina_stringshare_add(ecore_file_file_get(filename));
|
||||
else
|
||||
e_util_dialog_internal(_("Error"), _("Could not create a file!"));
|
||||
if (!sd->new_file.done)
|
||||
{
|
||||
if (filename)
|
||||
sd->new_file.filename = eina_stringshare_add(ecore_file_file_get(filename));
|
||||
else
|
||||
e_util_dialog_internal(_("Error"), _("Could not create a file!"));
|
||||
}
|
||||
free(filename);
|
||||
}
|
||||
|
||||
|
@ -9523,6 +9567,7 @@ _e_fm2_new_thread_helper(Ecore_Thread *eth, Eina_Bool dir)
|
|||
{
|
||||
if (dir && ecore_file_mkdir(buf))
|
||||
{
|
||||
ecore_thread_global_data_set("efm_pending_filename", strdup(buf), free);
|
||||
ecore_thread_feedback(eth, strdup(buf));
|
||||
return;
|
||||
}
|
||||
|
@ -9532,6 +9577,7 @@ _e_fm2_new_thread_helper(Ecore_Thread *eth, Eina_Bool dir)
|
|||
if (fd)
|
||||
{
|
||||
close(fd);
|
||||
ecore_thread_global_data_set("efm_pending_filename", strdup(buf), free);
|
||||
ecore_thread_feedback(eth, strdup(buf));
|
||||
return;
|
||||
}
|
||||
|
@ -9548,6 +9594,8 @@ _e_fm2_new_thread_helper(Ecore_Thread *eth, Eina_Bool dir)
|
|||
{
|
||||
if (dir && ecore_file_mkdir(buf))
|
||||
{
|
||||
|
||||
ecore_thread_global_data_set("efm_pending_filename", strdup(buf), free);
|
||||
ecore_thread_feedback(eth, strdup(buf));
|
||||
return;
|
||||
}
|
||||
|
@ -9557,6 +9605,7 @@ _e_fm2_new_thread_helper(Ecore_Thread *eth, Eina_Bool dir)
|
|||
if (fd)
|
||||
{
|
||||
close(fd);
|
||||
ecore_thread_global_data_set("efm_pending_filename", strdup(buf), free);
|
||||
ecore_thread_feedback(eth, strdup(buf));
|
||||
return;
|
||||
}
|
||||
|
@ -11092,7 +11141,7 @@ _e_fm2_live_process(Evas_Object *obj)
|
|||
_e_fm2_icon_label_set(ic, ic->obj);
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (!eina_str_has_extension(ic->info.file, ".part"))
|
||||
{
|
||||
int realized;
|
||||
|
||||
|
|
|
@ -414,6 +414,10 @@ _e_fm_main_udisks_cb_vol_prop(E_Volume *v,
|
|||
if (e_ukit_property_bool_get(ret, "DeviceIsSystemInternal", &err)) goto error;
|
||||
EINA_SAFETY_ON_TRUE_GOTO(err, error);
|
||||
|
||||
/* skip partitions with presentation hide set */
|
||||
if (e_ukit_property_bool_get(ret, "DevicePresentationHide", &err)) goto error;
|
||||
EINA_SAFETY_ON_TRUE_GOTO(err, error);
|
||||
|
||||
/* skip volumes with volume.ignore set */
|
||||
if (e_ukit_property_bool_get(ret, "DeviceIsMediaChangeDetectionInhibited", &err)) goto error;
|
||||
EINA_SAFETY_ON_TRUE_GOTO(err, error);
|
||||
|
|
|
@ -746,7 +746,9 @@ e_gadcon_zone_get(E_Gadcon *gc)
|
|||
{
|
||||
E_OBJECT_CHECK_RETURN(gc, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(gc, E_GADCON_TYPE, NULL);
|
||||
return gc->zone;
|
||||
if (gc->zone) return gc->zone;
|
||||
if (!gc->toolbar) return NULL;
|
||||
return gc->toolbar->fwin->border->zone;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
|
|
@ -449,7 +449,11 @@ e_import_config_dialog_show(E_Container *con, const char *path, Ecore_End_Cb ok,
|
|||
if (!import) return NULL;
|
||||
|
||||
dia = e_dialog_new(con, "E", "_import_config_dialog");
|
||||
if (!dia) return NULL;
|
||||
if (!dia)
|
||||
{
|
||||
e_object_del(E_OBJECT(import));
|
||||
return NULL;
|
||||
}
|
||||
e_dialog_resizable_set(dia, 1);
|
||||
|
||||
e_dialog_title_set(dia, _("Import Settings..."));
|
||||
|
|
|
@ -146,7 +146,11 @@ e_import_dialog_show(E_Container *con, const char *dev, const char *path, Ecore_
|
|||
if (!id) return NULL;
|
||||
|
||||
dia = e_dialog_new(con, "E", "_import_fsel_dialog");
|
||||
if (!dia) return NULL;
|
||||
if (!dia)
|
||||
{
|
||||
e_object_del(E_OBJECT(id));
|
||||
return NULL;
|
||||
}
|
||||
e_dialog_resizable_set(dia, 1);
|
||||
|
||||
dia->data = id;
|
||||
|
@ -162,15 +166,13 @@ e_import_dialog_show(E_Container *con, const char *dev, const char *path, Ecore_
|
|||
fpath = path ?: e_config->wallpaper_import_last_path;
|
||||
if (fdev)
|
||||
snprintf(buf, sizeof(buf), "%s/%s",
|
||||
fdev, path);
|
||||
fdev, fpath);
|
||||
else
|
||||
snprintf(buf, sizeof(buf), "%s", path);
|
||||
snprintf(buf, sizeof(buf), "%s", fpath);
|
||||
|
||||
rpath = ecore_file_realpath(buf);
|
||||
if (!ecore_file_exists(rpath))
|
||||
fpath = "/";
|
||||
else
|
||||
fpath = path ?: e_config->wallpaper_import_last_path;
|
||||
free(rpath);
|
||||
|
||||
if ((!fdev) && (!fpath))
|
||||
|
|
|
@ -67,7 +67,6 @@ static Eina_Bool _e_int_menus_efreet_desktop_cache_update(void *d, int type, v
|
|||
/* local subsystem globals */
|
||||
static Eina_Hash *_e_int_menus_augmentation = NULL;
|
||||
static Eina_List *_e_int_menus_augmentation_disabled = NULL;
|
||||
static Eina_List *_e_int_menus_app_threads = NULL;
|
||||
static Eina_Hash *_e_int_menus_app_menus = NULL;
|
||||
static Eina_Hash *_e_int_menus_app_menus_waiting = NULL;
|
||||
static Efreet_Menu *_e_int_menus_app_menu_default = NULL;
|
||||
|
@ -532,7 +531,6 @@ e_int_menus_init(void)
|
|||
EINTERN void
|
||||
e_int_menus_shutdown(void)
|
||||
{
|
||||
E_FREE_LIST(_e_int_menus_app_threads, ecore_thread_cancel);
|
||||
if (_e_int_menus_app_cleaner) ecore_timer_del(_e_int_menus_app_cleaner);
|
||||
_e_int_menus_app_cleaner = NULL;
|
||||
eina_hash_free(_e_int_menus_app_menus_waiting);
|
||||
|
@ -704,64 +702,10 @@ _e_int_menus_apps_scan(E_Menu *m, Efreet_Menu *menu)
|
|||
static Eina_Bool
|
||||
_e_int_menus_app_cleaner_cb(void *d __UNUSED__)
|
||||
{
|
||||
if (_e_int_menus_app_threads) return EINA_TRUE;
|
||||
eina_hash_free_buckets(_e_int_menus_app_menus);
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
_e_int_menus_app_thread_notify_cb(void *data, Ecore_Thread *eth __UNUSED__, void *msg)
|
||||
{
|
||||
Efreet_Menu *menu = msg;
|
||||
E_Menu *m;
|
||||
const char *dir = data;
|
||||
|
||||
if (!msg) return;
|
||||
eina_hash_add(_e_int_menus_app_menus, dir, menu);
|
||||
m = eina_hash_set(_e_int_menus_app_menus_waiting, dir, NULL);
|
||||
if (!m) return;
|
||||
e_object_del_attach_func_set(E_OBJECT(m), NULL);
|
||||
|
||||
if (_e_int_menus_app_cleaner)
|
||||
ecore_timer_reset(_e_int_menus_app_cleaner);
|
||||
else
|
||||
_e_int_menus_app_cleaner = ecore_timer_add(300, _e_int_menus_app_cleaner_cb, NULL);
|
||||
eina_stringshare_del(dir);
|
||||
_e_int_menus_apps_scan(m, menu);
|
||||
e_menu_pre_activate_callback_set(m, NULL, NULL);
|
||||
e_object_data_set(E_OBJECT(m), menu);
|
||||
e_object_free_attach_func_set(E_OBJECT(m),
|
||||
_e_int_menus_apps_free_hook2);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_int_menus_app_thread_end_cb(void *data, Ecore_Thread *eth)
|
||||
{
|
||||
char buf[PATH_MAX];
|
||||
const char *dir;
|
||||
|
||||
_e_int_menus_app_threads = eina_list_remove(_e_int_menus_app_threads, eth);
|
||||
if (data || (!e_config->menu_apps_show)) return;
|
||||
|
||||
e_user_dir_concat_static(buf, "applications/menu/favorite.menu");
|
||||
dir = eina_stringshare_add(buf);
|
||||
|
||||
if (eina_hash_find(_e_int_menus_app_menus, dir))
|
||||
eina_stringshare_del(dir);
|
||||
else
|
||||
_e_int_menus_apps_thread_new(NULL, dir);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_int_menus_app_thread_cb(void *data, Ecore_Thread *eth)
|
||||
{
|
||||
const char *dir = data;
|
||||
Efreet_Menu *menu;
|
||||
|
||||
menu = efreet_menu_parse(dir);
|
||||
ecore_thread_feedback(eth, menu);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_int_menus_apps_menu_del(void *data)
|
||||
{
|
||||
|
@ -776,7 +720,7 @@ _e_int_menus_apps_thread_new(E_Menu *m, const char *dir)
|
|||
{
|
||||
Efreet_Menu *menu = NULL;
|
||||
E_Menu *mn = NULL;
|
||||
Ecore_Thread *eth;
|
||||
char buf[PATH_MAX];
|
||||
|
||||
if (dir)
|
||||
{
|
||||
|
@ -806,9 +750,35 @@ _e_int_menus_apps_thread_new(E_Menu *m, const char *dir)
|
|||
if (dir && m)
|
||||
eina_hash_add(_e_int_menus_app_menus_waiting, dir, m);
|
||||
|
||||
eth = ecore_thread_feedback_run(_e_int_menus_app_thread_cb, _e_int_menus_app_thread_notify_cb,
|
||||
_e_int_menus_app_thread_end_cb, _e_int_menus_app_thread_end_cb, dir, EINA_FALSE);
|
||||
_e_int_menus_app_threads = eina_list_append(_e_int_menus_app_threads, eth);
|
||||
menu = efreet_menu_parse(dir);
|
||||
|
||||
eina_hash_add(_e_int_menus_app_menus, dir, menu);
|
||||
mn = eina_hash_set(_e_int_menus_app_menus_waiting, dir, NULL);
|
||||
if (!mn) goto on_end;
|
||||
e_object_del_attach_func_set(E_OBJECT(mn), NULL);
|
||||
|
||||
if (_e_int_menus_app_cleaner)
|
||||
ecore_timer_reset(_e_int_menus_app_cleaner);
|
||||
else
|
||||
_e_int_menus_app_cleaner = ecore_timer_add(300, _e_int_menus_app_cleaner_cb, NULL);
|
||||
eina_stringshare_del(dir);
|
||||
_e_int_menus_apps_scan(m, menu);
|
||||
e_menu_pre_activate_callback_set(m, NULL, NULL);
|
||||
e_object_data_set(E_OBJECT(m), menu);
|
||||
e_object_free_attach_func_set(E_OBJECT(m),
|
||||
_e_int_menus_apps_free_hook2);
|
||||
|
||||
if (!e_config->menu_apps_show) goto on_end;
|
||||
|
||||
e_user_dir_concat_static(buf, "applications/menu/favorite.menu");
|
||||
dir = eina_stringshare_add(buf);
|
||||
|
||||
if (eina_hash_find(_e_int_menus_app_menus, dir))
|
||||
eina_stringshare_del(dir);
|
||||
else
|
||||
_e_int_menus_apps_thread_new(NULL, dir);
|
||||
|
||||
on_end:
|
||||
if (m) e_object_del_attach_func_set(E_OBJECT(m), _e_int_menus_apps_menu_del);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -1613,16 +1583,22 @@ _e_int_menus_shelves_pre_cb(void *data __UNUSED__, E_Menu *m)
|
|||
EINA_LIST_FOREACH(shelves, l, es)
|
||||
{
|
||||
char buf[1024];
|
||||
const char *name;
|
||||
|
||||
if (!es) continue;
|
||||
if (es->zone->num != zone->num) continue;
|
||||
if (es->cfg->container != (int)con->num) continue;
|
||||
|
||||
snprintf(buf, sizeof(buf), "%s %s", _("Shelf"),
|
||||
e_shelf_orient_string_get(es));
|
||||
if (es->name)
|
||||
name = es->name;
|
||||
else
|
||||
{
|
||||
name = buf;
|
||||
snprintf(buf, sizeof(buf), _("Shelf %s"), e_shelf_orient_string_get(es));
|
||||
}
|
||||
|
||||
mi = e_menu_item_new(m);
|
||||
e_menu_item_label_set(mi, buf);
|
||||
e_menu_item_label_set(mi, name);
|
||||
e_menu_item_callback_set(mi, _e_int_menus_shelves_item_cb, es);
|
||||
switch (es->cfg->orient)
|
||||
{
|
||||
|
|
|
@ -151,7 +151,7 @@ e_layout_child_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
|
|||
if ((li->x == x) && (li->y == y)) return;
|
||||
li->x = x;
|
||||
li->y = y;
|
||||
_e_layout_smart_move_resize_item(li);
|
||||
if (li->sd->frozen <= 0) _e_layout_smart_move_resize_item(li);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -166,7 +166,7 @@ e_layout_child_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
|
|||
if ((li->w == w) && (li->h == h)) return;
|
||||
li->w = w;
|
||||
li->h = h;
|
||||
_e_layout_smart_move_resize_item(li);
|
||||
if (li->sd->frozen <= 0) _e_layout_smart_move_resize_item(li);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -452,7 +452,7 @@ _e_layout_smart_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
|
|||
sd->w = w;
|
||||
sd->h = h;
|
||||
sd->changed = 1;
|
||||
_e_layout_smart_reconfigure(sd);
|
||||
if (sd->frozen <= 0) _e_layout_smart_reconfigure(sd);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -67,6 +67,14 @@ e_livethumb_vsize_get(Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)
|
|||
if (h) *h = sd->vh;
|
||||
}
|
||||
|
||||
static void
|
||||
_e_livethumb_edje_preloaded(void *data EINA_UNUSED, Evas_Object *obj,
|
||||
const char *emission EINA_UNUSED,
|
||||
const char *source EINA_UNUSED)
|
||||
{
|
||||
evas_object_show(obj);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
e_livethumb_thumb_set(Evas_Object *obj, Evas_Object *thumb)
|
||||
{
|
||||
|
@ -77,7 +85,17 @@ e_livethumb_thumb_set(Evas_Object *obj, Evas_Object *thumb)
|
|||
return;
|
||||
}
|
||||
sd->thumb_obj = thumb;
|
||||
evas_object_show(sd->thumb_obj);
|
||||
if (!strcmp(evas_object_type_get(thumb), "edje"))
|
||||
{
|
||||
edje_object_signal_callback_add(thumb,
|
||||
"preload,done", "",
|
||||
_e_livethumb_edje_preloaded, NULL);
|
||||
edje_object_preload(thumb, EINA_FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
evas_object_show(sd->thumb_obj);
|
||||
}
|
||||
evas_object_move(sd->thumb_obj, 0, 0);
|
||||
evas_object_resize(sd->thumb_obj, sd->vw, sd->vh);
|
||||
}
|
||||
|
|
|
@ -1,10 +1,15 @@
|
|||
#include "e.h"
|
||||
|
||||
#ifdef __linux__
|
||||
# include <sys/prctl.h>
|
||||
#endif
|
||||
|
||||
#define MAX_LEVEL 80
|
||||
|
||||
#ifdef HAVE_ECORE_IMF
|
||||
# include <Ecore_IMF.h>
|
||||
#endif
|
||||
|
||||
#define MAX_LEVEL 64
|
||||
|
||||
#define TS_DO
|
||||
#ifdef TS_DO
|
||||
# define TS(x) \
|
||||
|
@ -127,12 +132,13 @@ EAPI Eina_Bool e_nopause = EINA_FALSE;
|
|||
static void
|
||||
_xdg_data_dirs_augment(void)
|
||||
{
|
||||
const char *s = getenv("XDG_DATA_DIRS");
|
||||
const char *s;
|
||||
const char *p = e_prefix_get();
|
||||
char newpath[4096], buf[4096];
|
||||
|
||||
if (!p) return;
|
||||
|
||||
|
||||
s = getenv("XDG_DATA_DIRS");
|
||||
snprintf(newpath, sizeof(newpath), "%s:%s/share", e_prefix_data_get(), p);
|
||||
if (s)
|
||||
{
|
||||
|
@ -147,6 +153,30 @@ _xdg_data_dirs_augment(void)
|
|||
snprintf(buf, sizeof(buf), "%s:/usr/local/share:/usr/share", newpath);
|
||||
e_util_env_set("XDG_DATA_DIRS", buf);
|
||||
}
|
||||
|
||||
s = getenv("XDG_CONFIG_DIRS");
|
||||
snprintf(newpath, sizeof(newpath), "%s/etc/xdg", p);
|
||||
if (s)
|
||||
{
|
||||
if (strncmp(s, newpath, strlen(newpath)))
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "%s:%s", newpath, s);
|
||||
e_util_env_set("XDG_CONFIG_DIRS", buf);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "%s:/etc/xdg", newpath);
|
||||
e_util_env_set("XDG_CONFIG_DIRS", buf);
|
||||
}
|
||||
|
||||
|
||||
/* set menu prefix so we get our e menu */
|
||||
if (!getenv("XDG_MENU_PREFIX"))
|
||||
{
|
||||
e_util_env_set("XDG_MENU_PREFIX", "e-");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -170,6 +200,15 @@ main(int argc, char **argv)
|
|||
double t = 0.0, tstart = 0.0;
|
||||
char *s = NULL, buff[32];
|
||||
struct sigaction action;
|
||||
|
||||
#ifdef __linux__
|
||||
# ifdef PR_SET_PTRACER
|
||||
# ifdef PR_SET_PTRACER_ANY
|
||||
prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY);
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef TS_DO
|
||||
t0 = t1 = t2 = ecore_time_unix_get();
|
||||
#endif
|
||||
|
@ -462,15 +501,6 @@ main(int argc, char **argv)
|
|||
TS("E_Alert Init Done");
|
||||
_e_main_shutdown_push(e_alert_shutdown);
|
||||
|
||||
TS("E_Xinerama Init");
|
||||
if (!e_xinerama_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot initialize E_Xinerama!\n"));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
TS("E_Xinerama Init Done");
|
||||
_e_main_shutdown_push(e_xinerama_shutdown);
|
||||
|
||||
TS("E_Hints Init");
|
||||
e_hints_init();
|
||||
TS("E_Hints Init Done");
|
||||
|
@ -521,6 +551,15 @@ main(int argc, char **argv)
|
|||
_e_main_shutdown_push(e_randr_shutdown);
|
||||
TS("E_Randr Init Done");
|
||||
|
||||
TS("E_Xinerama Init");
|
||||
if (!e_xinerama_init())
|
||||
{
|
||||
e_error_message_show(_("Enlightenment cannot initialize E_Xinerama!\n"));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
TS("E_Xinerama Init Done");
|
||||
_e_main_shutdown_push(e_xinerama_shutdown);
|
||||
|
||||
TS("E_Env Init");
|
||||
if (!e_env_init())
|
||||
{
|
||||
|
|
|
@ -1359,7 +1359,10 @@ _e_menu_cb_intercept_item_move(void *data, Evas_Object *o, Evas_Coord x, Evas_Co
|
|||
evas_object_move(mi->event_object, x, y);
|
||||
evas_object_move(o, x, y);
|
||||
if ((mi->submenu) && (mi->submenu->parent_item))
|
||||
_e_menu_reposition(mi->submenu);
|
||||
{
|
||||
mi->submenu->zone = mi->menu->zone;
|
||||
_e_menu_reposition(mi->submenu);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -82,7 +82,7 @@ e_module_all_load(void)
|
|||
EINA_LIST_FOREACH(e_config->modules, l, em)
|
||||
{
|
||||
if (!em) continue;
|
||||
if ((em->delayed) && (em->enabled) & (!e_config->no_module_delay))
|
||||
if ((em->delayed) && (em->enabled) && (!e_config->no_module_delay))
|
||||
{
|
||||
if (!_e_module_idler)
|
||||
_e_module_idler = ecore_idle_enterer_add(_e_module_cb_idler, NULL);
|
||||
|
@ -521,9 +521,8 @@ _e_module_dialog_disable_show(const char *title, const char *body, E_Module *m)
|
|||
char buf[4096];
|
||||
|
||||
printf("MODULE ERR:\n%s\n", body);
|
||||
dia = e_dialog_new(e_container_current_get(e_manager_current_get()),
|
||||
"E", "_module_unload_dialog");
|
||||
if (!dia) return;
|
||||
dia = e_dialog_new(NULL, "E", "_module_unload_dialog");
|
||||
EINA_SAFETY_ON_NULL_RETURN(dia);
|
||||
|
||||
snprintf(buf, sizeof(buf), "%s<br>%s", body,
|
||||
_("What action should be taken with this module?<br>"));
|
||||
|
@ -534,6 +533,7 @@ _e_module_dialog_disable_show(const char *title, const char *body, E_Module *m)
|
|||
e_dialog_button_add(dia, _("Unload"), NULL, _e_module_cb_dialog_disable, m);
|
||||
e_dialog_button_add(dia, _("Keep"), NULL, NULL, NULL);
|
||||
e_win_centered_set(dia->win, 1);
|
||||
dia->win->state.no_remember = 1;
|
||||
e_dialog_show(dia);
|
||||
}
|
||||
|
||||
|
|
|
@ -351,7 +351,7 @@ _e_msgbus_profile_list_cb(E_DBus_Object *obj __UNUSED__,
|
|||
DBusMessage *msg)
|
||||
{
|
||||
Eina_List *l;
|
||||
const char *name;
|
||||
char *name;
|
||||
DBusMessage *reply;
|
||||
DBusMessageIter iter;
|
||||
DBusMessageIter arr;
|
||||
|
@ -360,9 +360,11 @@ _e_msgbus_profile_list_cb(E_DBus_Object *obj __UNUSED__,
|
|||
dbus_message_iter_init_append(reply, &iter);
|
||||
dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, "s", &arr);
|
||||
|
||||
EINA_LIST_FOREACH(e_config_profile_list(), l, name)
|
||||
l = e_config_profile_list();
|
||||
EINA_LIST_FREE(l, name)
|
||||
{
|
||||
dbus_message_iter_append_basic(&arr, DBUS_TYPE_STRING, &name);
|
||||
free(name);
|
||||
}
|
||||
dbus_message_iter_close_container(&iter, &arr);
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue