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
|
pekwm-0.1.6 released
2007-05-28 Claes Nästén <me{@}pekdon{.}net>
* src/Client.cc (Client::giveInputFocus):
Minor tweaks on focusing looking at WM_TAKE_FOCUS hint for handling
Java Swing applications and OpenOffice.org better. Closing #98
(Thanks noizze for reporting.)
* src/Client.cc (Client::Client):
Add setWmState call to NormalState if no WM_HINTS was set on the
application to fix issues with xprop on netwmpager. Closing #33.
(Thanks tuncer{.}ayaz{@}gmail{.}com for reporting.)
2007-03-28 Claes Nästén <me{@}pekdon{.}net>
* src/WindowManager.cc (WindowManager::RootWO::RootWO):
Added setting of _NET_WM_PID and WM_CLIENT_MACHINE to the root window.
2007-03-10 Claes Nästén <me{@}pekdon{.}net>
* src/CfgParser.cc (CfgParser::variable_expand):
Fix missing expansion if environment variables.
2007-01-31 Claes Nästén <me{@}pekdon{.}net>
* src/PDecor.cc (Button::setState):
First commit in 2007, added shaping to buttons for stretched
backgrounds.
2006-12-26 Claes Nästén <me{@}pekdon{.}net>
* src/PDecor.cc (PDecor::renderTitle):
Add fix for #99 cause by broken optimisation introduced in
revision 119. Closing #99.
( Thanks okraits for reporting )
2006-11-10 Claes Nästén <me{@}pekdon{.}net>
* src/DockApp.cc (DockApp::validateSize):
Do not validate on the clients size, but validate on the padded
total size to get dockapps properly centered.
2006-09-27 Claes Nästén <me{@}pekdon{.}net>
* src/PWinObj.hh (class PWinObj):
Added a map of Window to PWinObj for faster lookup.
* src/Workspaces.cc (Workspaces::updateClientStackingList):
Updated to not create the list twice (one list and one array).
* src/Client.cc (Client::readEwmhHints):
Added skipping of menus and focus toggling for docks.
2006-09-21 Claes Nästén <me{@}pekdon{.}net>
* src/PixmapHandler.cc (PixmapHandler::returnPixmap):
Use map for pixmap handler instead of list.
2006-09-11 Claes Nästén <me{@}pekdon{.}net>
* src/ActionHandler.cc (ActionHandler::findClientFromTitle):
Updated FindClient action to match against the visible title and not
the Client set one.
* src/RegexString.cc (RegexString::parse_match):
Updated parse match to support parsing of // style regular expressions
having flags set. Currently only i flag supported. This type of
expressions is currently only possible on the FindClient action.
2006-09-07 Claes Nästén <me{@}pekdon{.}net>
* src/Config.cc (Config::parseAction):
Updated ShowCmdDialog action to support parameter setting initial
value. Useful together with action such as GotoClientID binding
a keybinding to ShowCmdDialog GotoClientID for quick navigation.
* src/ActionHandler.cc (ActionHandler::actionGotoClientID):
Added GotoClientID action which goes to and focuses client with
ID.
* src/PDecor.cc:
Added boolean option ShowClientID under the Screen section of the
main config file. This enable/disable display of Client ID in
titles.
2006-09-06 Claes Nästén <me{@}pekdon{.}net>
* src/Client.cc (Client::Client):
Moved the Client list to Client. Added clientid list to Client so that
it is possible to keep track of Client ids, preparation of number
based navigation.
* src/PDecor.hh (PDecor::TitleItem):
Extend PDecor::TitleItem with information to include client id.
* src/Frame.cc (Frame::Frame):
Moved the Frame list to Frame.
2006-09-03 Claes Nästén <me{@}pekdon{.}net>
* src/CmdDialog.cc (CmdDialog::bufKill):
Added action ClearFromCursor for CmdDialog to erase characters from
current cursor position to the end of line.
2006-08-31 Claes Nästén <me{@}pekdon{.}net>
* src/Frame.cc (Frame):
Moved tagged frame information to Frame.
2006-08-30 Claes Nästén <me{@}pekdon{.}net>
* src/Frame.cc (Frame::setStateTitle):
Make custom set titles persist between restarts.
* src/CfgParser.cc (CfgParser::Entry::free_tree):
Plug major memory leak in CfgParser.
* src/PDecor.cc (PDecor::doMove):
Update moving to only use the root position of the pointer to support
more ways of initiating moving and then also keep correct position.
Close #94
( Thanks Jowi and shared for reporting )
2006-08-28 Claes Nästén <me{@}pekdon{.}net>
* src/WindowManager.cc (WindowManager::updateMenus):
Fix issue in reload causing dangling pointer to custom menus hang
around in the list of menus. Should improve on reload crash situation
#92 and #96.
2006-08-23 Claes Nästén <me{@}pekdon{.}net>
* src/PDecor.cc (PDecor::TitleItem::updateVisible):
Added info flag to title to store extra information in title such
as marked state. Closing #47
( Thanks shared for request )
2006-08-10 Claes Nästén <me{@}pekdon{.}net>
* src/PMenu.cc (PMenu::unmapSubmenus):
Moved dynamic flag to menu items in PMenu. Update unmap code to skip
traversing down dynamic menus.
2006-08-01 Claes Nästén <me{@}pekdon{.}net>
* src/Atoms.cc (getLong):
Fix compile warnings.
* src/PDecor.cc (PDecor::doMove):
Moved skip attribute to PDecor from Frame, adding check to skip those
PDecor's when checking snap. Closing #95
( Thanks shared for reporting )
2006-05-29 Claes Nästén <me{@}pekdon{.}net>
* src/Harbour.cc (setStateHidden):
Created new state action HarbourHidden. Closing #89
* src/Theme.cc (load):
Removed ROOT command support. Closing #93
( Thanks shared for reporting )
2006-05-01 Claes Nästén <me{@}pekdon{.}net>
* src/ActionHandler.cc (actionFocusToggle):
Added boolean option to {Next,Prev}Frame set of actions to allow
inclusion of iconified windows. Closing #59
( Thanks shared for request )
* src/ActionHandler.cc (actionSendToViewport):
Added SendToViewport Col Row action. It does not implement relative
viewport sending. Closing #70
(Thanks Largon for request)
* src/WindowManager.cc (createMenus):
Extended the ShowMenu functionality to include custom menus.
Example, by adding the following to the menu configuration file:
ExampleMenu = "Example Menu" {
Entry = "Example Entry" { Actions = "Exec xmessage Example" }
}
And then issuing the action ShowMenu ExampleMenu it would pop up
the menu defined. Closing #69
NOTE: The menus names are case insensitive, meaning it is NOT possible
to have TestMenu and TESTMENU. This only applies for root level
menus, and not submenus of a menu.
(Thanks buk{@}nurfuerspam{.}de for request)
* src/Util.cc (to_upper):
Added to_upper and to_lower string utility methods.
2006-04-28 Claes Nästén <me{@}pekdon{.}net>
* src/Workspaces.cc (setWorkspace):
Updated workspace switching and unmapping of window objects to avoid
windows being rendered as focused when they are not. Closing #87
* src/Frame.cc (setWorkspace):
Fixed ops not handling sticky window value. Closing #86
( Thanks Skot for reporting )
2006-04-18 Claes Nästén <me{@}pekdon{.}net>
* doc/Makefile.am:
Added missing man page target in Makefile.am.
( Thanks nice for reporting )
pekwm-0.1.5 released
2006-04-17 Claes Nästén <me{@}pekdon{.}net>
* src/Frame.cc (setWorkspace):
Re-enabled the use of ApplyOn = "Workspace" for autoproperties.
Closing #55
( Thanks nospaulatu{@}gmail{.}com for reporting )
* src/PDecor.cc (calcTabsWidthSymetric):
Fixed ops distributing uneven pixels in tab calculation that caused
pixels missing from the title.
* src/PMenu.cc (buildMenuRenderItem):
Updated menu rendering to properly honour padding and justification.
Closing #46 and #74.
( Thanks shared and buk for reporting. )
* src/ActionHandler.cc (actionSendToWorkspace):
Added Last parameter to GotoWorkspace and SendToWorkspace actions
activating/sending to last active workspace. Closing #79
( Thanks Tomas Dvorak <dvorakt1{@}fel{.}cvut{.}cz> for request. )
* src/CfgParser.cc (parse_comment_line):
Fixed bug in parsing of # and // comments not parsing the content
of the line.
( Thanks shared fore reporting. )
2006-04-16 Claes Nästén <me{@}pekdon{.}net>
* src/Workspaces.cc (placeSmart):
Switch position of row/col placement. Closing #60
( Thanks koniu{@}sheket{.}org for reporting. )
* src/Config.cc (load):
Updated and applied patch from koniu{@}sheket{.}org to add OffsetX
and OffsetY options to smart placement to pad with x/y pixels.
Closing #61
( Thanks koniu{@}sheket{.}org for patch. )
* src/Theme.cc:
Remove max allowed WidthMin value check.
* src/CfgParser.cc:
Fixed dangling reference crash in configuration parser, triggered by
the parse_key_value feature of the CfgParser. Closing #84
( Thanks shared for reporting )
* src/Frame.cc:
Removed size limiting in resize. Closing #73
( Thanks shared for reporting and dvorakt1{@}fel{.}cvut{.}cz for
proposed solution )
pekwm-0.1.4 released
2006-02-22 Claes Nästén <me{@}pekdon{.}net>
* data/themes/default/theme:
Fixed typo COLOR_TAB_FS_HIGH instead of COLOR_TAB_FS_LIGHT.
2006-02-16 Claes Nästén <me{@}pekdon{.}net>
* src/CfgParserSource.cc (close):
Fix error causing signal handlers not beeing restored.
2006-02-15 Claes Nästén <me{@}pekdon{.}net>
* data/scripts/pekwm_ws_menu.pl:
Using updated pekwm_ws_menu.pl script from Aristotle Pagaltzis
using COMMAND instead of Dynamic to speed up menus.
Workspace can change at runtime using tools outside pekwm, to
reflect the changes one will have to reload pekwm. To avoid having
to do that one can replace COMMAND with
Entry { Actions = "Dynamic path_to_script ..." } and skip the -n
flag.
( Thanks Aristotle Pagaltzis <pagaltzis{@}gmx{.}de> for patch )
* src/CfgParser.cc (parse):
Add missing popping of source name in name list, causing incorrect
search path on includes.
Do not print warning of INCLUDEs failing when path is not used, only
print when path included.
Fix parser error causing last line of buffer not beeing parsed.
2005-09-11 Claes Nasten <pekdon{@}pekdon{.}net>
* src/CfgParser.cc (parse):
Fixed newline handling so now it's possible to start sections
on a new line after the name of the section. Closing #64
( Thanks <angel2k{@}gmail{.}com> for reporting )
* src/AutoProperties.cc (parseAutoGroup):
Fixed incorrect parsing of Group name causing autogrouping not
to work between different applicatiions. Closing #65
( Thanks <nospaulatu{@}gmail{.}com> for reporting )
2005-08-23 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc (getState):
Client iconified state was beeing overridden by setWorkspace causing
iconified autoproperty not alwasy working. Closing #56.
( Thanks <nospaulatu{@}gmail{.}com> for reporting )
2005-08-22 Claes Nasten <pekdon{@}pekdon{.}net>
* src/RegexString.cc:
Reimplemented RegexString class, now only updates matched part of the
string, it's possible to reference 0 which is whole match. Reference
syntax has changed from $1 to \1. Remember to escape \ in
configuration files as the configuration file parser while escape it
while parsing.
2005-08-17 Claes Nasten <pekdon{@}pekdon{.}net>
* src/CfgParser.cc:
Reimplemented CfgParser class, now doesn't use stringstream that
behave bad on various version of compilers and platforms. Resolves
issues on PPC. More extensive error reporting of syntax errors and
parsed values. INCLUDE "file" syntax changed to INCLUDE = "file".
2005-08-13 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Config.cc:
Changed ClientUniqueNames to UniqueNames and added bool SetUnique
option.
2005-07-09 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc (handleClientMessage):
Fixed incorrect handling of _NET_ACTIVE_WINDOW. Now the window will
be shown, and if not on the current workspace the workspace is
changed.
2005-06-23 Claes Nasten <pekdon{@}pekdon{.}net>
* src/CmdDialog.cc:
Made CmdDialog and WindowMenu use the window object and not only
the client associated with an action.
Made CmdDialog obey stacking rules (were not inserted into the
workspaces stacking list before.)
* src/ActionHandler.cc:
Added extra bool parameter to ShowMenu action settin the sticky state
of windows when showing, defaults to false. Altered the behaviour of
menus unsetting sticky state on close. Closing #54
( Thanks Jyri Jokinen <shared{@}adresh{.}com> for request )
2005-06-20 Claes Nasten <pekdon{@}pekdon{.}net>
* src/WindowManager.cc (doReload):
Reordered loading of themes and loading of autoproperties on reload
to fix issue with old theme data beeing used when setting geometry
from autoproperties, which caused resize and redraw. Closing #53
( Thanks Jyri Jokinen <shared{@}adresh{.}com> for reporting )
2005-06-16 Claes Nasten <pekdon{@}pekdon{.}net>
* src/CmdDialog.cc (mapCenteredOnWORef):
Added sanity checks to CmdDialog::mapCenteredOnWORef to make sure
the CmdDialog gets mapped inside the nearest head. Closing #49
* src/PScreen.cc (getHeadInfoWithEdge):
To unify strut and harbour edge handling harbour edge now is
described by a strut wich greatly decreases complexity.
Frame::fillHeadInfo was moved to PScreen::getHeadInfoWithEdge which
now has replaced most of the calls to PScreen::getHeadInfo and
thus makes things like MouseNotUnder placement respect the Harbour
and Strut applications. Closing #50
2005-06-13 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PTexturePlain.cc:
Added 4 extra boolean parameters to SolidRaise for setting which
corners to draw (Top Bottom Left Right). If omitted all are going
to be drawn, aka old default behaviour. It now also possible to use
line width of 0 to make sure lines are render completly out to the
edges.
2005-06-10 Claes Nasten <pekdon{@}pekdon{.}net>
* src/ScreenResources.hh:
Fixed CursorType enum issue causing invalid cursor beeing displayed
when hoovering decor border. Closing #44
( Thanks Jyri Jokinen <shared{@}adresh{.}com> for reporting )
* src/PDecor.cc (doMove):
Added boolean ShowStatusWindow option to the Screen section of
the main config file determing wheter to show the status window when
doing Move, Resize and KeyboardMoveResize. Closing #41
( Paul Seropian <nospaulatu{@}gmail{.}com> for request )
2005-05-31 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PDecor.cc (restackBorder):
Updated PDecor::restackBorder to include titlebar and child when
restacking. Now child will always appear ontop and windows are
restacked with XRestackWindows instead of individual calls to
raise and lower. Closing #34
* src/PMenu.cc (buildMenuRenderItem):
Added padding of PMenu arrow texture so it won't go over menu entries
text. Padding used is right padding from the text to the arrow and
right padding from the arrow to the right border. Closing #37
( Thanks angel2k{@}gmail{.}com for reporting )
* src/PImageNativeLoaderPng.cc (load):
Added missing fclose to PImageNativeLoaderPng::load. Closing #36
( Thanks dev{@}gim{.}name for reporting )
2005-05-20 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Client.cc (giveInputFocus):
Removed WM_TAKE_FOCUS sending from Client::giveInputFocus. It's not
beeing handled correctly thus disrupting focus. ICCCM and EWMH
compliance should be reworked and verified in the future.
2005-05-19 Claes Nasten <pekdon{@}pekdon{.}net>
* src/WindowManager.cc (sigHandler):
Changed WindowManager::reload to set a reload flag that will be
handled from the main loop to get rid of evil race conditions.
This isn't perfect yet as it needs a better main event loop,
currently reload will wait until an event reaches the queue.
* src/PMenu.cc (selectItem):
Fixed BadDrawable error doing XCopyArea to non-mapped window.
* src/WindowManager.cc (handleFocusOutEvent):
Now making sure we have FocusIn events in the queue when getting
FocusOut events on the currently focused PWinObj. Closing #32
( Thanks <largon{@}largon{.}net for reporting )
* src/Theme.cc (load):
Fixed crash issue when starting pekwm with empty Theme directive,
can be caused by completly missing configuration files or broken
configuration files.
( Thanks Alan Jurgensen <jurgensen{@}berbee{.}com> for reporting )
* src/PImage.hh:
New Image handling code with native backend supporting loading of
JPG (libjpeg), PNG (libpng) and XPM (libXpm) or using Imlib2 as
backend supporting its image formats. Now, pekwm also can be compiled
without any Image support at all thus removing the libXpm dependency.
This code is experimental and incomplete, there is no support for
shaping and Imlib2 backend is still incomplete. Expect updates soon.
2005-05-15 Claes Nasten <pekdon{@}pekdon{.}net>
* src/DockApp.cc (readClassHint):
DockApp::readClassHint were using effective (which can be the iconic)
dock app window when searching for the hint but should instead use
the client window. Fixing issues with harbour sorting.
* src/PDecor.cc (activateChild):
Removed restackBorder from PDecor::activateChild and now raising
active child if any after restacking border. Closing #30
( Thanks Juraj Ziegler <next{@}hysteria{.}cz> for reporting )
2005-05-14 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Workspaces.cc (getTopWO):
Now more carefull validation of what PWinObj to focus when changing
workspace including fallback to root window if focusing fails.
Added check for focusability in Workspaces::getTopWO so only
mapped anf focusable PWinObjs are returned.
2005-05-11 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Theme.cc (load):
Improved theme validation, now pekwm manages to start with empty or
nonexistent theme file. Closing #9
( Thanks Jan Matejek <matejcik{@}gmail{.}com> for reporting )
* src/PDecor.cc (applyBorderShape):
Changed shaped window behaviour, now shaped windows will appear to
be borderless even if they didn't request so however titlebar is
kept. This is basically the behaviour of TWM. Closing #3
( Thanks Jyri Jokinen <shared{@}adresh{.}com> for reporting )
* src/PDecor.cc (getBorderSize):
Added size validation in getBorderSize to fix issues with unsigned
value wrap.
2005-05-09 Jyri Jokinen <shared{@}adresh{.}com>
* data/keys:
Fixed two typos, one that caused half the file not to be parsed
and made it impossible to menu navigate or MoveResize with keys.
( Thanks agnitio and David Frey <dpfrey{@}shaw{.}ca> for reporting )
2005-05-09 Claes Nasten <pekdon{@}pekdon{.}net>
* src/CmdDialog.cc (exec):
Altered CmdDialog::exec behaviour, now when entering commands in
the CmdDialog and it doesn't matches a valid Action we now assume
it's an Exec action.
* src/WindowManager.cc (handleFocusInEvent):
Now flushing Enter and Leave events when found an usable FocusIn
event to stop them from interfering with the focus policy.
Closing #1
NOTE: This might have focusing side effects, please report if
experiencing any weird focus behaviour.
( Thanks Jyri Jokinen <shared{@}adresh{.}com> for reporting )
* src/PDecor.cc (Button):
Removed CWEventMask from PDecor::Button windows so that we can
distinguish wheter or not the pointer were on the button on
button release. Closing #10
( Thanks dbertonus{@}yahoo{.}com for reporting )
2005-05-08 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Client.cc (getEwmhStates):
Extend CfgDeny AutoProperty/StateAction with 7 new properties to
ignore.
* ActiveWindow, used to show and give input focus.
* MaximizedVert, used to maximize window vertically.
* MaximizedHorz, used to maximize window horizontally.
* Hidden, used to show/hide window.
* Fullscreen, used to set windot to fullscreen mode.
* Above, used to make window (always) above other windows.
* Below, used to make window (always) below other windows.
* src/Frame.cc (getState):
Fixed bug in Frame::getState caused initial fullscreen mode not to
work properly by syncing titlebar and border state after setting
fullscreen state and thus overriding the removal fullscreen caused.
* src/Frame.cc (Frame):
Added Client::setConfigureRequestLock which is used when doing
multiple tasks (like unsetting border and titlebar decor) at the
same time to minimize the number of ConfigureRequest events beeing
sent.
* src/PDecor.cc (PDecor):
Resource usage fixes. Add missing returnPixmap for the title
background on PDecors.
2005-05-07 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Client.cc (Client):
Modified the behaviour of ApplyOn Start autogrouping, now groups
are preserved when doing restart in such a sense previously pekwm
managed windows will remain in their groups. New clients however
will be added to the groups if suitable. Closing #17
( Thanks Anders Engstrom <ankan{@}nianze{.}com for request )
* src/PDecor.cc (setTitlebar):
Updated PDecor::setTitlebar, PDecor::setBorder and PDecor::resize to
make it safe from disappearing as shading a non full width title
removes border etc. Closing #23 and #24
( Thanks Jyri Jokinen <shared{@}adresh{.}com> for reporting )
2005-05-03 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc: (Frame)
Applied parts of patch from Rob McDonald reenabling DecorRules and
fixing some small errors.
( Thanks Rob McDonald <frobnoid{@}gmail{.}com> for patch )
* src/PDecor.cc (resize):
Now PDecor::resize doesn't unshade if shaded, just updates the
real_height property so that it will unshade to the correct size.
This fixes two known, and probably some unknown issues where
decors have been unshaded unwillingly.
* src/CfgParser.cc (parseCComment):
Fixed infinte loop when garbage / (with no / or * following) were
found in configuration files.
2005-05-02 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Config.cc (copyConfigFiles):
Added vars file to default set of config files.
* src/CfgParser.cc (load):
Now, the INCLUDE directive will first try the current working
directory / absoulte path (old behaviour) and if that fails it
will try to include the file relative from the directory the
current file resides.
Fixed broken testcase in Parser::safeSubstr.
* src/CmdDialog.cc (handleKeyPress):
Added two new actions for CmdDialog. CursBegin and CursEnd. Names
beeing self explanatory.
* src/CmdDialog.cc (bufChanged):
Updated CmdDialog behaviour. HistNext and HistPrev actions now move
the cursor to the end of the line. Also, scrolling of text behaves
more naturally and a position at 0 bug was fixed.
* src/PDecor.cc (PDecor):
Added missing initializer of PDecor member _button. Fixing segfault
caused by using _button pointing on undefined. Closing #22
( Thanks Jyri Jokinen <shared{@}adresh{.}com> for reporting )
2005-05-01 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PDecor.cc (renderTitle):
Initial work of having PWM like titlebars with the border below the
titles. This introduces three new theme options:
* WidthMin, minimum width of title in pixels.
* WidthMax, maximum width of titles in percent relative to width.
This value overides WidthMin if it's smaller.
* WidthSymetric, symetric "tab" width.
To make the title use the old and default style of handling the title
set WidthMin to 0.
* src/PDecor.cc (setFocused):
PDecor::applyBorderShape to actually apply the shape beeing set on the
individual border pieces in PDecor::setBorder. This caused shaped
borders not beeing shaped for real until one resized the window.
Closing #14
( Thanks Jan Matejek <matejcik{@}gmail{.}com> for reporting )
2005-04-27 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc (handleConfigureRequest):
Added new AutoProperty and StateAction, CfgDeny. It takes one
parameter which can be Position, Size or Stacking which decides
wheter or not pekwm should listen on those parts of
ConfigureRequest made on the client. Closing #19
Should be extended with overides of EWMH/ICCCM atoms in the future.
* src/Frame.cc (updateInactiveChildInfo):
Making sure all Clients in a Frame now get their state updated before
shutting down pekwm to ensure geometry and state beeing preserved.
* src/Harbour.cc (restack):
Added setting of layer to restack before raise/lower to make
harbour ontop setting be updated on reload. Closing #11
* src/PTexturePlain.cc (render):
Fixed missing replacement of width/height 0 to texture specified
size. This was noticed when trying to use plain textures (no image
to set the size) as separators. Closing #20
( Thanks Jyri Jokinen <shared{@}adresh{.}com> for reporting )
2005-04-25 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Config.cc (parseAction):
Replaced MoveClient{Next,Prev} with MoveClientRel action taking
a integer argument. MoveChildRel 1 equals MoveChildNext and
MoveChildRel -1 equals MoveClientPrev.
Replaced {Next,Prev}InFrame with ActivateClientRel action taking
a integer argument. ActivateClientRel 1 equals NextInFrame and
ActivateClientRel -1 equals PrevInFrame.
* src/PDecor.cc (moveChildRel):
Fixed broken behaviour of MoveClient{Next,Prev} not working
correctly. Closing #21
( Thanks Jyri Jokinen <shared{@}adresh{.}com> for reporting )
2005-04-23 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PScreen.cc (getNearestHead):
Applied patch improving Frame handling in Xinerama mode by replacing
getHead with getNearestHead.
( Thanks David Frey <dpfrey{@}shaw{.}ca > for patch )
2005-04-10 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc (handleConfigureRequest):
Now gravity is obeyd when handling configurerequests.
2005-03-29 Claes Nasten <pekdon{@}pekdon{.}net>
* src/CmdDialog.cc (loadTheme):
Fixed issue with CmdDialogs font color not beeing correctly set.
Closing #13
( Thanks Jyri Jokinen <shared{@}adresh{.}com> for reporting )
* src/WindowManager.cc (screenEdgeMapUnmap):
Now screen edge is disable if edge size equals 0.
Closing #12
( Thanks Aristotle Pagaltzis <pagaltzis{@}gmx{.}de> for reporting )
2005-02-27 Claes Nasten <pekdon{@}pekdon{.}net>
* src/ColorHandler.cc (getColor):
Now handling EMPTY colors without issuing a warning, they are
indeed intentionally left empty.
* src/Frame.cc:
Added support for the Viewport keyword in autoproperties, it had
been left dangling for quite some while now.
Example: Viewport = "Col Row"
( Thanks Geir Isene <geir{@}freecode{.}no for request )
2005-02-26 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Client.cc (readEwmhHints):
Added Splash and Dialog type to the handling of _NET_WM_WINDOW_TYPE
hint, applications get completly decorless using that hint.
Closing #8
( Thanks Aristotle Pagaltzis <pagaltzis{@}gmx{.}de> for reporting )
2005-02-09 Claes Nasten <pekdon{@}pekdon{.}net>
* src/WindowManager.cc (familyRaiseLower):
Fixed typo causing {Raise,Lower} True not affecting parent window
if issued on a child. Closing #4
( Thanks Jyri Jokinen <shared{@}surffi{.}net> for reporting )
* src/PDecor.cc (setDecor,setDecorOverride):
Changed decor name setting behaviour, now if one overrides used the
decor with Set Decor action it won't change when toggling border and
titlebar as before. Closing #6
( Thanks Jyri Jokinen <shared{@}surffi{.}net> for request )
* src/Config.cc (parseActionState):
Fixed Set Decor action, SetDecor failed to get updated to the
new format.
* src/Config.cc, src/PMenu.cc :
Fixed issues with extra #ifdef MENUS causing compilation to fail.
Closing #5
( Thanks Fernando Serboncini <fserb{@}gentoo{.}org> for reporting )
2005-01-30 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Config.cc:
Added more bounds checking in parser.
* src/WindowManager.cc (familyRaiseLower):
Fixed logic in {Raise,Lower} True actions, now parent window will lie
under the child window as expected.
( Thanks Jyri Jokinen <shared{@}surffi{.}net> for request )
2005-01-28 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Action.hh, src/ActionHandler.cc, src/Config.cc:
Applied patch removing {Raise,Lower}Family actions, instead using bool
parameter.
( Thanks Matt Hayes <nobomb{@}gmail{.}com> for patch )
2005-01-27 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PDecor.cc (getChildFromPos):
Fixed logic, didn't like weird values before causing clients to perform
actions on not beeing executed.
* src/Viewport.cc (moveToWO):
Added sanity check making sure the PWinObj actually is inside the visible
area of the screen.
2005-01-16 Claes Nasten <pekdon{@}pekdon{.}net>
* data/themes/default/theme:
New default theme by Christoph Strake imported.
( Thanks Christoph Strake <me{@}chr1z{.}de> )
* src/Client.cc:
Fixed ICCCM compliance issue causing windows not being drawn in
fbpanel's pager when beeing on other than the current workspace.
( Thanks pooh for reporting )
* src/PDecor.cc:
Fixed bug causing window to "jump" border + title height/width when
initiating move.
( Thanks Jyri Jokinen <shared{@}surffi{.}net> for reporting )
2005-01-06 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Image.cc:
Fixed ops causing incorrect alignment of images. Caused by missing
GCTileStpYOrigin flag set.
* src/PMenu.cc, src/Theme.cc, src/Theme.hh:
Applied patch to add texture indicating submenus. To configure add
Arrow parameter the different states in the Menu section of themes.
Parameter is an ordinary Texture.
( Thanks Matt Hayes <nobomb{@}gmail{.}net> for patch )
2004-12-29 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PWinObj.hh, src/PDecor.cc, src/PDecor.hh, src/Viewport.cc:
Added do_virtual option to PWinObj::move to control wheter or not
to update virtual position of PWinObjs when moving. This was added to
be able to control setting of _PEKWM_FRAME_VPOS hint needed when
shutting down making all Clients appear inside the "real" screen.
( Thanks Magnus Holmgren <mh{@}pekdon{.}net> for reporting )
2004-12-23 Claes Nasten <pekdon{@}pekdon{.}net>
* src/*:
Looked over setFocusedPWinObj and getFocusedPWinObj which should fix
issues with FocusToggle action and FocusedFirst property of autogrouping
always going to the same Frame.
* src/FrameListMenu.cc:
Changed the / | \ style group indication to using menu separators instead.
2004-12-22 Claes Nasten <pekdon{@}pekdon{.}net>
* src/ActionHandler.cc, src/WindowManager.cc:
Moved FocusDirectional and FocusToggle actions over to ActionHandler
where they belong.
* src/PWinObj.cc, src/PWinObj.hh:
Added new hidden state to PWinObjs for non-Frame PWinObjs so that they
can be considered in stacking etc but not mapping/unmapping. Fixed bug
that caused StatusWindow go under the menus.
* src/PMenu.cc:
Fixed bug caused menus beeing unmapped when dragged (WarpToWorkspace)
to a new workspace.
2004-12-20 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Client.cc:
_NET_WM_STATE property should be correct now.
* src/WindowManager.cc:
_NET_ACTIVE_WINDOW wasn't set correctly on Frames with more
than one Client.
* src/Config.cc, src/Config.hh:
Removed GrabWhenResize option as it used anymore.
2004-12-18 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PDecor.cc, src/FontHandler.cc, src/PFont.hh:
Fixed various compile-issues with old gcc-2.95.
2004-12-13 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Config.cc:
Renamed some sections in the mouse file, Frame now is FrameTitle and
FrameBorder is Border. Added section OtherTitle ( actions for decors
such as the menu or command dialog )
* src/PMenu.cc, Theme.cc:
Implemented menu separators, texture in the theme file is named
Separator and a separator currently is added to the menu by adding
an empty section named Separator: Separator { }
2004-12-12 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PDecor.cc, src/PDecor.hh, src/Frame.cc, src/Frame.cc:
Moved handling of ButtonPress and ButtonRelease over to PDecor so that
button presses on decor buttons works for menus and command dialog too.
* src/Viewport.hh(isInside):
Changed criteria to decide wheter or not a PWinObj is inside the viewport,
should resolve some focus issues.
* src/PDecor.cc(placeButtons,getChildFromPos):
Fixed bug causing clicks on the titlebar not beeing applied on any client
if width of the button was greater than the width of the decor.
( Thanks Jyri Jokinen <shared{@}surffi{.}net> for reporting )
2004-12-02 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PDecor.cc(setWorkspace), src/Client.cc(setWorkspace):
Fixed bug causing infinite loop when client set sticky.
( Thanks Oliver Kraitschy <okraits{@}compuserve{.}de> for reporting )
* src/WindowManager.cc (handleButtonPressEvent, handleButtonReleaseEvent):
Fixed bug causing Frames with more than Client in it not reacting on
button press/release on decor buttons.
( Thanks Jyri Jokinen <shared{@}surffi{.}net> for reporting )
* src/WindowManager.cc, src/Client.hh:
Overloaded handleButtonPress and handleButtonRelease for Client to
unify handling of events in WindowManager.
2004-11-29 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PDecor.cc:
Using selected color on single client decors.
( Thanks Oliver Kraitschy <okraits{@}compuserve{.}de> for request )
2004-11-28 Claes Nasten <pekdon{@}pekdon{.}net>
* src/ActionMenu.cc:
Fixed crash issue with dynamic menus and submenus.
( Thanks Oliver Kraitschy <okraits{@}compuserve{.}de> for reporting )
* src/Frame.cc, src/Client.cc:
Fixed issue with autorop geometry and workspace not beeing set correctly.
( Thanks Oliver Kraitschy <okraits{@}compuserve{.}de> for reporting )
2004-11-27 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc, src/Client.cc, src/Config.cc:
Added two new actions, SetTitle and UnsetTitle for setting titles on
client windows.
2004-11-24 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PDecor.cc, PDecor.hh, PMenu.cc, CmdDialog.cc, StatusWindow.cc:
Added more standard decors than DEFAULT, now there also is MENU,
CMDDIALOG and STATUSWINDOW.
2004-11-04 Claes Nasten <pekdon{@}pekdon{.}net>
* src/CmdDialog.cc, src/CmdDialog.hh, src/Config.cc, src/Action.hh:
CmdDialog work, added three new actions Close, HistNext and HistPrev
and renamed Add to Insert and {Next,Prev} to Curs{Next,Prev}.
Hist{Next,Prev} lets you access the last issued commands.
2004-10-31 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Workspaces.cc, src/Config.cc:
Added new placementmodel MouseNotUnder placing the windows trying to
make it not end up under the cursor instead it places the windows
in the screen corners.
2004-10-25 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Config.cc:
Fixed two opses causing MoveVertical do resize instead of move and
ViewportGoto not working correctly.
( Thanks Peter Nelson <rufus{@}hackish{.}org> for reporting )
* src/Client.cc:
Tweaked focus + autogroup (behind) behaviour as it caused trouble
giving input focus on a non activated child.
( Thanks Jyri Jokinen <shared{@}surffi{.}net> for reporting )
2004-10-24 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PDecor.cc:
Incorrect event_mask causing ConfigureRequest not beeing handled
properly making applications like gkrellm and xmms behave weird.
2004-10-18 Claes Nasten <pekdon{@}pekdon{.}net>
* src/*:
Renamed EnterMovingFrame to EnterMoving as it should apply on all
PDecor derived objects.
* src/PMenu.cc:
Fixed bug causing columns other than the first beeing non-functional (
selecting, execing etc )
Fixed ops causing items in the Goto series of menus not to react on
button presses.
( Thanks Jyri Jokinen <shared{@}surffi{.}net> for reporting )
* src/PDecor.cc:
Fixed decor not beeing updated correctly when toggling titlebar/border.
( Thanks Jyri Jokinen <shared{@}surffi{.}net> for reporting )
* src/Client.cc, src/Frame.cc:
Fixed autoproperties ClientGeometry and FrameGeometry not working as
they should.
( Thanks Jyri Jokinen <shared{@}surffi{.}net> for reporting )
* src/FrameListMenu.cc:
Fixed ops causing GotoClient menus not to do any actual work, just list
clients.
( Thanks Jyri Jokinen <shared{@}surffi{.}net> for reporting )
* src/Config.cc:
Fixed ops causing the Menu section in the main config file not beeing
parsed properly.
( Thanks Jyri Jokinen <shared{@}surffi{.}net> for reporting )
2004-10-17 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PDecor.cc:
Fixed crash bug caused when mapping title/border less applications.
( Thanks amongst others mh and okraits for reporting )
2004-10-13 Claes Nasten <pekdon{@}pekdon{.}net>
* src/*:
Removed optional compile of keygrabber as code is shared with the
CmdDialog making it have very little effect.
2004-10-09 Claes Nasten <pekdon{@}pekdon{.}net>
* src/CmdDialog.cc, src/CmdDialog.hh, src/Config.cc, src/Config.hh:
Added CmdDialog, simple text field that lets you enter pekwm commands
and then execute them. Valid actions are currently all actions valid
for the keygrabber. To configure the behaviour of the dialog one
section in the keys file and one in the mouse file has been added.
In the mouse file an Other section has been added mainly to control
focus behaviour of all PDecor based objects with non reimplemented
handle*Event methods.
In the keys file an CmdDialog section has been added, valid actions
are Add, Erase, Next ( move cursor ), Prev ( move cursor ), Clear, Exec.
The way to use Add is to put it as the last action configured and
make it support any mod/key to let you add text to box, example:
KeyPress = "Any" { Actions = "Add" }
Usefull actions are amongst other FindClient, Exec and RestartOther
2004-10-06 Claes Nasten <pekdon{@}pekdon{.}net>
* src/FontHandler.cc, src/FontHandler.hh, src/Theme.cc, src/Theme.hh:
Changed Font syntax from the old section orientated to a string
orientated. New format: "Font#Justify#Offset#Type" where Font is the
only field needed, Type field need to be last.
2004-10-03 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PWinObj.hh:
Extended PWinObj event interface with KeyPress, KeyRelease and Expose.
2004-09-19 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Harbour.cc, src/Harbour.hh, src/DockApp.cc, src/DockApp.hh:
Added a new option to the Harbour section of the main config file
named Sort. If set to true dockapps will be placed in order configured
via the Harbour section of the autoproperties file. Position is a
signed int and order goes as follows 1 2 3 0 0 0 -3 -2 -1 where numbers
other than 0 are offset relative to the start and end of dockapps.
Example of Harbour section of autoproperties file:
Harbour {
Property = "^obpager,^obpager" {
Position = "-1";
}
}
* src/PMenu.cc, src/PMenu.hh, src/Config.cc, src/Config.hh:
Made menu behaviour configurable, in the main config file a new
Menu section has been added containing three keywords: Select,
Enter and Exec which all can contain a space separate list of events
that should trigger respective action.
Example:
Menu {
Select = "Motion ButtonPress";
Enter = "ButtonPress";
Exec = "ButtonRelease";
}
2004-09-16 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Config.cc, src/Config.hh:
Renamed FrameAttract and FrameResist options in MoveResize section to
WindowAttract and WindowResist.
2004-09-15 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PScreen.cc, src/PScreen.hh, src/*:
Made getHead, getCurrHead and getHeadInfo availible even when xinerama
isn't enabled to reduce amount of #ifdef HAVE_XINERAMA in the code.
2004-09-10 Claes Nasten <pekdon{@}pekdon{.}net>
* src/WindowManager.cc:
Made WindowManger::RooWO focusable by setting _mapped property to true.
What does focus issues have to say about that?
2004-08-23 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PFont.cc, src/PFont.hh, src/Theme.cc, src/Theme.hh:
Added support for alpha with Xft fonts, add ,alpha value to the color.
Alpha beeing a value between 0 to 65535.
Example: #203040,30000 and rgb:20/30/50,60200
2004-08-21 Claes Nasten <pekdon{@}pekdon{.}net>
* src/CfgParser.cc, src/CfgParser.hh, *:
Renamed BaseConfig.{cc,hh} to CfgParser.
2004-08-05 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PScreen.cc, src/PScreen.hh:
Renamed Screen.{cc,hh} to PScreen.{cc,hh} to match with PScreen class.
* src/*:
Updated Copyright years.
2004-07-28 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PWinObj.cc, src/PWinObj.hh, *:
Renamed WindowObject to PWinObj.
2004-07-14 Claes Nasten <pekdon{@}pekdon{.}net>
* src/FrameListMenu.cc (handleGotomenu):
Applied patch from Alexandra Walford <chroma{@}delusion{.}de>
adding a new menu, GotoClient which acts like the Goto menu but
lists all Clients instead of Frames.
* src/ActionHandler.cc (actionFindClient):
Applied patch from Alexandra Walford <chroma{@}delusion{.}de>
adding a new action, FindClient which searches the client list
for a Client which has a matching title ( Using RegexString ).
* src/WindowManager.cc (MATCH_GROUP):
Fixed signed vs unsigned compile warning introducing together with
infinte group size.
2004-07-13 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Workspaces.cc:
Applied one line patch from Walter Mundt <emage{@}spamcop{.}net>
closing #46. Walter Mundt's comment on the bug:
"I think the problem is that when Workspaces gives input focus to
the last-focused window in the new workspace, it forgets to tell
the WindowObject class that it has done so. When the unmap events
come through, WindowObject says there's no focused object, so
WindowManager picks a new one -- the sticky window. Claes Nasten <pekdon{@}pekdon{.}net>
This patch fixes things."
2004-05-16 Jyri Jokinen <shared{@}surffi{.}net>
* data/*:
Continued reforming the configuration files.
( Thanks agnitio for testing and reporting oddities )
2004-05-15 Jyri Jokinen <shared{@}surffi{.}net>
* data/*:
Brought some new features to config files,
changing the mouse and keyboard config files most.
2004-04-27 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Client.cc (Client):
Fixed infinite grouping ( size = 0 ).
2004-04-04 Jyri Jokinen <shared{@}surffi{.}net>
* autogen.sh:
Added an autogen.sh script for generating configure&make stuff.
2004-02-21 Claes Nasten <pekdon{@}pekdon{.}net>
* src/ActionHandler.cc (handleStateAction):
Fixed handling of menu sticky state. Closing #49
( Thanks Jyri Jokinen <shared at surffi.net> for reporting )
2004-02-01 Claes Nasten <pekdon{@}pekdon{.}net>
* data/themes/horizon/theme:
Added new theme named horizon by Alexandra Walford.
( Thanks Alexandra Walford <chroma{@}delusion{.}de> )
* src/BaseConfig.cc (parseCComment):
Added support for C ( /* */ ) and C++ ( // ) style comments.
2004-01-30 Claes Nasten <pekdon{@}pekdon{.}net>
* src/AutoProperties.cc (parseAutoProperty):
Added Focusable autoproperty. Closes #45
( Thanks Frank Frejes <frank{@}oopdreams{.}com> for request )
* src/BaseConfig.cc (variableDefine,variableReplace):
Added support for getting and setting variables from and to the
environment in config files. To access or set a global variable
use $_ instead of $ as a prefix.
* src/Client.cc (giveInputFocus,close):
Changed from WindowManager::getLastEventTime to CurrentTime as
to fix gtk2 spinbutton issue. Closes #10
( Thanks Frank Fejes <frank{@}oopdreams{.}com> for fix )
2004-01-18 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Util.cc (setenv):
Rewrote setenv making parameters const and setting errno on
errors.
2004-01-15 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Config.cc (parseKey):
Added support for specifying keys with keycodes instead of with
XString format. No changes needs to be made to old keybindings,
specifying keycodes is done by prefixing them with #.
2004-01-13 Claes Nasten <pekdon{@}pekdon{.}net>
* data/config.in:
Added ConfigUniqueNames section.
* src/Client.cc (titleFindID), src/Config.cc, src/Config.hh:
Added support for configuring unique window names, this is done
via a new sub-section in the Screen section of the config file
named ClientUniqueNames. Sample:
ClientUniqueNames = "True" {
Pre = " <";
Post = ">";
}
Would give: Title <2>
* data/scripts/pekwm_themeset.sh:
Fixed extra fi and made /bin/bash to /usr/bin/env bash to make it
work on systems with bash in a nonstandard place.
( Thanks Leo Costela <costela{@}debian{.}org> for reporting )
* src/WindowManager.cc (setupDisplay):
Added support for old RANDR input selection to fix compilation
issues with XFree86 < 4.3.
( Thanks Leo Costela <costela{@}debian{.}org> for reporting )
2004-01-12 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Client.cc:
Added support for unique window names with the help of <1> style
indicators making them unique.
* src/main.cc (main), data/scripts/pekwm_themeset.{pl,sh}:
Added support for reading $PEKWM_CONFIG_FILE environment variable
at startup and setting it on configuration file so that it reflects
the active configuration file. Updated themeset scripts so that
they take advantage of this.
2004-01-11 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Workspaces.cc (setWorkspace,gotoWorkspace):
Moved setWorkspace, gotoWorkspace ( and related ) methods over to
Workspaces class where they belong.
* src/FrameListMenu.cc:
Changed parent class to WORefMenu instead of BaseMenu directly.
Now Attach* and Goto menus don't display the currently focused
Frame ( as this makes most sense, as you can't attach to yourself
etc )
* src/ActionHandler.cc (handleAction):
Fixed bug causing ShowMenu beeing issued from Frame title clicks
referencing the incorrect Client.
* src/WORefMenu.cc, src/WORefMenu.hh:
Added new class which is used as a common interface for Window and
Decor menus which adds functionality of showing the clients name
in the title of the menu.
2004-01-09 Claes Nasten <pekdon{@}pekdon{.}net>
* src/WindowManager.cc (handleXRandrEvent):
Added support for XRANDR extension, on resolution change things
now should run smoothly.
* debian/*:
Removed debian/ directory as requested by Leo Costela.
( Thanks Leo Costela <costela at debian dot org for request )
* configure.ac:
Added check for XRANDR extension. ( enable by default if availible )
Made Xft2 check default to yes.
2004-01-03 Claes Nasten <pekdon{@}pekdon{.}net>
* src/ActionHandler.cc (handleStateAction):
Replaced ToggleGrouping action with a new Set,Unset,Toggle state
named GlobalGrouping.
* src/Frame.cc (giveInputFocus):
Added check to make sure the Frame is inside the viewport before
giving it input focus.
* src/WindowManager.cc (findGroup):
Corrected the meaning of Global, previously it only skipped the check
if the window was mapped but it didn't skip the test if the window
was inside the viewport.
Made a group size 0 mean unlimited size.
* src/BaseMenu.cc (selectNextItem, selectPrevItem):
Made selectNextItem and selectPrevItem not deselecting item if there's
only one valid item in the list. Closes #40
( Thanks Christofer <chol{@}localhosted{.}net> for reporting )
* src/Config.cc (parseActionState):
Fixed compile warning.
( Thanks Alaa Abd El Fatah <alaa{@}linux-egypt{.}org> for noting )
* src/BaseConfig.cc:
Made $VARIABLES valid until the end of the file, so now it's
possible to do INCLUDE = "variables" and use the variables
in variables in the file where the INCLUDE was issued.
* src/PFont.cc (trimMiddle):
Tweaked the trimMiddle so that max_width shouldn't be overriden.
2004-01-02 Claes Nasten <pekdon{@}pekdon{.}net>
* src/BaseMenu.cc (selectNextItem,selectPrevItem):
Fixed menu navigation with keyboard, before it had issues with
dynamic menus ( stopping at the entries which are not visible ).
* src/*:
Three new actions has been introduced Set, Unset and Toggle.
These actions are used to manipulate toggable properties of
Frames and has been introduced instead of introducing actions
like SetMaximized and UnsetShaded. Valid states are:
Maximized bool bool, Fullscreen, Shaded, Sticky, AlwaysOntop,
AlwaysBelow, DecorBorder, DecorTitlebar, Iconified,
Tagged bool, Marked, Skip mask
This change makes the following actions invalid:
Maximize, Fullscreen, Shade, Stick, AlwaysOnTop,
AlwaysBelow, ToggleBorder, ToggleTitleBar, ToggleDecor,
Iconify, ToggleTag, ToggleTagBehind, MarkClient, ToggleSkip.
Sorry for the inconvience, happy config file hacking. ;)
2004-01-01 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc (detachClient):
Fixed issue with client beeing misplaced when issuing detach.
2003-12-29 Claes Nasten <pekdon{@}pekdon{.}net>
* data/scripts/pekwm_themeset.pl:
Changed #!/usr/bin/perl to #!/usr/bin/env perl and now pkill -HUP
is used instead of killall -HUP.
* data/themes/minimal/theme:
Updated the the minimal theme and added unfocused buttons.
2003-12-26 Claes Nasten <pekdon{@}pekdon{.}net>
* src/* (handleButtonRelease):
Added support for DoubleClick actions on Menus, Root and Edges.
* src/main.cc (main):
Added --config option to pekwm which lets you select a custom config
file instead of ~/.pekwm/config and SYSCONFDIR/config.
( Thanks "alot of persons" for request )
2003-12-01 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc (maximize):
Now checking if the frame is mapped instead of it's on the same
workspace so that it takes sticky windows in account and doesn't take
hidden windows in account. Closes #35
( Thanks Aristotle Pagaltzis <pagaltzis{@}gmx{.}de> for reporting )
2003-11-27 Claes Nasten <pekdon{@}pekdon{.}net>
* src/ActionHandler.cc (handleAction):
Removed Frame::showWindowMenu and added the appropriate code in
handleAction for use with DecorMenu too.
2003-11-24 Claes Nasten <pekdon{@}pekdon{.}net>
* src/FrameListMenu.cc (updateFrameListMenu):
Removed printing of workspace if we only have one workspace.
( Thanks Peter Andersson <gandorf{@}bredband{.}net> for request )
* src/Frame.cc (maximize):
Now MaxFill doesn't set maximized state. Closing #30
* src/PFont.cc (trimMiddle):
Less wasting of title space using trimMiddle. Closing #21
2003-11-21 Claes Nasten <pekdon{@}pekdon{.}net>
* src/*:
Applied patch from pv2b splitting {Edge,Frame}Snap into Attract and
Resist. To get the old Snap behaviour one sets both Attract and
Resist to the same value.
( Thanks Per von Zweigbergk <pvz{@}e dot kth{.}se >
* src/Frame.cc (calcSizeInCells):
Fixed bug caused invalid reporting of size in cells ( 80x24 etc ).
( Thanks Jyrki Muukkonen <jyrki{@}kruu{.}org> for patch )
2003-11-19 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Theme.hh (getFrameData):
Now decor name are case-insensitive.
* src/Frame.cc (doMove,doResize,doKeyboardMoveResize):
Fixed position reporting when moving and resizing frames when beeing
on another viewport than the first.
2003-11-18 Claes Nasten <pekdon{@}pekdon{.}net>
* src/KeyGrabber.cc (findAction):
Now one can execute global key-bindings while navigating the menu,
however, menu-bindings match before global-bindings.
* src/WindowManager.cc (handleKeyEvent), src/Frame.cc (doMove):
Made handleKeyEvent a public method so that it can be used in
Frame::doMove so one can execute key-bindings when moving frames.
( Thanks Za Ny for request )
* src/Config.cc:
Made all actions valid for RootClick also valid for the ScreenEdge.
2003-11-17 Claes Nasten <pekdon{@}pekdon{.}net>
* src/*:
Added two new actions, WarpFrameToWorkspace and WarpFrameToViewport
valid in the ScreenEdge section of the mouse file. These are intended
for use together with EnterMovingFrame to make workspace/viewport
switching possible while moving frames. The actions take the standard
GotoWorkspace and ViewportGoto parameter.
2003-11-16 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc (doMove):
Added support for EnterMovingFrame actions, no actions are currently
supported though but.
* src/Client.cc (mapWindow,unmapWindow), src/Frame.cc (applyState):
Now unmapping the client window and not only the parent window
when unmapping. Required syncing of the mapped state in
Frame::applyState to work correctly when attaching clients from
non-active workspaces. Partially closes #29
2003-11-11 Claes Nasten <pekdon{@}pekdon{.}net>
* src/WindowManager.cc (handleXError):
Yet another pekwm crash on restart fixed. XCloseDisplay issues
XSync and if any errors exists the X11 error handler is called which
was using the PScreen::instance, it has been replaced with standard
X11 calls on the supplied Display.
( Thanks mh <mh{@}pekdon{.}net> for reporting )
2003-11-09 Claes Nasten <pekdon{@}pekdon{.}net>
* src/WindowManager.cc (cleanup):
Moved XCloseDisplay to a proper place after everything has been
cleaned up and deleted fixing pekwm crashing when shutting down /
restarting.
* src/PFont.cc (trim):
Added characther chopping when using TrimMiddle as it's needed if the
availible width is less than what the TrimMiddle string + 2 characters
needs.
* src/Frame.cc (maximize):
Applied patch from Nathan Clegg <nathan{@}geerbox{.}com> creating
a new action, MaxFill which acts as Maximize but considers the Frames
around it.
2003-11-06 Claes Nasten <pekdon{@}pekdon{.}net>
* src/WindowManager.cc (~WindowManager):
Added missing call to cleanup in ~WindowManager. Closing #16
* src/WindowManager.cc (familyRaiseLower):
Added two new functions, RaiseFamily and LowerFamily. They restack a
group ( via the TRANSIENT_FOR hint ) of windows.
( Thanks Armin <snooze{@}unixkiste{.}org> for request )
* src/Viewport.cc (makeWOInsideVirtual, makeWOInsideReal):
Added two new methods beeing called from the Frame constructor
making sure that Frames doesn't place themself outside the screen.
* src/main.cc (main):
Added comments to all methods and added missing call to delete at
the end of main.
* src/DockApp.cc:
Made DockApp utilize PixmapHandler and cleaned up constructor and
destructor.
2003-11-05 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc (fillHeadInfo):
Fixed bug caused by checking if Xinerama was enabled causing harbour
beeing ignored when calculating valid screen area.
* src/DockApp.cc (validateSize):
Fixed ops that caused SideMin not to work on the height. Closing #27
( Thanks Aristotle Pagaltzis <pagaltzis at gmx dot de for reporting )
* src/Frame.cc (moveToEdge):
Now MoveToEdge action cares about struts and the harbour.
2003-10-30 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Util.hh: (isTrue):
Now it's possible to use 1 and 0 instead of True and False.
( Thanks pfusch for request )
* src/WindowManager.cc (findWOAndFocus):
Replaced findFrameAndFocus with findWOAndFocus, findWOAndFocus uses
the MRU list instead of stacking list which findFrameAndFocus did.
* src/Frame.cc (fillHeadInfo):
Added new method now used used in fixGeometry and checkEdgeSnap to
setup head/screen geometry removing strut and harbour areas.
( Fixing bug causing invalid position when maximizing )
2003-10-23 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc (moveToEdge):
Changed the behaviour of {Top,Bottom,Left,Right}Edge making them only
modify one axis ( y for top and bottom, and x for left and right ).
The old behaviour can be achived with
{Top,Bottom,Left,Right}CenterEdge.
( Thanks David Frey <dpfrey{@}shaw{.}ca> for request )
* src/Config.cc (parseAction):
Removed MaximizeHorizontal and MaximizeVertical actions as Maximize
now take two bool paremters, first one decides if horizontal should
be toggled, second vertical.
* src/Config.cc (copyConfigFiles):
Now bailing out if we are unable to open the source files when
trying to copy the cfg files to ~/.pekwm
2003-10-10 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc (growDirection):
Added new action GrowDirection which grows the frame in one of the
directions ( Up, Down, Left and Right ) to the edge of the head.
2003-10-09 Claes Nasten <pekdon{@}pekdon{.}net>
* Makefile.am:
Started converting the makefiles to automake.
2003-10-08 Claes Nasten <pekdon{@}pekdon{.}net>
* data/menu.in (RootMenu):
Added ~/.pekwm/themes to the Themes dynamic menu.
2003-10-07 Claes Nasten <pekdon{@}pekdon{.}net>
* src/FrameListMenu.cc (buildName):
Added viewport information to the FrameList series of menus. It only
displays if either there's more than one viewport in X or Y
direction.
( Thanks mh <mh{@}pekdon{.}net> for request )
* src/Viewport.cc (moveToWO):
Fixed bug causing the GoTo menu go to the incorrect viewport. Also
tweaked the behaviour so that the windowobjects viewport is
calculated from the windowobjets center and not the top left edge.
( Thanks Josh <joshdr77 at hotmail.com> and mh <mh{@}pekdon{.}net>
for reporting the issue )
2003-09-29 Claes Nasten <pekdon{@}pekdon{.}net>
* data/scripts/pekwm_themeset.pl:
Now sorting theme-names lexically.
* src/Client.cc (setSkip):
Added _PEKWM_FRAME_SKIP hint so saving of windows skip state should
be saved when restarting.
* src/Client.cc (readPekwmHints):
Added _PEKWM_FRAME_DECOR hint so saving of windows decor state should
be saved when restarting.
2003-09-27 Claes Nasten <pekdon{@}pekdon{.}net>
* data/scripts/pekwm_themeset.sh:
Added shell version of the pekwm_themeset.pl dynamic contributed by
Michal Adamec which is nice for minimal linux installations lacking
perl.
( Thanks Michal Adamec <emsy{@}pobox{.}sk> for script )
* src/WindowManager.cc (focusDirectional):
Added new action, FocusDirectional that takes two paremeters ( only
the first is obligatory ).
FocusDirectional Direction Bool
Where Direction is one of Up,Down,Left and Right and Bool decides
wheter or not the focused window should be raised.
2003-09-24 Claes Nasten <pekdon{@}pekdon{.}net>
* src/*:
Replaced all the old _cfg class member variables with the use of
Config::instance().
* src/FrameWidget.cc (getTabWidth, getTitleWidth):
Applied patch fixing broken tab-width calculation when
title-width / num-clients != integer.
( Thanks <ghostgim{@}yahoo{.}fr> for patch )
2003-09-22 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PFont.cc, src/PFont.hh:
Cleaned up code minimizing code duplication.
* src/PFont.cc, src/PFont.hh, Client.cc, Client.hh, FrameWidget.cc:
Tuned the trimming, now only titles _not_ having any title rules
applied get trimmed at the middle.
2003-09-21 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PFont.cc, src/PFont.hh (trim):
Added new option, TrimTitle which takes a string as parameter and makes
the old obligatory ... type title shortening configurable. To achive
the old behaviour set TrimTitle to ... in the Screen section of config.
2003-09-20 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Workspaces.cc (placeCenteredOnParent):
Added a new placement model, CenteredOnParent that causes transient
windows to be placed centered on their parent ( transient for ).
* src/AutoProperties.cc, src/Client.cc, src/Frame.cc:
Added two new options with matching autoproperties. The new options are
PlaceNew and FocusNew and they go under the Screen section of the main
config file. And the autoproperties have the same name and are used to
overide the defaults.
2003-09-19 Claes Nasten <pekdon{@}pekdon{.}net>
* src/AutoProperties.cc (parseAutoProperty):
Added new autoproperty: Fullscreen.
* src/PFont.cc, src/Theme.cc:
Applied patch fixing two opses causing Xmb fonts not to work.
( Thanks Harashino Makoto <harashi@jazz.email.ne.jp> for patch )
2003-09-17 Claes Nasten <pekdon{@}pekdon{.}net>
* src/BaseMenu.cc, src/WindowObject.cc:
Moved stick to WindowObject and made Stick an valid action for menus.
* src/Frame.cc (fullscreen):
Added new action Fullscreen, it's only valid from the keys file so
you don't put yourself into trouble.
* src/Frame.cc (handleClientMessage):
Added support for toggling _NET_WM_STATE_ABOVE, _NET_WM_STATE_BELOW and
_NET_WM_STATE_FULLSCREEN.
* src/PFont.cc (trim, draw):
Added a title shortening rule making too long titles skip the middle of
the string replacing it with ...
* src/WindowManager.cc (screenEdgeCreate):
Fixed missing insertion of the screen edge to the workspace stacking
list.
2003-09-16 Claes Nasten <pekdon{@}pekdon{.}net>
* src/BaseMenu.cc (updateMenu):
Fixed broken size calculation of title fonts in menus.
2003-09-06 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Atoms.cc, src/Client.cc, src/WindowManager.cc
Applied patch from Etan Reisner adding more set* to the AtomUtil
namespace.
( Thanks Etan Reisner <deryni@eden.rutgers.edu> for patch )
2003-09-03 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Config.cc:
Enabled Mod2, Mod3 and Mod5 for actions. However, if ModX corresponds
to a Lock key like Scroll Lock adding them won't make a difference
to action matching.
2003-08-27 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Config.cc (parseAction):
Added support for {Next,Prev,Left,Right} in SendToWorkspace action.
( Thanks Konstantin Kletschke <konsti@ludenkalle.de> for request )
* src/ActionHandler.cc (handleAction):
Removed the {Next,Prev,Left,Right}Workspace actions, instead using
GotoWorkspace {Next,Prev,Left,Right,Num}.
2003-08-26 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Config.cc:
Changed masks for {Next,Prev,Left,Right}Workspace to include Frames.
( Thanks Lars-Erik Wessman <larserik@ormgrop.com> for request )
* src/BaseMenu.cc (handleMotionEvent):
Added support for Treshold in Menu section of the mouse file.
* src/Viewport.cc (scroll, gotoColRow):
Added three new actions, all of them taking two parameters:
ViewportScroll X Y ( Move viewport X and Y from current position )
ViewportGoto Col Row ( Move viewport to Col Row )
ViewportMoveXY X Y ( Move viewport to X Y )
* src/WindowManager.cc (focusToggle):
Added two frequently requested actions, NextFrameMRU and
PrevFrameMRU. Takes the same options as NextFrame and PrevFrame.
2003-08-19 Claes Nasten <pekdon{@}pekdon{.}net>
* data/Makefile.in:
Fixed broken --mandir option.
( Thanks Per Øyvind Karlsen <peroyvind@linux-mandrake.com> for patch )
2003-08-17 Claes Nasten <pekdon{@}pekdon{.}net>
* src/ActionHandler.cc (handleAction):
Replaced the MENU_CLOSE action with the generic ACTION_CLOSE.
2003-08-16 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PixmapHandler.cc:
Added PixmapHandler class for caching Pixmap creations/frees for
speed reasons. New option in the main config file in the Screen
section named PixmapCacheSize determining how many unused pixmaps
that should go into the cache is now availible.
* src/WindowManager.cc (restart, shutdown):
Moved shutdown/restarting code out from WindowManager, now only
setting _restart_command from WindowManager and restarting from main()
* src/Viewport.cc (moveToWO):
Implemented moveToWO so that the Goto menu will work correctly if
Frames are outside the current viewport.
2003-08-15 Claes Nasten <pekdon{@}pekdon{.}net>
* src/WindowObject.cc, WindowManger.cc (giveInputFocus):
Added focusable property to WindowObjects. And made
WindowManager::EdgeWO unfocusable.
* configure.in, acinclude.m4:
Added checks for Imlib2 ( image handling ) and Xft ( font support )
to the configure script.
2003-08-11 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Client.cc (readAutoprops):
Fixed silly error return data instead of NULL causing transient
windows beeing autogrouped and having the geometry set as it's done
outside Client::readAutoprops.
* data/themes/default/theme.in:
Updated the default theme so that it works together with pekwm.
* src/Frame.cc (setupAPGeometry):
Replaced the Geometry auto property with two new properties,
FrameGeometry and ClientGeometry. It's valid to use both at the
same time but the FrameGeometry overides the ClientGeometry.
2003-08-10 Claes Nasten <pekdon{@}pekdon{.}net>
* src/PFont.cc:
Added PFontXmb type and move non-used code from PFontX11 to it. To
use Xmb fonts append #XMB to the font name, just like one appends
#XFT for Xft fonts.
2003-08-08 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Theme.cc (loadFont):
Changed the : to # used for specifying types as : conflicts with
Xft font names.
* src/Harbour.cc, src/Frame.cc, src/Config.cc, src/WindowManager.cc:
Applied patch fixing Harbour+Xinerama behaviour. This also adds a
Head keyword to the Harbour section of the config file which decides
which head dockapps should be placed.
( Thanks Bryan Traywick <mufasio@comcast.net> for patch )
2003-08-07 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Image.cc:
Started implementing Imlib2 support, to make pekwm support more file
formats that Xpm and have much improved image-scaling performance.
* src/ImageHandler.cc:
Added ImageHandler class which caches image loading to make less
resources beeing used. ( very usefull when having multiple decors )
* src/AutoProperties.cc (findDecorProperty):
Added DecorRules section to the autoproperties file. This means one
can have different types of frame decorations based on ordinary
property rules. Sample section:
DecorRules {
Property = "^.term,^XTerm" {
Decor = "TERM"
}
}
Which will make terminals have the FrameDecor named TERM in the
theme file ( if one exists ).
* src/PFont.cc:
Renamed PekwmFont.* to PFont.*. Reworked font support so now there's
a PFont baseclass, and PFontX11 PFontXft derived classes.
Also added to the fonts system is shadowed fonts which means you can
have two colors per font with configurable offset. A Font section in
the theme file now looks like this:
Font = "Vera-12#XFT" {
Justify = "Center"
Offset = "1 1"
}
2003-08-04 Claes Nasten <pekdon{@}pekdon{.}net>
* src/BaseConfig.cc (parseVariables):
Now variable expansion ends at any non alpha numeric character instead
of only spaces and new variables as before.
The old behaviour caused:
$OOo = "~/OpenOffice.org1.0.3/program"
Entry = "Writer" {Actions = "Exec $OOo/swriter &"}
Not to work because of the variable didn't end at the / but after
swriter.
( Thanks Russell Wood <rjw@dynode.net> for reporting )
2003-08-03 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc (close):
Added new action, CloseFrame which closes the Frame and all clients
in it.
( Thanks gim <ghostgim@yahoo.fr> for request )
2003-08-02 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc (doGroupingDrag):
Added check to see if global grouping is turned off when doing
GroupingDrag. ( Makes it ungroup wherever the window is released )
2003-08-01 Claes Nasten <pekdon{@}pekdon{.}net>
* src/BaseMenu.cc (setFocused):
Added two new colors to theme, BackgroundFocused and TextFocused, that
is used when the menu has input focus.
(handle*):
Now there's a Menu section of the mouse file, supported events
currently are ButtonPress, ButtonRelease, Enter and Leave.
* src/AutoProperties.cc (matchAutoClass):
Added new method matchAutoClass now used in both
AutoPropertis::findProperty and WindowManager::findGroup which should
correct broken autogrouping matching rules.
2003-07-30 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Client.cc (Client):
Fixed misplaced initalisation of _shaped making compilation break if
shaping support was absent.
( Thanks Chris Priestman <chris@rpgcron.karoo.co.uk> for reporting )
* src/Config.cc (getMouseButton, getMod):
Added Any to the list of valid mouse buttons and valid modifiers,
this should be used when configuring enter and leave events
* src/WindowManager.cc (cleanup):
Now destroying the Screen Edge, might fix some shutdown issues.
(RootWO)
Added Root WindowObject so now root window actions and true focus
follow mouse should be possible.
* src/BaseConfig.cc (pipeFillBuffer):
Now doing proper saving/restoring of the SIGCHLD action.
2003-07-19 Claes Nasten <pekdon{@}pekdon{.}net>
* src/ActionHandler.cc (handleAction):
Added new action, ToggleGrouping, which toggles sets all kinds of
grouping on/off. This I find usefull when I want to avoid
autogrouping.
* src/KeyGrabber.cc (load):
Made the "couldn't load keyfile" error more informative.
( Thanks edgewalker for request )
2003-07-18 Claes Nasten <pekdon{@}pekdon{.}net>
* src/* (*):
Leave and Enter events are configurable, not everything is working yet
but check data/mouse for example on how to configure pekwm now.
This obsoletes the Focus section of the config file.
2003-07-16 Claes Nasten <pekdon{@}pekdon{.}net>
* src/BaseMenu.cc (selectItem):
Applied patch fixing broken menu behaviour ( moving the mouse to the
title didn't de-select the active menu item )
( Thanks deryni for patch )
* src/Client.cc (Client):
Started replacing the _frame (Frame) pointer with a
_parent (WindowObject) pointer.
2003-07-14 Claes Nasten <pekdon{@}pekdon{.}net>
* src/WindowManager.cc (handleEnterNotify):
Now it's possible to configure ScreenEdge Enter/Leave events. This
obsoletes the WWMouse option.
2003-07-13 Claes Nasten <pekdon{@}pekdon{.}net>
* src/FrameWidget.cc (FrameWidget):
Changed the event mask of the border to fix the "action beeing
run twice" when having actions with modifiers on the frame's border.
* src/Config.cc (loadMouseConfig):
Added support for configuration FrameBorder. This is done via the new
FrameBorder section in the mouse config. ButtonPress, ButtonRelease
and Motion are valid event types.
Example:
FrameBorder {
TopLeft { ButtonPress = "1" { Actions = "Resize TopLeft" } }
}
Valid position are TopLeft, Top, TopRight, Left, Right, BottomLeft
Bottom and BottomRight.
NOTE: If not adding any actions resizing the frame with the border
will not work.
2003-07-12 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc (toggleSkip):
Added new function, ToggleSkip which lets you modify the skip state
of the current frame while running, before one only could access
this feature with autoproperties.
2003-07-11 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Viewport.hh, src/WindowManager.cc: (isInside)
Fixed isInside method, now FocusNextPrev and FindGroup only includes
windows that have their top-left corner visible on the current
viewport.
2003-07-10 Claes Nasten <pekdon{@}pekdon{.}net>
* src/DockApp.cc (updateSize):
Added a new section to the Harbour section in config, Dockapp which
currently contains two values, MinSide and MaxSide. To get
windowmaker like behaviour do MinSide = "64"; MaxSide = "64".
Size excludes dockapp borders.
2003-07-09 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Atoms.cc (getString):
Fixed broken get string caused by not casting uchar to const char.
( Thanks deryni for fix )
2003-07-08 Claes Nasten <pekdon{@}pekdon{.}net>
* src/ActionHandler.cc (handleAction):
It's now possible to use the ViewportMoveDirection action.
* src/WindowManager.cc (handleClientMessageEvent):
Now listening to _NET_DESKTOP_VIEWPORT making it possible to move
viewports with lets say a pager.
2003-07-07 Claes Nasten <pekdon{@}pekdon{.}net>
* src/AutoProperties.cc (parseAutoGroup):
Added new keyword to the Group section of autoproperties "Raise"
making autogrouped windows beeing raised upon grouping.
( Thanks shared for the request )
* src/Viewport.cc (Viewport):
Started working on Viewports, still not very "mature" but they're
working.
* src/WindowManager.cc (handleMotionEvent):
Added support for configuring root window motion events.
* src/Screen.cc (getButtonFromState):
Added getButtonFromState which reads state trying to figure out which
button is pressed ( used in *::handleMotionEvent )
2003-06-26 Claes Nasten <pekdon{@}pekdon{.}net>
* src/ActionHandler.cc (handleAction):
Applied patch making Untag a valid action for root clicks.
( Thanks gim <ghostgim@yahoo.fr> for patch )
2003-06-24 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Atoms.cc (getProperty):
Fixed seriously broken atoms code. ( did I sleep while coding? )
2003-06-22 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Client.cc (handleUnmapEvent):
Now there shouldn't be any more XErrors when client unmaps.
* src/Workspaces.cc (placeSmart):
Applied patch from Timo Hirvonen, quote from email:
"this patch fixes a window placement bug (smart placement doesn't work
if there's exactly window width/height pixels empty space)."
( Thanks Timo Hirvonen <tihirvon@mail.student.oulu.fi> for patch )
* src/Frame.cc (updatePosition):
Fixed invalid reporting of client position when moving clients,
this caused Eterm background ( when semi-transparent ) to be misplaced.
( Thanks Tomas Green < tgr0217@student.skelleftea.se > for reporting )
2003-06-20 Claes Nasten <pekdon{@}pekdon{.}net>
* data/scripts/pekwm_themeset.pl:
Changed pkill to killall for reloading pekwm.
( Thanks Adam <blueeskmo@gmx.net for request )
2003-06-16 Claes Nasten <pekdon{@}pekdon{.}net>
* src/*:
Renamed ScreenInfo class to PScreen as it does more than only contain
info. Made the PScreen class a singleton class.
* src/Types.hh
Added uint, ulong and uchar defines.
* src/AutoProperties.cc (findProperty,parseProperty):
Added support for the WM_WINDOW_ROLE hint, add Role keyword to the
property for matching.
NOTE: Changed matchign behaviour, for title or role matching one needs
to specify a class hint, for the old behaviour use .*,.*
* src/Config.cc:
Made the GotoWorkspace action valid for use in the WindowMenu.
2003-06-08 Claes Nasten <pekdon{@}pekdon{.}net>
* data/scripts/pekwm_ws_menu.pl:
Fixed SendToWorkspace typo.
( Thanks Jose A. Ortega Ruiz <jao@member.fsf.org> for reporting )
* debian/pekwm.menu-method:
Updated for the new config format.
( Thanks Mohammed Sameer <Uniball@gmx.net> for fix )
pekwm-0.1.3 released
2003-06-05 Claes Nasten <pekdon{@}pekdon{.}net>
* configure.in, data/Makefile.in, data/scripts/Makfile.in:
Patch adding scripts dir and fixes a typo in the makefiles.
( Thanks Jaster for patch )
2003-06-02 Claes Nasten <pekdon{@}pekdon{.}net>
* src/WindowManager.cc (screenEdgeCreate):
Added support for workspace warping by only using the mouse.
To enable this set WWMouse to > 0 and if you want it to wrap set
WWMouseWrap to True in the MoveResize section.
The old WorkspaceWrap and WrapWorkspaceWrap options have been renamed
to WWFrame and WWFrameWrap.
( Thanks mh for request )
* src/Frame.cc (doMove):
Fixed redraw issues when warping workspaces while moving and using
wireframe move mode.
* src/Workspaces.cc (isEmptySpace):
Now menus are ignored when searching for empty space.
* src/Frame.cc (removeClient):
Fixed issue with Frames having incorrect geometry after restart when
grouping.
( Thanks shared for reporting )
2003-06-01 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc (doGroupingDrag):
Changed the GroupingDrag behaviour so that it groups the client beeing
clicked on in the titlebar instead of the currently active one.
( Thanks shared for the request )
2003-05-31 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Client.cc (Client, mapWindow, unmapWindow):
Fixed issue with map and unmap window causing the
_NET_WM_STATE_HIDDEN state not beeing updated as it should.
( Thanks shared for reporting )
2003-05-30 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Atoms.cc (EwmhAtoms):
Added support for _NET_WM_STATE_ABOVE and _NET_WM_STATE_BELOW
* src/Client.cc (readAutoprops):
Autoproperties Geometry directive now handles negative position in
such a way that -0-0 will make the window appear in the bottom right
corner but having the whole window visible.
* src/Config.cc (parseActionEvent):
Fixed ops causing keyless actions be reported as ok causing X11
weirdness.
* src/WindowManager.cc (setEwmhSupported):
Fixed mismatched new [] delete thanks to valgrind
* src/ActionMenu.cc (unload):
Fixed bug causing pekwm to crash when using dynamic menus and
submenus by doing BaseMenu::remove and BaseMenu::removeAll virtual
and replaced unload with that
2003-05-29 Claes Nasten <pekdon{@}pekdon{.}net>
* src/BaseConfig.cc (pipeFillBuffer):
Yet another try making the pipeFillBuffer working and this time it
seems as it's successfull. :)
* src/Client.cc (readAutoprops):
Fixed focus issue when having focus on new set to false and
autogrouping windows.
( Thanks shared for reporting )
2003-05-25 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Client.cc (move, resize):
Reworked code so that invalid geometry when autogrouping / applying
geometry with autoproperties should happen less frequently.
2003-05-24 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Frame.cc (doKeyboardMoveResize):
Showing geometry while in moveresize mode.
* src/WindowManager.cc (handleButton*Event):
Now supporting separate configuration of button press and releases,
keywords are ButtonPress and ButtonRelease.
* src/*:
Reworked the action system to support multiple actions per event and
to make actions look the same in all cfg files.
Some examples:
Chain = "Mod1 X" { // keys
KeyPress = "Mod1 X" { Actions = "ActivateClientNum 3; Exec xterm" }
}
ButtonPress = "1" { Actions = "Raise; Activate" } // mouse
Left { // theme
Pixmaps = "btn-close-fo.xpm btn-close-un.xpm btn-close-pr.xpm"
ButtonPress = "1" { Actions = "Raise; Activate" }
ButtonPress = "2" { Actions = "Maximize; Shade" }
}
Entry = "Xmms" { Actions = "Exec xmms &" } // menu
* src/Config.cc (getMod):
Renamed Alt to Mod1
2003-05-23 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Util.cc (splitString):
Fixed a bug when having sero size tokens making pekwm crash. Did
some optimizations while at it.
2003-05-09 Claes Nasten <pekdon@gmx.net>
* src/AutoProperties.cc (parseAutoGroup):
Changed autogrouping syntax and introduced a new option, global,
which makes grouping ignore the mapped state of the Frame so that
grouping happens over all workspaces.
Example of a new grouping rule:
Property = "^xterm,^XTerm" {
ApplyOn = "New"
Group = "terminals" {
Size = "3"
Behind = "True"
Global = "False"
}
}
* src/AutoProperties.cc (parseTitleProperty, parseAutoProperty):
Added support for title rewriting, rules for defining title
rewriting are specified in the autoproperties file under a new
section, TitleRules, here follows a sample TitleRules section:
TitleRules {
Property {
Title = "pekwm"
Rule = "/.*/pekwm, kickass window manager/"
}
Property = "^Mozilla,^navigator:browser" {
Rule = "/(.*) - Mozilla/M: \$1/"
}
Property = "^dillo,^Dillo" {
Rule = "/Dillo: (.*)/D: \$1/"
}
}
Made a common base class for the Auto and Title properties so that
matching and parsing code can be shared.
* src/Client.cc:
Went back to using strings for title and icon name, as a step to
supporting title rules.
* src/RegexString.cc (parse, replace):
Rewrote RegexString to add more functionality, now it has a replace
method to be used in title shortening. Example: /Title (.*)/$1/
2003-05-03 Claes Nasten <pekdon@gmx.net>
* src/Client.cc (readMwmHints):
Fixed (?) incorrect reading of _MOTIF_WM_HINTS that made certain
apps not beeing resizeable etc.
( Thanks Thomas Fletcher <shadyfletch@yahoo.co.uk> for reporting )
* src/Frame.cc (Frame):
Fixed incorrect reparent position when the Client lacked either
titlebar or border.
( Thanks Thomas Fletcher <shadyfletch@yahoo.co.uk> for reporting )
* src/WindowManager.cc (attachInNextPrevFrame):
Now attach*In*Frame skips windows with Skip FocusToggle set.
2003-05-01 Claes Nasten <pekdon@gmx.net>
* src/Frame.cc (insertFrame):
Added insertFrame method replacing duplicate code in FrameListMenu
and WindowManager
* src/KeyGrabber.cc, src/KeyGrabber.hh:
Added support for keychains. Config file syntax is.
Chain {
Mod = "Ctrl"; Key = "E"
Action { Mod = "Mod"; Key = "Key"; Param = "Param" }
Action { Mod = "Mod"; Key = "Key"; Param = "Param" }
}
* src/WindowManager.cc (attachInNextPrevFrame):
Added four new actions:
AttachClientInNextFrame, AttachClientInPrevFrame,
AttachFrameInNexFrame and AttachFrameInPrevFrame
And they do what it sounds like, attaches the current Client/Frame
in the Next/Prev frame. ( Same order as FocusNextFrame )
( Thanks yartz for request )
2003-04-06 Claes Nasten <pekdon@gmx.net>
* src/Atoms.cc, src/WindowManager.cc, src/Client.cc, src/Frame.cc:
Moved the atoms into maps and made them private.
* src/Atoms.cc (IcccmAtoms):
Applied patch from Etan Reisner <deryni@eden.rutgers.edu> making
Icccm atom creation use XInternAtoms instead of multiple XInterAtom's.
2003-03-21 Claes Nasten <pekdon@gmx.net>
* src/Config.cc (copyConfigFiles):
Renamed the autoprops to autoproperties trying to make the name
a bit more self-explaining.
* src/WindowObject.cc, WindowObject.hh (move,resize):
Added move and resize to the WindowObject class.
* src/FrameWidget.cc (resize):
Fixed possible bug that would happen if resizing a shaded window
making it beeing drawn unshaded.
2003-03-19 Claes Nasten <pekdon@gmx.net>
* src/FrameWidget.cc, src/Button.cc (constructor):
Changed window creation attributes of the border, titlebar and button
windows.
* src/WindowManager.cc (findFrameAndFocus):
Rewrote findFrameAndFocus to be more WindowObject centric and actually
work without crashing.
* src/AutoProperties.cc (parseProperty):
Changed the Layer parameter to be a string instead of a number:
0 - Desktop, 8 - Harbour,
2 - Below, 10 - AboveHarbour,
4 - Normal, 12 - Menu
6 - OnTop,
* src/Config.cc (parseButtons):
ShowMenu command defaults to WindowMenu if the parameter is invalid.
2003-03-17 Claes Nasten <pekdon{@}pekdon{.}net>
* src/Workspaces.cc, scr/config.cc, src/pekwm.hh:
Added FrameSnap to the Skip list for the autoprops.
2003-03-13 Claes Nasten <pekdon{@}pekdon{.}net>
* src/frame.cc, src/frame.hh:
Fixed issues with stacking and client list not beeing updated.
Added layer to the state and optimized constructor a bit.
2003-03-12 Claes Nasten <pekdon{@}pekdon{.}net>
* src/workspaces.cc, workspaces.hh, frame.cc, frame.hh:
Reworked Workspaces and Workspace classes. Now only using one list
for keeping track of the stacking, this should resolv some stacking
issues related to sticky windows.
* src/actionmenu.cc:
Workaround for broken DynamicMenus behaviour.
2003-03-07 Claes Nasten <pekdon{@}pekdon{.}net>
* src/*:
Fixed issues related to harbour + strut together with
snapping / maximization.
( Thanks shared for reporting )
pekwm-0.1.3pre2 released
2003-03-02 Claes Nasten <pekdon{@}pekdon{.}net>
* src/*:
Added new keyword to the Rootmenu, Dynamic wich lets you specify a
script that should output menu entries inside a Dynamic { } section
which will be regenerated everytime the menu is shown.
* src/client.cc, src/client.hh:
Added extra checks to see if the clients die before they are
constructed. Should fix lockups under Solaris.
* src/frame.cc, src/frame.hh:
Applied patch to report sizes in terms of cells for applications such
as xterm that resize in increments greater than 1 pixel.
( Thanks Alexandra Walford <chroma{@}delusion{.}de> )
* src/client.cc:
Applied patch that checks for position, size changes before sending
configure request which should minimize aterm blankings.
( Thanks Alexandra Walford <chroma{@}delusion{.}de> )
2003-03-01 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc, frame.hh, config.cc, actionhandler.cc)
* Added a parameter to the GroupingDrag action making it possible to make
grouped windows not beeing activated by default. Parameter is bool,
if it's true windows get grouped behind.
2003-02-19 Claes Nasten <pekdon{@}pekdon{.}net>
(*)
* Added two new Actions, MarkClient and AttachMarked.
( Thanks Etan Reisner <deryni@eden.rutgers.edu> for patch. )
* Added a option to the Focus{Next,Prev} actions that lets you decide
wheter or not the windows should be raised during or after the cycle.
Valid parameters are, AlwaysRaise, EndRaise and NeverRaise.
( Thanks Etan Reisner <deryni@eden.rutgers.edu> for patch. )
2003-02-18 Claes Nasten <pekdon{@}pekdon{.}net>
(*)
* Fixed compile issues when keygrabber and menus were disabled.
* Removed Xft font support.
* Started working on Xmb support.
* Moved the client name and icon name into char*'s instead of strings
removing data duplication between Client and FrameWidget.
2003-02-14 Claes Nasten <pekdon{@}pekdon{.}net>
(actionhandler.cc, config.cc, pekwm.hh, frame.cc, frame.hh)
* Added new Detach action.
(*)
* Replaced all Show*Menu actions with ShowMenu which takes one parameter
that can have the following values:
Window, Root, Goto, Icon, AttachClient, AttachFrame
AttachClientInFrame, AttachFrameInFrame
(screeninfo.cc, screeninfo.hh, windowmanager.cc, client.cc, frame.cc)
* Created (un)grab{Server,Keyboard,Pointer} methods to screeninfo.
(frame.cc, frame.hh, keys.cc, keys.hh, config.cc, config.hh, pekwm.hh)
* Replaced the Nudge/Resize keybindings with one new action, MoveResize.
For configuration details consult data/keys.
2003-02-12 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc)
* Fixed iconification bug.
( Thanks zipth <zipth@den.virtualave.net> for reporting )
(actionhandler.cc, config.cc, config.hh, frame.cc, frame.hh, pekwm.hh)
* Changed the MoveToCorner action to MoveToEdge making it possible to
place the frames in the center of each corner and in the center of the
screen.
( Thanks Etan Reisner <deryni@eden.rutgers.edu> for patch. )
2003-02-08 Claes Nasten <pekdon{@}pekdon{.}net>
(framewidget.cc)
* We now only use the UnfocusedSelected and FocusedSelected pixmaps
if they exist, else we use the Unfocused and Focused ones.
( Thanks Tomas Green < tgr0217@student.skelleftea.se > for idea )
2003-02-05 Claes Nasten <pekdon{@}pekdon{.}net>
(baseconfig.cc baseconfig.hh)
* Added COMMAND keyword to the parser. Which lets you execute an external
command and the output gets parsed. ( Alaa )
2003-02-04 Claes Nasten <pekdon{@}pekdon{.}net>
(data/keys)
* Updated default keybindings for keyboard menu navigation support.
(*)
* Added keyboard navigation support to the menus. The menu related keybinds
go in the Menu { section of the keys file and the other, "old" are moved
into a Global section.
(data/themes/minimal)
* Updated the minimal theme for the new UnfocsedSelected theme changes.
2003-02-03 Claes Nasten <pekdon{@}pekdon{.}net>
(workspaces.cc)
* Removed extra unnecessary padding that SmartPlacement shouldn't add.
(gotomenu.cc)
* Moved the * into the [] in the GotoMenu.
(theme.cc, theme.hh, framewidget.cc)
* Using the Selected pixmap if there's only one client in the frame.
* Added UnfocusedSelected section to themes.
( Thanks Tobias Hintze <th-pekwm@hbsn.de> for request )
(windowmanager.cc, windowmanager.hh, client.cc)
* Fixed AutoGrouping + Workspace change bug.
( Thanks David Frey <dpfrey@shaw.ca for reporting )
2003-02-01 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc)
* Moved the status window and Alt+Tab menu to the center of the screen.
(gotomenu.cc, gotomenu.hh)
* Now showing wheter the frames are shaded ^, iconified ., above + and
below - inside []
( Thanks Rando Christensen <rando@babblica.net> for request )
pekwm-0.1.3-pre1 released
2003-01-31 Claes Nasten <pekdon{@}pekdon{.}net>
(data/config.in data/themes/minimal)
* New default theme for pekwm named minimal.
(frame.cc, frame.hh)
* Readded autoprops reading when changing workspace.
2003-01-28 Claes Nasten <pekdon{@}pekdon{.}net>
(image.cc)
* Added GCTileStipXOrigin to the image drawing so that tiles start at the
correct position. Resolv separator weirdness.
(basemenu.cc, theme.cc, theme.hh)
* Added three new colors to colorize the menu with, TextColorSelected,
TextColorTitle and BackgroundTitle.
2003-01-22 Claes Nasten <pekdon{@}pekdon{.}net>
(autoprops.cc, autoprops.hh, config.cc, pekwm.hh, client.cc)
* Renamed the Tag and TagBehind to ToggleTag and ToggleTagBehind and made
them toggle the tag to make it easier to use with the mouse.
( Thanks shared for request )
* Added new ApplyOn mask, TransientOnly, which makes properties match only
on transient windows.
* Added FocusedFirst property to the autprops. If set to true when searching
for a group to autogroup with the focused frame is searched first.
2003-01-21 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc, windowmanager.cc, windowmanager.hh, config.cc, actionhandler.cc)
* Added three new actions, Tag, TagBehind and UnTag. If you Tag a Frame all
new Clients will become grouped into it as long as it's not hidden.
( Thanks shared for request )
(actionmenu.cc, actionmenu.hh, windowmanager.cc, windowmanager.hh, data/menu)
* Removed the RootMenu and WindowMenu and replaced them both with
ActionMenu, making the WindowMenu configurable.
(frame.cc)
* Altered (de)maximization behaviour.
(baseconfig.cc)
* Moved help methods for the parser into the namespace Parser.
2003-01-19 Claes Nasten <pekdon{@}pekdon{.}net>
(config.cc, frame.cc, data/mouse)
* Added new keyword for motion events, THRESHOLD, that lets you specify how
many pixels one needs to move the mouse before the action executes.
2003-01-16 Claes Nasten <pekdon{@}pekdon{.}net>
(baseconfig.cc, baseconfig.hh)
* Cleaned and updated BaseConfig parser. ( Alaa )
(frame.cc, client.cc, client.hh)
* Fixed autoprops position not beeing applied on windows with layer != 0.
( Thanks Daniel Johansson <donnex@home.se> for reporting )
2003-01-15 Claes Nasten <pekdon{@}pekdon{.}net>
(autoprops.cc, autoprops.hh, client.cc, frame.cc)
* Merged the two autoprop keywords Size and Position into the keyword
Geometry that takes a standard XGeometryString as argument.
(frame.cc, frame.hh, windowmanager.hh)
* Moved double click time info from the frame to the windowmanager.
(windowmanager.cc, windowmanager.hh)
* Added support for double clicks on the root window.
( Thanks Chris Doyle <cdoyle@umaro.net> for request )
2003-01-10 Claes Nasten <pekdon{@}pekdon{.}net>
(*)
* Now the focusing code is more Frame centric, moved Client::giveInputFocus
to Frame::giveFocus.
(iconmenu.cc, iconmenu.hh, windowmanager.cc, client.cc)
* Removed some uneccessary calls to add/remove client to the iconmenu from
the windowmanager.
(frame.cc)
* Slimmed the Frame constructor a bit while make sure iconified applications
become iconified when we restart pekwm.
2003-01-08 Claes Nasten <pekdon{@}pekdon{.}net>
(baseconfig.cc)
* Fixed bug causing pekwm to crash if there was a unmatched pair of "" in
the section name. Like Section = "Name {
2003-01-07 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc)
* Now EdgeSnap also snaps to applications in the harbour.
2003-01-06 Claes Nasten <pekdon{@}pekdon{.}net>
(config.cc, config.hh, data/mouse)
* Instead of using Button = "ButtonX" in the mouse config we now use
Button = "X" instead.
(config.cc, config.hh, button.cc, button.hh, frame.cc, framewidget.cc)
* Made it possible to use up to 7 mouse buttons for click actions, XFree86
won't let me use it for motion events. Also made it easy to change the
number of supported button, only need to edit config.hh.
( Thanks Daniel Johansson <donnex@home.se> for request )
2003-01-05 Claes Nasten <pekdon{@}pekdon{.}net>
(*)
* We now support the --sysconfdir configure option. Default is
PREFIX/etc/pekwm
( Rando Christensen updated Makefile related files )
(windowmanager.cc, windowmanager.hh, atoms.cc, atoms.hh, frame.cc, frame.hh)
* Added a new hint, _PEKWM_FRAME_ID which now is used for remembering groups
when restarting pekwm.
2003-01-04 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, windowmanager.hh, frame.cc, frame.hh)
* Changed AutoProperties behaviour, now autogrouping is based on the initial
clients class and reloading autoprops is also based on the original
client. ( Thanks shared for request )
(workspaces.cc, config.cc, config.hh, data/config.in)
* Made it possible to decide which direction smart placement is placing
windows. LeftToRight and TopToBottom. This required a config file syntax
change so go look in data/config.in for info on howto configure it.
2003-01-03 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc, framewidget.cc, framewidget.hh)
* Fixed bug in Frame::getClientFromPos and FrameWidget::draw causing the
title clicks activated wrong client when alot of clients were grouped.
( Thanks shared for reporting )
2003-01-01 Claes Nasten <pekdon{@}pekdon{.}net>
(workspaces.cc, workspaces.hh)
* Cleaned Workspaces::checkEdgeSnap which now snaps to sticky and shaded
frames too.
2002-12-31 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc)
* Fixed bug causing the ~/.pekwm/start file not to execute under FreeBSD.
( Thanks Daniel Johansson <donnex@home.se> for reporting )
2002-12-30 Claes Nasten <pekdon{@}pekdon{.}net>
(basemenu.cc, basemenu.hh)
* Cleaned up unused or unneeded variables.
(config.cc, config.hh, workspaces.cc)
* Removed the config option ReportOnlyFrames and made it the default
behaviour.
2002-12-29 Claes Nasten <pekdon{@}pekdon{.}net>
(data/keys, data/menu, data/autoprops)
* Uppdated the default config files to use the new more compact syntax.
(*)
* Big code restructuring, splitting Frame into Frame and Framewidget also
slimming down the Client class. Not yet 100% done but it changes the
behaviour of things and tries to be alot more Frame centric than Client
centric.
(autoprops.cc)
* Changed the Class keyword to Name in the autoprops config file, which
makes it possible to use the new syntax Property = "xterm,XTerm" {
2002-12-25 Claes Nasten <pekdon{@}pekdon{.}net>
(screeninfo.cc, screeninfo.hh, windowmanager.cc, windowmanager.hh)
* Moved the Strut methods and getMousePosition class to ScreenInfo
(baseconfig.cc)
* Added support for variables inside config files
$VAR = "value"
Param = "Foo $VAR"
* Added support for new section name syntax
Section = "Name" { }
( Thanks Alaa Abd El Fatah <alaa@linux-egypt.org> for the work )
2002-12-21 Claes Nasten <pekdon{@}pekdon{.}net>
(screeninfo.cc)
* Fixed missing include to Xutil.h making it not compile under Solaris.
( Thanks Jeremy Naylor <jnaylor@cisco.com> for reporting )
2002-12-12 Claes Nasten <pekdon{@}pekdon{.}net>
(baseconfig.cc)
* Fixed bug in parsing comments, added support for \" inside values and
added conditional compiles for gcc 2.95 and 2.96.
( Thanks Alaa Abd El Fatah <alaa@linux-egypt.org> for the work )
2002-12-11 Claes Nasten <pekdon{@}pekdon{.}net>
(actionhandler.cc, gotomenu.*, windowmanager.cc, windowmanager.hh)
* Added a new action, ShowGotoMenu which pops up a menu with a list of
all active clients on all workspaces. Lets you click one and then it
goes to that workspace, raises the client and gives it focus.
(frame.cc)
* Changed grouping behavior, it's now possible to group a allready grouped
client withouth having to ungroup it first.
(baseconfig.cc, baseconfig.hh)
* New parsing code, handles multiple sections per line and supports the
INCLUDE keyword that makes it possible to include external files to
be included.
( Thanks Alaa Abd El Fatah <alaa@linux-egypt.org> for the work )
2002-12-07 Claes Nasten <pekdon{@}pekdon{.}net>
(basemenu.cc, basemenu.hh)
* Various cleaning.
(windowmanager.cc, windowmanager.hh, config.cc, config.hh)
* Reworked FocusNextFrame action and added FocusPrevFrame while working
on it. Also, added a new config option to the Screen section.
ShowFrameList = "Bool"
Which decides wheter or not to show a list of clients when doing
Focus{Next/Prev}Frame.
2002-12-06 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, windowmanager.hh, config.cc, config.hh)
* Reworked focus code a bit and removed the old config models and replaced
them with a new config section.
Focus { Enter = "Bool"; Leave = "Bool"; Click = "Bool; New = "Bool" }
2002-12-04 Claes Nasten <pekdon{@}pekdon{.}net>
(baseconfig.cc)
* Extended the parsing code so it now supports a more condensed format:
Section { Param = "Value"; Param = "Value" }
(*)
* Cleaning
2002-12-01 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc, frame.cc)
* Optimized Mapping/Unmapping of windows.
( Thanks Alaa and shared for info )
(frame.cc)
* Cleaned the Maximize method and added support for ResizeIncremeter.
(harbour.cc, harbour.hh, config.cc, config.hh, frame.cc, windowmanager.cc)
* Added MaximizeOver option in the Harbour section of the config file.
( Thanks Alaa Abd El Fatah <alaa@linux-egypt.org> for patch )
2002-11-30 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc)
* Reworked inserting and removing of Clients. Clients becomes inserted after
the current one and when a client becomes removed the client left of it
becomes focused.
(windowmanager.cc)
* Rewrote focusNextFrame so that it hopefully fixes the gcc-2.96 crash.
2002-11-29 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, util.cc)
* Fixed compile warnings associated with execlp().
( Thanks Ted Unangst <tedu@stanford.edu> for info )
(frame.cc, frame.hh)
* Fixed bug with unmapping of windows when using AutoGroup and GroupBehind.
( Thanks shared for reporting )
2002-11-28 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, actionhandler.cc, pekwm.hh, config.cc)
* Added new mousebutton action, ActivateOrRaise which if the client
isn't allready focused, gives it focus, and if it's focused raises it.
(frame.cc, frame.hh, actionhandler.cc)
* Resizing no longer Warps the pointer and lets the user resize in all
directions when using ClientMotion resizing.
(*)
* Added new action, RaiseAndActivate which is Raise and ActivateClient
combined into one action.
( Thanks shared for reporting )
* Cleaned up and reworked the Action system.
* Now we are listening on the MWM Functions hint.
2002-11-23 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, windowmanager.hh)
* Fixed issue with root actions not caring about modifiers.
( Thanks shared for reporting )
2002-11-21 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc, client.hh, windowmanager.cc)
* Now Client button actions are reloaded when reloading.
(frame.hh, client.cc, windowmanager.cc, workspaces.cc)
* Added Frame::isActiveClient and cleaned up with it.
(client.cc, frame.cc)
* Fixed a redraw and stacking issue with GroupBehind.
( Thanks shared for reporting )
2002-11-20 Claes Nasten <pekdon{@}pekdon{.}net>
(autoprops.cc, autoprops.hh, client.cc, config.cc, config.hh)
* Added support for autogrouping into the background and the ApplyOn*
are now replaced with:
ApplyOn = "Start Transient"
Also, WorkspaceChange has been renamed to Worksapce and a New keywoard
has been introduced. Start now means the start of pekwm and new means the
mapping of a new client.
(client.cc)
* Remove m_has_strut and added operator=(const CARD32*) for class Strut.
(client.cc, client.hh, config.cc, config.hh)
* Removed Client::construcClient and moved it to the constuctor and while
I were at it made it possible to have 3 placement models.
pekwm-0.1.2 released
(*)
* A _basic_ manual page and docs now reside in the docs dir.
( Thanks Rando Christensen <rando@babblica.net> for this work )
2002-11-18 Claes Nasten <pekdon{@}pekdon{.}net>
(config.cc, config.hh)
* Moved the mouseconfig out from config to a separate file called mouse.
(theme.cc, basemenu.cc)
* Fixed issue with text in the status window not beeing visible if
pekwm was compiled withouth menu support.
2002-11-15 Claes Nasten <pekdon{@}pekdon{.}net>
(font.cc)
* Fixed a typo making colors on Xft fonts behave weird.
( Thanks Rando Christensen <rando@babblica.net> for reporting )
2002-11-14 Claes Nasten <pekdon{@}pekdon{.}net>
(harbour.cc, harbour.hh, config.cc, config.hh, pekwm.hh)
* Added Placement and Orientation support for the harbour.
Options:
Placement = "Top | Bottom | Left | Right"
Orientation = "TopToBottom | BottomToTop | LeftToRight | RightToLeft"
This relods when reloading the config, also the stacking is uppdated.
(frame.cc) Claes Nasten <pekdon{@}pekdon{.}net>
* Fixed a bug causing Client actions with modifiers be executed twice.
( Thanks shared for reporting. )
2002-11-13 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc)
* Reverted the look of the WireFrame to only a rectangle to fix issues
when moving/resizing borderless windows.
( Thanks Jeremy Naylor <jnaylor@cisco.com> for reporting )
2002-11-12 Claes Nasten <pekdon{@}pekdon{.}net>
(harbour.cc, harbuor.hh, workspaces.cc)
* Reworked the stacking of the harbour so that it shouldn't flicker anymore.
Still, changed harbour stacking from Above to Below requries a restart for
changes to take full effect.
(frame.cc)
* Tuned the warping of the pointer when using WorkspaceWarp to make
a bug not possible or atleast harder to reproduce.
(frame.cc)
* Fixed a redraw issue when resizing windows.
( Thanks shared for reporting. )
2002-11-08 Claes Nasten <pekdon{@}pekdon{.}net>
(*)
* Focus code rewritten, still not there yet, do expect glitches.
* Cleanups.
2002-11-02 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc, client.hh, actionhandler.cc, config.cc, pekwm.hh)
* We now have both a Close and a Kill action, the close one sends an
WM_DELETE message if the client supports it, and the kill one kills
it with XKillClient.
(config.cc, keys.cc)
* Changed the behaviour of mods on keygrabs and button actions, if you don't
use the Mod keywoard it'll grab withouth any modifier making the None
modifier keyword obsolete.
(*)
Config file parsing is rewritten, this included the most of Config and Theme
to be rewritten too. The new base syntax is:
Section {
Name = "Value"
}
Which hopefully is alot easier to read.
This also causes all configuration files _and_ themes not to work as they
need to be rewritten to the new format.
2002-10-30 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc, config.cc, config.hh)
* Added two new options:
WorkspaceWarpResistance* unsigned int;
WrapWorkspaceWarp* bool;
2002-10-29 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc)
* Reworked moving of windows so that you'll now get the status window
even if you move in Opaque mode.
(config.cc, config.hh, frame.cc)
* Added new option, OpaqueResize which will if it's set to true resize
while showing it's content. Also, WireMove was removed and replaced
with OpaqueMove, which is the same option but inverted.
(keys.cc, config.cc, pekwm.hh, actionhandler.cc, frame.cc, frame.hh)
* Added new keybinding, MoveToCorner which takes one parameter, which can
be one of the following:
TopLeft, TopRight, BottomLeft or BottomRight
which moves the active window to that corner of the screen.
(util.cc)
* Added function trimLeadingBlanks for use in parsing code.
2002-10-27 Claes Nasten <pekdon{@}pekdon{.}net>
(baseconfig.cc, baseconfig.hh, config.cc, rootmenu.cc, keys.cc, autoprops.cc)
* Cleaned up in BaseConfig and altered default constructor and load
behaviour while adding support for loading configs from a FILE object.
2002-10-24 Claes Nasten <pekdon{@}pekdon{.}net>
(workspaces.cc, workspaces.hh, frame.cc, config.cc, config.hh)
* Implemented Frame-to-Frame snapping and therefore added a new configuration
option, FrameSnap which is amount of pixels between two frames before it
snaps. If it's 0 no snapping occurs.
NOTE: EdgeSnapWidth config option is replaced with the EdgeSnap config
option which no longer is a bool, it's now a unsigned int.
(client.cc, client.hh, config.cc, actionhandler.cc, pekwm.hh)
* Added three new key grabber commands:
ToggleBorder, ToggleTitlebar and ToggleDecor
2002-10-23 Claes Nasten <pekdon{@}pekdon{.}net>
(image.cc)
* Fixed crash bug in getScaled.
2002-10-22 Claes Nasten <pekdon{@}pekdon{.}net>
(harbour.cc)
* Fixed missing #include <algorithm> in harbour.cc.
( Thanks Rando Christensen <rando@babblica.net> for reporting )
2002-10-20 Claes Nasten <pekdon{@}pekdon{.}net>
(*)
* Basic DockApp support via the harbour, still it is in early stage
of development. Enable via compile time option --enable-harbour
(basemenu.cc, basemenu.hh, windowmanager.cc)
* Altered the behaviour of menus, items are now selected if you enter a
submenu. Also, the selected item has two lines on it, and it's possible
to give the menus name with the MenuName keyword.
2002-10-19 Claes Nasten <pekdon{@}pekdon{.}net>
(genericmenu.hh)
* Fixed missing include guard in genericmenu.hh
(client.cc)
* If a transient window unmaps, we only give the parent focus if the
transient window was focused.
(client.cc)
* Fixed small issue in handleMapRequest, we didn't look wheter or not we
were on the active workspace, causing mozilla to map where it
shouldn't.
2002-10-17 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc, client.hh, frame.cc, frame.hh, workspaces.cc, windowmanager.cc)
* Reworked hiding and unhiding of clients/frame as
Rando Christensen <rando@babblica.net> reported that the
switch-workspace-to-fast still existed but were really hard to replicate.
(windowmanager.cc, windowmanager.hh, workspaces.hh)
* Added method findClientToFocus in WindowManager which tries to find a
client that can be focused. Also, using this the last focused client
is remembered when you kill a client or whatever.
(button.cc, button.hh, frame.cc, theme.cc)
* Fixed a bug causing pekwm to segfault if you used button 4 or 5 ( usually
the scroll wheel ) on the titlebar buttons. Also, while I were at it
I added support for configuring all 5 buttons for each button.
( Thanks Holger Schibalsky <schibalsky@web.de> )
2002-10-16 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc)
* Fixed issue with the right border becoming covered with the non active
clients in a frame.
( Jonas Lundqvist <jonaslundqvist@gmx.net> for reporting )
(client.cc, frame.cc, workspaces.cc)
* Fixed some Xinerama compile issues.
( Thanks Matt Keadle <mkeadle@gentoo.org> for reporting )
2002-10-14 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc)
* Cleaned checkEdgeSnap and updated the Xinerama part.
(atoms.cc, atoms.hh, windowmanager.cc, windowmanager.hh, client.cc)
* Dropped all support for the IMHO obsolete gnome atoms used by gnome-1.4.
pekwm-0.1.1 released
2002-10-14 Claes Nasten <pekdon{@}pekdon{.}net>
(data/keys)
* New default keys file for pekwm by Rando Christensen <rando@babblica.net>,
flame or praise him for the changes.
2002-10-13 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, windowmanager.hh, frame.cc)
* Altered behaviour of resize, first we now have different cursors
indicating what direction is going to be resized also resize will start
as soon as Button1 is pressed. ( Thanks agnitio for request )
2002-10-12 Claes Nasten <pekdon{@}pekdon{.}net>
(screeninfo.cc, screeninfo.hh, keys.cc, keys.hh, client.cc, frame.cc)
* Started to use XGetModifierMapping ( after a peak in WindowMaker's
source ) to figure out wich modifier Num and Scroll lock has.
(image.cc)
* Fixed issue in unload, as I weren't resetting the size of the image holders
loading from a theme with border at the top one without caused troubles.
2002-10-11 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc, client.hh, frame.cc)
* Reworked unmap handling, now we "filter" the unmap events we cause
and then we can listen on the "real" events, wich hopefully resolvs
the unmap issues of pekwm. Also, this rework seemed to resolv the
to fast Workspace switching bug.
(workspaces.cc)
* Added check to make sure that the last focused client aren't hidden
before activating it.
2002-10-10 Claes Nasten <pekdon{@}pekdon{.}net>
(basemenu.cc)
* Fixed XErrors related to trying to set menu height to 0.
(keys.cc, theme.cc, client.cc, frame.cc)
* Fixed some compile warnings uncovered with -Wall.
(theme.cc)
* Fixed unmatched pair of XGrabServer / XUngrabServer causing pekwm not to
start if there weren't any clients on the screen and menu support weren't
compiled in.
(*)
* Renamed the USE_XFT and USE_MENUS defines to XFT and MENUS.
2002-10-09 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc)
* Ignoring XCrossingEvents (EnterEvents) when they have a ButtonMask
set.
2002-10-08 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc, frame.hh)
* Now I keep track of the current title pixmaps dimension and reuse the
Pixmap if it has good dimensions.
(*)
* Uppdated the default theme, removed the what-took-so-long theme.
(windowmanager.cc, windowmanager.hh, frame.cc, client.cc, client.hh)
* Not using XSetInputFocus all over the place anymore, using
WindowManager::focusClient which now takes care of that part.
Also removed WindowManager::unfocusAllClients as it wasn't used
anymore.
(frame.cc)
* When resizing with the keygrabber, we now make sure that the window isn't
shaded.
2002-10-07 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, client.cc)
* Reordered the removeFromClientList in the Client destructor, also
making sure that the m_focused_client get set to NULL in
WindowManger::removeClient if it's beeing removed.
(client.cc, client.hh, frame.cc)
* Renamed sendConfig to sendConfigureRequest and removed all the calls
from Frame and moved them into the appropiate places in Client.
2002-10-06 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc)
* Reworked handleEnterNotify a bit, wich now is a bit smarter.
(frame.cc, client.cc)
* Fixed WIN_LAYER < WIN_LAYER_NORMAL stacking issue.
(client.cc, workspaces.cc)
* Now we also report transient windows to the client list.
(windowmanager.cc)
* Activating the active workspace no longer unfocus all clients.
(Thanks digiwano for reporting)
2002-10-04 Claes Nasten <pekdon{@}pekdon{.}net>
(workspaces.cc, workspaces.hh, config.cc, config.hh, windowmanager.cc)
* Added new configure option, ReportOnlyFrames wich will make pekwm
only report the active clients in the frames.
2002-10-03 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc)
* Not caring about struts in handleConfigureRequest anymore, resolves the
issue with mplayer not beeing able to set itself to fullscreen mode
because of it beeing resized because of struts.
2002-10-02 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, windowmanager.hh, client.cc, keys.cc, keys.hh)
* Added new compile time option, --enable/disable-keygrabber wich
decides wheter or not keygrabber should be enabled. It defaults
to true. ( Thanks ? for request )
This speeded things up alot, what's up with keygrabbing taking so
much time? Needs investigation.
(client.cc, windowmanager.cc)
* Started to listen on _NET_WM_DESKTOP so that you can move clients
between workspaces with gnome-panel etc. Also cleaned a little.
(config.cc, config.hh, client.cc, client.hh)
* Made window placement configurable. Syntax is:
PlacementModel* Placement FallBackPlacement;
The possible placement modes are: Smart, MouseCentered and MouseTopLeft.
( Thanks Dirk Busse <a0104237@addcom.de> for request )
2002-10-01 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, windowmanager.hh, client.cc)
* Removed the grabbing and ungrabbing of keys when windows changed focus
as this were causing _big_ slowdown. ( Thanks weird for reporting )
2002-09-29 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc, client.hh)
* Fixed issue causing gnome-panels to move themselfs when restarting pekwm.
(windowamanger.cc, workspaces.cc, workspaces.hh)
* Now we are treating the _NET_CLIENT_LIST_STACKING hint with respect,
while this were added _WIN_CLIENT_LIST ( old gnome ) support were dropped.
(client.cc)
* Fixed bug in handleConfigureRequest causing gnome-terminal get crazy
shrinking itself very much.
(frame.cc, client.cc, workspaces.cc, workspaces.hh)
* Removed restackOnTopWindow and restackBelowWindows from the Workspace
class as it now is handled correctly by raise/lower.
2002-09-26 Claes Nasten <pekdon{@}pekdon{.}net>
(autoprops.cc)
* Changed the Workspace entry in the autoprops file, now workspace
counting starts from 1 and not 0.
(windowmanager.cc)
* Trimmed off LeaveWindowMask and ButtonMotionMask from the rootwindow
listening, as we shouldn't need them.
2002-09-25 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, workspaces.cc, workspaces.hh)
* When changing between workspaces the focused client is remembered.
If it has been destroyed, the ontop window will become focused.
(windowmanager.cc, client.cc)
* Cleaned up focusing a bit more, no flickering when changing workspace
and less work by pekwm required.
2002-09-24 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc)
* Fixed the separator / title justification issue when drawing the titlebar,
thanks Steve Jacobs <steve@trinidadusa.net> for reminding.
(image.cc, image.hh, theme.cc, theme.hh, frame.cc)
* Removed the Xpm class and replaced it with the Image class, they're
pretty much the same class but Image is supposedly a bit speedier.
2002-09-20 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc, client.cc, keys.cc, pekwm.hh)
* Fixed grabbing of keys and handling of modifiers, so that now it should
work under Sun OpenWindows by default when NumLock is pressed.
2002-09-18 Claes Nasten <pekdon{@}pekdon{.}net>
(button.cc)
* Fixed ops, not setting values in the constructor of FrameButton.
(windowmanager.cc, workspace.cc, workspace.hh)
* When closing/grouping/ungrouping windows pekwm tries to focus a window.
2002-09-17 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc, client.hh, frame.cc)
* Fixed some BadWindow errors associated to constructing/destrucing Clients.
(windowmanager.cc)
* Now handleXError outputs information about X errors when debugging is
turned on.
2002-09-16 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc, frame.cc, workspace.cc, workspace.hh)
* Raising and lowering of clients have been reworked and now shouldn't
flicker when having always below/ontop windows.
(client.cc, workspaces.cc, workspaces.hh)
* Cleaned up Client::handleConfigureRequest while fixing bug reported by
Ashwin <ashwinds@yahoo.com> causing sylpheed to move itself instead of
becoming raised when execing it twice.
(config.cc, config.hh, frame.cc)
* Added new option, GrabWhenResize which defaults to true. Lets you decide
wheter or not the server should get grabbed when resizing a window.
( Grabbing is the safe choise, but it can make xmms chop etc )
2002-09-06 Claes Nasten <pekdon{@}pekdon{.}net>
(keys.cc, actionhandler.cc, frame.cc)
* Added ResizeHorizontal and ResizeVertical keygrabs that resizes the
active frame with X pixels, if the active client has the ResizeInc set
it changes the size with one incremeter instead.
( Thanks weird <weird@tg.eyeque.org> for request)
(keys.cc, actionhandler.cc, config.cc, frame.cc)
* Added ActivateClientNum keygrab which lets you activate client number
X in the activate frame. ( Thanks weird <weird@tg.eyeque.org> for request )
(frame.cc)
* Fixed MaximizeVertical swapped MaximizHorizontal to actually maximize
the right direction. ( Thanks weird,Xanix,digiwano for report )
2002-09-03 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc)
* Fixed bug in moveClientNext and moveClientPrev causing a crash.
2002-08-31 Claes Nasten <pekdon{@}pekdon{.}net>
(atoms.cc, atoms.hh)
* Moved atom structs out from the WindowManager and made classes wich
initialises the atoms themselfs.
2002-08-30 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, windowmanager.hh, keys.cc, keys.hh, frame.cc, frame.hh)
* Cleanups in EventHandling/ActionHandling.
2002-08-29 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc)
* Fixed small compile bug when compiling without menus.
(Thanks Jonas Lundqvist for reporting)
pekwm-0.1.1pre4 released.
2002-08-27 Claes Nasten <pekdon{@}pekdon{.}net>
(data/themes/what-took-so-long)
* New default theme.
(keys.cc)
* The name for the Mod4 modifier has been changed back to Mod4.
(keys.cc, autoprops.cc, config.cc, config.hh)
* SendToWorkspace/GoToWorkspace (keybindings) and Workspace autoprop now
start counting at 1 instead of 0 when defining workspace number.
Also, MaxDesktop is renamed to NumWorkspaces.
(actionhandler.cc, actionhandler.hh)
* Now all actions wich include Desktop have Workspace instead.
2002-08-26 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc, windowmanager.cc)
* Fixed Autogroup and Autoworkspace - AKA the Phantom Icon bug and
De-Iconification on double click iconified under ROX bug.
(Thanks Ashwin for bug report(s))
2002-08-21 Claes Nasten <pekdon{@}pekdon{.}net>
(workspaces.cc, workpsaces.hh)
* Now the number of workspaces will be correctly modified during runtime
2002-08-20 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc)
* Fixed _BIG_ ops in handleButtonEvent and handleMotionEvent, I had
forgotten to remove Caps,Scroll and NumLock states so these event
weren't matched when one of them were on.
2002-08-17 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc, frame.cc)
* Now ClientClick actions without modifier will let the client get the
event too.
2002-08-16 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, config.cc, config.hh, util.cc, util.hh)
* Added support for having a start script specified in the config file by
the param StartFile which points to a regular sh script.
(Thanks digiwano for request)
2002-08-15 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc)
* Altered behaviour of focusNextFrame, it won't raise or warp pointer
anymore.
(config.cc, config.hh, theme.cc, theme.hh)
* Changed the FocusModel config parameters to Follow, Sloppy and Click.
Changed the {Menu,Win}.Text.Justfiy parameters to Left, Center and Right.
(Thanks digiwano for request)
* Added support for _NET_WM_STATE_HIDDEN atom, this let you restart pekwm
and iconified windows will stay iconified after a restart.
2002-08-13 Claes Nasten <pekdon{@}pekdon{.}net>
(theme.cc, theme.hh)
* Fixed a compile error when compiling error when having menus disabled.
(Thanks digiwano for report)
(font.cc)
* When compiled with Xft support it is now possible to select fonts based
on the Xft naming scheme by appending #xft to font name.
times-12:bold becomes times-12:bold#xft
2002-08-12 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc)
* Uppdated initPositionSmart to use the new Workspaces code.
2002-08-12 Claes Nasten <pekdon{@}pekdon{.}net>
(workspaces.cc, workspaces.hh, windowmanager.cc, client.cc, frame.cc)
* Added Workspaces and Workspace classes to handle workspaces in a saner
way. ( One step closer to client-to-client snapping )
(basemenu.cc, basemenu.hh, rootmenu.cc, iconmenu.cc, windowmenu.cc)
* Removed basemenuitem.hh, moved it into basemenu.hh. Added accessors for
BaseMenuItem and fixed a memory leak in basemenu.cc
(configure.in's, Makefile.in's)
* Applied autoconf patch from Rando Christensen <rando@babblica.net>
wich adds a nice configure script
2002-08-11 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc)
* Changed a little ops in frame redrawing making separators misplaced.
2002-08-07 Claes Nasten <pekdon{@}pekdon{.}net>
(main.cc, windowmanager.cc, windowmanager.hh)
* Moved command line parsing to main and renamed the -display and -version
arguments to --display and --version, also --help was added.
2002-08-07 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, windowmanager.hh, theme.cc, theme.hh, frame.cc)
* Instead of using an invert gc and drawing size/position info on the screen
there's an small "status" window instead to make it work together with Xft.
2002-08-06 Claes Nasten <pekdon{@}pekdon{.}net>
(util/showclasshint.cc, util/Makefile)
* Added an util section which now holds the utility showclasshint which
is usefull when configuring autoprops.
2002-07-30 Claes Nasten <pekdon{@}pekdon{.}net>
(actionhandler.cc, actionhandler.hh, config.cc, config.hh, client.cc, frame.cc)
* Now it's possible to configure mousebutton actions with modifiers.
NOTE: The old client.* are now representing the client window and are
replaced with frame.* wich is titlebar.
(font.cc, font.hh, frame.cc, basemenu.cc, basemenu.hh, theme.cc, theme.hh)
* Added a new class for handling font stuff, this means xft support.
2002-07-27 Claes Nasten <pekdon{@}pekdon{.}net>
(actionhandler.cc, actionhandler.hh, frame.cc, frame.hh)
* Added MoveClientNext and MoveClientPrev to the valid list of keygrabs and
clientclick actions. ( Thanks Victor Sahlstedt for request )
2002-07-19 Claes Nasten <pekdon{@}pekdon{.}net>
(actionhandler.cc, actionhandler.hh)
* Added RightDesktop and LeftDesktop wich replaces NextDesktop and
PrevDesktop as Prev,Next now wraps. ( Thanks mojumbo for request )
(autoprops.cc, autoprops.hh, frame.cc, client.cc, client.hh)
* Instead of NoDecorations there are now NoBorder and NoTitlebar in the
autoprops.
pekwm-0.1.1-pre3 released
2002-07-17 Claes Nasten <pekdon{@}pekdon{.}net>
(config.cc)
* Rewrote the copying of config files wich hopefully resolves some
weird issues.
(basemenu.cc)
* Changed the booring empty square of the submenu indicator to a
filled triangle. (Thanks Victor Sahlstedt for request)
(actionhandler.cc, actionhandler.hh, frame.cc, frame.hh, client.cc, client.hh)
* Added IconifyGroup action to actionhandler, it'll iconify all the windows
in a group. Also, fixed so that when iconifying clients one by one the
frame will be iconified when all the clients in the frame are iconified.
(Thanks Victor Sahlstedt for request)
2002-07-12 Claes Nasten <pekdon{@}pekdon{.}net>
(autoprops.cc, autoprops.hh, windowmanager.cc, windowmanager.hh,
client.cc, client.hh, frame.cc, frame.hh)
* Added support for auto properties such as sticky, position and
auto-grouping, read the documentation for more info.
2002-07-08 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, windowmanager.hh)
* More hint cleanups, now deskmenu works and also setting of desktop count.
(keys.cc, keys.hh)
* Added support for keygrabbing without modifier, modifier named None.
(Thanks _name_ for request)
pekwm-0.1.1-pre2 released
2002-07-06 Claes Nasten <pekdon{@}pekdon{.}net>
()
* NOTE! This is just a panic cleanup release of 0.1.1-pre1
2002-07-06 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc)
* Sloppy focus won't focus WIN_LAYER_DESKTOP windows when entering them now.
2002-07-05 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc)
* Now setExtendedNetActiveWindow does reporting of the current active
window correctly, so now gnome-deskguide shows the correct active window.
2002-07-05 Claes Nasten <pekdon{@}pekdon{.}net>
(Makefiles, keys.cc)
* Applied patches from Lurene Grenier <lurene@daemonkitty.net> making the
Makefiles saner and it also fixes an ops in keys.cc
2002-07-05 Claes Nasten <pekdon{@}pekdon{.}net>
()
* Added USE_MENUS toggle to the config.mk file so that you can compile pekwm
without any menu support, usefull when using pekwm together with an
desktop enviorment.
(client.cc)
* More hint cleanups.
2002-07-04 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc)
* The extended_net_wm_state toggles weren't working correclty, now
close, iconfiy, maximize and shade works.
(xpm.cc)
* Fixed ops in memory management.
pekwm-0.1.1-pre1 released
2002-07-03
()
* NOTE! This is a development release, _alot_ of what's in it haven't been
finished or tested much, use it at your own risk!
Themes and Config files are _not_ compitable with those from pekwm-0.1.0,
so the best thing to do is "rm -rf ~/.pekwm" and then restart pekwm.
All themes I have created are uppdated and exist on
http://pekdon.babblica.net/ for downloading
2002-07-03 Claes Nasten <pekdon{@}pekdon{.}net>
()
* Added scaling support for themes, also themes can have separators (pixmaps)
between them and the active client can have it's part of the titlebar
with another pixmap.
2002-07-02 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc)
* Changed behaviour of edge snap, now it snaps to the strut edges and not
the real edges and snaps from the outside of the screen now too.
(client.cc, client.hh, hints.cc, pekwm.hh)
* Added support for net_wm_type_desktop and net_wm_type_dock(more are
coming soon) to make pekwm usable with gnome2.
2002-07-01 Claes Nasten <pekdon{@}pekdon{.}net>
(hints.cc, hints.hh, windowmanager.cc, windowmanager.hh, client.cc)
* Moved the hints back to WindowManager class.
(actionhandler.cc, actionhandler.hh, windowmanager.cc, windowmanager.hh,
frame.cc, frame.hh)
* Now titlebar motion events are configurable, tough only 2 actions are
valid: Move & GroupingDrag.
configuration syntax is: client.motion* Button:Action;
(theme.cc, theme.hh, button.cc, button.hh)
* Now titlebar buttons support shaping.
2002-06-30 Claes Nasten <pekdon{@}pekdon{.}net>
(hints.cc)
* Now honouring the skip taskbar hint in updateClientList.
2002-06-29 Claes Nasten <pekdon{@}pekdon{.}net>
(actionhandler.cc, actionhandler.hh, rootmenu.cc)
* Rewrote parsing of menus to use the getAction from actionhandler, replaced
sub keyword with Submenu, end with SubmenuEnd, other with RestartOther and
end with Exit.
2002-06-28 Claes Nasten <pekdon{@}pekdon{.}net>
()
* Added commmon actionhandler for keygrabber, rootmenu, windowmenu,
rootclicks, clientclicks and buttonclicks. Check in README for
valid actions.
2002-06-27 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, windowmanager.hh, frame.cc, frame.hh, config.cc, config.hh)
* Now it's possible to configure mouse button actions, the configuration is
put into the main config file (~/.pekwm/config) and the syntax follows
root.click* Button:Action:Param; ( root window clicks )
client.click* Button:Action; ( client clicks )
client.click.double* Button:Action; ( double clicks on clients )
Valid root click actions are:
ShowRootMenu ( toggles root menu visibility, and hides all other menus )
ShowIconMenu ( toggles icon menu visibility, and hides all other menus )
HideAllMenus ( hides all menus )
NextDesktop ( goes to the next(right) desktop )
PrevDesktop ( goes to the previous(left) desktop )
Exec ( executes a command )
Valid client click actions are:
Raise ( raises the frame )
Lower ( lowers the frame )
Shade ( shades the frame )
Maximize ( maximizes the frame )
ShowWindowMenu ( toggles window menu visibility )
NextInFrame ( activates the next(right) client in the frame )
PrevInFrame ( activates the previous(left) client in the frame )
ActivateClient ( activates the client that is under the pointer )
(client.cc)
* Now changed the layer (OnTop, Below) the property will stick on the
windows.
(keys.cc)
* Added Raise and Lower to the keygrabber.
()
* Removed individual action enums for keys, buttons and basemenu and merged
them all into one.
2002-06-26 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc)
* Changed look of wire frame draw.
(frame.cc, frame.hh, theme.cc, theme.hh)
* Borders are now pixmap themable.
2002-06-25 Claes Nasten <pekdon{@}pekdon{.}net>
(theme.cc)
* Fixed ops in theme unloading not unloading title pixmaps.
2002-06-24 Claes Nasten <pekdon{@}pekdon{.}net>
(basemenu.cc)
* Borders are now pixmap themable.
2002-06-25 Claes Nasten <pekdon{@}pekdon{.}net>
(theme.cc)
* Fixed ops in theme unloading not unloading title pixmaps.
2002-06-24 Claes Nasten <pekdon{@}pekdon{.}net>
(basemenu.cc)
* Fixed menu hide behaviour causing segfault when reloading config.
(windowmananger.cc, client.cc)
* Fixed focus issues, keygrabber or transients windoes doesn't steel focus
neither does keygrabber.
(frame.cc)
* Fixed bug causing some transient windows showing buttons.
(windowmanager.cc, windowmanager.hh, frame.cc)
* Added a frame list, beeing used when reloading themes.
(more places to use on left I guess)
2002-06-21 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, windowmanager.hh, keys.cc, keys.hh, rootmenu.cc, rootmenu.hh
basemenu.cc, basemenu.hh, frame.cc, frame.hh)
* Added support for configuration file reloading, wich loads themes, config
keygrabber and rootmenu.
SIG_HUP, now reloads instead of restarts pekwm.
Keygrabber action, Reload added.
Rootmemu config option reload added.
(Thanks digiwano for request)
pekwm-0.1.0 released
2002-06-19
()
* NOTE! the changelog from aewm++-1.0.16 to pekwm-0.1.0 isn't very detailed,
alot more minor and major things have changed in the source that isn't
documented here, and therefore you should _not_ blame the author of
aewm++ for any bugs in the source.
2002-06-19 Claes Nasten <pekdon{@}pekdon{.}net>
(hints.cc, hints.hh)
* Merged gnome_protocols bugfix from aewm++-1.0.17.
(basemenu.cc, windowmanager.cc)
* Changed the behaviour of basemenu, clicking a submenu will just toggle it's
visible state, not hiding the whole menu.
2002-06-18 Claes Nasten <pekdon{@}pekdon{.}net>
(hints.cc, hints.hh, client.cc, frame.cc)
* Mimimal support for GNOME_WIN_LAYER so now i.ex. nautilus will start on
the desktop.
(windowmanager.cc, client.cc, client.hh, keys.cc, keys.hh, windowmenu.cc)
* Added always below toggle to clients, it's in the window menu and
keygrabber(AlwaysBelow).
(frame.cc, windowmenu.cc, basemenu.hh)
* If you Alt+Mouse3 click windows they'll get lowered. Also, raise and lower
is added to the windowmenu.
(client.cc)
* Fixed gnome (win_state_sticky) state togglling bug.
(Thanks Frank Hale for info)
2002-06-14 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc)
* Fixed bug in fixGeometryBasedOnStrut making it impossible to get larger
windows than the screen size. (Thanks Z3l3zT for bugreport)
2002-06-13 Claes Nasten <pekdon{@}pekdon{.}net>
(basemenu.cc, basemenu.hh)
* Readded widgets for submenus, now the size are relateive to the font size.
2002-06-12 Claes Nasten <pekdon{@}pekdon{.}net>
(button.cc, button.hh, theme.cc, theme.hh, frame.cc)
* Now buttons can han variable button width, tough the different states will
will still have the same width tough.
(baseconfig.cc, baseconfig.hh, keys.cc, theme.cc, rootmenu.cc)
* Made it possible to have more than one char as separator when using
BaseConfig::splitString
(basemenu.cc, basemenu.hh)
* Basemenu cleanups, better xinerama support and less code.
2002-06-11 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, windowmanager.hh, keys.cc, keys.hh)
* Added basic AltTabbing support (NextFrame)
(client.cc, basemenu.cc)
* Fixed some ops about position.
2002-06-10 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc, client.hh, frame.cc, frame.hh)
* Added support for Alt dragging windows, so if you hold alt and press the
clients window and drag the window should follow.
2002-06-07 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, keys.cc)
* m_focused_client = client; isn't used for setting the focused client
anymore, now setFocusedClient is used instead pretty much eliminating
the use of unfocusAllClients. Also, this resulted in less buggy focus
code making the keygrabber use the focused client instead of the client
wich were beneath the pointer.
2002-06-06 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, windowmanager.hh)
* Well, doEventLoop got split up in _smaller_ parts, all events except the
shaping events got their own function, to get more overhead.
2002-06-05 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc, frame.hh, client.cc, client.hh)
* Reworked the constructors of the two classes, and changed back the
initPositions to the Client(maybe should be in WindowManager)
(client.cc)
* Now handling the vertical and horizontal maximized hints separate.
2002-06-03 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc)
* Fixed bug when inserting a client with shade state != the frames shade
state that made it necessary to double-click twice to unshade the frame.
(windowmanager.cc)
* Fixed bug in findTransientToMapOrUnmap causing the transient windows not
unhiding if they were hidden on another desktop. (Thanks Z3l3zT for bugreport)
2002-06-02 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc)
* Switching desktop will now focus the client that is ontop(focus click) or
the client that the is under the mouse (focus {sloppy, follow})
(iconmenu.cc, windowmanager.cc)
* Now it's possible to uniconify clients independt of where they were
iconified, an item will have an <DeskNumber> appended after its name.
(windowmanager.cc)
* Fixed some focusing issues making it impossible to use keygrabber when
iconifying windows and not having anyone left (Thanks Z3l3zT for bugreport)
()
* Not using LinkedList anymore, using std::vector now instead.
2002-06-01 Claes Nasten <pekdon{@}pekdon{.}net>
(config.cc, rootmenu.cc, keys.cc, theme.cc)
* They now use DATADIR instead of PREFIX/share/pekwm for default data dir
(*Makefile*, config.mk)
* Rewrote the Makefiles and added makefiles for the config files and themes.
Also added config.mk for easier configuration.
(basemenu.cc, basemenu.hh, windowmenu.cc, rootmenu.cc, rootmenu.hh, windowmanager.cc)
* Now it's possible to actually make use of the submenu functionality in the
BaseMenu class. Therefore uppdated the windowmenu(Send To is now separate)
and made it possible to have submenus in the rootmenu:
sub* SubMenuTitle; will start a submenu with title SubMenuTitle
end* ; Will end the current menu
()
* Cleaning headers and added some small functions to make life cleaner
(windowmanager.cc)
* Changed beahviour of windowmenu, now it'll hide showing another menu or
clicking somewhere on the root window with mouse{1, 2, 3}
2002-05-31 Claes Nasten <pekdon{@}pekdon{.}net>
()
* Now compiles nicely with Intel C++ 6.0. My bad it didn't! :/
2002-05-30 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc, frame.hh)
* Window buttons behave more normal now, resize works when pressing it
directly, and you won't be able to move windows by holding the button and
draging anymore.
(windowmanager.cc, basemenu.hh, windowmenu.hh)
* Added "Always On Top" to the windowmenu, also if there are an ontop
window in a frame-group the frame will only get raised if the active client
is the one having AlwaysOnTop set.
2002-05-29 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc, frame.hh, button.cc, button.hh)
* Made frames think more of transient clients when there are more than one
client per frame.
(theme.cc, theme.hh, config.cc, config.hh)
* Now we are using themedir instead of themefile in the config file, also
the themes have all pixmaps relative to that dir in the theme files.
2002-05-27 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc, frame.hh)
* Now it's possible to resize windows by draging it's borders.
2002-05-26 Claes Nasten <pekdon{@}pekdon{.}net>
(button.cc, button.hh, theme.cc, frame.cc)
* Added ShowMenu to the list of actions buttons can have.
(button.cc, button.hh, theme.cc, frame.cc, frame.hh)
* Changed button syntax, now it's possible to have buttons aligned either
left or right, new syntax is.
win.button.left* and win.button.right*
(config.cc, config.hh)
* Now config files are copied to the users home dir if the config file
doesn't exist in the dir ~/.pekwm/
2002-05-23 Claes Nasten <pekdon{@}pekdon{.}net>
(button.cc, button.hh, frame.cc, frame.hh, theme.cc, theme.hh)
* Added basic pixmap themeing of titlebars (tiled pixmaps, focused, unfocused
and selected(not yet done)) , also the button box isn't there anymore. It's
been obsoleted by configurable buttons who also are pixmap themeable.
Button config syntax goes like this:
win.button* ActionB1 ActionB2 ActionB3 :FocusedXPM UnfocusedXPM PressedXPM;
And possible actions are (Maximize, MaximizeVertical, MaximizeHorizontal,
Resize, Shade, Iconify, Stick, AlwaysOnTop, Close,
NextInGroup, PrevInGroup and NoAction)
(frame.cc,frame.hh,keys.cc)
* Now MaximizeVertical and MaximizeHorizontal actually works.
2002-05-17 Claes Nasten <pekdon{@}pekdon{.}net>
(keys.cc, keys.hh)
* Parsing seems to work fine now, cfg file syntax is:
Action* Mods Mods Key : Parameter;
* Added more keybindings: NudgeHorizontal(int inc), NudgeVertical(int inc),
NextInGroup, PrevInGroup and Stick.
* As I added Stick I fixed so that clients in a sticky group(groups becomes
if any client in it is sticky) are ungrouped they ungroup on the current
desktop.
2002-05-16 Claes Nasten <pekdon{@}pekdon{.}net>
(keys.cc, keys.hh, baseconfig.cc, baseconfig.hh)
* Partially working config file parser, also added function splitString to
BaseConfig.
2002-05-16 Claes Nasten <pekdon{@}pekdon{.}net>
(keys.cc, keys.hh)
* Added more keybindings: Maximize, Shade, Iconify, Close, SendToDesk
GoToDesk and Exec.
2002-05-15 Claes Nasten <pekdon{@}pekdon{.}net>
(keys.cc, keys.hh)
* Added Keys class wich handles keyaction, also rewrote the keygrabbing
mechanism. What's still to do is add alot of action, only new so far
is Exec. Also key config file parsing needs to be done.
2002-05-14 Claes Nasten <pekdon{@}pekdon{.}net>
(basemenu.cc)
* Fixed ops in updateMenu causing the menus not acting to events as supposed
after more than 1 updateMenu().
2002-05-13 Claes Nasten <pekdon{@}pekdon{.}net>
(fram.cc, client.cc)
* Well, now iconification works rather good, but expect some glitches here
and there.
2002-05-09 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, windowmanager.hh, misc.cc, misc.hh)
* Moved the signal handler and X error handler to windowmanger.cc, also made
SIGHUP restart the wm and not killing it.
2002-05-09 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc)
* Keybindings work with modifiers(scroll-,num-,caps-lock) now.
2002-05-09 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc, client.cc, client.hh)
* Added m_is_hidden to Client and I'm now using m_ignore_unmap as a counter,
that gets decreased everytime handleUnmapEvent is called. Seemed to resolv
the ignore_unmap bug. :)
2002-05-07 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc, frame.hh, client.cc, client.hh, windowmanager.cc)
* Multiple clients per frame is working, probably are tons of bugs lurking
tough.
2002-04-29 Claes Nasten <pekdon{@}pekdon{.}net>
(iconmenu.cc)
* Fixed potential memory leak, creating unused BaseMenuItems
2002-04-26 Claes Nasten <pekdon{@}pekdon{.}net>
(*.cc, *.hh)
* Removed all "Last Updtaded" as they didn't get updated! Also added changed
for pekwm notices in the source files.
2002-04-25 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc, client.cc, client.hh)
* Fixed shape bug created when I split client into frame and client.
2002-04-23 Claes Nasten <pekdon{@}pekdon{.}net>
(*menu.cc, *menu.hh)
* Changed names of handle_* to non _ names and renamed member variables
to m_*
(frame.cc, frame.hh, client.cc, client.hh)
* Removed Client::fixupPositionBasedOnStrut and "replaced" it with
Frame::fixGeometryBasedOnStrut wich also, as the name says handles
strut geometry issues.
2002-04-21 Claes Nasten <pekdon{@}pekdon{.}net>
(linkedlist.hh)
* set and get one line functions are now inline.
2002-04-20 Claes Nasten <pekdon{@}pekdon{.}net>
(all _except_ linkedlist)
* The WindowManager wm isn't extern any more.
2002-04-20 Claes Nasten <pekdon{@}pekdon{.}net>
(basemenu.cc)
* Fixed text justify of menus -> fixed BaseMenu::findMenuItem.
2002-04-20 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmenu.cc, windowmenu.hh, client.cc, client.hh)
* Renamed Client::sendWmDelete() to Client:kill and made it public, added
{Maximize, Iconify, Shade & Close} to the windowmenu.
2002-04-18 Claes Nasten <pekdon{@}pekdon{.}net>
(frame.cc, frame.hh, client.cc, client.hh)
* All member variables has m_ before themself, and theight has been moved to
Frame and renamed to getTitleHeight.
2002-04-11 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc, client.hh, windowmanager.cc, windowmanager.hh, basemenu.hh)
* Edited headers and function names, removed non existing functions
and added inline to appropriate functions. Also changed width and height
to unsigneds, also desktop functions are using unsigned now.
2002-04-06 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc, windowmanager.hh, client.cc, client.hh)
* Changed the desktop variables to unsigned, except for belongsToDesktop
(baseconfig.cc, baseconfig.hh, config.cc, theme.cc)
* Added class BaseConfig to handle basic config parsing.
2002-04-06 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc)
* Fixed bug not causing window frames not to unmap. Added check for
valid desktop in set_desktop.
2002-04-04 Claes Nasten <pekdon{@}pekdon{.}net>
(windowmanager.cc)
* Fixed text justification, removed old static values
(windowmanager.cc, windowmanager.hh, rootmenu.cc, basemenu.hh)
* Added restart-other functionality to the rootmenu
(iconmenu.cc, windowmenu.cc, rootmenu.cc)
* Moved the addToMenuList to the constructor, why were it in the updateMenus?
2002-04-03 Claes Nasten <pekdon{@}pekdon{.}net>
(basemenu.cc, basemenu.hh, theme.cc, theme.hh, rootmenu.cc)
* Cleanup in Basemenu, text get's aligned correctly, it's themable and
separator function is removed. Also added Restart and Exit functionality
to the rootmenu.
2002-04-01 Claes Nasten <pekdon{@}pekdon{.}net>
(basemenu.cc, basemenu.hh, windowmanager.cc, rootmenu.cc, rootmenu.hh)
* Added a rootmenu instead of NEW1 & NEW2, also the menus now use
the menu font
(config.cc, config.hh, windowanager.cc, windowmanager.hh, hints.cc, client.cc)
* Added class Config wich should handle config options such as focus mode
and max desktops
(theme.cc, theme.hh, windowmanager.cc, windowmanager.hh, client.cc)
* Added class Theme wich handles fonts and such, removed that part
from Windowmanager and adapted client to the changes
2002-03-31 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc)
* Removed member variables root, xres, yres. Added function checkEdgeSnap
removing duplicate edgesnap checking
(basemenu.cc, misc.cc, misc.hh)
* Removed BaseMenu::execute, using forkExec instead also created misc.hh
instead of having that part in aewm.hh
2002-03-29 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc)
* New placement routines, first using PPosition||UPosition, then using smart
placement and if that doesn't work fall back to place under the mouse.
2002-03-28 Claes Nasten <pekdon{@}pekdon{.}net>
(misc.cc)
* Now using setsid() before execing commands in forkExec, exiting the
windowmanager will now longer "kill" all clients started from it
2002-03-26 Claes Nasten <pekdon{@}pekdon{.}net>
(screeninfo.cc, screeinfo.hh, windowmanager.cc)
* getColormap used from ScreenInfo class. Sane??
(basemenu.cc)
* Now is Xinerama aware
(hints.cc, hints.hh, client.cc, windowmanager.cc windowmanager.hh)
* Moved atoms actions out from windowmanager and created class Hints
wich takes care of them instead
2002-03-25 Claes Nasten <pekdon{@}pekdon{.}net>
(client.cc)
* Now Maximize and EdgeSnap is Xinerama aware, also EdgeSnap snaps to the
edge and _not_ 2 pixels outside.
(screeninfo.cc, screeninfo.hh)
* Added ScreenInfo class wich handles info about the screen and handles
Xinerama functions
(client.cc, windowmanager.cc, misc.cc)
* Changed to usage of new class ScreenInfo instead of direct calls
* Fixed intentation, using 1 tab width 2 now
* Changed logic in do event loop
* Changed the init of variables in windowmanager
|