forked from enlightenment/enlightenment
Compare commits
475 Commits
master
...
enlightenm
Author | SHA1 | Date |
---|---|---|
Thanatermesis | 0a5ff4bd5a | |
Mike Blumenkrantz | 5a682dc173 | |
Jean Guyomarc'h | 41a5566c47 | |
Carsten Haitzler | 3712189455 | |
Thierry | 55af7a39c9 | |
Thierry | 0cdd65de08 | |
Thierry | f7065474ce | |
Thierry | 70d20d82ff | |
Mike Blumenkrantz | ddffb8e5d9 | |
Mike Blumenkrantz | 7234229d06 | |
Mike Blumenkrantz | 5d54123dc5 | |
Mike Blumenkrantz | 0141251d50 | |
Mike Blumenkrantz | 45076fc6ba | |
Jean-Philippe Andre | 56421ea30a | |
Mike Blumenkrantz | 891957f5df | |
Mike Blumenkrantz | 514e644c5c | |
Mike Blumenkrantz | 4b9244e656 | |
Mike Blumenkrantz | 5a943358ec | |
Mike Blumenkrantz | 66b8032699 | |
Mike Blumenkrantz | 5661411dd9 | |
Mike Blumenkrantz | ca4263291d | |
Mike Blumenkrantz | d3ea364224 | |
Carsten Haitzler | 8220627d7f | |
Carsten Haitzler | 398ba57728 | |
Sebastian Dransfeld | b2e1a0657b | |
Mike Blumenkrantz | 912ac3c168 | |
Mike Blumenkrantz | 97dc308991 | |
Daniel Juyung Seo | f3c1ca2056 | |
Mike Blumenkrantz | 38e0b8eb99 | |
Mike Blumenkrantz | 43c58fb334 | |
Mike Blumenkrantz | 055584a8f0 | |
Mike Blumenkrantz | f61f228b79 | |
Mike Blumenkrantz | 653f3499c0 | |
Carsten Haitzler | 2f165075d3 | |
Sebastian Dransfeld | fb3a692233 | |
Mike Blumenkrantz | a6f78e8dab | |
Dieter Roelants | fa73db7efa | |
Mike Blumenkrantz | e12cdeac14 | |
Mike Blumenkrantz | 22651a4318 | |
Sebastian Dransfeld | 5f042a480c | |
Mike Blumenkrantz | d28634b70a | |
Mike Blumenkrantz | 935a8614a7 | |
Mike Blumenkrantz | 407c2d65a5 | |
Mike Blumenkrantz | ceb83b592f | |
Mike Blumenkrantz | 81b59487a3 | |
Mike Blumenkrantz | a180c2d5de | |
Daniel Zaoui | b7f3fcb205 | |
Daniel Kolesa | 8cbf83ac9e | |
Sebastian Dransfeld | 4c594998d1 | |
Mike Blumenkrantz | 08295d29db | |
Mike Blumenkrantz | 44274fa30a | |
Mike Blumenkrantz | 960eadd4e0 | |
Mike Blumenkrantz | 9faa5b3df8 | |
Mike Blumenkrantz | c1366d913f | |
Carsten Haitzler | 03b422544a | |
Carsten Haitzler | 9a86902678 | |
Jee-Yong Um | b2da7f0f70 | |
Mike Blumenkrantz | 6dae7014eb | |
Carsten Haitzler | 761d716fe9 | |
Carsten Haitzler | 2082d66dab | |
Sebastian Dransfeld | 5a4755ee1e | |
Sebastian Dransfeld | 5fbac0819f | |
Carsten Haitzler | 62bd0dcc42 | |
Mike Blumenkrantz | 5547694781 | |
Mike Blumenkrantz | d37b0761a7 | |
Mike Blumenkrantz | 8e23f8cbef | |
Mike Blumenkrantz | 1ae585c859 | |
Mike Blumenkrantz | 9038dd0b65 | |
Carsten Haitzler | 8c82a67db9 | |
Mike Blumenkrantz | 36e64fc97e | |
Chris Michael | ac26acd6bf | |
Mike Blumenkrantz | 7ac0cafc2a | |
Mike Blumenkrantz | 9ceb39b0ce | |
Mike Blumenkrantz | f8cf7a503c | |
Mike Blumenkrantz | bf4cb223cc | |
wonguk.jeong | bc0fcae681 | |
Carsten Haitzler | eb0d0487cf | |
wonguk.jeong | 7e69a6d5d4 | |
Carsten Haitzler | eddfe03f64 | |
Wonguk Jeong | c49634a917 | |
Igor Murzov | 88cdaa67d5 | |
Shawn Lee | b5f741fb58 | |
Mike Blumenkrantz | a20c94e499 | |
Mike Blumenkrantz | dbf644683b | |
Chris Michael | f70aa55583 | |
Carsten Haitzler | ea409b235e | |
Mike Blumenkrantz | 4f26bf60e1 | |
Mike Blumenkrantz | 6cd7bfb92a | |
Duna Oh | fea82f6a78 | |
Mike Blumenkrantz | 82d3a7aa31 | |
discomfitor | 774a7435f1 | |
Mike Blumenkrantz | c21bbecf26 | |
Cedric BAIL | cbff61a002 | |
Sebastian Dransfeld | 36ff6cfb47 | |
Thanatermesis | e0ae8cd0c9 | |
Mike Blumenkrantz | 94d10092fe | |
Mike Blumenkrantz | 60b003245b | |
Mike Blumenkrantz | 58da664ccf | |
Sebastian Dransfeld | 87606ecb4b | |
Thanatermesis | e0dcab584b | |
Thanatermesis | f42f5f1cfe | |
maxerba | 285fa87911 | |
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
|
||||
|
|
268
ChangeLog
268
ChangeLog
|
@ -1,3 +1,271 @@
|
|||
2013-05-08 Mike Blumenkrantz
|
||||
|
||||
* e_fm2_optimal_size_calc returns bool to indicate whether the returned size can be used
|
||||
|
||||
2013-03-01 Sebastian Dransfeld
|
||||
|
||||
* Fix sys hibernate by checking raw condition first
|
||||
|
||||
2015-03-25 Samuel F. Baggen (Thanatermesis)
|
||||
|
||||
* included improvement in XDG_DATA_DIRS by zmike
|
||||
* gettext version should match the one required in efl/elm
|
||||
|
||||
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
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
THIS PROJECT IS CURRENTLY UNMAINTAINED!
|
||||
|
||||
If you or anyone you know has an interest in working on the last
|
||||
uncomposited version of Enlightenment, please send a mail to
|
||||
enlightenment-devel@lists.sourceforge.net
|
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
|
||||
|
|
40
configure.ac
40
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])
|
||||
|
@ -254,9 +274,14 @@ ALL_LINGUAS="bg ca cs da de el eo es fi fr fr_CH he hu it ja ko nb nl pl pt_BR r
|
|||
AC_SUBST(ALL_LINGUAS)
|
||||
|
||||
m4_ifdef([AM_GNU_GETTEXT_VERSION], [
|
||||
AM_GNU_GETTEXT_VERSION([0.17])
|
||||
AM_GNU_GETTEXT_VERSION([0.18])
|
||||
])
|
||||
|
||||
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"
|
||||
|
@ -288,7 +314,7 @@ AM_CONDITIONAL(INSTALL_SYSACTIONS, test x${e_cv_enable_install_sysactions} = xye
|
|||
|
||||
AC_MSG_CHECKING([whether to install enlightenment.menu])
|
||||
AC_ARG_ENABLE([install-enlightenment-menu],
|
||||
AS_HELP_STRING([--disable-enlightenment-menu],[disable installing /etc/xdg/menus/enlightenment.menu @<:@default=enabled@:>@]),
|
||||
AS_HELP_STRING([--disable-enlightenment-menu],[disable installing /etc/xdg/menus/e-applications.menu @<:@default=enabled@:>@]),
|
||||
[e_cv_enable_install_enlightenment_menu=$enableval],
|
||||
AC_CACHE_VAL([e_cv_enable_install_enlightenment_menu], [e_cv_enable_install_enlightenment_menu=yes]))
|
||||
AC_MSG_RESULT([$e_cv_enable_install_enlightenment_menu])
|
||||
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -57,7 +57,7 @@ test "x$RPM_BUILD_ROOT" != "x/" && rm -rf $RPM_BUILD_ROOT
|
|||
%doc AUTHORS COPYING README
|
||||
%dir %{_sysconfdir}/enlightenment
|
||||
%config(noreplace) %{_sysconfdir}/enlightenment/*
|
||||
%config(noreplace) %{_sysconfdir}/xdg/menus/enlightenment.menu
|
||||
%config(noreplace) %{_sysconfdir}/xdg/menus/e-applications.menu
|
||||
%{_bindir}/enlightenment
|
||||
%{_bindir}/enlightenment_*
|
||||
#%{_bindir}/eap_to_desktop
|
||||
|
|
|
@ -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
|
||||
|
||||
|
@ -172,7 +172,7 @@ typedef struct _E_Rect E_Rect;
|
|||
#ifndef MAX
|
||||
# define MAX(x, y) (((x) > (y)) ? (x) : (y))
|
||||
#endif
|
||||
# define E_FN_DEL(_fn, _h) if (_h) { _fn((void*)_h); _h = NULL; }
|
||||
# define E_FREE_FUNC(_h, _fn) do { if (_h) { _fn((void*)_h); _h = NULL; } } while (0)
|
||||
# define E_INTERSECTS(x, y, w, h, xx, yy, ww, hh) \
|
||||
(((x) < ((xx) + (ww))) && ((y) < ((yy) + (hh))) && (((x) + (w)) > (xx)) && (((y) + (h)) > (yy)))
|
||||
# define E_INSIDE(x, y, xx, yy, ww, hh) \
|
||||
|
@ -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
|
||||
|
||||
|
|
|
@ -831,7 +831,7 @@ ACT_FN_GO(window_border_cycle, __UNUSED__)
|
|||
{
|
||||
const char *bdname = params;
|
||||
|
||||
while (bdname && (space = strchr(bdname, ' ')))
|
||||
while (space = strchr(bdname, ' '))
|
||||
{
|
||||
if (strncmp(bd->bordername, bdname, space - bdname) == 0)
|
||||
{
|
||||
|
@ -2006,20 +2006,43 @@ ACT_FN_GO(app, )
|
|||
Efreet_Desktop *desktop = NULL;
|
||||
char *p, *p2;
|
||||
|
||||
p2 = alloca(strlen(params) + 1);
|
||||
strcpy(p2, params);
|
||||
p = strchr(p2, ' ');
|
||||
p2 = strdupa(params);
|
||||
p = strchr(p2, ':');
|
||||
if (p)
|
||||
{
|
||||
*p = 0;
|
||||
if (!strcmp(p2, "file:"))
|
||||
desktop = efreet_util_desktop_file_id_find(p + 1);
|
||||
else if (!strcmp(p2, "name:"))
|
||||
desktop = efreet_util_desktop_name_find(p + 1);
|
||||
else if (!strcmp(p2, "generic:"))
|
||||
desktop = efreet_util_desktop_generic_name_find(p + 1);
|
||||
else if (!strcmp(p2, "exe:"))
|
||||
desktop = efreet_util_desktop_exec_find(p + 1);
|
||||
*p++ = 0;
|
||||
if (*p == ' ')
|
||||
{
|
||||
E_Dialog *dia;
|
||||
char dialog_text[1024];
|
||||
|
||||
dia = e_dialog_new(NULL, "E", "_e_action_act_app_go_syntax_error");
|
||||
if (!dia) return;
|
||||
|
||||
snprintf(dialog_text, sizeof(dialog_text),
|
||||
"%s<br><br>"
|
||||
"Check syntax. You should not put a whitespace right after colon in action params.<br>"
|
||||
"syntax: [file:file.desktop|name:App Name|generic:Generic Name|exe:exename]<br><br>"
|
||||
"exe:terminology (O)<br>"
|
||||
"exe: terminology (X)", params);
|
||||
|
||||
e_dialog_title_set(dia, _("Action Params Syntax Error"));
|
||||
e_dialog_text_set(dia, _(dialog_text));
|
||||
e_dialog_icon_set(dia, "dialog-error", 64);
|
||||
e_dialog_button_add(dia, _("Close"), NULL, NULL, NULL);
|
||||
e_dialog_button_focus_num(dia, 0);
|
||||
e_dialog_show(dia);
|
||||
|
||||
return;
|
||||
}
|
||||
if (!strcmp(p2, "file"))
|
||||
desktop = efreet_util_desktop_file_id_find(p);
|
||||
else if (!strcmp(p2, "name"))
|
||||
desktop = efreet_util_desktop_name_find(p);
|
||||
else if (!strcmp(p2, "generic"))
|
||||
desktop = efreet_util_desktop_generic_name_find(p);
|
||||
else if (!strcmp(p2, "exe"))
|
||||
desktop = efreet_util_desktop_exec_find(p);
|
||||
if (desktop)
|
||||
{
|
||||
e_exec(zone, desktop, NULL, NULL, "action/app");
|
||||
|
@ -2615,7 +2638,7 @@ typedef struct _Delayed_Action Delayed_Action;
|
|||
struct _Delayed_Action
|
||||
{
|
||||
int mouse, button;
|
||||
const char *keyname;
|
||||
const char *key;
|
||||
E_Object *obj;
|
||||
Ecore_Timer *timer;
|
||||
struct
|
||||
|
@ -2630,7 +2653,7 @@ static void
|
|||
_delayed_action_free(Delayed_Action *da)
|
||||
{
|
||||
if (da->obj) e_object_unref(da->obj);
|
||||
if (da->keyname) eina_stringshare_del(da->keyname);
|
||||
if (da->key) eina_stringshare_del(da->key);
|
||||
if (da->timer) ecore_timer_del(da->timer);
|
||||
if (da->def.action) eina_stringshare_del(da->def.action);
|
||||
if (da->def.params) eina_stringshare_del(da->def.params);
|
||||
|
@ -2750,7 +2773,7 @@ _delayed_action_key_add(E_Object *obj, const char *params, Ecore_Event_Key *ev)
|
|||
e_object_ref(da->obj);
|
||||
}
|
||||
da->mouse = 0;
|
||||
da->keyname = eina_stringshare_add(ev->keyname);
|
||||
da->key = eina_stringshare_add(ev->key);
|
||||
if (params) _delayed_action_list_parse(da, params);
|
||||
_delayed_actions = eina_list_append(_delayed_actions, da);
|
||||
}
|
||||
|
@ -2764,7 +2787,7 @@ _delayed_action_key_del(E_Object *obj, const char *params __UNUSED__, Ecore_Even
|
|||
EINA_LIST_FOREACH(_delayed_actions, l, da)
|
||||
{
|
||||
if ((da->obj == obj) && (!da->mouse) &&
|
||||
(!strcmp(da->keyname, ev->keyname)))
|
||||
(!strcmp(da->key, ev->key)))
|
||||
{
|
||||
_delayed_action_do(da);
|
||||
_delayed_action_free(da);
|
||||
|
@ -2832,13 +2855,13 @@ ACT_FN_END_MOUSE(delayed_action, )
|
|||
_delayed_action_mouse_del(obj, params, ev);
|
||||
}
|
||||
|
||||
ACT_FN_GO_ACPI(dim_screen, __UNUSED__)
|
||||
ACT_FN_GO(dim_screen, __UNUSED__)
|
||||
{
|
||||
E_Zone *zone = _e_actions_zone_get(obj);
|
||||
e_backlight_mode_set(zone, E_BACKLIGHT_MODE_DIM);
|
||||
}
|
||||
|
||||
ACT_FN_GO_ACPI(undim_screen, __UNUSED__)
|
||||
ACT_FN_GO(undim_screen, __UNUSED__)
|
||||
{
|
||||
E_Zone *zone = _e_actions_zone_get(obj);
|
||||
e_backlight_mode_set(zone, E_BACKLIGHT_MODE_NORMAL);
|
||||
|
@ -2858,6 +2881,8 @@ ACT_FN_GO(backlight_set, )
|
|||
}
|
||||
e_backlight_mode_set(zone, E_BACKLIGHT_MODE_NORMAL);
|
||||
e_backlight_level_set(zone, ((double)v / 100.0), -1.0);
|
||||
e_config->backlight.normal = e_backlight_level_get(zone);
|
||||
e_config_save_queue();
|
||||
}
|
||||
|
||||
ACT_FN_GO(backlight_adjust, )
|
||||
|
@ -2868,12 +2893,19 @@ ACT_FN_GO(backlight_adjust, )
|
|||
v = atoi(params);
|
||||
e_backlight_mode_set(zone, E_BACKLIGHT_MODE_NORMAL);
|
||||
e_backlight_level_set(zone, e_backlight_level_get(zone) + ((double)v / 100.0), -1.0);
|
||||
e_config->backlight.normal = e_backlight_level_get(zone);
|
||||
e_config_save_queue();
|
||||
}
|
||||
|
||||
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__)
|
||||
|
@ -3250,10 +3282,10 @@ e_actions_init(void)
|
|||
"screen_send_by", NULL,
|
||||
"syntax: N-offset, example: -2", 1);
|
||||
|
||||
ACT_GO_ACPI(dim_screen);
|
||||
ACT_GO(dim_screen);
|
||||
e_action_predef_name_set(N_("Screen"), N_("Dim"), "dim_screen",
|
||||
NULL, NULL, 0);
|
||||
ACT_GO_ACPI(undim_screen);
|
||||
ACT_GO(undim_screen);
|
||||
e_action_predef_name_set(N_("Screen"), N_("Undim"), "undim_screen",
|
||||
NULL, NULL, 0);
|
||||
ACT_GO(backlight_set);
|
||||
|
@ -3351,7 +3383,7 @@ e_actions_init(void)
|
|||
/* app */
|
||||
ACT_GO(app);
|
||||
e_action_predef_name_set(N_("Launch"), N_("Application"), "app", NULL,
|
||||
"syntax: , example:", 1);
|
||||
"syntax: [file:file.desktop|name:App Name|generic:Generic Name|exe:exename], example: file:terminology.desktop | file:/path/to/terminology.desktop | name:Terminology | generic:Terminal Emulator | exe:xterm", 1);
|
||||
|
||||
/* new instance of focused app */
|
||||
ACT_GO(app_new_instance);
|
||||
|
|
|
@ -87,7 +87,7 @@ e_backlight_init(void)
|
|||
e_backlight_update();
|
||||
if (!getenv("E_RESTART"))
|
||||
{
|
||||
e_backlight_level_set(NULL, 0.0, 0.0);
|
||||
e_backlight_level_set(NULL, 0.1, 0.0);
|
||||
e_backlight_level_set(NULL, e_config->backlight.normal, 0.0);
|
||||
}
|
||||
}
|
||||
|
@ -207,7 +207,7 @@ e_backlight_level_set(E_Zone *zone, double val, double tim)
|
|||
// transition time
|
||||
if (val < 0.0) val = 0.0;
|
||||
else if (val > 1.0) val = 1.0;
|
||||
if ((val == bl_val) && (!bl_anim)) return;
|
||||
if ((fabs(val - bl_val) < DBL_EPSILON) && (!bl_anim)) return;
|
||||
if (!zone) zone = e_util_zone_current_get(e_manager_current_get());
|
||||
bl_now = bl_val;
|
||||
bl_val = val;
|
||||
|
@ -239,8 +239,11 @@ e_backlight_level_get(E_Zone *zone __UNUSED__)
|
|||
EAPI void
|
||||
e_backlight_mode_set(E_Zone *zone, E_Backlight_Mode mode)
|
||||
{
|
||||
E_Backlight_Mode pmode;
|
||||
|
||||
// zone == NULL == everything
|
||||
if (e_config->backlight.mode == mode) return;
|
||||
pmode = e_config->backlight.mode;
|
||||
e_config->backlight.mode = mode;
|
||||
if (e_config->backlight.mode == E_BACKLIGHT_MODE_NORMAL)
|
||||
{
|
||||
|
@ -252,7 +255,10 @@ e_backlight_mode_set(E_Zone *zone, E_Backlight_Mode mode)
|
|||
}
|
||||
else if (e_config->backlight.mode == E_BACKLIGHT_MODE_DIM)
|
||||
{
|
||||
e_backlight_level_set(zone, e_config->backlight.dim, -1.0);
|
||||
if ((pmode != E_BACKLIGHT_MODE_NORMAL) ||
|
||||
((pmode == E_BACKLIGHT_MODE_NORMAL) &&
|
||||
(e_config->backlight.normal > e_config->backlight.dim)))
|
||||
e_backlight_level_set(zone, e_config->backlight.dim, -1.0);
|
||||
}
|
||||
else if (e_config->backlight.mode == E_BACKLIGHT_MODE_MAX)
|
||||
e_backlight_level_set(zone, 1.0, -1.0);
|
||||
|
@ -276,7 +282,8 @@ e_backlight_devices_get(void)
|
|||
static Eina_Bool
|
||||
_e_backlight_handler(void *d __UNUSED__, int type __UNUSED__, void *ev __UNUSED__)
|
||||
{
|
||||
e_backlight_update();
|
||||
if (!bl_anim)
|
||||
e_backlight_update();
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
}
|
||||
|
||||
|
@ -334,6 +341,7 @@ _e_backlight_update(E_Zone *zone)
|
|||
static void
|
||||
_e_backlight_set(E_Zone *zone, double val)
|
||||
{
|
||||
if (val < 0.05) val = 0.05;
|
||||
if (sysmode == MODE_RANDR)
|
||||
{
|
||||
Ecore_X_Window root;
|
||||
|
@ -484,7 +492,10 @@ _bl_sys_find(void)
|
|||
EINA_LIST_FOREACH(pdevs, l, f)
|
||||
{
|
||||
if (!bl_sysval)
|
||||
bl_sysval = eina_stringshare_add(f);
|
||||
{
|
||||
if ((!strstr(f, "kbd")) && (!strstr(f, "mail")))
|
||||
bl_sysval = eina_stringshare_add(f);
|
||||
}
|
||||
}
|
||||
}
|
||||
/* clear out preferred devs list */
|
||||
|
@ -507,12 +518,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);
|
||||
|
|
|
@ -283,12 +283,12 @@ e_bg_zone_update(E_Zone *zone, E_Bg_Transition transition)
|
|||
|
||||
if (transition != E_BG_TRANSITION_NONE)
|
||||
{
|
||||
edje_extern_object_max_size_set(zone->prev_bg_object, 65536, 65536);
|
||||
edje_extern_object_min_size_set(zone->prev_bg_object, 0, 0);
|
||||
evas_object_size_hint_max_set(zone->prev_bg_object, 65536, 65536);
|
||||
evas_object_size_hint_min_set(zone->prev_bg_object, 0, 0);
|
||||
edje_object_part_swallow(zone->transition_object, "e.swallow.bg.old",
|
||||
zone->prev_bg_object);
|
||||
edje_extern_object_max_size_set(zone->bg_object, 65536, 65536);
|
||||
edje_extern_object_min_size_set(zone->bg_object, 0, 0);
|
||||
evas_object_size_hint_max_set(zone->bg_object, 65536, 65536);
|
||||
evas_object_size_hint_min_set(zone->bg_object, 0, 0);
|
||||
edje_object_part_swallow(zone->transition_object, "e.swallow.bg.new",
|
||||
zone->bg_object);
|
||||
edje_object_signal_emit(zone->transition_object, "e,action,start", "e");
|
||||
|
|
|
@ -498,7 +498,7 @@ e_bindings_key_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_Ev
|
|||
mod = _e_bindings_modifiers(ev->modifiers);
|
||||
EINA_LIST_FOREACH(key_bindings, l, binding)
|
||||
{
|
||||
if ((binding->key) && (!strcmp(binding->key, ev->keyname)) &&
|
||||
if ((binding->key) && ((!strcmp(binding->key, ev->key)) || (!strcmp(binding->key, ev->keyname))) &&
|
||||
((binding->any_mod) || (binding->mod == mod)))
|
||||
{
|
||||
if (_e_bindings_context_match(binding->ctxt, ctxt))
|
||||
|
@ -531,7 +531,7 @@ e_bindings_key_up_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_Even
|
|||
mod = _e_bindings_modifiers(ev->modifiers);
|
||||
EINA_LIST_FOREACH(key_bindings, l, binding)
|
||||
{
|
||||
if ((binding->key) && (!strcmp(binding->key, ev->keyname)) &&
|
||||
if ((binding->key) && (!strcmp(binding->key, ev->key)) &&
|
||||
((binding->any_mod) || (binding->mod == mod)))
|
||||
{
|
||||
if (_e_bindings_context_match(binding->ctxt, ctxt))
|
||||
|
@ -564,7 +564,7 @@ e_bindings_key_down_event_find(E_Binding_Context ctxt, Ecore_Event_Key *ev)
|
|||
mod = _e_bindings_modifiers(ev->modifiers);
|
||||
EINA_LIST_FOREACH(key_bindings, l, binding)
|
||||
{
|
||||
if ((binding->key) && (!strcmp(binding->key, ev->keyname)) &&
|
||||
if ((binding->key) && (!strcmp(binding->key, ev->key)) &&
|
||||
((binding->any_mod) || (binding->mod == mod)))
|
||||
{
|
||||
if (_e_bindings_context_match(binding->ctxt, ctxt))
|
||||
|
@ -589,7 +589,7 @@ e_bindings_key_up_event_find(E_Binding_Context ctxt, Ecore_Event_Key *ev)
|
|||
mod = _e_bindings_modifiers(ev->modifiers);
|
||||
EINA_LIST_FOREACH(key_bindings, l, binding)
|
||||
{
|
||||
if ((binding->key) && (!strcmp(binding->key, ev->keyname)) &&
|
||||
if ((binding->key) && (!strcmp(binding->key, ev->key)) &&
|
||||
((binding->any_mod) || (binding->mod == mod)))
|
||||
{
|
||||
if (_e_bindings_context_match(binding->ctxt, ctxt))
|
||||
|
|
|
@ -421,6 +421,7 @@ e_border_new(E_Container *con,
|
|||
ecore_x_window_shadow_tree_flush();
|
||||
e_object_del_func_set(E_OBJECT(bd), E_OBJECT_CLEANUP_FUNC(_e_border_del));
|
||||
|
||||
bd->focus_policy_override = E_FOCUS_LAST;
|
||||
bd->w = 1;
|
||||
bd->h = 1;
|
||||
/* FIXME: ewww - round trip */
|
||||
|
@ -1078,7 +1079,10 @@ e_border_hide(E_Border *bd,
|
|||
e_border_focus_set(bd->parent, 1, 1);
|
||||
else if (e_config->focus_revert_on_hide_or_close)
|
||||
{
|
||||
Eina_Bool unlock = bd->lock_focus_out;
|
||||
bd->lock_focus_out = 1;
|
||||
e_desk_last_focused_focus(desk);
|
||||
bd->lock_focus_out = unlock;
|
||||
}
|
||||
else if (e_config->focus_policy == E_FOCUS_MOUSE)
|
||||
{
|
||||
|
@ -1091,17 +1095,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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2051,7 +2054,7 @@ e_border_stack_below(E_Border *bd,
|
|||
Eina_List *l, *l_prev;
|
||||
Eina_List *list = _e_border_sub_borders_new(bd);
|
||||
|
||||
EINA_LIST_REVERSE_FOREACH_SAFE(bd->transients, l, l_prev, child)
|
||||
EINA_LIST_REVERSE_FOREACH_SAFE(list, l, l_prev, child)
|
||||
{
|
||||
/* Don't stack iconic transients. If the user wants these shown,
|
||||
* thats another option.
|
||||
|
@ -2384,7 +2387,7 @@ e_border_focus_set(E_Border *bd,
|
|||
unfocus_is_parent = EINA_TRUE;
|
||||
break;
|
||||
}
|
||||
bd_parent = bd->parent;
|
||||
bd_parent = bd_parent->parent;
|
||||
}
|
||||
if (!unfocus_is_parent)
|
||||
e_border_unfullscreen(bd_unfocus);
|
||||
|
@ -2435,6 +2438,7 @@ e_border_shade(E_Border *bd,
|
|||
|
||||
ecore_x_window_shadow_tree_flush();
|
||||
|
||||
bd->take_focus = 0;
|
||||
bd->shade.x = bd->x;
|
||||
bd->shade.y = bd->y;
|
||||
bd->shade.dir = dir;
|
||||
|
@ -3159,10 +3163,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) |
|
||||
|
@ -3397,7 +3401,7 @@ e_border_find_by_window(Ecore_X_Window win)
|
|||
|
||||
bd = eina_hash_find(borders_hash, e_util_winid_str_get(win));
|
||||
if ((bd) && (!e_object_is_del(E_OBJECT(bd))) &&
|
||||
(bd->win == win))
|
||||
((bd->win == win) || (bd->client.lock_win == win)))
|
||||
return bd;
|
||||
return NULL;
|
||||
}
|
||||
|
@ -3789,10 +3793,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_FREE_FUNC(action_timer, ecore_timer_del);
|
||||
if (e_config->border_keyboard.timeout)
|
||||
action_timer = ecore_timer_add(e_config->border_keyboard.timeout, _e_border_action_move_timeout, NULL);
|
||||
}
|
||||
|
||||
|
@ -3902,9 +3904,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_FREE_FUNC(action_timer, ecore_timer_del);
|
||||
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
|
||||
|
@ -4122,6 +4124,7 @@ e_border_act_menu_begin(E_Border *bd,
|
|||
{
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
if (bd->border_menu) return;
|
||||
if (ev)
|
||||
{
|
||||
e_int_border_menu_show(bd,
|
||||
|
@ -4243,12 +4246,9 @@ e_border_icon_add(E_Border *bd,
|
|||
{
|
||||
if ((bd->desktop) && (bd->icon_preference != E_ICON_PREF_NETWM))
|
||||
{
|
||||
o = e_icon_add(evas);
|
||||
o = e_util_desktop_icon_add(bd->desktop, 64, evas);
|
||||
if (o)
|
||||
{
|
||||
e_icon_fdo_icon_set(o, bd->desktop->icon);
|
||||
return o;
|
||||
}
|
||||
return o;
|
||||
}
|
||||
else if (bd->client.netwm.icons)
|
||||
{
|
||||
|
@ -5009,6 +5009,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 +5057,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 +5130,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 +5141,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))
|
||||
|
@ -5191,6 +5217,7 @@ _e_border_del(E_Border *bd)
|
|||
{
|
||||
if (bd->parent->client.lock_win)
|
||||
{
|
||||
eina_hash_del_by_key(borders_hash, e_util_winid_str_get(bd->parent->client.lock_win));
|
||||
ecore_x_window_hide(bd->parent->client.lock_win);
|
||||
ecore_x_window_free(bd->parent->client.lock_win);
|
||||
bd->parent->client.lock_win = 0;
|
||||
|
@ -6002,6 +6029,10 @@ _e_border_cb_window_focus_in(void *data __UNUSED__,
|
|||
e = ev;
|
||||
bd = e_border_find_by_client_window(e->win);
|
||||
if (!bd) return ECORE_CALLBACK_PASS_ON;
|
||||
|
||||
/* block refocus attempts on iconic windows
|
||||
* these result from iconifying a window during a grab */
|
||||
if (bd->iconic) return ECORE_CALLBACK_RENEW;
|
||||
#ifdef INOUTDEBUG_FOCUS
|
||||
{
|
||||
time_t t;
|
||||
|
@ -7236,7 +7267,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 +7355,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 +7371,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 +7446,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))
|
||||
|
@ -7433,6 +7465,21 @@ _e_border_eval0(E_Border *bd)
|
|||
bd->client.netwm.update.state = 1;
|
||||
}
|
||||
}
|
||||
else if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DESKTOP)
|
||||
{
|
||||
bd->focus_policy_override = E_FOCUS_CLICK;
|
||||
e_focus_setup(bd);
|
||||
if (!bd->client.netwm.state.skip_pager)
|
||||
{
|
||||
bd->client.netwm.state.skip_pager = 1;
|
||||
bd->client.netwm.update.state = 1;
|
||||
}
|
||||
if (!bd->client.netwm.state.skip_taskbar)
|
||||
{
|
||||
bd->client.netwm.state.skip_taskbar = 1;
|
||||
bd->client.netwm.update.state = 1;
|
||||
}
|
||||
}
|
||||
bd->client.netwm.fetch.type = 0;
|
||||
}
|
||||
if (bd->client.icccm.fetch.machine)
|
||||
|
@ -7471,7 +7518,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 +7550,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;
|
||||
|
||||
|
@ -7623,7 +7670,8 @@ _e_border_eval0(E_Border *bd)
|
|||
}
|
||||
if (bd->parent)
|
||||
{
|
||||
e_border_layer_set(bd, bd->parent->layer);
|
||||
if (bd->parent->layer != bd->layer)
|
||||
e_border_layer_set(bd, bd->parent->layer);
|
||||
if ((e_config->modal_windows) && (bd->client.netwm.state.modal))
|
||||
{
|
||||
bd->parent->modal = bd;
|
||||
|
@ -7631,6 +7679,7 @@ _e_border_eval0(E_Border *bd)
|
|||
if (!bd->parent->client.lock_win)
|
||||
{
|
||||
bd->parent->client.lock_win = ecore_x_window_input_new(bd->parent->client.shell_win, 0, 0, bd->parent->client.w, bd->parent->client.h);
|
||||
eina_hash_add(borders_hash, e_util_winid_str_get(bd->parent->client.lock_win), bd->parent);
|
||||
ecore_x_window_show(bd->parent->client.lock_win);
|
||||
}
|
||||
}
|
||||
|
@ -7915,7 +7964,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 +8047,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 */
|
||||
|
@ -8226,6 +8275,8 @@ _e_border_eval0(E_Border *bd)
|
|||
bordername = bd->bordername;
|
||||
else if ((bd->client.mwm.borderless) || (bd->borderless))
|
||||
bordername = "borderless";
|
||||
else if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DESKTOP)
|
||||
bordername = "borderless";
|
||||
else if (((bd->client.icccm.transient_for != 0) ||
|
||||
(bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG)) &&
|
||||
(bd->client.icccm.min_w == bd->client.icccm.max_w) &&
|
||||
|
@ -8403,6 +8454,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 +8599,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 +9208,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))
|
||||
{
|
||||
|
@ -9158,7 +9217,8 @@ _e_border_eval(E_Border *bd)
|
|||
bd->want_focus = 0;
|
||||
e_border_focus_set_with_pointer(bd);
|
||||
}
|
||||
else if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG)
|
||||
else if ((bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG) ||
|
||||
(bd->parent && (bd->parent->modal == bd)))
|
||||
{
|
||||
if ((e_config->focus_setting == E_FOCUS_NEW_DIALOG) ||
|
||||
((e_config->focus_setting == E_FOCUS_NEW_DIALOG_IF_OWNER_FOCUSED) &&
|
||||
|
@ -10105,23 +10165,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)
|
||||
{
|
||||
|
@ -10135,14 +10183,30 @@ e_border_under_pointer_get(E_Desk *desk,
|
|||
/* If the layer is higher, the position of the window is higher
|
||||
* (always on top vs always below) */
|
||||
if (!bd || (cbd->layer > bd->layer))
|
||||
{
|
||||
bd = cbd;
|
||||
break;
|
||||
}
|
||||
bd = cbd;
|
||||
}
|
||||
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 +10246,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 +10255,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 +10265,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 +10282,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 +10415,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));
|
||||
|
|
|
@ -46,7 +46,8 @@ typedef enum _E_Focus_Policy
|
|||
{
|
||||
E_FOCUS_CLICK,
|
||||
E_FOCUS_MOUSE,
|
||||
E_FOCUS_SLOPPY
|
||||
E_FOCUS_SLOPPY,
|
||||
E_FOCUS_LAST
|
||||
} E_Focus_Policy;
|
||||
|
||||
typedef enum _E_Urgency_Policy
|
||||
|
@ -669,6 +670,7 @@ struct _E_Border
|
|||
Eina_Bool argb;
|
||||
|
||||
int tmp_input_hidden;
|
||||
E_Focus_Policy focus_policy_override;
|
||||
};
|
||||
|
||||
struct _E_Border_Pending_Move_Resize
|
||||
|
@ -839,5 +841,28 @@ extern EAPI int E_EVENT_BORDER_PROPERTY;
|
|||
extern EAPI int E_EVENT_BORDER_FULLSCREEN;
|
||||
extern EAPI int E_EVENT_BORDER_UNFULLSCREEN;
|
||||
|
||||
/* e_config not available everywhere e_border.h is used...
|
||||
static inline Eina_Bool
|
||||
e_border_focus_policy_click(const E_Border *bd)
|
||||
{
|
||||
return ((bd->focus_policy_override == E_FOCUS_CLICK) || (e_config->focus_policy == E_FOCUS_CLICK));
|
||||
}
|
||||
*/
|
||||
#define e_border_focus_policy_click(bd) \
|
||||
((bd->focus_policy_override == E_FOCUS_CLICK) || (e_config->focus_policy == E_FOCUS_CLICK))
|
||||
|
||||
/* 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1212,9 +1171,9 @@ e_config_load(void)
|
|||
E_CONFIG_LIMIT(e_config->clientlist_limit_caption_len, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->clientlist_max_caption_len, 2, E_CLIENTLIST_MAX_CAPTION_LEN);
|
||||
|
||||
E_CONFIG_LIMIT(e_config->mouse_accel_numerator, 1, 10);
|
||||
E_CONFIG_LIMIT(e_config->mouse_accel_numerator, 1, 30);
|
||||
E_CONFIG_LIMIT(e_config->mouse_accel_denominator, 1, 10);
|
||||
E_CONFIG_LIMIT(e_config->mouse_accel_threshold, 1, 10);
|
||||
E_CONFIG_LIMIT(e_config->mouse_accel_threshold, 0, 10);
|
||||
|
||||
E_CONFIG_LIMIT(e_config->menu_favorites_show, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->menu_apps_show, 0, 1);
|
||||
|
@ -1246,6 +1205,10 @@ e_config_load(void)
|
|||
|
||||
E_CONFIG_LIMIT(e_config->multiscreen_flip, 0, 1);
|
||||
|
||||
E_CONFIG_LIMIT(e_config->backlight.normal, 0.1, 1.0);
|
||||
E_CONFIG_LIMIT(e_config->backlight.dim, 0.1, 1.0);
|
||||
E_CONFIG_LIMIT(e_config->backlight.idle_dim, 0.1, 1.0);
|
||||
|
||||
if (!e_config->icon_theme)
|
||||
e_config->icon_theme = eina_stringshare_add("hicolor"); // FDO default
|
||||
|
||||
|
@ -1826,7 +1789,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 +1802,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 +1939,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 +1962,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;
|
||||
|
@ -1280,9 +1280,9 @@ _e_desklock_ask_presentation_key_down(void *data, Evas *e __UNUSED__, Evas_Objec
|
|||
Evas_Event_Key_Down *ev = event;
|
||||
E_Dialog *dia = data;
|
||||
|
||||
if (strcmp(ev->keyname, "Return") == 0)
|
||||
if (strcmp(ev->key, "Return") == 0)
|
||||
_e_desklock_ask_presentation_yes(NULL, dia);
|
||||
else if (strcmp(ev->keyname, "Escape") == 0)
|
||||
else if (strcmp(ev->key, "Escape") == 0)
|
||||
_e_desklock_ask_presentation_no(NULL, dia);
|
||||
}
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ _e_dialog_internal_new(E_Container *con, const char *name, const char *class, in
|
|||
e_widget_on_focus_hook_set(o, _e_dialog_cb_wid_on_focus, dia);
|
||||
dia->box_object = o;
|
||||
edje_object_part_swallow(dia->bg_object, "e.swallow.buttons", o);
|
||||
edje_object_signal_emit(dia->bg_object, "e,state,no_resizeble", "e");
|
||||
edje_object_signal_emit(dia->bg_object, "e,state,no_resizable", "e");
|
||||
|
||||
o = evas_object_rectangle_add(e_win_evas_get(dia->win));
|
||||
dia->event_object = o;
|
||||
|
@ -163,19 +163,31 @@ e_dialog_text_set(E_Dialog *dia, const char *text)
|
|||
EAPI void
|
||||
e_dialog_icon_set(E_Dialog *dia, const char *icon, Evas_Coord size)
|
||||
{
|
||||
if (!icon) return;
|
||||
|
||||
dia->icon_object = e_icon_add(e_win_evas_get(dia->win));
|
||||
if (!e_util_icon_theme_set(dia->icon_object, icon))
|
||||
e_icon_file_edje_set(dia->icon_object, icon, "icon");
|
||||
edje_extern_object_min_size_set(dia->icon_object, size * e_scale, size * e_scale);
|
||||
edje_object_part_swallow(dia->bg_object, "e.swallow.icon", dia->icon_object);
|
||||
edje_object_signal_emit(dia->bg_object, "e,state,icon", "e");
|
||||
evas_object_show(dia->icon_object);
|
||||
if (icon)
|
||||
edje_object_signal_emit(dia->bg_object, "e,icon,enabled", "e");
|
||||
if (!icon)
|
||||
{
|
||||
if (dia->icon_object)
|
||||
{
|
||||
edje_object_part_unswallow(dia->bg_object, dia->icon_object);
|
||||
evas_object_del(dia->icon_object);
|
||||
dia->icon_object = NULL;
|
||||
}
|
||||
edje_object_signal_emit(dia->bg_object, "e,state,icon", "e");
|
||||
edje_object_signal_emit(dia->bg_object, "e,icon,disabled", "e");
|
||||
}
|
||||
else
|
||||
edje_object_signal_emit(dia->bg_object, "e,icon,disabled", "e");
|
||||
{
|
||||
if (!dia->icon_object)
|
||||
{
|
||||
dia->icon_object = e_icon_add(e_win_evas_get(dia->win));
|
||||
edje_object_part_swallow(dia->bg_object, "e.swallow.icon", dia->icon_object);
|
||||
evas_object_show(dia->icon_object);
|
||||
}
|
||||
if (!e_util_icon_theme_set(dia->icon_object, icon))
|
||||
e_icon_file_edje_set(dia->icon_object, icon, "icon");
|
||||
edje_extern_object_min_size_set(dia->icon_object, size * e_scale, size * e_scale);
|
||||
edje_object_signal_emit(dia->bg_object, "e,state,icon", "e");
|
||||
edje_object_signal_emit(dia->bg_object, "e,icon,enabled", "e");
|
||||
}
|
||||
edje_object_message_signal_process(dia->bg_object);
|
||||
}
|
||||
|
||||
|
@ -221,13 +233,13 @@ e_dialog_resizable_set(E_Dialog *dia, int resizable)
|
|||
{
|
||||
e_win_size_max_set(dia->win, 99999, 99999);
|
||||
e_util_win_auto_resize_fill(dia->win);
|
||||
edje_object_signal_emit(dia->bg_object, "e,state,resizeble", "e");
|
||||
edje_object_signal_emit(dia->bg_object, "e,state,resizable", "e");
|
||||
}
|
||||
else
|
||||
{
|
||||
e_win_resize(dia->win, dia->min_w, dia->min_h);
|
||||
e_win_size_max_set(dia->win, dia->min_w, dia->min_h);
|
||||
edje_object_signal_emit(dia->bg_object, "e,state,no_resizeble", "e");
|
||||
edje_object_signal_emit(dia->bg_object, "e,state,no_resizable", "e");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -308,7 +320,7 @@ _e_dialog_cb_key_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED_
|
|||
|
||||
ev = event;
|
||||
dia = data;
|
||||
if (!strcmp(ev->keyname, "Tab"))
|
||||
if (!strcmp(ev->key, "Tab"))
|
||||
{
|
||||
if (evas_key_modifier_is_set(evas_key_modifier_get(e_win_evas_get(dia->win)), "Shift"))
|
||||
{
|
||||
|
@ -355,8 +367,8 @@ _e_dialog_cb_key_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED_
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (((!strcmp(ev->keyname, "Return")) ||
|
||||
(!strcmp(ev->keyname, "KP_Enter"))))
|
||||
else if (((!strcmp(ev->key, "Return")) ||
|
||||
(!strcmp(ev->key, "KP_Enter"))))
|
||||
{
|
||||
Evas_Object *o = NULL;
|
||||
|
||||
|
@ -366,7 +378,7 @@ _e_dialog_cb_key_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED_
|
|||
o = e_widget_focused_object_get(dia->box_object);
|
||||
if (o) e_widget_activate(o);
|
||||
}
|
||||
else if (!strcmp(ev->keyname, "Escape"))
|
||||
else if (!strcmp(ev->key, "Escape"))
|
||||
e_object_del(E_OBJECT(dia));
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -130,10 +130,10 @@ _e_entry_cb_key_down(void *data, Evas_Object *obj __UNUSED__, void *event_info)
|
|||
|
||||
ev = event_info;
|
||||
if (!(ed = data)) return;
|
||||
if (!strcmp(ev->keyname, "Return"))
|
||||
if (!strcmp(ev->key, "Return"))
|
||||
_e_entry_dialog_ok(data, ed->dia);
|
||||
else
|
||||
if (!strcmp(ev->keyname, "Escape"))
|
||||
if (!strcmp(ev->key, "Escape"))
|
||||
_e_entry_dialog_cancel(data, ed->dia);
|
||||
}
|
||||
|
||||
|
|
|
@ -556,6 +556,7 @@ _e_exec_instance_free(E_Exec_Instance *inst)
|
|||
inst->desktop);
|
||||
if (inst->expire_timer) ecore_timer_del(inst->expire_timer);
|
||||
if (inst->desktop) efreet_desktop_free(inst->desktop);
|
||||
if (inst->exe) ecore_exe_data_set(inst->exe, NULL);
|
||||
free(inst);
|
||||
}
|
||||
/*
|
||||
|
|
240
src/bin/e_fm.c
240
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;
|
||||
|
@ -527,10 +527,11 @@ _e_fm2_icon_path(const E_Fm2_Icon *ic, char *buf, int buflen)
|
|||
{
|
||||
int r;
|
||||
|
||||
if (ic->info.link)
|
||||
r = snprintf(buf, buflen, "%s", ic->info.link);
|
||||
if (ic->info.real_link)
|
||||
r = snprintf(buf, buflen, "%s", ic->info.real_link);
|
||||
else
|
||||
r = snprintf(buf, buflen, "%s/%s", ic->sd->path, ic->info.file);
|
||||
|
||||
return r < buflen;
|
||||
}
|
||||
|
||||
|
@ -1124,9 +1125,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 +1615,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 +1661,13 @@ e_fm2_icons_update(Evas_Object *obj)
|
|||
}
|
||||
}
|
||||
|
||||
if (ic->realized)
|
||||
if (!ic->realized) continue;
|
||||
if (icon_only)
|
||||
{
|
||||
E_FREE_FUNC(ic->obj_icon, evas_object_del);
|
||||
_e_fm2_icon_icon_set(ic);
|
||||
}
|
||||
else
|
||||
{
|
||||
_e_fm2_icon_unrealize(ic);
|
||||
_e_fm2_icon_realize(ic);
|
||||
|
@ -1674,6 +1676,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 +2002,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;
|
||||
}
|
||||
|
||||
|
@ -2920,6 +2929,9 @@ e_fm2_client_data(Ecore_Ipc_Event_Client_Data *e)
|
|||
}
|
||||
switch (e->minor)
|
||||
{
|
||||
case E_FM_OP_INIT:
|
||||
e_config->device_detect_mode = strtoul((char*)e->data, NULL, 10);
|
||||
break;
|
||||
case E_FM_OP_MONITOR_SYNC: /*mon list sync*/
|
||||
ecore_ipc_client_send(cl->cl, E_IPC_DOMAIN_FM, E_FM_OP_MONITOR_SYNC,
|
||||
0, 0, e->response,
|
||||
|
@ -3414,7 +3426,6 @@ _e_fm2_file_del(Evas_Object *obj, const char *file)
|
|||
ic->region = NULL;
|
||||
}
|
||||
_e_fm2_icon_free(ic);
|
||||
printf("b: %i\n", eina_list_count(sd->icons));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -4559,12 +4570,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 +4763,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 +4851,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 +4882,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 +4921,13 @@ _e_fm2_icon_unrealize(E_Fm2_Icon *ic)
|
|||
ic->realized = EINA_FALSE;
|
||||
evas_object_del(ic->obj);
|
||||
ic->obj = NULL;
|
||||
evas_object_event_callback_del_full(ic->rect, EVAS_CALLBACK_MOUSE_DOWN, _e_fm2_cb_icon_mouse_down, ic);
|
||||
evas_object_event_callback_del_full(ic->rect, EVAS_CALLBACK_MOUSE_UP, _e_fm2_cb_icon_mouse_up, ic);
|
||||
evas_object_event_callback_del_full(ic->rect, EVAS_CALLBACK_MOUSE_MOVE, _e_fm2_cb_icon_mouse_move, ic);
|
||||
evas_object_event_callback_del_full(ic->rect, EVAS_CALLBACK_MOUSE_IN, _e_fm2_cb_icon_mouse_in, ic);
|
||||
evas_object_event_callback_del_full(ic->rect, EVAS_CALLBACK_MOUSE_OUT, _e_fm2_cb_icon_mouse_out, ic);
|
||||
evas_object_del(ic->rect);
|
||||
ic->rect = NULL;
|
||||
evas_object_del(ic->obj_icon);
|
||||
ic->obj_icon = NULL;
|
||||
}
|
||||
|
@ -4987,6 +5048,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 +5075,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 +5257,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 +5794,10 @@ _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.real_link ? "/" : ic->sd->dev,
|
||||
buf);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -6189,6 +6260,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 +7002,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 +7029,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 +7307,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 +7328,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;
|
||||
|
@ -7320,12 +7392,12 @@ _e_fm2_cb_drag_finished(E_Drag *drag, int dropped __UNUSED__)
|
|||
static void
|
||||
_e_fm_drag_key_down_cb(E_Drag *drag, Ecore_Event_Key *e)
|
||||
{
|
||||
if (!strncmp(e->keyname, "Alt", 3))
|
||||
if (!strncmp(e->key, "Alt", 3))
|
||||
{
|
||||
ecore_x_dnd_source_action_set(ECORE_X_ATOM_XDND_ACTION_ASK);
|
||||
edje_object_signal_emit(drag->object, "e,state,ask", "e");
|
||||
}
|
||||
else if (!strncmp(e->keyname, "Shift", 5))
|
||||
else if (!strncmp(e->key, "Shift", 5))
|
||||
{
|
||||
if (e->modifiers == ECORE_EVENT_MODIFIER_CTRL)
|
||||
{
|
||||
|
@ -7338,7 +7410,7 @@ _e_fm_drag_key_down_cb(E_Drag *drag, Ecore_Event_Key *e)
|
|||
edje_object_signal_emit(drag->object, "e,state,move", "e");
|
||||
}
|
||||
}
|
||||
else if (!strncmp(e->keyname, "Control", 7))
|
||||
else if (!strncmp(e->key, "Control", 7))
|
||||
{
|
||||
if (e->modifiers == ECORE_EVENT_MODIFIER_SHIFT)
|
||||
{
|
||||
|
@ -7358,11 +7430,11 @@ _e_fm_drag_key_up_cb(E_Drag *drag, Ecore_Event_Key *e)
|
|||
{
|
||||
/* Default action would be move. ;) */
|
||||
|
||||
if (!strncmp(e->keyname, "Alt", 3))
|
||||
if (!strncmp(e->key, "Alt", 3))
|
||||
ecore_x_dnd_source_action_set(ECORE_X_ATOM_XDND_ACTION_MOVE);
|
||||
else if (!strncmp(e->keyname, "Shift", 5))
|
||||
else if (!strncmp(e->key, "Shift", 5))
|
||||
ecore_x_dnd_source_action_set(ECORE_X_ATOM_XDND_ACTION_MOVE);
|
||||
else if (!strncmp(e->keyname, "Control", 7))
|
||||
else if (!strncmp(e->key, "Control", 7))
|
||||
ecore_x_dnd_source_action_set(ECORE_X_ATOM_XDND_ACTION_MOVE);
|
||||
|
||||
edje_object_signal_emit(drag->object, "e,state,move", "e");
|
||||
|
@ -7391,15 +7463,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 +7527,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 +7569,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 +7783,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"));
|
||||
|
@ -7762,7 +7817,7 @@ _e_fm2_cb_key_down(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event
|
|||
e_fm2_pan_set(obj, sd->pos.x, sd->pos.y - sd->h);
|
||||
evas_object_smart_callback_call(sd->obj, "pan_changed", NULL);
|
||||
}
|
||||
else if (!strcmp(ev->keyname, "Next"))
|
||||
else if (!strcmp(ev->key, "Next"))
|
||||
{
|
||||
/* down h * n pixels */
|
||||
e_fm2_pan_set(obj, sd->pos.x, sd->pos.y + sd->h);
|
||||
|
@ -8290,10 +8345,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 +8439,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 +8454,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 +9537,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 +9552,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 +9578,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 +9588,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 +9605,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 +9616,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;
|
||||
}
|
||||
|
@ -10456,6 +10516,7 @@ _e_fm_overwrite_rename_del(void *data)
|
|||
sd = evas_object_smart_data_get(ere->e_fm);
|
||||
sd->rename_dialogs = eina_list_remove(sd->rename_dialogs, data);
|
||||
e_fm2_op_registry_entry_unref(ere);
|
||||
_e_fm_client_send(E_FM_OP_OVERWRITE_RESPONSE_NO, ere->id, NULL, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -10516,7 +10577,6 @@ _e_fm_overwrite_rename(void *data __UNUSED__, E_Dialog *dialog)
|
|||
E_OBJECT(ed)->data = ere;
|
||||
e_fm2_op_registry_entry_ref(ere);
|
||||
_e_fm2_op_registry_go_on(id);
|
||||
_e_fm_client_send(E_FM_OP_OVERWRITE_RESPONSE_NO, id, NULL, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -11092,7 +11152,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;
|
||||
|
||||
|
@ -11351,12 +11411,13 @@ e_fm2_operation_abort(int id)
|
|||
e_fm2_op_registry_entry_unref(ere);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
EAPI Eina_Bool
|
||||
e_fm2_optimal_size_calc(Evas_Object *obj, int maxw, int maxh, int *w, int *h)
|
||||
{
|
||||
int x, y, minw, minh;
|
||||
EFM_SMART_CHECK();
|
||||
if ((!w) || (!h)) return;
|
||||
EFM_SMART_CHECK(EINA_FALSE);
|
||||
if ((!w) || (!h)) return EINA_FALSE;
|
||||
if (!sd->icons) return EINA_FALSE;
|
||||
if (maxw < 0) maxw = 0;
|
||||
if (maxh < 0) maxh = 0;
|
||||
minw = sd->min.w + 5, minh = sd->min.h + 5;
|
||||
|
@ -11365,7 +11426,7 @@ e_fm2_optimal_size_calc(Evas_Object *obj, int maxw, int maxh, int *w, int *h)
|
|||
case E_FM2_VIEW_MODE_LIST:
|
||||
*w = MIN(minw, maxw);
|
||||
*h = MIN(minh * eina_list_count(sd->icons), (unsigned int)maxh);
|
||||
return;
|
||||
return EINA_TRUE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -11379,6 +11440,7 @@ e_fm2_optimal_size_calc(Evas_Object *obj, int maxw, int maxh, int *w, int *h)
|
|||
*w = MIN(*w, maxw);
|
||||
*h = minh * y;
|
||||
*h = MIN(*h, maxh);
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
EAPI E_Fm2_View_Mode
|
||||
|
|
|
@ -203,7 +203,7 @@ EAPI void e_fm2_overlay_clip_to(Evas_Object *fm, Evas_Object *clip);
|
|||
EAPI void e_fm2_client_data(Ecore_Ipc_Event_Client_Data *e);
|
||||
EAPI void e_fm2_client_del(Ecore_Ipc_Event_Client_Del *e);
|
||||
EAPI E_Fm2_View_Mode e_fm2_view_mode_get(Evas_Object *obj);
|
||||
EAPI void e_fm2_optimal_size_calc(Evas_Object *obj, int maxw, int maxh, int *w, int *h);
|
||||
EAPI Eina_Bool e_fm2_optimal_size_calc(Evas_Object *obj, int maxw, int maxh, int *w, int *h);
|
||||
EAPI const char *e_fm2_real_path_map(const char *dev, const char *path);
|
||||
EAPI void e_fm2_favorites_init(void);
|
||||
EAPI unsigned int e_fm2_selected_count(Evas_Object *obj);
|
||||
|
|
|
@ -170,6 +170,18 @@ main(int argc, char **argv)
|
|||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
_e_fm_main_catch(unsigned int val)
|
||||
{
|
||||
char buf[64];
|
||||
|
||||
snprintf(buf, sizeof(buf), "%u", val);
|
||||
ecore_ipc_server_send(_e_fm_ipc_server,
|
||||
6 /*E_IPC_DOMAIN_FM*/,
|
||||
E_FM_OP_INIT,
|
||||
0, 0, 0, buf, strlen(buf) + 1);
|
||||
}
|
||||
|
||||
#ifdef HAVE_HAL_MOUNT
|
||||
void
|
||||
_e_fm_main_hal_catch(Eina_Bool usable)
|
||||
|
@ -177,6 +189,7 @@ _e_fm_main_hal_catch(Eina_Bool usable)
|
|||
if (usable)
|
||||
{
|
||||
mode = EFM_MODE_USING_HAL_MOUNT;
|
||||
_e_fm_main_catch(mode);
|
||||
return;
|
||||
}
|
||||
# ifdef HAVE_EEZE_MOUNT
|
||||
|
@ -192,6 +205,7 @@ _e_fm_main_udisks_catch(Eina_Bool usable)
|
|||
if (usable)
|
||||
{
|
||||
mode = EFM_MODE_USING_UDISKS_MOUNT;
|
||||
_e_fm_main_catch(mode);
|
||||
return;
|
||||
}
|
||||
# ifdef HAVE_EEZE_MOUNT
|
||||
|
|
|
@ -16,6 +16,8 @@
|
|||
extern Ecore_Ipc_Server *_e_fm_ipc_server;
|
||||
extern int efm_log_dom;
|
||||
|
||||
void _e_fm_main_catch(unsigned int val);
|
||||
|
||||
#define E_FM_MOUNT_TIMEOUT 30.0
|
||||
#define E_FM_UNMOUNT_TIMEOUT 60.0
|
||||
#define E_FM_EJECT_TIMEOUT 15.0
|
||||
|
|
|
@ -617,8 +617,14 @@ _scanner_del(void *data, int type __UNUSED__, Ecore_Exe_Event_Del *ev)
|
|||
if (data != ecore_exe_data_get(ev->exe)) return ECORE_CALLBACK_PASS_ON;
|
||||
if (!svr)
|
||||
{
|
||||
INF("scanner connection dead, exiting");
|
||||
exit(1);
|
||||
const char *str = "blame cedric";
|
||||
|
||||
if (ev->exit_code == 1)
|
||||
str = "unable to allocate memory";
|
||||
else if (ev->exit_code == 2)
|
||||
str = "unable to create local socket; check \"/$TMPDIR/.ecore_service/\" for stale files";
|
||||
INF("scanner connection dead (%s), exiting", str);
|
||||
_e_fm_main_catch(EFM_MODE_USING_RASTER_MOUNT);
|
||||
}
|
||||
INF("lost connection to scanner");
|
||||
scanner = NULL;
|
||||
|
@ -661,13 +667,19 @@ _scanner_write(const void *eet_data __UNUSED__, size_t size __UNUSED__, void *us
|
|||
static void
|
||||
_scanner_run(void)
|
||||
{
|
||||
static int count;
|
||||
|
||||
scanner = ecore_exe_pipe_run("eeze_scanner", ECORE_EXE_NOT_LEADER, pfx);
|
||||
if (!scanner)
|
||||
if (++count == 3)
|
||||
_e_fm_main_catch(EFM_MODE_USING_RASTER_MOUNT);
|
||||
}
|
||||
|
||||
|
||||
static Eina_Bool
|
||||
_scanner_con(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Server_Del *ev __UNUSED__)
|
||||
{
|
||||
_e_fm_main_catch(EFM_MODE_USING_EEZE_MOUNT);
|
||||
INF("Scanner connected");
|
||||
es_con = eet_connection_new(_scanner_read, _scanner_write, NULL);
|
||||
return ECORE_CALLBACK_RENEW;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -113,6 +113,8 @@ static int _e_fm_op_destroy_atom(E_Fm_Op_Task *task);
|
|||
static void _e_fm_op_random_buf(char *buf, ssize_t len);
|
||||
static void _e_fm_op_random_char(char *buf, size_t len);
|
||||
|
||||
static int _e_fm_op_make_copy_name(const char *abs, char *buf, size_t buf_size);
|
||||
|
||||
Eina_List *_e_fm_op_work_queue = NULL, *_e_fm_op_scan_queue = NULL;
|
||||
Ecore_Idler *_e_fm_op_work_idler_p = NULL, *_e_fm_op_scan_idler_p = NULL;
|
||||
|
||||
|
@ -168,7 +170,6 @@ main(int argc, char **argv)
|
|||
E_Fm_Op_Type type;
|
||||
|
||||
ecore_init();
|
||||
eina_init();
|
||||
|
||||
_e_fm_op_stdin_buffer = malloc(READBUFSIZE);
|
||||
if (!_e_fm_op_stdin_buffer) return 0;
|
||||
|
@ -239,17 +240,40 @@ main(int argc, char **argv)
|
|||
{
|
||||
const char *name;
|
||||
size_t name_len;
|
||||
char *dir;
|
||||
int r;
|
||||
Eina_Bool make_copy;
|
||||
|
||||
/* Don't move a dir into itself */
|
||||
if (ecore_file_is_dir(argv[i]) &&
|
||||
(strcmp(argv[i], p2) == 0))
|
||||
goto skip_arg;
|
||||
|
||||
make_copy = EINA_FALSE;
|
||||
/* Don't move/rename/symlink into same directory
|
||||
* in case of copy, make copy name automatically */
|
||||
dir = ecore_file_dir_get(argv[i]);
|
||||
if (dir)
|
||||
{
|
||||
r = (strcmp(dir, p2) == 0);
|
||||
E_FREE(dir);
|
||||
if (r)
|
||||
{
|
||||
if (type == E_FM_OP_COPY) make_copy = EINA_TRUE;
|
||||
else goto skip_arg;
|
||||
}
|
||||
}
|
||||
|
||||
name = ecore_file_file_get(argv[i]);
|
||||
if (!name) goto skip_arg;
|
||||
name_len = strlen(name);
|
||||
if (p2_len + name_len >= PATH_MAX) goto skip_arg;
|
||||
memcpy(p3, name, name_len + 1);
|
||||
if (make_copy)
|
||||
{
|
||||
if (_e_fm_op_make_copy_name(buf, p3, PATH_MAX - p2_len - 1))
|
||||
goto skip_arg;
|
||||
}
|
||||
|
||||
if ((type == E_FM_OP_SYMLINK) &&
|
||||
(symlink(argv[i], buf) == 0))
|
||||
|
@ -404,7 +428,6 @@ skip_arg:
|
|||
ecore_main_loop_begin();
|
||||
|
||||
quit:
|
||||
eina_shutdown();
|
||||
ecore_shutdown();
|
||||
|
||||
E_FREE(_e_fm_op_stdin_buffer);
|
||||
|
@ -1752,7 +1775,7 @@ _e_fm_op_destroy_atom(E_Fm_Op_Task *task)
|
|||
|
||||
if (task->passes == NB_PASS)
|
||||
goto finish;
|
||||
if (lseek(fd, SEEK_SET, 0) == -1)
|
||||
if (lseek(fd, 0, SEEK_SET) == -1)
|
||||
goto finish;
|
||||
|
||||
task->pos = 0;
|
||||
|
@ -1803,3 +1826,41 @@ _e_fm_op_random_char(char *buf, size_t len)
|
|||
buf[i] = (rand() % 256) + 'a';
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
_e_fm_op_make_copy_name(const char *abs, char *buf, size_t buf_size)
|
||||
{
|
||||
size_t name_len;
|
||||
size_t file_len;
|
||||
char *name;
|
||||
char *ext;
|
||||
char *copy_str;
|
||||
|
||||
if (!ecore_file_exists(abs))
|
||||
return 0;
|
||||
|
||||
file_len = strlen(buf);
|
||||
|
||||
/* TODO: need to make a policy regarding copy postfix:
|
||||
* currently attach " (copy)" continuasly
|
||||
*
|
||||
* TODO: i18n */
|
||||
copy_str = "(copy)";
|
||||
if (strlen(copy_str) + file_len + 1 >= buf_size) return 1;
|
||||
|
||||
name = ecore_file_strip_ext(buf);
|
||||
name_len = strlen(name);
|
||||
E_FREE(name);
|
||||
|
||||
if (file_len == name_len) ext = NULL;
|
||||
else ext = strdup(buf + name_len);
|
||||
|
||||
if (ext)
|
||||
{
|
||||
sprintf(buf + name_len, " %s%s", copy_str, ext);
|
||||
E_FREE(ext);
|
||||
}
|
||||
else sprintf(buf + name_len, " %s", copy_str);
|
||||
|
||||
return _e_fm_op_make_copy_name(abs, buf, buf_size);
|
||||
}
|
||||
|
|
|
@ -53,7 +53,8 @@ typedef enum _E_Fm_Op_Type
|
|||
E_FM_OP_EJECT_ERROR,
|
||||
E_FM_OP_SECURE_REMOVE,
|
||||
E_FM_OP_DESTROY,
|
||||
E_FM_OP_VOLUME_LIST_DONE
|
||||
E_FM_OP_VOLUME_LIST_DONE,
|
||||
E_FM_OP_INIT
|
||||
} E_Fm_Op_Type;
|
||||
|
||||
#else
|
||||
|
|
|
@ -30,7 +30,8 @@ e_focus_event_mouse_in(E_Border *bd)
|
|||
if ((e_config->focus_policy == E_FOCUS_MOUSE) ||
|
||||
(e_config->focus_policy == E_FOCUS_SLOPPY))
|
||||
{
|
||||
e_border_focus_set(bd, 1, 1);
|
||||
if (bd != e_border_focused_get())
|
||||
e_border_focus_set(bd, 1, 1);
|
||||
}
|
||||
if (bd->raise_timer) ecore_timer_del(bd->raise_timer);
|
||||
bd->raise_timer = NULL;
|
||||
|
@ -54,52 +55,29 @@ e_focus_event_mouse_out(E_Border *bd)
|
|||
{
|
||||
if (e_config->focus_policy == E_FOCUS_MOUSE)
|
||||
{
|
||||
/* FIXME: this is such a hack. its a big hack around x's async events
|
||||
* as we dont know always exactly what action causes what event
|
||||
* so by waiting more than 0.2 secs before reverting focus to nothing
|
||||
* since we entered root, we are ignoring mouse in's on the root
|
||||
* container for a bit after the mosue may have entered it
|
||||
*/
|
||||
if ((ecore_loop_time_get() - e_grabinput_last_focus_time_get()) > 0.2)
|
||||
if (!bd->lock_focus_in)
|
||||
{
|
||||
if (!bd->lock_focus_in)
|
||||
{
|
||||
if (bd->focused)
|
||||
e_border_focus_set(bd, 0, 1);
|
||||
}
|
||||
if (bd->focused)
|
||||
e_border_focus_set(bd, 0, 1);
|
||||
}
|
||||
}
|
||||
if (bd->raise_timer)
|
||||
{
|
||||
ecore_timer_del(bd->raise_timer);
|
||||
bd->raise_timer = NULL;
|
||||
}
|
||||
if (bd->raise_timer) ecore_timer_del(bd->raise_timer);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
e_focus_event_mouse_down(E_Border *bd)
|
||||
{
|
||||
if (e_config->focus_policy == E_FOCUS_CLICK)
|
||||
if (!bd->focused)
|
||||
{
|
||||
e_border_focus_set(bd, 1, 1);
|
||||
|
||||
if (!bd->lock_user_stacking)
|
||||
{
|
||||
if (e_config->border_raise_on_focus)
|
||||
e_border_raise(bd);
|
||||
}
|
||||
if (e_border_focus_policy_click(bd))
|
||||
e_border_focus_set(bd, 1, 1);
|
||||
else if (e_config->always_click_to_focus)
|
||||
e_border_focus_set(bd, 1, 1);
|
||||
}
|
||||
else if (e_config->always_click_to_raise)
|
||||
if (e_config->always_click_to_raise)
|
||||
{
|
||||
if (!bd->lock_user_stacking)
|
||||
{
|
||||
if (e_config->border_raise_on_focus)
|
||||
e_border_raise(bd);
|
||||
}
|
||||
}
|
||||
else if (e_config->always_click_to_focus)
|
||||
{
|
||||
e_border_focus_set(bd, 1, 1);
|
||||
e_border_raise(bd);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -111,7 +89,7 @@ e_focus_event_mouse_up(E_Border *bd __UNUSED__)
|
|||
EAPI void
|
||||
e_focus_event_focus_in(E_Border *bd)
|
||||
{
|
||||
if ((e_config->focus_policy == E_FOCUS_CLICK) &&
|
||||
if ((e_border_focus_policy_click(bd)) &&
|
||||
(!e_config->always_click_to_raise) &&
|
||||
(!e_config->always_click_to_focus))
|
||||
{
|
||||
|
@ -125,12 +103,17 @@ e_focus_event_focus_in(E_Border *bd)
|
|||
e_bindings_wheel_grab(E_BINDING_CONTEXT_WINDOW, bd->win);
|
||||
bd->button_grabbed = 0;
|
||||
}
|
||||
if (!bd->lock_user_stacking)
|
||||
{
|
||||
if (e_config->border_raise_on_focus)
|
||||
e_border_raise(bd);
|
||||
}
|
||||
}
|
||||
|
||||
EAPI void
|
||||
e_focus_event_focus_out(E_Border *bd)
|
||||
{
|
||||
if ((e_config->focus_policy == E_FOCUS_CLICK) &&
|
||||
if ((e_border_focus_policy_click(bd)) &&
|
||||
(!e_config->always_click_to_raise) &&
|
||||
(!e_config->always_click_to_focus))
|
||||
{
|
||||
|
@ -154,7 +137,7 @@ e_focus_event_focus_out(E_Border *bd)
|
|||
EAPI void
|
||||
e_focus_setup(E_Border *bd)
|
||||
{
|
||||
if ((e_config->focus_policy == E_FOCUS_CLICK) ||
|
||||
if ((e_border_focus_policy_click(bd)) ||
|
||||
(e_config->always_click_to_raise) ||
|
||||
(e_config->always_click_to_focus))
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -13,7 +13,7 @@ _e_grab_dialog_key_handler(void *data, int type __UNUSED__, Ecore_Event_Key *ev)
|
|||
E_Grab_Dialog *eg = data;
|
||||
|
||||
if (ev->window != eg->grab_win) return ECORE_CALLBACK_RENEW;
|
||||
if (!strcmp(ev->keyname, "Escape") &&
|
||||
if (!strcmp(ev->key, "Escape") &&
|
||||
!(ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT) &&
|
||||
!(ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) &&
|
||||
!(ev->modifiers & ECORE_EVENT_MODIFIER_ALT) &&
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue