1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945

Release 0.21.0: --------------------- Highlights: * Greatly improved Wayland support * New gadget infrastructure * Wizard improvements * Video backgrounds Andy Williams (2): Set the fdo theme to Elementary as well Only set the icon theme in elm on change Carsten Haitzler (36): e backlight - avoid seg when comp is shut down and backlight updated e comp - set e_comp to null on shutdown so others dont access junk e zone - handle null e_comp if comp is already shut down e randr - feature fix that allows config to jump to specific screen e exec - fix missing ref and unref for instance event e randr - fix silent free of data behind randr's back e comp randr support - fix leak of randr info e randr2 - remove auto-clone and now make randr dialog come up instead e randr - slicken up fade to use sinusoidal interpolation e randr - fix leak of modes list in randr code e - fix using an invalid icon theme - fall back to hicolor if not exists e - fix leak added by previous fix for icon theme e randr2 - provide lookup funcs for screen and dpi randr - improve header indenting per-desk profiles - move to per screen and use elm derived profiles e logs - the custom e log func breaks eina backtraces, so don't use it e randr - fix randr dialog to do restore right again e comp: fix crashes on exit/restart when e_comp is NULL e - video bgs - allow selection of video files for wallpapers e - bgpreview widget - fix sizing of normal wallpapers after video add e bg: remove debug printf Revert "e bg: remove debug printf" e - restart window positioning - fix it e po: add completeness lister script into po dir e - efm: fix op registry listener add and dont use eina_error e xkbswitch: don't free layouts that are just pointed to in instances e mod: cpufreq - handle the case where cpu has zero freqs - dont crash e icons: reduce mem usage (in x11) by a fair bit by de-duplicating e intl - fix string buffer length size e intel - fix number 2 e - wireless module - remove horrible memcpy with offsetof magic e - e_start - update mtrack to use new debug mode for hunting bugs e syscon - dont show syscon if desklock is up - you can't respond warnings - silence some theoreitcal wranings in build e start - no it doesny need dbus-launch e - suspend.hibernat intelligently - dont account for ac power Chris Michael (54): Make configure check for Ecore_Wl2 library include header for Ecore_Wl2 remove unused event loop and add external Ecore_Wl2_Display variable port wayland compositor to use Ecore_Wl2 port e_grabinput to use Ecore_Wl2 port e_scale to use Ecore_Wl2 Port shot module to use ecore_wl2 library Fix formatting of wl_weekeyboard module Don't leak eina_iterator in shot module Port wl_weekeyboard to use Ecore_Wl2 library Port wl_fb module to use Ecore_Wl2 Library Fix formatting Fix formatting Try to init (and error check the init) of ecore_wl2 library before we create a compositor Fix using global ewd variable by making it part of e_comp_wl disable building wl_wl module for now Add function to clear and reload keyboard modifiers Fix type of size fields for E_Shell_Data Add missing function prototype for e_winlist_direction_select Fix xbl_avail variable being used when it could be undefined Fix issue of nested compositors not working with Ecore_Wl2 library Reenable building wl_wl module Update wl_weekeyboard for ecore_evas_wayland_window_get2 function rename Update dependencies for enlightenment_alert binary Port e_alert to implement WBOD for drm/wayland Fix build break for non-wayland builds Fix issue of compositor surface create passing wrong parameter to e_pixmap_new function Fix issue of using the wrong id when finding pixmap client fix compiler warning about comparison between signed and unsigned ints check siginfo si_code to verify that SIGUSR2 comes from user add missing EINA_UNUSED for _xkb_changed_state function update mailmap addresses update mailmap addresses Add support for configuring output rotations wrap 1.18 drm rotation functions around #ifdefs correctly wrap 1.18 API function calls only specify sw, sh, fh variables if we intend on using them don't define variables that we are not going to use add prototype functions for missing wl_data_offer interface add prototype function for missing wl_seat interface don't call deprecated ecore_drm_fb_set function when displaying drm alert box add prototype functions for missing wl_data_source interface don't have to hook the ecore_evas resize callback here as that should be handled by elm now make e_alert WBOD work in X11 even when built with wayland support destroy seat resource when we get a release request add EINA_UNUSED for unused function parameter Reverting this commit to handle a better way add #else to #if 0'd block in order to avoid compiler warning about unused variable. disable option for mouse to use Application theme if we are running in Wayland stop filling logs with buffer transform/scale spam remove unused variables in _dmabuf_add function change 'if' clause to make gcc-6 happy add checks for building with Ecore_Drm2 support port enlightenment to use drm2 Dave Andreoli (1): enlightenment_open: correctly return the exist status code of the executed command Derek Foreman (46): emix: Rename parameter bool to mute wayland: Add support for wl_surface.damage_buffer Remove inappropriate usage of %m Ensure wayland clients haven't been deleted when processing callbacks Initialize pointer before calling e_bindings_mouse_button_find() Remove wayland frame callbacks from subsurface cache on destruction Initialize pointer before passing to e_wheel_bindings_find() Fix xdg-shell destructors Protect the wayland frame callback list from corruption Use eina_list_merge instead of eina_list_move for wayland lists Move pixmap free to client free from client destroy Bump wayland version requirement Remove wayland focus timer in delete callback Add a NULL check in native_surface_init under wayland Render deleted objects as long as they still have a pixmap Track whether objects are on the post_updates list or not Take an extra reference on wayland clients Don't allow deleted wayland clients to set the cursor Track whether a render is in progress or not Rework wayland buffer handling Remove wayland buffer reference Re-enable window close animations for wayland Stop copying all wayland buffers Don't use e_pixmap_image_data_argb_convert for wayland images Remove argb_convert for wayland buffers Fix wayland hide for internal windows Fix internal window borders on 32-bit computers Free pixel data after taking a wayland screen shot wayland: Don't leak a clipboard source if adding fd handler fails wayland: Stop E from consuming all CPU as soon as a selection is made xwayland: Don't leak memory on dnd read failure wayland: Fix xdg-popup crash Clean up some header inclusion Remove unwanted debug detritus from last commit wayland: Bump ecore-wl2 dependency to 1.17.99 wayland: Fix crash when attempting to create surfaces for deleted clients Add e_pixmap API for testing if a pixmap is a native surface Break native surface test criteria into explicit wayland and X cases Move the test for resetting no native surface to after caps checks Remove GL presence test from native surface set on dirty objects Track parent compositor dmabuf capabilities on wayland on wayland Disable wayland dmabuf for the X11 backend Add DMABuf support for wayland clean up warnings in dmabuf code Fix dmabuf breakage of non wayland builds. Bump wayland version requirement to 1.11.0 Eduardo Lima (2): Bluez 5 WIP Eduardo Lima (Etrunko) (5): Update .gitignore Fix warnings about uninitialized use of variables Revert "Update .gitignore" Revert "WIP" Revert "Bluez 5" Gustavo Lima Chaves (1): e/quickaccess: Make "Skip window list" a quickaccess behavior option too. Hannes Janetzek (1): just a small patch to make sure evry_hide does not get called synchronously from an Evry_Action Jean-Philippe ANDRÉ (1): Fix spelling in .pc file JengHyun Kang (2): Set cached xkb context/keymap Add functionality for setting left handed mode in drm Lukasz Stanislawski (1): conf_apps: fix add/remove screen lock applications. Marcel Hollerbach (25): e_randr2: Add NULL check alsa: fix a valgrind warning mixer: only save state if not in init xdebug: add clouseau_start e_main: init e_xkb before e_comp e_xkb: implement keyboard setting on wayland. e_grabinput: do not pass a faulty time e_xkb: emit changed event if wayland keyboard has changed e_xkb: emit changed event if ECORE_X_EVENT_XKB_STATE_NOTIFY is emitted xkbswitch: enable module for wayland xkbswitch: change icon if E_EVENT_XKB_CHANGED is emitted e_comp_wl: only ignore ignored clients re-apply xkb layout groups whenever an xkb event occurs add skip event counter for xkb events e_xkb: refactor command creation code e_comp_wl: allow variants and options for keyboard settings e_xkb: configure model and a list of layouts variants and options to use wl: remove useless calls to e_comp_wl_input_keymap_set e_comp_wl: remove useless params from keymap_set e_comp_wl: let keymaps be set when compositor is not running e_xkb: init before e_comp_wl init e_xkb: use new_keyboard event to restore known layout mixer: try to fix a possible bug e_xkb: split up e_xkb_update e_xkb: reconfig when we have set a new set of layouts Massimo Maiurana (3): Updating italian translation Updating italian translation Updating italian translation Michael Jennings (1): enlightenment.spec.in: Update spec file to work with current Git. Mike Blumenkrantz (467): unset release mode bump version add config option for allowing sticky windows to receive focus reverts use client geometry for calculations in x11 ConfigureRequest handler reshuffle all notifications on a notification merge disable redirection toggling for the nocomp client call ecore_wl2_init() during compositor init create wl client connection during compositor init, use in shot module fix wl-x11 make/install rules to not include nonexistent DATA files enforce wayland subsurface stacking order when parent surface is restacked apply already-committed wayland subsurface positioning after parent surface move init ecore-x during wl-x11 init to ensure DISPLAY is set move comp canvas resize callback to monitor elm win geometry do not apply x11 randr iface in wl-x11 if running nested in x11 add wayland shell private data for managing shell-specific data do not drop subsurface buffer early after commit from cache make e_comp_wl_surface_attach static and take a surface state set wayland new client focus based on accepts_focus and !override use canvas RENDER_PRE callback to trigger compositor pre-render callbacks do not reapply x11 icccm state during fetch never set withdrawn state on x11 clients use current box geometry for calculating desktop ibar/ibox sizing simplify e_mouse_update() code for x11 compositors only show x11 clients during MapNotify/Request if they have Normal state show non-new x11 clients immediately when changing Withdrawn -> Normal ignore withdrawn state for x11 override clients during show add E_BINDING_CONTEXT_LAST as sentinal enum value call ecore_wl2_shutdown() in wl compositor delete callback block input devices from backlight list unpopulate all gadcons during shutdown add shelf callback for hidden state and trigger extra hide-on-show if hiding un-defer comp util object hiding if second hide occurs during animation add special case for frame adjustment during first recalc of new clients test given coordinates in smart window placement algorithm bump modapi to 18 define EFL_BETA_API_SUPPORT explicitly in e.h if wayland support is enabled remove defines for various beta api in other places remove wayland function usage from grabinput methods simplify and clarify winlist directional selection action code break out comp util object type setting into separate function add back comp object data from typo in previous commit... check all corners of an object in e_comp_object_util_zone_get() Revert "e logs - the custom e log func breaks eina backtraces, so don't use it" disable custom logging when eina backtrace is active select mixer popup sink after popup has been fully initialized optimize zoomap recalc during recursion make ibar config pointer EINTERN do full cleanup when overriding existing comp autoclose object remove configs for illume modules allow NULL object in e_comp_object_util_autoclose() improve menu hiding and autoclose make e_desk_at_xy_get() const make E_DESK_TYPE an int define implement zone obstacles for calculating useful geometry update shelf obstacles on move/resize use zone obstacles for window placement during shelf coverage calcs enforce border_fix_on_shelf_toggle config option in shelf unify a large portion of repeated code in e_place use zone obstacles when generating list of obstacles in smart place only recalc shelf obstacles on desk count change if shelf uses desk_show_mode update existing shelf obstacle geometries on shelf move/resize set zone-based name on lokker comp objects add function for creating a demo version of the lockscreen apply zone coords when calculating zone useful geometry create comp object updates tiler in helper function from either show or damage do not unset comp object native surface during shape apply unset WM_STATE for x11 clients upon unmapping them use 2/3 screen size for wl output (nested) compositor size if available, use wl output (nested) for wayland compositor creation use more correct defines for enabling wl output modules during comp init automatically attempt to create a wayland x11 output during comp init remove need_reparent, reparented, first_damage flags from wl client comp_data Revert "Fix issue of compositor surface create passing wrong parameter to" call xdg surface map when creating a surface for visible internal windows set want_focus for xdg popup surfaces on creation only do passthrough surface map on xwayland surfaces during commit more correctly handle evry mouse detection on wayland improve focus setting during wayland client show callback |= instead of = flag setting for want_focus during wayland surface commit remove WAYLAND_ONLY ifdefs from kbd layout change actions add function for wayland compositors to generate (fake) keyboard events add wayland-only mouse action for translating a button press to a key automatically mark wayland cursor surfaces as visible during set_cursor do not set focus in wayland client show callback for cursor clients always apply damages and input regions during wayland commit remove duplicate visibility setting blocks from wayland surface commit add render updates for cursor clients if damages exist during set_cursor reenable fallthrough surface (un)mapping for subsurfaces during commit remove _e_comp_wl_focus_down_set() track wayland client mouse button states as a full button mask enable surface visibility fallthrough for drag clients remove duplicate E_Config_XKB_Option config descriptors unify client mouse action ending allow instant client mouse actions to persist until mouse up use zone obstacles for resist calculations determine new_client state for xwayland clients using xwayland pixmap handle more mouse buttons in wayland allocate E_Shell_Data for all xdg surfaces (popups) add function for disabling mouse/key/wheel/signal bindings disable binding activation when grab dialog, menus, or dnd is active re-add MANAGER context bindings remove comp canvas key handler shortcuts for passing keys to wayland clients move wayland protocols and generated files into separate directories ship tiling module edj file move all wayland extension implementations into e_comp_wl_extensions.c defer screenshot action execution using a job disable bindings during wayland screenshot operations add macros for creating and binding wayland globals in extensions file do not attempt to create x11 canvas during xwayland init do not shortcut access of Efreet_Desktop->x hash in fileman add extra param to e_bindings_key_down_event_find() to return found binding disable shelf shadows if "noshadow" data item exists in shelf theme remove e_bindings_key_up_event_find, rename other one to e_bindings_key_event_find add edge binding event find function use event-finding functions to simplify key/edge binding handlers prefer specific context activation for bindings over generic context use desk obstacles for calculating desk-specific zone useful geometry fill zone obstacles on x/y axis during useful geometry recalc do not update keymap group in _e_comp_wl_input_keymap_update() update xkb.cur_group and send event upon serializing an EFFECTIVE layout in wl input add back binding key->keyname check in e_bindings_key_event_find() enable drm e_alert during configure only if drm support is enabled send mouse out+in on desk flip end compare key OR keyname in e_bindings_key_event_find() set child of zoomap as new content for comp util objects when changing type disable map when unsetting zoomap child ignore subsequent bindings with ANY context after finding a previous ANY binding add bool return for mouse-based E_Action callbacks remove efl version check macros in xwayland dnd handlers require efl 1.17 clamp minimum shelf size to 20px in shelf config check whether to reapply all callbacks for comp util objects when changing type remove debug printf from e_bg Revert "e - restart window positioning - fix it" do not perform special case position adjustment for re_manage clients add flag for zone obstacles to indicate verticality do not clamp comp object input regions to 0,0 improve enforcement of shelf autohide-related window adjustment return no binding found when trying to incrementally resolve end-of-list mousebinds reshuffle x11 comp init to cleanup on failure cases pre-remove pixmap from x11 clients during del hook add comp object util callback for closing on Escape key enable comp object image data refresh if a dirty call is made with no damages redo wayland pixmap ids to use monotonic decreasing ints with no collisions remove some unused variables fix bgpreview internals parenting make bgpreview create vdesk config dialog on mouse up instead of mouse down do not decrement e_comp->new_clients for non-new clients during _e_client_eval remove emotion_init/shutdown from e_video Revert "e comp: fix crashes on exit/restart when e_comp is NULL" add zoomaps unconditionally for all comp util objects setup comp util object zoomap before setting its child track/manage size hints for zoomap child objects update winlist ui when using directional window selection force changed when adding or removing keyboard layouts in config disable emotion_shutdown during shutdown procedure use strbufs instead of strcat in fwin navbars do not set XCURSOR_PATH variable if re-setting existing value remove security hole in e_start_main remove DISPLAY usage from E_IPC_SOCKET value remove multihead env var setting in e_exec strcpy -> strncpy in evry files plugin use strbuf instead of strcat in keybinding string synthesis use strbuf instead of strcat in edgebinding string synthesis use dblequal for double comparisons in edgebindings config replace static buffer usage with binbuf in e_fm_ipc prevent potential null deref during pager (plain) window drag remove unused value in config profile saving remove useless client_add handler in e_ipc use uint instead of int for eina_list_count() return in cpufreq (trivial) simplify static grab case statements remove ipc command allowing arbitrary command execution by the compositor simplify ipc socket creation remove impossible null check in color dialog do not add render updates during damage of deleted clients trigger elm config save during e config save don't directly use image data when creating a comp object mirror trigger mouse binding end callbacks on mouse up add a namespaced version of efx add new gadget system add bryces: new shelf replacement add new start gadget add new wireless module/gadget add new time module with clock gadgets add button to desklock config dialog for configuring gadgets bump config version, add mouse/wheel bindings for manipulating gadgets/bryces add bryce editor to Desktop item in main menu require >= efl 1.17.1 for gadget theme stuff delete gadget display object during object deletion stack time gadget popups on POPUP layer Revert "send mouse out+in on desk flip end" reject x11 client mouse-in events on comp object based on frame geometry reverse ordering for x11 client mouse in NotifyVirtual and NotifyInferior details only use x11 mouse out event if client has received mouse in previously apply x11 mouse in event for clients using a job apply x11 focus/unfocus using jobs enforce accurate resizing/orienting when changing the location of a bryce add bryce autohide/size getters, pull related values into wizard manually calc bryce center-screen coords block re-unsetting of native surface for comp objects always run client res changes in e_comp_canvas_update() unify client e_hints window size setting in move/resize callbacks bump E_VERSION_MAJOR and modapi add window maximize animation fix xwayland compile with 1.18 eo remove show callback from evry win on deletion don't add render update during ignored damage on deleted clients flatten return of strcmp to bool value ensure string termination when using strncpy resolve harmless coverity reports in wireless module resolve harmless coverity reports in time module ensure pointer lifetimes when advancing efx effect queue check returned pixmap size before attempting to create updates tiler during bryce moveresize callback, return if no zone could be located run focus-out and mouse-out wayland client callbacks for deleted clients reject attempts to focus deleted comp objects make wayland client keyboard focus list pruning more robust remove library checks for a number of modules along with useless defines remove eldbus init/shutdown calls from the codebase handle wireless module existence in related wizard page redo wizard's gl testing mechanism redo wizard to use elm grab comp input on wizard start don't add render updates for deleted clients on failed resize be less pedantic during efx move/resize operations about object geometry use object position for efx resize anchoring when no move effect is active Revert "fix xwayland compile with 1.18 eo" break out xwl init/shutdown into static functions for reuse internally don't increment position coords twice during efx move operations always move objects during efx_resize if position is provided remove maximize_pre flag from wl client comp_data always send wl key releases if surface still exists calling dirty() on a comp object for a deleted client should not print an error remove direct references to ec->comp_data in x11 compositor add workaround for xwayland client bug unify client post_updates management code into single function improve time gadget screen positioning do not attempt to resize clients to 0x0 during res restore enforce bryce zone setting and clip setting unset solid drawing of opaque regions during comp object animations adjust wayland client coords by window_geometry during first surface commit add new wizard page to change default modifiers for global mouse bindings attempt to use left-aligned label text in wizard do not reset the wizard got_desktops flag when setting the default system lang set wizard page names, print to stderr every time a page is advanced fix stringshare usage in wizard language page (010) reduce wizard connman timeout timer to 0.5s disable wizard mouse binding page's next button if all modifiers are disabled unify maximize animation checks+code always update saved coords for maximized/fullscreen clients on csd geom update do not update client coords on csd geom update if it would change the zone add e_comp_object_agent_add() use agent objects for maximize effects ignore deleted clients when reapplying zone geometry policy in canvas update hide wl clients before deleting them when surface is destroyed remove wl selection hacks from f0ba92d39e1f6631974d53100dcbb4cc040a8241 use zone geometry when clamping evry gadget popup to gadget's screen store (internal) elm win geometry when set prior to showing the win ignore xwayland clients in wl client delete request callback extend wl extension macros to store globals into extension data cast eina_list_count() in flowlayout, not entire expression unset opaque region during comp object render if none exists avoid null deref in during pager_plain dnd use eina_streq for e_util_binding_match() comparisons use snprintf for string handling in batget rework systray theme applying code use snprintf for string handling in batget remove lots of impossible null checks from pager move callback optimize compositor canvas updating when zone geometry is marked dirty send resize edges to wl clients on resize start and end feed mouse-up events for all buttons on internal wins when activating a binding do not set initial changed state for new clients if they are ignored redo wayland client unignore mechanism do not add deleted clients to tasks gadgets remove deleted clients from tasks client list during repop use canvas pointer coords in systray mouse cb ignore x11 ConfigureRequest events when maximize_override is set add even more systray/dbusmenu hacks feed mouse out to internal clients upon activating a mouse binding selectively reject comp object signal emissions based on action_client state move notification text escaping into dbus notify method callback track offline/presentation mode notification ids and replace on toggle reshuffle notifications on replace remove old compositor reset code don't show some x11-specific compositor settings under wayland force keyboard modifier update on wl client focus-in block wl keyboard modifier updating during input grabs explicitly manage client focus when setting/unsetting input grabs optimize case where an x11 client is focused/unfocused in same loop iteration remove wl xdg popup new_client stuff from get_popup method allow some client zone/desk move actions to occur on action client only attempt to rescue offscreen clients if they are completely offscreen apply compositor keybinds if an action client that is not focus exists do not reset previously-set ec->placed state when attempting early client moves set destructor for xdg popups when setting implementation enforce wl xdg popup stacking relative to parent stacking don't set wl xdg popups to POPUP layer, set popups as placed on creation remove clamping for wl xdg popup configures implement www wayland extension handling for clients reapply client focus after input grab, only handle focus for wayland compositors move x11 client icon caching to private functions in comp_x set ELM_ACCEL=gl upon successfully creating a gl wayland compositor do not incrementally remaximize clients during shelf hide animation restrict shelf border_fix to only affect clients affected by the shelf delete internal wayland elm windows in wl client delete request callback use zone geometry for shelf zone obstacles add back CTRL to keybindings editor display remove video child references from wl compositor wl popup surfaces should not receive focus on show if parent is not focused always set ec->maximize_override on unmaximize if maximize anims are enabled set maximizing flag during maximize resizing for wl clients send fake www data during maximize print xwayland exe path in debug logs don't print xwayland path twice... disable xwayland module if exe cannot be found during configure set ELM_ACCEL=gl upon successfully creating a gl wayland compositor reject client maximize attempts using identical maximize params set WAYLAND_DEBUG=0 during wl compositor init do not send shell configures for deleted wl clients redo xdg shell to enforce double buffering of client-side configure serials add E_Client->saved.frame to handle mismatched csd states wayland client maximize/fullscreen cleanups Revert "add E_Client->saved.frame to handle mismatched csd states" do not unconditionally update position+size when changing wl client csd geometry move buffered maximize/fullscreen for wl clients to occur before csd update don't send duplicate configure to wayland clients during unfullscreen only apply buffered wl client maximize during configure if client is not maximized directly include e.h in efm device backends make e_client_has_xwindow() more wayland-only friendly change client un/maximize_pre callback location to occur after safety checks do not update client saved states during maximize if client is animating break out client maximize/unmaximize calc functions into preview functions make a number of client functions take const E_Client* add E_Client->maximize_anims_disabled to selectively disable maximize anims do not sent wl *shell configures from resize callback during maximize do not force wl client state update (configure) on (un)maximize done cb improve behavior of wl client buffered state changes during commits disable maximize anims for www-compatible wl surfaces make (un)maximize_pre callbacks capable of rejecting the maximize operation buffer server-side (un)maximize commands to ensure synchronization in wayland simplify maximize animation re:maximize_override unsetting on no-animate track client maximize animation agents, delete upon beginning new animation bump modapi Revert "do not update client saved states during maximize if client is animating" ignore maximized+fullscreen windows when placing new clients fake client-side geometry during wl (un)maximize interception add E_Client->saved.frame to handle mismatched csd states bump modapi handle maximize_anims_disabled for client-side maximize toggles ensure that wl keymap is initialized, even if no configuration exists xkb compiler warns-- reduce efl version req to 1.17.0, make new gadget stuff 1.7.99+ at runtime redo e_place_desk_region_smart() to handle multiple screens Revert "mixer: try to fix a possible bug" update README.wayland known issues list add NEWS from 20.1-6 releases 21.0-alpha release 0.21.0-alpha NEWS updates unset release mode allow mixer volume increase actions to exceed 100% do not perform x11 mouse/wheel grabs for ANY binding contexts reject xwayland clients in wl client resize handlers make startup/restart app exec timing protocol-specific trivial wl shell module cleanups redo wl (xdg)shell surface ping add copyright headers (MIT) from weston to e_comp_wl_data update wl dnd/clipboard support to v3 of protocol apply formatting rules to e_comp_wl_data.c more accurately reject wl selection setting based on whether serial is invalid do not perform input ungrab twice during dnd end in wayland always update wl dnd offer actions only update wl dnd actions when applying focus ensure that wl clients do not run extra render on hide twice unify client filtering checks from e_place_desk_region_smart() do not attempt to show x11 override windows don't force full damage on x11 override clients don't defer resizes+queue render updates for shapeless or pending shaped clients ensure damages do not get added for shapeless x11 clients remove unnecessary conditional in e_comp_object_render() slightly simplify image data setting in e_comp_object_render() set NULL image pixel data during x11 render when no damages exist ensure resize is still deferred for changes.shape clients during failed resize do not show unsized comp objects during theme apply set NULL image data in _e_comp_object_pixels_get() on failure only set "dialog" border for transient clients if window type is unset do not revert client focus except for normal and dialog windows remove some X references in settings dialogs Revert "do not revert client focus except for normal and dialog windows" treat POPUP_MENU window type as an override window for comp theme matching always end drag operations on failure remove explicit edje_init/shutdown calls ensure evry gadget popups effectively clamp to their zones protect xdg-shell functions from accessing deleted client data move wayland surface E_Client del check to a place where it's more useful distribute all weekeyboard edj files handle recursion more effectively in e_menu_hide_all() 21.0-beta release 0.21.0-beta NEWS updates unset release mode Revert "handle recursion more effectively in e_menu_hide_all()" apply xdg-shell activated state based on popup surface focus hierarchy feed mouse up events to internal wins before mouse out during action exec ensure that the startup apps cache handler has run before trying to start apps directly load extra wl modules during compositor init further optimize window smart placement by reducing obstacle calcs don't refocus deleted clients during wl compositor grab ensure lifetime for wl client focus timer hide evry on focus-out don't revert focus to desktop fileman during compositor grab evry null deref uninitialized vars in e_client_maximize_geometry_get() bad copy/paste in _e_place_desk_region_smart_obstacle_add() implement wl client session recovery add configure flag for xwayland binary clean up mixer includes unset DISPLAY during mixer's pulse backend startup ensure xwayland module init does not fail due to early startup add SA_NOCLDWAIT to SIGCHLD flags when xwayland module loads flag wl surfaces as internal during create() based on pid matching update README.wayland prune uuid remembers on clean startup make init fail if a dbus session connection cannot be created update README.wayland to include dbus-launch do not add ignored clients to ibar menu manage pending state list more effectively in wl shell ensure child windows are placed on screen disable focus effects for windows with csd block keyboard sending for wl clients if a compositor grab is active only load wayland-specific modules on startup if they have been built handle positioning of x11 overrides with csd accurately Revert "add SA_NOCLDWAIT to SIGCHLD flags when xwayland module loads" change efm icon entry to only toggle focus in x11 compositors (runtime) toggle compositor canvas focus during init fix usage of e_object_unref in xkbswitch when managing new kbd dialog also check pixmap argb state when setting comp object alpha enforce setting alpha on comp objects only after image data has been set ensure int64_t is used in all cases for wl pixmap ids remove some cruft from _e_comp_wl_client_cb_new() set E_Client->override flag for internal wins as needed use window id for internal window pixmaps again on wayland avoid infinitely looping when applying x11 window grouping only check pixmap argb state for non-X11 clients use parent windows for x11 binding grabs adjust some client eval parts to make manual placement work again force cursor placement to obey useful zone geometry ensure that client eval correctly handles retries on visibility-pending clients prevent double emission of E_EVENT_CLIENT_SHOW more tweaks for manual window placement in client eval allow building shot+xkbswitch modules without ecore-x remove pulse sinks/sources from list before running cbs which access the list fix e_place_zone_region_smart_cleanup() eo_del -> eo_unref in xwayland add client util function for detecting popups, block popups in ibar/tasks upgrade teamwork module to use teamwork v2: teamwork++ use correct indexing for x11 teamwork server atom array update README.wayland to include xwayland crash bug update client remember on opacity change use current zone for shelf config dialog set x11 maximized window hint correctly on resize end delete x11 mouse-in job when hiding the job's client use current zone when activating a client's menu with the mouse handle shaded state when receiving x11 configure requests Revert "eo_del -> eo_unref in xwayland" protect against crash when deleting wl session recovery remember only block mouse-out callback for wl action clients if the mouse is grabbed unset comp_grabbed flag before action client compositor ungrab force mouse-in again during comp ungrab if client previously had mouse-in Seunghun Lee (1): configure.ac: Remove ecore-x from wayland only build. Shuhrat Dehkanov (1): xkbswitch: establish parent/child relationship Simon Lees (1): Set QT_QPA_PLATFORM theme to gtk2 Stefan Schmidt (4): modules/geolocation: Update xml protocol spec to match the 2.2.0 release modules/geolocation: Add support for new speed and heading properties modules/geolocation: fix indent not following E coding style e_comp_wl: follow wayland session recovery namning change from efl. Thiep Ha (1): po: add Vietnamese translation Toan Pham (1): enhance winlist next window selection Tom Hacohen (1): Tiling: tile windows with "Static" gravity. Yomi (1): Update copyright year. Release 0.20.6: --------------------- Carsten Haitzler (2): e - efm: fix op registry listener add and dont use eina_error e xkbswitch: don't free layouts that are just pointed to in instances Chris Michael (6): update mailmap addresses update mailmap addresses add prototype functions for missing wl_data_offer interface add prototype function for missing wl_seat interface add prototype functions for missing wl_data_source interface don't have to hook the ecore_evas resize callback here as that should be handled by elm now Derek Foreman (20): Ensure wayland clients haven't been deleted when processing callbacks Remove wayland frame callbacks from subsurface cache on destruction Fix xdg-shell destructors Protect the wayland frame callback list from corruption Use eina_list_merge instead of eina_list_move for wayland lists Move pixmap free to client free from client destroy Bump wayland version requirement Remove wayland focus timer in delete callback Add a NULL check in native_surface_init under wayland Render deleted objects as long as they still have a pixmap Track whether objects are on the post_updates list or not Take an extra reference on wayland clients Don't allow deleted wayland clients to set the cursor Track whether a render is in progress or not Rework wayland buffer handling Remove wayland buffer reference Re-enable window close animations for wayland Stop copying all wayland buffers Don't use e_pixmap_image_data_argb_convert for wayland images Remove argb_convert for wayland buffers Mike Blumenkrantz (42): clamp minimum shelf size to 20px in shelf config do not perform special case position adjustment for re_manage clients do not clamp comp object input regions to 0,0 improve enforcement of shelf autohide-related window adjustment reshuffle x11 comp init to cleanup on failure cases pre-remove pixmap from x11 clients during del hook enable comp object image data refresh if a dirty call is made with no damages redo wayland pixmap ids to use monotonic decreasing ints with no collisions remove some unused variables make bgpreview create vdesk config dialog on mouse up instead of mouse down do not decrement e_comp->new_clients for non-new clients during _e_client_eval update winlist ui when using directional window selection force changed when adding or removing keyboard layouts in config disable emotion_shutdown during shutdown procedure use strbufs instead of strcat in fwin navbars do not set XCURSOR_PATH variable if re-setting existing value remove security hole in e_start_main remove DISPLAY usage from E_IPC_SOCKET value remove multihead env var setting in e_exec strcpy -> strncpy in evry files plugin use strbuf instead of strcat in keybinding string synthesis use strbuf instead of strcat in edgebinding string synthesis use dblequal for double comparisons in edgebindings config replace static buffer usage with binbuf in e_fm_ipc prevent potential null deref during pager (plain) window drag remove unused value in config profile saving remove useless client_add handler in e_ipc use uint instead of int for eina_list_count() return in cpufreq (trivial) simplify static grab case statements remove ipc command allowing arbitrary command execution by the compositor simplify ipc socket creation remove impossible null check in color dialog do not add render updates during damage of deleted clients don't directly use image data when creating a comp object mirror Revert "send mouse out+in on desk flip end" reject x11 client mouse-in events on comp object based on frame geometry reverse ordering for x11 client mouse in NotifyVirtual and NotifyInferior details only use x11 mouse out event if client has received mouse in previously apply x11 mouse in event for clients using a job apply x11 focus/unfocus using jobs block re-unsetting of native surface for comp objects always run client res changes in e_comp_canvas_update() Release 0.20.5: --------------------- Mike Blumenkrantz (1): add back x11 window focusing Release 0.20.4: --------------------- Chris Michael (5): Fix type of size fields for E_Shell_Data Fix issue of nested compositors not working with Ecore_Wl2 library Update wl_weekeyboard for ecore_evas_wayland_window_get2 function rename Fix issue of using the wrong id when finding pixmap client check siginfo si_code to verify that SIGUSR2 comes from user Christopher Michael (14): Make configure check for Ecore_Wl2 library include header for Ecore_Wl2 remove unused event loop and add external Ecore_Wl2_Display variable port wayland compositor to use Ecore_Wl2 port e_scale to use Ecore_Wl2 Port shot module to use ecore_wl2 library Fix formatting of wl_weekeyboard module Don't leak eina_iterator in shot module Port wl_weekeyboard to use Ecore_Wl2 library Port wl_fb module to use Ecore_Wl2 Library Fix formatting Fix formatting Try to init (and error check the init) of ecore_wl2 library before we create a compositor Fix using global ewd variable by making it part of e_comp_wl Marcel Hollerbach (1): e_comp_wl: only ignore ignored clients Mike Blumenkrantz (37): call ecore_wl2_shutdown() in wl compositor delete callback create wl client connection during compositor init, use in shot module define EFL_BETA_API_SUPPORT explicitly in e.h if wayland support is enabled remove defines for various beta api in other places remove need_reparent, reparented, first_damage flags from wl client comp_data call xdg surface map when creating a surface for visible internal windows set want_focus for xdg popup surfaces on creation only do passthrough surface map on xwayland surfaces during commit more correctly handle evry mouse detection on wayland improve focus setting during wayland client show callback |= instead of = flag setting for want_focus during wayland surface commit automatically mark wayland cursor surfaces as visible during set_cursor do not set focus in wayland client show callback for cursor clients always apply damages and input regions during wayland commit remove duplicate visibility setting blocks from wayland surface commit add render updates for cursor clients if damages exist during set_cursor reenable fallthrough surface (un)mapping for subsurfaces during commit remove _e_comp_wl_focus_down_set() track wayland client mouse button states as a full button mask enable surface visibility fallthrough for drag clients unify client mouse action ending allow instant client mouse actions to persist until mouse up determine new_client state for xwayland clients using xwayland pixmap handle more mouse buttons in wayland allocate E_Shell_Data for all xdg surfaces (popups) add function for disabling mouse/key/wheel/signal bindings disable binding activation when grab dialog, menus, or dnd is active remove comp canvas key handler shortcuts for passing keys to wayland clients defer screenshot action execution using a job disable bindings during wayland screenshot operations do not attempt to create x11 canvas during xwayland init do not shortcut access of Efreet_Desktop->x hash in fileman disable shelf shadows if "noshadow" data item exists in shelf theme do not update keymap group in _e_comp_wl_input_keymap_update() update xkb.cur_group and send event upon serializing an EFFECTIVE layout in wl input send mouse out+in on desk flip end disable map when unsetting zoomap child Release 0.20.3: --------------------- Carsten Haitzler (1): e randr - fix randr dialog to do restore right again Chris Michael (1): Fix xbl_avail variable being used when it could be undefined Jean-Philippe ANDRÉ (1): Fix spelling in .pc file Marcel Hollerbach (1): e_grabinput: do not pass a faulty time Mike Blumenkrantz (26): block input devices from backlight list unpopulate all gadcons during shutdown add shelf callback for hidden state and trigger extra hide-on-show if hiding un-defer comp util object hiding if second hide occurs during animation add special case for frame adjustment during first recalc of new clients test given coordinates in smart window placement algorithm remove wayland function usage from grabinput methods simplify and clarify winlist directional selection action code check all corners of an object in e_comp_object_util_zone_get() disable custom logging when eina backtrace is active select mixer popup sink after popup has been fully initialized optimize zoomap recalc during recursion make ibar config pointer EINTERN do full cleanup when overriding existing comp autoclose object remove configs for illume modules allow NULL object in e_comp_object_util_autoclose() improve menu hiding and autoclose make E_DESK_TYPE an int define enforce border_fix_on_shelf_toggle config option in shelf create comp object updates tiler in helper function from either show or damage do not unset comp object native surface during shape apply unset WM_STATE for x11 clients upon unmapping them if available, use wl output (nested) for wayland compositor creation use more correct defines for enabling wl output modules during comp init automatically attempt to create a wayland x11 output during comp init 20.3 release Seunghun Lee (1): configure.ac: Remove ecore-x from wayland only build. Tom Hacohen (1): Tiling: tile windows with "Static" gravity. Yomi (1): Update copyright year. Release 0.20.2: --------------------- Chris Michael (1): Add missing function prototype for e_winlist_direction_select Derek Foreman (2): emix: Rename parameter bool to mute wayland: Add support for wl_surface.damage_buffer Marcel Hollerbach (2): alsa: fix a valgrind warning mixer: only save state if not in init Mike Blumenkrantz (4): simplify e_mouse_update() code for x11 compositors only show x11 clients during MapNotify/Request if they have Normal state show non-new x11 clients immediately when changing Withdrawn -> Normal ignore withdrawn state for x11 override clients during show Simon Lees (1): Set QT_QPA_PLATFORM theme to gtk2 Toan Pham (1): enhance winlist next window selection Release 0.20.1: --------------------- Carsten Haitzler (11): e backlight - avoid seg when comp is shut down and backlight updated e comp - set e_comp to null on shutdown so others dont access junk e zone - handle null e_comp if comp is already shut down e randr - feature fix that allows config to jump to specific screen e exec - fix missing ref and unref for instance event e randr - fix silent free of data behind randr's back e comp randr support - fix leak of randr info e randr2 - remove auto-clone and now make randr dialog come up instead e randr - fix leak of modes list in randr code e - fix using an invalid icon theme - fall back to hicolor if not exists e - fix leak added by previous fix for icon theme Lukasz Stanislawski (1): conf_apps: fix add/remove screen lock applications. Marcel Hollerbach (1): e_randr2: Add NULL check Massimo Maiurana (1): Updating italian translation Mike Blumenkrantz (17): use client geometry for calculations in x11 ConfigureRequest handler reshuffle all notifications on a notification merge disable redirection toggling for the nocomp client fix wl-x11 make/install rules to not include nonexistent DATA files enforce wayland subsurface stacking order when parent surface is restacked apply already-committed wayland subsurface positioning after parent surface move init ecore-x during wl-x11 init to ensure DISPLAY is set move comp canvas resize callback to monitor elm win geometry do not apply x11 randr iface in wl-x11 if running nested in x11 add wayland shell private data for managing shell-specific data do not drop subsurface buffer early after commit from cache make e_comp_wl_surface_attach static and take a surface state set wayland new client focus based on accepts_focus and !override use canvas RENDER_PRE callback to trigger compositor pre-render callbacks do not reapply x11 icccm state during fetch never set withdrawn state on x11 clients use current box geometry for calculating desktop ibar/ibox sizing Release 0.20.0: --------------------- Highlights: * Full Wayland support - See README.wayland * New screen management infrastructure and dialog * New audio mixer infrastructure and gadget * Many internal widgets replaced with Elementary - Improved Elementary support * Improved FreeBSD support * Geolocation module Amitesh Singh (3): md5: fix wrong sizeof argument (SIZEOF_MISMATCH) pulseaudio: pass big data as pass by reference e_flowlayout: typecast return value to int Bertrand Jacquin (1): MEDIUM: modules/shot: switch to https:// Boram Park (6): fix tty problem when enlightenment(drm-backend) is killed by SIGSEGV e_comp_wl: fix segfault in case parent's surface is destroyed before subsurface is destroyed e_comp_wl: fix not sending a mouse enter event to client. Creating wl_shm global object before creating other global objects wl_desktop_shell: return void should remove a frame resource from pending.frames list also Boris Faure (3): synchronize mailmap notification: don't segv if no zone found to place the popup update mailmap Brian 'morlenxus' Miculcy (2): mixer: Optionally select an external mixer application. enlightenment/conf: fix missing icons in settings panel Bryce Harrington (14): Code cleanup and check for OOM condition with wl_array_add cosmetic: Whitespace cleanup of wayland client files wayland: Refactor out common mouse handling code wayland: Whitespace cleanup wayland: Fix missing check on E_NEW return wayland: Eliminate extraneous E_COMP_WL_PIXMAP_CHECK macro wayland: Document the public API wayland: Refactor output initialization code wayland: Make sure we're initializing output scale sensibly wayland: Check for potential OOM from wl_array_add() wayland: Handle failure to init a display screen uuid: Check error on ftruncate call wayland: whitespace cleanup wayland: Free temporary string on error exit Carsten Haitzler (118): mixer: Optionally select an external mixer application. e backlight - limit min to 0.05 to avoid totally off backlight fix README to be more up to date e_start - add ~/Applications/.bin to use for app bin searches update po's e_auth - null out compilert memset opts like lokker windows - allow close button to work again in internal wins Revert "windows - allow close button to work again in internal wins" e - tiling module - silence warning (real possibility of an issue) e - warning fix - fix SVID_SOURCE complaint warning e - randr - stop saving config using XID - this is utterly WRONG e randr - fix warning (signed vs unsigned cmp) e randr - make it work on nvidia - lots of "wrong" things fixed e randr - restore edp checks Revert "randr: Don't track active outputs" Revert "Randr: Fix null dereference." This reverts commit 4aef218d28ed66e80d882f052c704d92d11c3c81. e - randr include - move to master includes (only if building for x) Revert "all dialogs are now resizable" e zone - add stow/unstow apis e - force a config flush before sys actions that could kill e revert all the ui breakes in e - going the wrong direction in the first place anyway. shoudl replace the entire dialgo one at a time by an elm version not try and stuff elm widgets into where e widgets used to be. this doesnt improve e's config dialogs, just makes them buggy as all hell in the name of a move to elm. e dialogs - this one too shot module - dont allow another instance and keep the current one e - gadcon popup - handle delection of content object properly clock - fix popup content.. use elm widgets now. comp base - make base black. makes for better screenshots of blank areas e - fix e widgets to use evas size hints - this unifies sizing elm vs e e - rewrite randr code entirely. core and dialog. dialog is basic atm e randr config - fid selecting of screen to populate correctly update po e - randr2 - handle lid close/open as screen unplug/plug xinerama note for multiscreen handling maximization bug affecting libreoffice and others - fix adapt to new win center trap in 1.13 efl e - client list update after adding to client list - fix netwm bug e - fix build when wayland not enabled elm accel pref config - fix to use correct api to set accel pref e - randr - laptop lids - handle plug/unplug and well as lid open/close e - fix build. build break! shut up shadow warnings e - remove earns from randr2 e - randr - handle missing relative display and use priority for zone actions - add smart suspend + hibernate actions for laptop usage randr2 - handle missing clone src and walk back config only structs e - actions - smart suspend/hibernate - also dont do when on mains power efm - make dir listing far faster - no file magic content and dont sync e - menus - fix autoscroll on zones not at 0 y... e - menus - fix submenu popup direction when zones are not at 0 y e clients - make sure we handle client with a NULL zone e - lost windows menu is back. no windows menu does not handle it. add options to randr2 to ignore acpi and hotplug randr events. shot - only access e client if not null e - xsettings - calloc buffer since we leave 3 of 4 bytes unset e client - desk wait - ref it properly and clean up delfn e - e_client - fix added printf e screenlock config diloag - note insecureness for personal pw/pin e auto-placement - don't include shelves from other screens e_shelf - check visiblity with zone and desk FIRST not later e_place - dont need extrra zone check here anymore e - randr2 - filter to the "best" common mode match on clone config e randr2 - add some logic for knowing when to ask to configure a screen e - fix profiles to have correct adjust value for bl adjust in bindings e start - path manipulation - don't add a : if there already is one enlightenment deskenv support - fix dialog labelling and desktop name e desklock - listen to randr screen changes and re-do locks fix leak in randr2 when matching clone modes e mixer - replace with epulse/emixer update po files Revert "fix mixer gcc class name" e - mixer - don't do anything on desklock if no mixer context exists e - shelf menu - handle deletion properly if cb is not for shelf menu Revert "Revert "fix mixer gcc class name"" mixer - dont make list scrollable horizontally for nicer look e mixer - fix segv on desklock if default sink not set yet e - mixer - clean up popup a bit with mute next to slider etc. e menu - an extra object ref causes menus to never be freed e - mixer - allow to 150% volume with some "stickynedd" from 100 to 120 e comp - fix refcounting for e_comp and comp clients e - fix crash in desktop lookup+fixup where exe_inst is null e - bring back fullscreen crash bug while fixing refcount correctness e - e client, comp win etc. reffing fix ... part 2 e passive window grabs - fix side-effect leave/enter events on clients e -> menu -> fix games menu to be flat like others and include steam e desktop file properties - fix icon sel tab to expand icon and icon name e randr2 - auto clone and use common res when doing so - make it work e - unbreak client pixmaps when native surf is used e - randr allow you to turn off screens and keep them off if config says so e - randr - handle lid close screen turnoff correctly again e shelf - small missing set of signals - tell theme when inset scrolls deskmirror - fix dangling reference to mirror by refcounting it e - systray - add more sizes to icon hunt to fix missing icons Revert "Revert "deskmirror - fix dangling reference to mirror by refcounting it"" e pagers - fix full desktop ddnd (eg middle mouse) to finish the drag e - mixer - fix leak when seting volume e mixer - discovered bug as a lack of feature - does not remember volume e mixer - fix up saving to save everything e mixer - save state when we get change events too e mixer - shut up coverity CID 1323098 e comp - set rects to null to silence compiler warning e winlist focus alt-tabbing - fix focus list changes while tabbing e - fm - flush all evas caches to get rid of open file handles b4 umount e config - cache sizes in config don't actually work, so remove Revert "Revert "Revert "Revert "deskmirror - fix dangling reference to mirror by refcounting it"""" efm - handle cancel of async eio if icon is freed and eio still active e - efm fix. fix eio error handler that is called after eio cancel e comp - default config was rather broken - fix e comp data - actually ... NO visibility effect by default is right e mixer - be more robust if pulse exits/crashes and def sink is null e - comps sync - ec client was null - i think, so protect against crash e - ibar - fix clash when 2 icons of the same path get added somehow e exec tracker - fix tracking to update desktop files on efreet change ibar - fix shutdown if ibar client menu is up e deskmirror - fix loss of mirror object from deskmirror e screens/zones/randr - store randr2 id in xinerama and zones for lookup e mixer fix - fix default mixer to pulse if there e - fix compositor fade out ghosting e msgbus - move almost all of core dbus methods to msgbus module e - efm - rate limit dbus requests to open dirs or files to avoid dos Cedric BAIL (3): lokker: empty string should not be translated. battery: let's finally allow the battery process to rest also when enlightenment die. temperature: let's finally allow the temp process to rest also when enlightenment die. Chidambar Zinnoury (4): Bugfix: e backlight: use saner default values. Bugfix: e dialog: don’t crash when using the escape key to close. e menus: Fix invalid comparisons. e fm: Use correct string length when copying path. Christopher Michael (357): bugfix: Fix e_msgbus file having missing initializers for Eldbus Messages & Signals bugfix: Fix e_notification file having missing initializers for Eldbus Messages & Signals bugfix: Cleanup appmenu module having missing field initializers for Eldbus Messages & Signals bugfix: Cleanup bluex module having missing initializers for services & icons bugfix: Cleanup fileman module from having missing initializers for Eldbus Messages & Signals bugfix: Cleanup msgbus module from having missing field initializers for Eldbus Messages & Signals bugfix: Cleanup systray module having missing initializers for Eldbus Message & Signals Cleanup teamwork module from having missing initializerss for Eldbus Messages & Signals wl-desktop-shell: Bump xdg protocol version e-comp-wl: Remove dead structure members e-comp-wl: Update compositor for new xdg shell protocol wl-desktop-shell: Update desktop shell module for new xdg shell protocol wl-desktop-shell: Update module code for new xdg shell protocol fix unused function paramters warning when building for wayland only only call ecore-x functions here if we are Not build for wayland-only clean compiler warnings when building for wayland-only remove ifdef's for compiling out e_dnd support in wayland-only mode fix compiler warnings when building for wayland-only don't clear 'changed' variable unless we are going to use it. (fixes compiler warning when building for wayland-only) fix compiler warnings when building for wayland-only fix compiler warnings when building for wayland-only declare drag finished callback event if building for wayland-only Revert "don't clear 'changed' variable unless we are going to use it. (fixes" don't define x selection notify handler if we are building for wayland-only cleanup compiler warnings when building for wayland-only Don't resend a configure event after resize is done. This is part of a xdg_shell maximize fix send xdg surface configure message when we maximize/unmaximize. fix improper define which was causing uuid header to not be included in certain cases. fix resizing wayland clients by sending configure message if client is Not maximized. update wl_seat interface version so that gtk apps function...for Daniel ;) don't crash when closing internal dialog boxes e-comp-wl: Send the resource as data to the surface_create signal e-comp-wl: Support wl_display_add_socket_auto function e-comp-wl: Reduce calls to wayland protocol functions. These are not needed here and just waste extra cycles. e-comp-wl: Enable sending of the surface_create signal from the compositor and provide an API function to retrieve that signal (used in a pending commit) bump required wayland-server version to 1.6.0 for wayland-only wl_desktop_shell: Fix formatting wl-desktop-shell: Don't call e_client_ping here. remove old wayland compositor file remove useless return add start of new compositor set comp_gl if we have the correct engines available add functions to create new compositor add code to setup wayland logging function add code to create new wayland display add code to create wayland display socket add code to setup wayland compositor signals add code to create and bind the wayland compositor rename compositor delete callback add function call to initialize shm add code to integrate wayland event loop with ecore_main loop add code to load desktop shell module add code to initialize data manager add code to initialze input add code to setup input & keyboard if we are using an X compositor set compositor wayland data add code to initialize Ecore_Wayland add call to shutdown Ecore_Wayland Fix missing variable compiler warning Fix printing of wayland log output start on actual compositor interface code rename surface signal get function remove debug noise in comp_wl_data add start of surface implementation code add call to delete fd handler when we close the compositor unset pixmap resource when surface resource is destroyed Fix compile errors. Implement start of buffer code Implement code for surfaced attach Add code to create the clients window hash add code to hook the client new event add hooks for client delete add internal function prototype for surface commit Start on surface commit code and improve some debugging messages change damages to be a list add code to handle regions (creating, destroying, setting) Add code to handle setting surface damages add code to handle setting surface opaque region add code to handle setting surface input region add code to handle pending damages during surface commit add code to handle pending opaque regions during surface commit add code to handle pending input regions during surface commit update resource data comment add some comments about fetching resource data cleanup any remaning damage rectangles when we delete the client cleanup any pending opaque regions when we delete the client cleanup any pending input regions when we delete the client update todo fix typo add listener for comp_object_add event so we can setup evas callbacks for a client. fetch pixmap id in opaque & input region set functions add hoook for evas show callback and show any video childs add hook for evas callback hide so we can hide any video children add callback for mouse in on the client. Fix improper tiler_clear in surface_commit function. Add fast-path in surface commit to skip processing regions & damage if the client is not visible. remove some debug messages add evas callback for mouse out on a surface add evas callback for mouse move on a surface add evas callback function for mouse down event add evas callbacks for mouse up event add evas callbacks for mouse wheel event add evas callback for key down event add evas callback for key up events add evas callback for delete_request and fix printf warnings for uint64_t add evas callback for kill request add evas callback for ping event add evas callback for color_set add evas callback for client resize add callbacks for client focus/unfocus add checks in client focus/unfocus to test for wayland client remove debug messages for mouse in/out fix formatting e-comp-wl: Comment out EGL include e-comp-wl: Que a buffer release after we have committed the pending buffer e-comp-wl: Remove resize.width & height from structure remove call to release compositor buffer reference in e_pixmap. This is handled differently now. wl_desktop_shell: Remove resize.width/height compositor data fields. Add some debugging print outs. Don't check client size compared to new size. wl_desktop_shell: Remove silly debug message e_comp_wl: Cleanup resizing of wayland clients. This hooks into various resize callbacks to set/unset the resize edges and to update the surface size. e_comp_wl: Add hooks for focus in/out events so we can set wayland focus e_comp_wl: Implement surface frame callback support send wl_buffer release after we have drawn this pixmap change comp_wl_data structure to store the wl_resource of the client buffer. No longer dealing with reference buffers. e-comp-wl: Make new compositor functional. Merge branch 'devs/devilhorns/e_comp_wl' e_comp_wl: add support for priority raise/normalize during focus events e_comp_wl: Remove unused variables e-comp-wl: Cleanup wayland compositor header e-comp-wl: Start to reimplement subcompositor and subsurface support e-comp-wl: Destroy subsurface resource in destroy callback e-comp-wl: Implement subsurface destroy callbacks e-comp-wl: Implement subsurface position set function e-comp-wl: Implement subsurface synchronized_set function e-comp-wl: Implement subsurface desynchronized_set function e-comp-wl: Implement subsurface place_above function wl-desktop-shell: Always set netwm.ping on the client e-comp-wl: Implement subsurface place_below function e-comp-wl: Add internal function prototype for subsurface commit e-comp-wl: Start on implementing subsurface commit functions e-comp-wl: Fix various compile errors update wayland readme e-comp-wl: Implement subsurface commit_to_cache and commit_from_cache functions e-comp-wl: Implement subsurface parent commit function e-comp-wl: Remove unnecessary todo item e-comp-wl: Implement callback for surface resource destroy e-comp-wl: Set e_client properties on subsurface E_Client e-comp-wl: Hook into post_new_client event so we can setup hints and export any shape changes e-comp-wl: Clip shape rectangles to client size e-comp-wl: Fix keyboard input with wayland clients when running in X11. Don't run client_post_new hook for deleted clients. Start work on client pre_frame hook. Fix incorrect return value when creating native surface for wayland clients e-comp: Return proper post value for wayland clients during client_update Implement caching of pixmap resources for wayland clients. Move sending of frame completion to the image_draw function. e-comp-wl: Implement client idler for sending configure during resize. Cleanup surface commit function to work with new pixmap caching code. e-comp-wl: Don't try to set null data if we don't have a surface e-start: Fix 'control reaches end of non-void function' call e_powersave_init Before we call e_screensaver_init because the init of e_screensaver sets up an event handler for the powersave_update event (which would be 0 unless powersave is init first). remove use of deprecated e_comp_get function wl-desktop-shell: Remove use of deprecated e_comp_get function fix issue where wayland modules were always creating a new compositor comp_wl: Fix issue with multiple clients being created wl-desktop-shell: Fix issue where internal elm windows were not borderless comp-wl: Add missing function prototype comp-wl: Remove unused variable pager_plain: Fix Coverity CID1261290 reporting logically dead code, but in fact it looks like a copy/paste issue Fix Coverity CID1261288. Idential code for different branches Fix Coverity CID1261286. Identical code for different branches comp-wl: Set argb and no_shape_cut for new clients. This fixes the black shadow issue fix centering of elm wayland windows update entry widget to not use deprecated elm scrollbar policy function don't crash if the client comp_data has no surface yet add workaround for ELM_DIALOG_WIN_BASIC not working in wayland. add #warning to remove when resolved. wl_drm: Fix creation of the ecore_evas_gl_drm add fixme note about desklock timeouts not working in wayland wl_x11: When creating the ecore_evas for wl_x11, use ecore_evas_screen_geometry_get function and resize the ecore_evas accordingly. Ignore checking size of client and just always send new size. This fixed basic-->advanced dialogs here update README.wayland for Mike's everything module fixes de-e_comp_get()ify e_actions de-e_comp_get()ify e_desk de-e_comp_get()ify e_deskmirror de-e_comp_get()ify e_int_client_menu de-e_comp_get()ify e_moveresize Revert "only set wl client borderless state as necessary, don't overwrite existing states" make enlightenment build again for wayland-only remove unused inline function de-e_comp_get()-ify lokker module add function prototype for getting idle time add function to return input idle time in wayland compositor make desklock timeouts work in wayland-only. Fixes T1818 add EINA_UNUSED for unused function paramater de-e_comp_get()-ify grab dialog de-e_comp_get()-ify gadcon de-e_comp_get()-ify e_gadcon_popup de-e_comp_get()-ify e_pointer de-e_comp_get()-ify e_scale make e_scale get the dpi for wayland also de-e_comp_get()-ify widget_bgpreview de-e_comp_get()-ify e_zone de-e_comp_get()-ify e_randr2 fix e_pointer using incorrect comp variable start making e_grabinput work for wayland (nb: not finished yet) fix copy/paste errors pass the proper window to ecore_wl functions cleanup keymap properly on shutdown(fixes E restart issue). reset keyboard modifiers when client is deleted Revert "reset keyboard modifiers when client is deleted" de-e_comp_get()-ify e_utils quiet compiler warnings when building for wayland-only add a mod_changed field to compositor data so we can know when modifiers change change keyboard input listeners to Not depend on a client but rather use ecore_event_handlers for key events. cleanup xkb state modifiers and only update state_mask if necessary only send key events to focused clients call e_manager_new with the proper root window so that keybindings on the desktop work enlightenment: Fix 'type' may be used uninitialized message enlightenment: Don't crash if fwin app dialog has no exec_cmd fix e_pixmap compile for non-wayland usecase fix typo in wayland readme file enlightenment: Fix building for wayland-only update wayland README file to remove build confusion fix compiler warning about pointer targets differ in signedness fix some formatting ugliness change output_bind function name add E_Comp_Wl_Output structure and function prototype to create outputs Fix T2131 (crash when creating wl_outputs) create wl_outputs when in wayland-only mode don't remove E_Comp_Wl_Output on unbind as this Could lead to nasty crashes if a second client tries to bind wl_output append E_Comp_Wl_Output to compositor's output list during output_init call remove unused variable add a surface_state structure to E_Comp_Wl_Client_Data adjust wayland compositor scale when we adjust e_scale Implement buffer_reference to fix client resizing issue fix compile issue due to output change and fixup subsurface creation to match new "state" paradigm remove missed use of E_COMP_WL_PIXMAP_CHECK macro set output->scale to e_scale, and when we wl_output_send_scale actually send output->scale when we get a request to close client app, defer resource deletion until After close animation has been run don't install SIGBUS handler if we are running wayland-only enlightenment: Bump required Wayland version to 1.7.0 enlightenment: Implement support for wl_data_device_interface "release" event add debugging when output gets bound, and fix formatting wl-drm: Add more debugging during output hotplug events fix debug message for wl_output_bind wl-drm: Remove need for extra E_Comp variable wl-drm: Remove output event handler when we shutdown wl-drm: Hook into ecore_evas_resize callback to update comp canvas wl-drm: If we end up using software_drm, then override elm preferences (ala X compositor) e_comp: Only need 'type' variable if we are building with HAVE_WAYLAND e-comp-wl: Remove unused variable wl-drm: Use ecore_evas_new with an engine name rather than direct ecore_evas_drm_new calls e-comp-wl: Don't crash if we fail to create a new e_client wl-drm: Set initial compositor pointer values base on ecore_evas_pointer_position Revert "wl-drm: Set initial compositor pointer values base on ecore_evas_pointer_position" wl-drm: We need to set the compositor pointer values After wl_comp_data has been created else we crash e-comp-wl: Init randr if we are not wayland only Fix T2385 : internal windows not showing resize cursor enlightenment: Make E build again with EFL from git make e_acpi_lid_is_closed function callable from wl_drm module wl-drm: Start on making the RandR config dialog usable in drm send screen paramaters in proper order to e_comp_wl_output_init fix numerous compile errors from D2482 remove unused 'serial' variable in mulit-move callback wl-desktop-shell: Quiet debug output conf_randr: Reduce debug output noise drm randr: More work on getting RandR functional in E-Wl. This adds a function to remove an output from e_comp_wl also. wl-drm: Don't enable/disable an output until after we have set the current mode add missing EINA_UNUSED for function paramater Fix call to e_comp_wl_input_keymap_set add missing EINA_UNUSED for function paramater remove unused variable ELM_WIN_DIALOG_BASIC is broken in wl right now, so for wl create normal elm windows for now. remove cpp warning fix call to e_comp_wl_input_keymap_set for building with wayland-client support allow starting enlightenment with the valgrind option again Properly fix T2182 (add a --version option to enlightenment) wl-desktop-shell: Fix T2357: Update xdg_shell for version 5 wl-desktop-shell: Fix popup menu placement for xdg surfaces e-comp-wl: #if 0 out a currently unused function for pre_frame assignment. Fix Coverity CID1298052 Fix Coverity CID1298053 wl-desktop-shell: Fix formatting wl-desktop-shell: Remove useless return at end of function wl-desktop-shell: Don't crash when trying to place popup menus in QT apps add xwayland to configure.ac Add xwayland module to modules Makefile Add xwayland Makefile add xwayland module desktop file add xwayland module edj file for icon Add start of xwayand module code xwayland: Fix configure.ac to substitute the xwayland binary path xwayland: Fix makefile to use xwayland binary path xwayland: Create and bind to unix & abstract sockets xwayland: Create the wl_client which represents the window manager process. Whitelist the new xwayland module xwayland: Fix launching of XWayland server and pass proper display to wl_client_create xwayland: Add some debugging code while trying to work out failures with this xwayland: Fix build breakage with recent e_comp_wl changes xwayland: Check for sigusr1 in event handler xwayland: Add code to cleanup xwayland on shutdown xwayland: Add checks for xcb libraries needed for xwayland support mixer: Fix resource leaks e-comp-wl: Fix formatting e-comp-wl: Don't crash from a missing keymap e-comp-wl: Release keys on key_up regardless if client has focus Don't call ecore_x_xkb_select_group if the compositor is not X11 e_grabinput: Don't call ecore_x functions if we are not an X compositor correctly fix check for compositor in e_grabinput correctly fix check for x11 compositor in e_xkb xwayland: Use proper E_API for exporting module symbols e-comp-wl-input: Format for 80 columns e-comp-wl-input: destroy xkb keyboard state Before destroying the keymap e-comp-wl: Update modifiers on key down/key up events shot: Fix formatting for 80 columns e-comp-wl: Add screenshooter protocol files shot: Add screenshooter client protocol files e-comp-wl: Add screenshooter files to build order e-comp-wl: Add screenshooter structure to comp_wl_data and add additional fields we need in E_Comp_Wl_Output e-comp-wl: Create compositor screenshooter global and add function to actually handle taking shots wl-drm: Add function to readback pixels for compositor screenshots shot: Update shot makefile to include client screenshot protocol files shot: Update shot module to now be able to take Wayland screenshots remove wl_screenshot from configure.ac remove old wl_screenshot module shot: Update with proper compositor checking tests shot: Disable window shots in wayland for now shot: Enable feature of taking just window shots in wayland e-comp-wl: Don't call keyboard_modifiers_update twice e-comp-wl: Update keyboard key state regardless of client focus or not e-comp-wl: Add support for wl_keyboard_send_repeat_info to allow for configurable keyboard repeat rates e-comp-wl: Update keyboard and modifier state AFTER we send them to clients e-comp-wl: don't send keyboard modifiers twice. e-comp-wl: Fix getting end key during key down/up events e-comp-wl: Fix T2570: stuck key when closing efm windows e-comp-wl: Remove unused variable e-comp-wl: Fix region_add and region_subtract functions to make sure we have accurate opaque regions desklock: Fix T2589: Screen Lock crashes in E enlightenment: Remove listener for XDnD status enlightenment: Allocate space for terminating NULL enlightenment: Remove static function prototype for unused function wl_desktop_shell: Formatting xwayland: Add missing EINA_UNUSED for unused function parameters enlightenment: Update README.wayland to reflect things that do not work yet enlightenment: Remove legacy unused e_pixmap_image_draw_done function enlightenment: Replace old comp_type conditionals enlightenment: Replace old comp_type conditionals enlightenment: Remove wl_screenshot module from whitelist enlightenment: Remove commented out reference to wl_screenshot Makefile enlightenment: Fix formatting of Wayland compositor code so it is easily readable in 80 columns enlightenment: Update wayland readme enlightenment: Add missing EINA_UNUSED for unused function paramaters enlightenment: Add missing EINA_UNUSED for unused function parameters enlightenment: Add missing EINA_UNUSED for unused function paramaters enlightenment: Add missing field initializers for Evas_Point enlightenment: Add missing field initializers for Eina_Rectangle enlightenment: Fix E_CONFIG_LIMIT to use the proper min & max values enlightenment: Use 'fabs' to get absolute value of floating point types enlightenment: #if 0 out an unused variable enlightenment: Use 'fabs' to compute absolute value of floating point types enlightenment: Make sure we have a zone before calling _bgpreview_viewport_update Fix e_menu trying to swallow an object from a different canvas Fix formatting and remove extra blank line Fix invalid compositor type check in e_dpms_force_update Conrad Meyer (4): Mixer Pulse: Fix trivial use-after-free. backlight: Use basic ACPI sysctl knob on FreeBSD (kernel) tempget: Add lm75(4) temperature source for non-x86 FreeBSD e_auth: Add suid helper for lokker own-pw checking on FreeBSD Daniel Hirt (1): lokker: update caps-lock hint even on "checking" state Daniel Kolesa (17): remove obsolete E_Hal.h include remove hal detection from build system specialize some sysactions fields for freebsd freebsd: use /usr/sbin/zzz for suspend freebsd seems to require both -fPIE and -pie in cflags to compile rename WEIGHT/ALIGN/EXPAND/FILL to E_WEIGHT/E_ALIGN/E_EXPAND/E_FILL seems like enlightenment_sys will still fail linkage on freebsd; workaround remove e_mod_xembed.c from POTFILES.in clean up E ptrace detection and usage detab e_start_main.c; spank spank spank e_start_main: refactor (reduce scope depth, separate ifdefs, cleanup) remove unused variable fix indentation cpufreq: freebsd fixes tempget: Add more temperature sources for FreeBSD mailmap: update q66 remove str(n)dupa usages Dave Andreoli (3): Fix gadman config to be actually usable. Update gtk bookmarks to work with new gtk3 path Improve italian lang Derek Foreman (32): Conditionally ignore wayland cursor set events Provide wl_output interface to clients Provide wl_output events on hotplug Fix wl_output tracking in wayland compositor Don't crash when an error pop-up occurs before the compositor is set up. clamp to parent height, not parent y co-ordinate. Fix stuck modifiers on client exit Don't update xkbstate when no app has focus Break e_comp_wl_input_keyboard_modifiers_update into two functions Send modifiers to wayland clients on focus in Wayland: Don't consume serials when not sending events Wayland: more checks to avoid consuming serials needlessly Wayland frame callback times are in milliseconds wayland-compositor: Clamp to 1, 1 on drag resize wayland compositor: Remove focus_update from compositor client data wayland compositor: Send keyboard enter events on get keyboard wayland compositor: remove _e_comp_wl_client_focus() Fix wayland compositor on 32 bit systems wayland-compositor: Set server mode wayland: Remove a lot of E_Comp_Data pointers Resize the canvas at the end of canvas init Init some vars to NULL in compositor create wizard: Prevent crash wizard: Prevent crash screenshooting: Avoid void pointer arithmetic wayland: Also link with libwayland-client.so shot: Skip the wayland setup bits when running under X wayland: fix key repeat wayland: Only send keyboard modifiers to focused resources wayland: Always add frame callba