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
|
# -*- mode: Org; -*-
* 2025-11-15: Version 5.3.1:
** fixes:
- fixed crash when pressing enter in overwrite dialog.
* 2025-11-08: Version 5.3.0:
** new features:
- the clockbar can now be configured to show a customizable string
with different runtime information:
- current bank numbers
- current time, version, free ram
- customizable date format
- the copy command supports more overwrite modes which can be
selected before starting the operation in the configuration
dialog, or whenever a overwrite dialog appears.
- the modes allow to overwrite all older files, all smaller files,
or all files of different size.
- the search command got histories for entered file name patterns,
content patterns, and expressions. The history is enabled by
default, but can be disabled by toggling the corresponding option
in new "raw preferences" section in the configuration.
** improvements:
- reworked information mode to use a two column layout for better
readability and added mime type information to output list.
- improved mouse selection in text view and string gadget to support
word-wise selection with double click and complete line selection
with triple clicks.
** fixes:
- fixed problem with input focus loss with fastly opened and closed
windows in xfce.
- fixed compilation with gcc 7 and 8.
** other changes:
- updated autoconf files to newer autoconf version.
* 2025-06-15: Version 5.2.2:
** improvements:
- when opening libmagic, user customized content from /etc is also
used.
** fixes:
- fixed using the output of an own command and start prog as a
custom attribute for files within archives.
- fixed compilation with gcc 15.
* 2025-01-22: Version 5.2.1:
** improvements:
- the size and content filter expressions now support a "follow"
option to enable following symlink for size comparison and
content check. It is off by default. Syntax is "size,follow==..."
and "content,follow==..." and can be abbreviated with a single
letter "f"
- the follow symlinks option in search dialog is now also taken into
account for the filter expression.
** fixes:
- fixed invalid free of config objects on exit, depending on actual
configurations.
** other changes:
- updated Czech translation
(Thanks to Petr Korviny)
* 2025-01-11: Version 5.2.0:
** new features:
- multiple new search command features
- the file search can now removed all entries for a selectable base
name from the result list.
- the file search can optionally start from the list of selected
entries. This can be configured in the search command
configuration. If no entry is selected, it falls back to the
whole directory.
- multiple file name matches can be used by separting them with a
comma (or any other configurable character).
- entries can be ignored by labeling them with a special label
"exclude_search" (the label can be configured too in the search
dialog).
- Match expressions can be defined in the search dialog for more
complex search expression.
- It uses the same syntax as the list view filters for keywords
like name, size, or timemod.
- Also, the keyword "content" can be used to check for specific
regular expressions within the actual file data.
- The "content" keyword can use comma-separated modifiers to
limit the amount of bytes check or to configure case-sensitive
content checks. The complete keyword is "content,case,1234"
where the number defines the amount of bytes checked. This
number can also use the typical suffixes mb, kib, etc.
- Both modifiers "case" and file size limit can be left out. The
default values are case-insensitive matching and no byte
limit.
- A list of available expression tokens are shown as clickable
buttons to make it easier to construct valid expressions.
- The expression can be mixed with the conditions including the
content check. In this case, all thread conditions (name,
content, expression) must match.
- list view filter expression can now also use the "content" keyword
to show files only containing some regular expressions.
- In this use case, the default number of bytes checked is limited
to 10k to limit the amount of time used to check all directory
entries. It can be overwritten by using an explicit number (0
meaning no limit).
- The check can be interrupted by pressing Escape. In this case,
the list view bar contains the hint "interrupted" to indicate
that some results may not be visible due to the interruption.
- label colors in the main configuration can now be applied to exact
bookmark path matches only. This is useful when the directory mode
option is enabled to apply those colors also to the parent
directories. With this new option, this can be prevented. It is
used in the example config for the exclude_search label.
- The "External virtual dir" command now supports an interactive
mode to enter the command to run in a dialog and also stores
previously used commands in a history.
- A new mouse configuration option allows to open the context menu
by holding the activation button for half a second. This allows to
access all mouse function without any additional key press.
** improvements:
- the rename command now pre-selects the filename without its
extension by default. The command can also be configured to select
the complete name.
- when renaming files with invalid utf8 characters, those are
convert into \x00 notation in the dialog instead of often hiding
the rest of the string.
** fixes:
- fixed crash when the configuration was changed while the directory
mode was inactive in either side.
- on completely new configurations, the start prog command started
with the wrong default settings. For example, when pressing enter
on an executable, the settings were wrong so it could not be
executed directly without changing the settings back to "global
program" and "run in terminal".
** other changes:
- added another dark mode theme
- updated Czech translation
(Thanks to Petr Korviny)
* 2024-07-13: Version 5.1.0:
** new features:
- the search entry command allows to configure an initial search
string.
- the search entry command also got an option to apply the search
string without further editing.
** improvements:
- improved performance of path jump dialog to open faster for very
large databases (>100k entries)
- the path jump dialog can be closed with Ctrl-Enter (or right click
on the jump button) to directly jump to the full path of the
selected entry, regardless of which path level is currently
highlighted.
- improve directory content reload to not use the previous file type
of symlinks if the symlink changes from or to a broken symlink.
** fixes:
- fixed variable use after free in volume manager which could result
in crash.
- fixed bug in some command configuration dialogs where any key
press closed the window.
* 2024-03-09: Version 5.0.2:
** fixes:
- the text view mode did not always started at the top of a viewed
file and scrolled to the end instead (which is only intended
behaviour when watching the file for changes).
- fixed possible buffer read overrun when shrinking file names for
display.
* 2024-01-20: Version 5.0.1:
** fixes:
- fixed a bug introduced in 5.0.0 in text view copy to clipboard
where in some situations data might not have been copied to the
clipboard completely. This bug occurred when tab characters are
inside the selected text.
** other changes:
- updated Czech translation
(Thanks to Petr Korviny)
* 2023-12-22: Version 5.0.0:
** new features:
- added file copy and paste to/from external programs via
freedesktop standard. The new command copy_files_to_clipboard with
optional argument 'cut' will put the file names of the selected
entries into the clipboard, and the command
paste_files_from_clipboard will read a file list from the clipboard.
- When pasting, a dialog asks to either copy them to the current
directory or to create a virtual directory with these entries
for further processing.
- The context menu also has entries for cut/copy/paste for either
the highlighted entry or all selected entries.
- the list view can now be scrolled in a special panning mode.
- If the scroll button (usually the third mouse button) is pressed
in the inner part of the list view, the mouse can move
horizontally or vertically to switch to the scroll mode.
- The position of the mouse pointer within the list view directly
sets the list view scroll position of the initially selected
direction. This allows for fast access in large list views.
- Also, horizontal scrolling with two-finger scrolling has been
added.
- text view elements also support panned scrolling by pressing the
middle mouse button in the center area.
- the text view mode can now be used to show the output of external
commands too.
- the 'own' command and 'start prog' command allow to select a
new start mode which shows the output in the other panel.
- in this mode, it is possible to select follow file and/or watch
file to automatically update the content when the file changes.
- the text view mode can also execute a specific file type action
for the file type of the active file. To activate this mode, a
new command 'activate text view mode" can be used to switch
either side to the text mode and set the file type action to
execute. It can also use to set the external program to execute
directly.
- the specified file type action must itself use the 'own'
command to set the content of the text view mode.
- example usage is to show file type specific information (like
image dimensions, video parameters, audio file information,
etc).
- a new custom attribute column has been added to the file view.
- each entry in the file list can have its own attribute which is
only stored in memory.
- the value can be set by either:
- using the own command and selecting the start mode to show the
command's output as custom attribute
- or by using the start prog command by selecting the same start
mode.
- or by using the registered command set_custom_attribute with
two arguments, one being the file name (which can be a flag to
be dynamically replaced), and the actual string to be used as
a custom attribute (which can also be a flag)
- an example use is to calculate the sha256 checksum and show it
for each file in the custom attribute column.
- the custom attribute column must be added to the list of columns
to show in the configuration.
- the column is hidden if no value is set at all so it does not
take any space unless actually used.
- the example config brings two buttons for md5sum and sha256sum.
- the command log now can copy a textual description of an entry to
the clipboard. This can be used to manually undo operations, or to
use the involved files for additional purposes.
- added history of selected entries so a selection can be reverted
after unselecting some entries. Whenever one or multiple entries
are deselected (either explicitely via commands, or indirectly via
flag replacements in command strings), a snapshot of the selected
entries is stored. The command "revert_selection" can be called
to revert the previous selection state. Optionally, an argument
can be used to select any of the 10 previous states directly by
given a number between 0 and 9. Any other argument strings opens a
window with the list of selection state, showing their directory
and the number of selected entries. Any state can be selected to
be restored.
- when executing registered list view commands with arguments from
within the command menu, the dialog for requesting the arguments
now gives some dynamic help about when can be entered as
arguments.
- the command menu command can be configured to open within some
preselected sub menu for faster access.
- the push mode of the Script command now optionally supports
pushing the return code of the executed command on top of the
stack. This allows to check both return code and output in
scripted commands.
- the list of ignored directories for file type check based on file
content now also supports wildcard pattern based filters.
- the start prog command history now also stores the execution
settings so if some command should be run inside a terminal while
another should be run directly, it is no longer necessary to
explicitly select the correct settings each time running the
command.
- there are some new flags for building external command strings:
- {E} and {oE} will be replaced with the file name extension of
the first file in the current or other panel.
- {s} and {os} will be replaced with the file size of the first
file in the current or other panel.
- {Tm} and {oTm} will be replaced with the last modification time
of the first file in the current or other panel (in unix time).
- {Tc} and {oTc} will be replaced with the last change time
of the first file in the current or other panel (in unix time).
- {currenttime} is the current time as unix time.
- {random} is a 32 bit random value.
** improvements:
- the configuration is checked for modifications on disk when
opening the configuration dialog, so the configuration can be
reloaded on demand.
- reduced memory usage of internal text view.
- improved performance when deleting a lot of files in the top level
directory. There is now a rate limit for updating the list view.
- the config window is not closed silently when pressing Escape to
avoid losing changes. Instead, a confirmation dialog is shown.
** fixes:
- fixed wrong script directory when executing custom directory info
scripts. When the directory is empty, it started in the current
working directory when Worker has been started.
- fixed issue with files still opened in subprocesses even after
main Worker process is already exited.
- if the dbus server is not available, reconnects are no longer
tried over and over again, avoiding failure ouputs. Instead,
the volume manager allows to reconnect manually.
** other changes:
- add example button to move files into trash (using external gio
command).
- C++17 is now required for compilation.
* 2023-03-05: Version 4.12.1:
** fixes:
- fixed compilation with older OpenSSL versions.
** other changes:
- updated Czech translation
(Thanks to Petr Korviny)
* 2023-03-04: Version 4.12.0:
** new features:
- add font configuration for alternative text view font.
- font can be toggled in text view by either clicking on the
corresponding button or pressing 'f'
- can be used to have a variable width font and a monospaced font.
** improvements:
- added text view scrolling when selecting text. This also fixes
selection box drawing which could been drawn beyond the area of
the text area.
- added support for separate X11 clipboard buffer used with Ctrl-c/v
copy-and-paste. Text in text fields and text view can be copied to
X11 clipboard with Ctrl-c. In text fields Ctrl-x and Ctrl-v is
available too. Copy and paste with middle mouse click is still
available regularly.
- when files or directories could not be copied completely because
some error, there is now an additional dialog asking to continue,
skip or cancel. This can happen if a directory could not be read,
or a file could not be accessed. There has already been an error
message previously, but now there is another dialog and a list of
incomplete entries is shown at the end of the copy process.
- updated openssl usage for file checksumming to not use deprecated
functions if newer equivalents are available (OpenSSL 3).
** fixes:
- fixed crash when a dot is entered in quick search mode in an empty
directory.
- fixed mouse over help sometimes missing for some windows.
- fixed example scripts for virtual directories of git repositories,
scripts for untracked and modified files had a wrong filter for
.. files.
- the command log for file renames showed the target name as the
source name too.
- pasting some utf8 text in text field might not always worked
correctly.
- fixed compilation when no regexp library is available.
** other changes:
- updated worker.desktop file and added metainfo.xml file
(Thanks to Tobias Quathamer)
- updated Czech translation
(Thanks to Petr Korviny)
* 2022-09-18: Version 4.11.0:
** new features:
- for the copy operation, the initial overwrite mode can be
configured to always or never overwrite existing files, or to
request on each existing entry (which is the default). If the
config option is not set during command execution (via the
"request flags" option), a confirmation is required if the option
is not the default value to avoid unintended overwrites.
- the directory compare command has a new option to compare file
names case-insensitive.
- the list view context menu about filters has new options to stash
all currently active filters on a stack of stored filters. These
stashed filters can be reapplied later from the same menu. There
are also new registered commands "stash_current_filters",
"pop_stashed_filters", and "top_stashed_filters" to modify the
stack directly without accessing the menu. This feature allows to
quickly switch between sets of filters without requiring to
configure them manually.
** improvements:
- when pressing Cursor right in a virtual directory to limit the
virtual directory to the top level directory of the current entry,
the previously active entry is activated again so it remains
active.
- the command log window now does not block the main program. The
alternate function of the "go to" button keeps the window open.
- the filter select command now groups all filters by matching and
mismatching filters. All filters which has been used previously
and matches the current entry will be shown at the bottom in the
first table column for fast access. All filters which do not match
the current entry are shown in the second column. Both filter
groups can still be used but the separation makes it easier to
select the wanted filter.
- pressing Return in a context menu on an submenu entry will change
the focus to the submenu to make navigation easier.
- the list view context menu can now be opened even if no entries
are shown. The menu content is reduced to allow for modification
of active filters and access directory presets.
- added support to increase memory limit for XZ handler inside AVFS
when trying to open archives that require higher memory
limits. When this happens (and is supported by AVFS), a dialog
pops up to ask for confirmation.
** fixes:
- fix possible crash with Xft font rendering.
- some of the example scripts for virtual dirs based on git repo
status failed when there were no entries.
- fix some compiler warnings about deprecated C++ stuff.
- in directory compare, the file size limit was not reset to
unlimited if no value was entered but a non-zero values has been
set before.
- fixed generating temporary file copies for {t} if the file name
does not have any file extension.
** other changes:
- updated Czech translation
(Thanks to Petr Korviny)
* 2022-04-27: Version 4.10.1:
** improvements:
- path jump improvements:
- use async existence test in path jump dialog for breadcrumb
buttons to avoid blocking on entries for which the test takes a
while (for example, if they are within archives).
- the elements in the path jump window can be limited to the
current directory either on startup by toggling the lock status
with Ctrl-l. When locked, only entries in the current directory
(and its subdirectories) are shown. Also, navigation outside the
locked directory is forbidden.
- the path jump command has a new option to open the path jump
window in locked mode.
- when entering a filter, only existing entries are used for
matching if non-existing entries are hidden.
- the path jump window does no longer shrink when toggling the
inclusion of the archived entries.
** other changes:
- add example script for creating a virtual dir of all changed files
in a git repository since a specific commit. An example button is
provided when starting the new version.
- the git example scripts has been modified to work within
subdirectories and only show matching entries in that
subdirectory.
- when creating temporary copies of files with flag {t}, for symlinks
a copy of the target file is created.
- updated Czech translation
(Thanks to Petr Korviny)
* 2021-12-07: Version 4.10.0:
** new features:
- the path jump dialog can now hide non-existing entries immediately
without having to check all entries first. The hide button has
been changed to a toggle button and it is also bound to
Ctrl+e. There is no longer a dialog to ask for removal of
non-existing entries from database. Use the regular cleanup button
to remove those entries.
- add a log of executed commands which work on files. The log shows
the last 1000 commands and can be accessed via the main window
menu or the new "view command log" command (bound to C-x l in
default config).
** improvements:
- when filtering the file list and the filter string starts with a
dot, hidden files are automatically shown. When the directory is
changed, the previous state for showing/hiding hidden files is
restored.
- many dialog and configuration windows can be closed by pressing
Escape.
- the path jump dialog allows to move old, non-existing entries into
an archive which is not shown by default and can be cleaned up
separately. This makes using the path jump dialog faster for large
databases.
** fixes:
- improve performance when reading large directories when converting
file times to local time.
** other changes:
- updated Czech translation
(Thanks to Petr Korviny)
* 2021-08-28: Version 4.9.0:
** new features:
- new registered commands:
- "show_entry" enters the directory of the given name and
highlights the base name.
- "vdir_add_entry" adds an full path name to an existing virtual
dir or creates a new virtual dir with that entry.
- "vdir_from_script_stack" creates a new virtual dir with all
elements of a selected ScriptOp stack.
- registered commands with arguments can now also be selected in
ScriptOp and from command menu. In ScriptOp, the arguments can be
given directly or via dynamic flag replacement. In command menu, a
dialog appears asking for the argument, which can also be entered
directly or via flag replacement.
- the chmod command can now be configured to directly apply a
given set of permissions without asking. The octal representation
of the chosen permission is shown as well and can be entered
directly too.
** improvements:
- support config directory according to freedesktop specification in
$HOME/.config/worker instead of $HOME/.worker. The latter
directory still takes precedence over the former if it exists so
no changes must be made and it only applies to new installations.
** fixes:
- fixed problems with temporary files:
- if /tmp (or $TMPDIR) is mounted noexec, command execution in a
terminal did not work. The configuration value for the terminal
to use must be changed to make it work. The default value is
changed accordingly.
- if $TMPDIR contains spaces or other special characters, command
execution did not work correctly. Due to missing quoting, files
that are part of the TMPDIR string might be unintentionally
overwritten.
- fixed bug in Polish translation which changed language back to
English on save.
* 2021-05-01: Version 4.8.1:
** fixes:
- fixed a console print out which happened in some configuration
dialogs.
- fixed possible crash on first startup in XFT font mode.
** other changes:
- add missing config update files for lzip file type and buttons
- updated Czech translation
(Thanks to Petr Korviny)
- updated Russian translation
* 2021-04-05: Version 4.8.0:
** new features:
- the "pattern select" command now has an option to directly apply
the configured filter without asking for the filter.
- a new option in the general settings allows to disable background
file existence tests for some path prefix.
- the path jump interface has a new option to only show relative
paths if the display mode is limited to sub directories. This
option is on by default.
- the path jump command has additional configuration settings to
select the initial display mode and whether to include all data
sources directly on start.
** improvements:
- popup help windows now only appear if the window has the focus,
and close when the window loses the focus.
** fixes:
- implement workaround for lost keyboard focus bug in some window
manager when closing multiple windows.
- fix handling of newlines when pasting content to text areas. If
the element was part of the configuration, it could become
unparsable due to the newline. Now newlines will be filtered when
pasting text.
- add a limit of background threads for file existence tests to
avoid crashes when the thread pool is exhausted. It usually
happened when there are entries in the path jump db or bookmark
for which stat() blocks until the device becomes available
again. Now Worker itself will eventually block until the device
becomes available again, except of crashing.
** other changes:
- the example script for showing the git branch in the list view bar
now outputs an asterisk if the current checkout has some modified
files. Also, it avoids using a lock which can interfere with
user-started git commands
- added lzip buttons and filetype
- updated Czech translation
(Thanks to Petr Korviny)
* 2021-02-02: Version 4.7.0:
** new features:
- the "pattern select" command now has an option to select the best
matching pattern from the history or the file ending, or to use the
fixed pattern.
- the directory mode configuration allows to use a custom list view
bar content which can also print the output of an external
script. There is an example script "cdi_get_current_vc_branch.sh"
which prints the current git branch name of the current repository
(if any).
** improvements:
- the command "view newest files" now also supports virtual
directory as a base for searching newest files.
- the progress in the directory compare command now updates the
remaining number of files to compare after checksum calculation if
that mode is chosen.
- the main buttons in the button bank now also show a popup help
describing the assigned actions when keeping the mouse pointer
within that button for some seconds.
** fixes:
- several fixes to the directory compare command:
- fixed crash when comparing regular directories (flattened
directories worked).
- fixed checksum comparison which could result in quadratic
runtime.
- fixed marking directories as same even if the actual content may
not be identical (happened when not using flattened
directories).
- if the key for same files was only the file name, the file size
was still taken into account.
- when comparing flattened directories and the checksum is used
for comparison, an entry could be shown multiple times for each
file of the same checksum on the other side.
- canceling the compare progress was not always possible.
** other changes:
- when entering an initial filter in popup menus, an entry is
highlighted matching the filter at the beginning if possible,
instead of just the first one containing the filter anywhere
within the string.
* 2020-12-03: Version 4.6.1:
** fixes:
- fixed compilation when openssl is not available.
** other changes:
- updated Czech translation
(Thanks to Petr Korviny)
- updated Russian translation
* 2020-11-28: Version 4.6.0:
** new features:
- the directory compare command can now also compare files based on
their checksum, or just their file size.
- depending on the selected mode, files are considered equal on:
- same file name
- same file name and file size
- same file name, file size, and last modification date
- same file name and file content
- same file size
- same file checksum
- the last two modes can find identical files regardless of their
name, while the first four modes only compares files of same
name.
** fixes:
- fixed issue with command execution of custom file type actions
which did not take the actions of the parent file type into
account.
* 2020-08-25: Version 4.5.1:
** fixes:
- fix compilation for 32-bit architectures.
** other changes:
- updated Czech translation
(Thanks to Petr Korviny)
* 2020-08-13: Version 4.5.0:
** new features:
- file types can have a priority value. A lower value means a higher
priority. When deciding which file type a file is and multiple
file types matches, the one with the highest priority wins. This
can be useful if a file type checks some generic pattern while
other file types uses additional checks to determine the actual
type. In this scenario, the generic file type can use a lower
priority to not match unless no other file type matches.
** improvements:
- the file ending is added to temporary file copies when starting
external programs with the flag {t}.
- the X windows now uses the standard icon property to let the
window manager display the icon in the window title bar and
elsewhere.
- when moving files, the initial free space check is skipped if the
source and destination directory is on the same device, as moving
files will likely not use any additional space.
** fixes:
- in text view, the option to show non-printable characters was not
correctly working when toggling other options like word wrapping.
- in text view, the reload button did not always worked.
- some list views in the configuration window missed keyboard focus
support.
** other changes:
- updated Czech translation
(Thanks to Petr Korviny)
* 2020-04-12: Version 4.4.0:
** new features:
- add a help command which toggles a help state and when enabled, a
clicked button or pressed key will show all assigned commands for
the button or key. If the key is part of a double key, all
possible commands are shown. In the default config and in the
update config file, a help button is available bound to key F9.
** improvements:
- when pressing enter on a file to execute its file type command and
the file type has not yet been checked, the file type check is now
executed immediately after the currently checked file to speed up
reaction time.
** other changes:
- key shortcut suggestions in the statebar are removed before
executing commands so the regular info line is visible during
execution.
- add example script for creating a virtual dir of all changed files
in a git repository. An example button is provided in the when
starting the new version.
- removed unused dependency to dbus-glib-1.
- updated Czech translation
(Thanks to Petr Korviny)
- updated Russian translation
* 2020-01-26: Version 4.3.0:
** new features:
- the file type name can now use the {mimetype} flag which is
dynamically replaced by the actual mime type of the file. The
default config uses the text string "ukn({mimetype})" so files can
still be identified as unknown, but the mime type is visible too.
- The info line below the list view also shows the verbatim file
type description from libmagic (file).
- The information mode shows the verbatim file type description
for every file type.
- The popup menu for files now also show an entry to create a new
file type for unknown files based on the mime type, or to edit
the file type of the current entry. The corresponding
configuration dialog is opened to make it easier to change the
file type configuration.
- The start prog dialog now stores the command history for the mime
type of unknown files in addition to the history of different file
types. If the dialog is opened for unknown files, the command for
the last file of the same mime type is suggested from the history.
** improvements:
- the path jump UI now also highlights non-existing paths in the per
filter tab.
- the bookmark dialog now strikes out non-existing bookmark entries
and non-existing bookmarks are ignored when trying to go to that
directory.
** fixes:
- fix compile issue with clang
- the info line below the list view is updated even if just the file
type changes.
** other changes:
- updated Czech translation
(Thanks to Petr Korviny)
* 2019-12-23: Version 4.2.0:
** new features:
- added a new config section for directory presets for sort and
filter settings. This configuration allows to set a list of paths
for which custom sort and filter settings are used when those
directories are entered.
- When entering a directory, the longest path is used to determine
which sort and filter settings are applied.
- When a configured directory is leaved, the previous settings are
restored.
- The popup menu inside the directory view has a new sub-menu to
store the current sort and filter settings for the current
directory and also to directly access the configuration
settings.
** improvements:
- the path jump UI now only strikes out the path component that does
not exists which makes it easier to see if the whole path or just
the file no longer exists.
** other changes:
- added a new option in "terminal program" configuration to indicate
if the chosen terminal program returns early and does not wait for
the given command to finish. If set, the temporary files are
removed by a wrapper script. This option allows to use terminals
like xfce4-terminal or gnome-terminal. It is however not
recommended as multiple "own commands" will not wait for each
other to finish if they are configured to be executed within a
terminal.
- the color settings configuration section allow to select a light
or dark theme which overwrites the current palette and user
interface colors. The config needs to be saved and Worker must be
restarted to fully take effect.
- updated Czech translation
(Thanks to Petr Korviny)
- updated Russian translation
* 2019-09-10: Version 4.1.0:
** new features:
- the command completion in the start prog action now also stores
the used command per file type so the first suggestion is based on
the file type instead of the last command used for any file type.
- the path jump dialog now also shows the list of external programs
and their used files in another tab. Both lists are sorted by
last access time. This is useful to find files for which the
external program is known.
- the filter submenu in the popup menu now allows to directly enter
a custom filter to be enabled.
** fixes:
- after deleting/moving a group of files which also included the
active element, the new active element could be further away from
the group then expected. Now the nearest element is chosen as the
new active element.
- fixed entering a filter in popup menus. Editable entries have not
been used for filtering and the next matching entry was not always
selected automatically.
** other changes:
- changed update of the path db when using the path jump feature so
that only the actual file is added instead of both the file and
the base directory.
- the file sizes of the path db files are shown at the cleanup
buttons in the path jump window.
* 2019-08-03: Version 4.0.1:
** improvements:
- if the entry ".." is visible it will be highlighted when entering
a directory.
** fixes:
- fix possible crash when the buffer for the scroll bar could not be
allocated. It happened during startup when the width of the scroll
bar is larger than default but it could also happen afterwards
when resizing the window.
** other changes:
- when evaluating internal commands with the ScriptOp, the current
directory is no longer written to the path jump db.
- updated Czech translation
(Thanks to Petr Korviny)
* 2019-06-23: Version 4.0.0:
** new features:
- path jump:
- the path jump dialog now has a second tab showing the last accesses
by any given filter string. This makes it easier and faster to
access files and directories which has been accessed previously by
a specific filter string.
- the command to open the path jump window can be configured to start
in any of the both tabs.
- improved startup performance of the path jump dialog for large
path databases.
- removing unused elements from the path jump db is more
flexible. Now it can remove all non-existing entries within a
selected base directory and also based on the last usage.
- the non-existing listed elements are striked out to easier skip
those elements. Also, jumping to non-existing entries is disabled
now.
- list view scrolling: when shift is pressed the scrolling is applied
to the inactive list view as well.
- the scroll bar for the file list views will highlight the areas of
selected files in the non-visible part to make it easier to spot
selected files.
- A new list view column is available to show the file extension.
- The configuration menu to add commands to buttons, hotkeys, and
file types now directly allow to select registered commands via
scripting. This makes some existing commands obsolete which have
been removed.
** fixes:
- when updating internal state files (like for previously accessed
bookmarks etc), write errors are now handled correctly to keep the
previous state file instead of starting with an empty one again.
- font changes did not immediately updated the breadcrumb button
sizes.
- the text viewer now uses the size of uncompressed files when
asking for loading large files.
- fixed crash on 32-bit architectures due to stack corruption.
** other changes:
- the list view configuration dialog has been cleaned up to contain
settings in separate tabs for sorting, filtering, and generic
settings. Also, the tabs title and individual options show the
indicator character used in the list view bar to give hint about
how each setting is shown.
- the button to configure the list view mode ("O") has been moved to
the top list view bar and it also uses a small icon instead of the
"O".
- the buttons for opening a new tab and closing an existing one uses
a small icon instead of the character "N" and "X".
- when the context menu is opened with the "Open context menu"
command, it is opened at the position of the row instead of the
middle of the list view.
- the catalog file for commands have been merged with the main file.
- C++14 is now required for compilation.
* 2019-01-28: Version 3.15.4:
** fixes:
- fixed compile issue on architectures with char being unsigned by
default.
** other changes:
- improved performance of the text viewer with word wrapping enabled
for very long lines without any space.
* 2019-01-09: Version 3.15.3:
** fixes:
- fixed drag'N'drop not working with utf8 file names.
** other changes:
- add example script for adding all untracked files in a git
repository into a virtual directory. Also fixed example script for
modified git files to work in sub-directories.
- change image mode script for ImageMagick to convert to png on the
flight to avoid lockup when showing animated gif files.
* 2018-08-28: Version 3.15.2:
** fixes:
- fixed drag'N'drop not working with some programs
* 2018-05-16: Version 3.15.1:
** fixes:
- fixed use of uninitialized variable in copy with the option to
preserve the directory structure enabled. This bug could result in
inconsistent view of the virtual directory content.
- fixed compiler warning about use of C++14 feature.
** other changes:
- case insensitive sort of file names has been improved to create a
stable sort order and to correctly restore file selection state on
reload.
- updated Czech translation
(Thanks to Petr Korviny)
- updated Russian translation
* 2018-01-22: Version 3.15.0:
** new features:
- the command menu now also list all regular commands including
interactive variants (commands which can be configured to query
parameters before actual execution). This allows to access
commands that are not assigned to any button or hotkey.
- the copy command can now optionally preserve the directory
structure when copying entries from virtual directories. For
example, if a virtual directory contains the elements a/foo and
b/bar and the target directory is /c, with this option enabled
both files will be copied to /c/a/foo and /c/b/bar respectively
instead of just /c/foo and /c/bar. The intermediate directories
"a" and "b" are created if necessary.
- tabs can now be locked so they cannot be closed. Right-clicking on
a tab opens a menu allowing to toggle the lock state and the
"modify tabs" command can also be used to toggle the state.
- tabs can be reordered by selecting the move option in the menu or
the "modify tabs" command.
- there is a new command "open tab menu" which opens the tab menu
for the current tab.
** other changes:
- files added to a virtual directory by the "external virtual dir"
command are now normalized so that "." and ".." are no longer
within the paths.
- added another example script for the "external virtual dir"
command to list all files matching a given checksum in a virtual
directory. The corresponding button is available as a config
update.
- mouse selection in text view now works better when mouse is moved
to the beginning or end of the visible text.
- in text view window Ctrl-a will select all text.
- double-clicking in the text view will select the word under the
mouse pointer.
- updated Czech translation
(Thanks to Petr Korviny)
* 2017-12-08: Version 3.14.0:
** new features:
- added new command "external virtual dir". The output of an
external program is used to create a virtual directory, each
output line being on entry in the virtual directory.
An example button uses a simple script to output all modified
files in a git repository so that those files are shown in a new
tab as a virtual directory.
- the font of the state bar can be configured individually instead
of using the global font.
- added new registered command "flatten_dir_follow_symlinks" which
will create a flattened directory view just like the regular
command "flatten_dir" but it will follow symlinks to directories.
** fixes:
- fixed compiler warning on BSDs
** other changes:
- updated Czech translation
(Thanks to Petr Korviny)
* 2017-11-14: Version 3.13.0:
** new features:
- added new command "tab profiles". This command allows to save the
opened directories in all tabs into named profiles and load those
profiles back. Get more info here:
http://www.boomerangsworld.de/cms/worker/documentation/commands/tabprofiles.html
** fixes:
- fixed text drawing of very long lines with XFT. Usually happened
for the text view with line length of multiple thousands of
characters where the text width was not calculated correctly.
* 2017-09-12: Version 3.12.0:
** new features:
- added new command "compare directories". This command allows to
compare the active and inactive panel based on file size,
modification time, or file content. The result is either applied
as selection state, or as a new virtual directory containing the
equal entries in one side and the unequal entries in the other
side. Get more info here:
http://www.boomerangsworld.de/cms/worker/documentation/commands/dircompare.html
** fixes:
- when updating the current directory, keep the inotify watch so
changes are not missed anymore
- when reloading a directory, the file type of files with a changed
file size is reset if it was not detected previously.
- fix some compiler warnings
** other changes:
- the number of hidden files and directories are now shown in the
state bar.
* 2017-07-19: Version 3.11.0:
** new features:
- improved DND support to use XDND protocol used by pretty much all
current environments. DND is still started a little bit unusual
by selecting an entry and right-clicking the mouse. To abort a
drop, press the Escape key (instead of right-clicking
again). Also, only a single entry can be dropped out of
Worker. When dropping entries into Worker, a new tab is opened
with all local files added to a virtual directory. No actual copy
is done but of course those files can be copied as usual within
Worker.
** fixes:
- fix some compiler warnings
** other changes:
- use infinite timeout when unmounting devices
- updated Czech translation
(Thanks to Petr Korviny)
- updated Russian translation
* 2017-06-09: Version 3.10.0:
** new features:
- the context menu now has an additional submenu for changing file
filters. It is possible to remove active filters, or adding a
filter based on the file ending of the current file. Also, the
history of the filter select command and the set filter command is
used to provide matching patterns for additional filters.
Get more info here:
http://www.boomerangsworld.de/cms/worker/documentation/features/contextmenus.html
- there is now a reload button in the file viewer.
- the file viewer now converts non-printable characters to a dot or
a hexadecimal representation. The replacement variant can be
selected within the file viewer window. When selecting text with
the mouse, the unmodified original data is copied into the
clipboard in any case.
- there is a new button in the file viewer to show the currently
viewed file in the main list view.
** fixes:
- the main window will be correctly updated if the window has been
resized during blocked command execution.
** other changes:
- added appdata xml file
- the copy command now does not try to move directories (in move
mode) if the option to adjust symlinks is selected. Instead it
will work in copy & delete mode (like when moving between
different devices).
- updated Czech translation
(Thanks to Petr Korviny)
* 2017-04-18: Version 3.9.0:
** new features:
- the command menu now can show only the recently used commands to
allow faster access to often used commands. The example config
(and the config update) binds this to Shift-F1.
** fixes:
- the copy option to adjust relative symlinks had no effect if
symlinks have been moved within the same device. Now it will be
recreated with the adjusted target as intended.
** other changes:
- the file type for unknown files now uses xdg-open as default
action in the default config.
- the pathjump filtering is now much faster by filtering
asynchronously. If filtering is still ongoing, the filter string
is appended by "...".
- in the path jump window, pressing "Shift-Cursor right" will
directly select the right most path component for fast access to
actual files.
- updated Czech translation
(Thanks to Petr Korviny)
- updated Russian translation
* 2017-01-07: Version 3.8.5:
** fixes:
- fix check for support of utf8 in current locale. It could happen
that UTF8 support has been disabled on runtime even though UTF8
was actually available.
- fix entry filtering in path jump when only sub-directories are
shown. It had included directories which started with the same
name as the currently selected.
- fix compilation on NetBSD
** other changes:
- improved saving and restoring main window position and size on
exit and restart. It will now remember maximized state and also
the position on multiple screens.
- updated Czech translation
(Thanks to Petr Korviny)
* 2016-09-17: Version 3.8.4:
** new features:
- add new command "View newest files" to list all files that have
been modified at the day as the newest file in the current
directory. The result can be panelized to continue working with
those files. This is helpful to catch up work from the previous
day or more far away in the past.
** other changes:
- improved writing persistent path database so the new file becomes
valid only when it has been written completely.
* 2016-04-24: Version 3.8.3:
** fixes:
- fix possible crashes in out-of-memory situations when using some X
functions.
** other changes:
- when replacing flags for command execution (and similar uses),
both the file and its directory have been stored in the persistent
path database. Now only the file is stored so that only the access
probability of the file increases.
- improved symlink handling when calculating relative
symlinks. Worker now uses the shorter path for either the target
or the realpath of the target. This has effect for symlinks stored
in locations with symlinked directories.
- updated Czech translation
(Thanks to Petr Korviny)
* 2016-02-01: Version 3.8.2:
** new features:
- the path jump dialog allows to filter for entries newer than a
given time period.
- add support for quick filtering the list view for modification or
file access time. The keywords are timemod (or tm) and timeaccess
(or ta) for the filter expression. You can use absolute times, for
example: (tm>=2015-12-31) or relative times, for example:
(tm>=1d). For absolute times, greater means younger than the date,
for relative times it means older than the the given time span
from now. Get more info here:
http://www.boomerangsworld.de/cms/worker/documentation/features/filtering.html
** fixes:
- the cleanup of the persistent path jump database works again and
is also much faster.
- in the path jump window, the button for ignoring the last access
time now actually works (the keyboard shortcut was already
working).
** other changes:
- the path jump database will now be updated for copy and move
operations to find files even if they are moved.
- the persistent path jump database uses a lock file to avoid
concurrent write access from multiple Worker instances.
- updated Czech translation
(Thanks to Petr Korviny)
* 2015-10-10: Version 3.8.1:
** new features:
- the internal text view got a new search line which also shows the
line of the current match (if any). Also, it is now possible to
search backwards, or to restart the search from the top of the
document. There are also some tooltips showing the keyboard
shortcuts. The text view window will no longer close when escape
is pressed, as escape can be used to deactivate the search text
field.
- added case-insensitive sort mode which can be configured in the
general settings.
- the command bound to a button is shown when the button clicked
while the Control key is pressed.
** fixes:
- fixed sorting in path jump UI, initial view was not sorted by last
access.
** other changes:
- the internal file viewer will no longer close the window when escape is
pressed.
- updated Czech translation
(Thanks to Petr Korviny)
* 2015-07-18: Version 3.8.0:
** new features:
- added new command "change columns" to change the visible columns
used in the active list view. The configuration is the same as for
the global list view settings. Running the command twice,
i.e. applying the same column set again, will switch back to
global settings.
This command can be used for example to use two different views,
one only few columns, and a second for a more detailed view.
- a comma separated list of patterns may be used now for file type
name check. There is a new option in the file type configuration
to enable this feature.
- the context menu for file type actions will show the command to be
executed in the state bar
** fixes:
- fixed crash in internal view when it is called with no element
** other changes:
- changed filter in command menu is only applied if the result view
will not be empty
- added configuration option for the volume manager to prefer udisks
version 1 or 2
- the delete dialog shows an additional warning if there are entries
selected for deletion that are not visible
- added tooltips for some buttons in the main window to make it
easier for new users to find out the meaning of the buttons
* 2015-06-05: Version 3.7.1:
** new features:
- added support for udisks2
- the path jump database now also stores the last access time and
sorts the suggestions when filtering based on that time
- the path jump window also allows to hide non-existing entries, and
optionally remove them from the persistent database as well
** fixes:
- fixed crash when starting some commands on empty list views
(reported by Anindya Mukherjee)
** other changes:
- updated Czech translation
(Thanks to Petr Korviny)
* 2015-05-08: Version 3.7.0:
** new features:
- added new command "change time" to change the modification and
last access time of files and directories.
- the copy operation has a new option to adjust relative
symlinks. The feature has three possible values.
- The default value will never adjust symlinks, i.e. Worker will
use the symlink target as is.
- The second value allows to adjust symlinks pointing to a file
outside of the copy directory so that the new symlink still
points to the same file. With this option, symlinks pointing
inside the copy directory remain unchanged, other symlinks
pointing outside the copy directory will be modified to point to
the original file.
- The third value will adjust all relative symlinks to point to
the original files.
- the copy operation also has a new option to ensure special file
permissions.
- it is possible to set user read and write permissions on all
files copied.
- additionally, read permissions for the group or all users
can be added to file permissions.
- this is especially useful when copying files from read-only
devices (such as dvd roms) so that the files will get write
permissions again.
- the change symlink command got some new features:
- the command can be configured to make symlink absolute or
relative (or just editing them as before).
- the edit dialog contains a new button to switch the current
symlink text from absolute to relative location and vice versa.
- the registered command "selectentry" now supports an optional
argument to set the number of entries to select, and the
direction. Positive numbers will select the corresponding number
of elements starting and following the current elements, while
negative numbers select the previous elements. The strings
"pageup", "pagedown", "p", "-p" can also be used to select a whole
page of entries. The example config and the config updates
contain example usages bound to
Shift+PageUp/PageDown/CursorUp/CursorDown.
- added ignore case option to the file type check based on libmagic.
** fixes:
- fixes text selection in text view when it is scrolled horizontally
** other changes:
- create symlink now uses the real path of the destination when
generating a relative symlink. This avoids creating invalid
symlinks.
- the copy operation shows the failed command additionally to the
error message to make it easier to understand the error.
- the list view header line now indicates the current sort order.
- the text viewer now uses the size of a symlink target for file
size check.
- updated Latvian translation
(Thanks to Einars Sprugis)
- updated Russian translation
* 2015-03-21: Version 3.6.2:
** fixes:
- the flatten_dir command now also works for virtual directories
- some inotify events are skipped to avoid unnecessary directory updates
(especially on BSD systems because of different descriptor
enumeration)
** other changes:
- improved performance of pathjump UI when filtering the entries
- added more lua versions as supported versions in configure script
- improved configure script to give more hints about missing
packages for certain features
- added configure check for libinotify
- the file name of the viewed file is now also shown in window title
- updated Czech translation
(Thanks to Petr Korviny)
* 2015-02-14: Version 3.6.1:
** new features:
- added general setting to use extended regular expressions instead
of basic regular expressions
- the label popup menu now remembers the last selected item and
highlights it for the following usages, unless the menu is closed
without selected any item
- added option to "Open context menu" command to highlight the first
user action in the menu when opening it. It makes accessing those
user actions faster with the keyboard.
** fixes:
- some compilation fixes for clang compiler
- fixed a visual glitch in the move operation which always tries to
scroll the list view to show the current file being moved. In some
cases, the list view was scrolled to the wrong position so the
current element moved was not on top of the list view.
** other changes:
- if the expression for filtering list view content contains a file
type check and a file type is not yet checked for a given file,
the expression is now always true. Also, when file type check is
completed, the view is updated to reflect the actual file
types. For example, if the directory is updated with file type
reset option, previously the filter matched nothing. Now the type
check matches always, and only at the end of the type detection,
the filter is re-evaluated.
- the rename dialog now converts invalid file names (according to
the current encoding) into valid ones, stripping invalid
characters. This helps for renaming latin1 based file names in an
utf8 environment. Accordingly, the change symlink dialog does the
same for the link target.
- added workaround code to free XLI resources in the show image
mode. This avoids leaking X resources everytime the mode is turned
off again.
- added configure support for clang
- updated Czech translation
(Thanks to Petr Korviny)
* 2015-01-08: Version 3.6.0:
** new features:
- improved list view (temporary) filtering by supporting more
complex expressions.
- If the first character of the entered filter
string starts with a "(", the string is evaluated as a boolean
expression. This allows to combine checks for name, file type,
size, and selection state. This is an example:
"((n~foo|n=bar)&s>10m)" which means the name is either exactly
"bar" or contains the characters "f", "o", and "o" and the size is
larger than 10 megabytes.
- More documentation can be found here:
http://www.boomerangsworld.de/cms/worker/documentation/features/filtering.html
- There is some interactive help shown in the statebar about how
the expression should be continued. All possible alternatives at
the end of the current string are shown after waiting one second.
- added registered command "vdir_from_selected" which creates a new
virtual directory containing all selected entries from the current
directory (be it a real one or already a virtual one). The default
config contains a corresponding button to activate this command,
updating Worker from an older version will ask to import that
button.
- added registered command "vdir_add_selected_from_other_side" which
adds all selected entries from the inactive panel to the current
virtual directory. If the current directory is not virtual, a new
virtual directory will be created. The default config contains a
corresponding button to activate this command, updating Worker
from an older version will ask to import that button.
- when activating the search entry mode two times without entering
anything in between (usually by just pressing Ctrl-s twice), the
previously used filter string is inserted. This is useful to
re-apply a filter to the same or different directory, or to refine
a filter (like the new expression based filter).
- added on-demand file type check for not yet known entries when
double clicking/pressing enter on an entry or trying to open the
context menu. With a lot of files, it may take some time until the
active entry is actually checked, so this change helps speeding up
the handling of such files.
** fixes:
- fixed possible deadlock in subprocess handling when executing
external commands. In some cases Worker was still waiting for the
end of a command even it the executed program exited already.
** other changes:
- updated Czech translation
(Thanks to Petr Korviny)
* 2014-11-08: Version 3.5.2:
** new features:
- added new configuration options (in initial directory section) to
store and restore tabs. If enabled, Worker stores the opened
directories and restores the tabs in the next session. It can be
automatically or by asking interactively. There are also command
line arguments to force the behavior.
** fixes:
- fixed window layout when changing layout styles. Some GUI elements
were not resized correctly.
- fixed saving the configuration if the .worker directory is a
symlink to another directory containing the configuration files.
** other changes:
- updated Czech translation
(Thanks to Petr Korviny)
- updated Russian translation
* 2014-10-02: Version 3.5.1:
** new features:
- the startprog command now also allows to use the flags from the own
command to be replaced with the selected files etc. It is now
possible to enter commands like "ls -l {a}". As a side effect, the
string protection rules changed, so that backslashes need to be
entered as double backslashes and the characters { and } need to be
protected with a backslash if they are supposed to be part of the
final command string. As before, the default file name is still
protected to be usefull with modifications.
- added additional GUI face definition for popup menus: "popup-bg",
"popup-fg", and "popup-submenu-arrow"
** other changes:
- if copy is started while the inactive panel is not the directory
mode, the dialog asking for the directory now allows to skip this
dialog as long the path is still the same as the one accepted
in the last dialog.
- some changes to make it compile with gcc 4.6 again
* 2014-08-16: Version 3.5.0:
** new features:
- added system to modify the colors of the GUI elements by using
so-called faces. The colors of general GUI elements can be
configured by modifying the faces values in the configuration of
the UI. The Worker specific UI elements can still be configured
separately as before.
- added info line below list view to show additional information
regarding the current entry. The content of this line is
configurable in the directory mode configuration. It can be either
a string with special flags replaced by file name, file size,
symlink destination, etc. Or, if LUA is available, the string can
be evaluated with LUA for complete programmable content. The line
can be disabled.
** other changes:
- improved the persistent path jump database to update the data base
file in a background thread. This significantly increases the
performance if the option to store all used files is enabled and a
large number of files is used for executing an external program.
- directories are now updated when switching tabs
- the breadcrumb path is now stored separately for each tab
- if copy is started while the inactive panel is not the directory
mode, the directory previously shown is used as default value for
the target dialog.
- updated Czech translation
(Thanks to Petr Korviny)
- updated Russian translation
(Thanks to Serg Markov)
* 2014-06-09: Version 3.4.1:
** new features:
- added breadcrumb navigation line to quickly change directories. It
can be disabled in the configuration of the directory mode.
- the copy window of background copy operations remains opened
after finish. There is a new checkbox to select this behavior
(keep or close the copy window).
** fixes:
- search mode is no longer activated on key press if that key is
part of a double shortkey.
- fixed memory leak in text view mode (text GUI elements have not
been removed properly when switching mode off).
** other changes:
- it is now possible again to show the ".." entry in the list view.
There is a configuration option in the corresponding configuration
of the directory mode. It is a fake element that does not show
the file system values of the real ".." entry of a directory.
- skip remaining space check for copy if total space is zero (in
case this information is invalid)
- updated Czech translation
(Thanks to Petr Korviny)
- updated Russian translation
(Thanks to Serg Markov)
* 2014-05-01: Version 3.4.0:
** new features:
- copy operations can be put into background so Worker can be used
normally while copying
- added configuration option to place the path field on top of the
list view (in list view settings)
- added some keyboard shortcuts to the text field
(Ctrl-x/c/v for cut/copy/paste, Meta-f/b for next/prev word)
- added new registered command "go_to_previous_dir" which
jumps to through the cache of directories.
In the default configuration, the key Backspace is bound to
this command.
- added option to path jump feature to always stored files in the
database which are used for commands
** fixes:
- clicking into the path field activates the corresponding list view
again
** other changes:
- improved internal database of often used commands in the command
menu so support entries with the same name but different commands
assigned to it (like two "status" buttons for svn and git)
- warn if more than 100% of a file has been copied (due to file size
changes during copy)
- updated Czech translation
(Thanks to Petr Korviny)
- updated Latvian translation
(Thanks to Einars Sprugis)
* 2014-03-06: Version 3.3.3:
** new features:
- added new registered command "flatten_dir" to show all files in
all sub-directories in a flat view (as a virtual directory). This
is a shortcut for searching for all files and then panelizing the
results.
A corresponding button is available as an update (Worker asks
after first start to add this button).
- in ScriptOp command configuration, the eval_command section now
shows all registered commands to choose from.
- unified xliwrapper and displaywrapper script to choose the best
available viewer for the show image mode.
- the filterselect/unselect command now selects the best matching
previous filter based on the file currently active. If none is
found, the file extension of the current file is used for the
default value.
- the path jump now also stores the file used after jumping to a
directory to make accessing often used files much faster.
- added isBrokenSymlink() function to the extended file type test,
allowing to match such symlinks and set custom actions or colors.
A corresponding file type is available as an update (Worker
asks after first start to add this type).
** fixes:
- implemented workaround for keyboard focus loss with some XIM
servers.
Worker should identify stuck keyboard and asks to enable
workaround.
- path text field will be restored to correct previous value if Escape
has been pressed.
- fixed bug in search entry function which jump to the next entry
even if another window is actually opened.
** other changes:
- mentioned all important files in .worker configuration directory.
- search window title now contains the path and pattern for the
search currently shown.
- it is now possible to select multiple file types in the
configuration to delete them all together.
- the command history in the start prog interface now does not store
the command if it starts with a space.
* 2014-01-20: Version 3.3.0:
** new features:
- several path jump improvements:
- it is possible to hold the currently visible entries and reset the filter.
This allows to refine a search with a new filter.
- holding entries is also possible depending on the match class (best matches only,
second best matches also, and so on).
- a separate list view shows the number of matches for each class and the corresponding
key to hold those entries (Ctrl-1 to Ctrl-9).
- Ctrl-0 will release the held entries.
- it is now also possible the show the path jump matches in the list view as a virtual
directory (panelize button).
- the command menu now also temporarily highlights the button which corresponds to the
current entry in the menu.
- the start prog interface now supports command completion based on the commands previously
used. The best match will be suggested directly, others are available for selection
with cursor up/down. Completion can be disabled by changing the cursor position.
- the behavior of parent dir/enter active dir (left and right cursor keys) have been
improved for virtual dirs. With the right key, the virtual dir is refined to only
contain those entries that have the same base directory as the current one.
The left key will search the cache for best matching parent virtual dir.
This allows for better browsing of virtual directories.
** fixes:
- when activating the entry search with a key press, the pressed key is now
correctly used for the initial character. Also, the characters are matched
from the beginning, not inside, by default (no implicit * at the beginning).
** other changes:
- the old directory mode has been removed. The list view bar on top of the list view
shows whether a real directory or a virtual one is shown.
- improved window placement so some windows are not created at a fixed position (top left)
(depending on the window manager placement strategy).
- updated Czech translation
(Thanks to Petr Korviny)
- updated Latvian translation
(Thanks to Einars Sprugis)
- updated Russian translation
(Thanks to Serg Markov)
* 2013-12-16: Version 3.2.1:
** new features:
- command menu shows also the assigned shortkey if available
- the search entry can be activated without ctrl-s by pressing a key.
The feature can be disabled in the configuration of the virtual dir mode.
- if the search windows is opened from a virtual directory, it searches
only those entries
- added new entries to the command menu to
- switch list modes
- open list mode configuration
- access registered commands
- search entry in list mode now highlights the matching characters
temporarily
- bookmark dialog and path jump dialog also highlights matching
characters when applying a filter
** fixes:
- fixed copy time estimation when renaming files
- jumping to next matching entry with ctrl-s works now also
for flexible matching
- command menu is updated after reconfiguration
- file type recognition on content did not work for empty directories
even after reload
** other changes:
- updated Czech translation
(Thanks to Petr Korviny)
- updated Latvian translation
(Thanks to Einars Sprugis)
* 2013-11-18: Version 3.2.0:
** new features:
- added command menu to access menus, buttons, hotkeys with keyboard.
There is a new command called "command menu" which opens a window
showing all registered commands and menus. It is possible to select
an entry with the cursor keys or by entering a filter string.
- added a filter in the "start prog" dialog in the tab for handling
as a specific file type.
- the list view bar shows a text while reading a directory to give
better visual feedback about the state.
- added an update feature to import new configuration items to
an existing configuration when starting a newer version. Worker
will ask to import new hotkeys, buttons, and filetypes. It's
possible to modify the items to import or skip this update.
- added file type option to use the MIME description from libmagic
instead of the plain text description.
** fixes:
- fixed pattern rename script to work with virtual directories.
- the move operation in the virtual dir mode now correctly highlights
the entry currently moved.
- the directory size command in the virtual dir mode now updates the
entries correctly during calculation.
- delete in virtual dir mode now removes the deleted entries during
the operation, not just at the end.
- fixed external command execution if the tmp directory is mounted
with NOEXEC option.
- virtual dir mode ignored the list of directories to ignore for
content check for file types
** other changes:
- updated Latvian translation
(Thanks to Einars Sprugis)
- updated Czech translation
(Thanks to Petr Korviny)
- updated Russian translation
(Thanks to Serg Markov)
* 2013-10-06: Version 3.1.0:
** new features:
- all commands now also works within the new virtual dir mode (introduced
in Worker 3.0.0)
- configuration of the virtual dir mode is now possible
- filters are also working
- the virtual dir mode is now the default mode but the old directory
mode is still available
- added option to file search to only match files (new default) or
also directories (has been the default value in the past)
- panelize feature in search UI and changing list view to show match
can now be activated with key F2 and F1 respectively
** fixes:
- the volume manager sometimes did not report new devices (optical discs)
- skipping symlinks in copy did reduced the total number of bytes remaining
incorrectly
** other changes:
- updated Latvian translation
(Thanks to Einars Sprugis)
- updated Czech translation
(Thanks to Petr Korviny)
* 2013-06-24: Version 3.0.0:
** new features:
- add new list view mode "virtual dir mode" which is able to
show so called virtual directories. Those directories may contain
entries from different actual directories.
This mode is used to panelize search results. Limited features
from the main directory mode is available but it is planned to
eventually replace the normal directory mode.
The following features are available:
- browse regular directories
- tabs
- directory cache
- context menu
- bookmarks
- filetype recognition
- executing external programs
- a C++11 compatible compiler is required now. Not all features
must be supported though. For GCC, it must be version 4.6 at least.
- the configuration dialog for the list view modes has been changed to
make the usage easier. This can be accessed by right-clicking on the
list view bar or calling the command "file lister settings" (bound
to Ctrl-F1/F2)
** fixes:
- copy & paste of UTF8 strings works now correctly
- disabled fast copy mode. If files are moved in fast copy mode to a
different device (i.e. files are copied and deleted afterwards),
already freed memory is accessed. This could lead to crashes, or
incomplete removal of correctly copied files, or deletion of wrong files
(even though this is very unlikely ).
Bug existed at least since version 2.0.0 so this mode was probably never
used and will be removed.
** other changes:
- XFT is now enabled by default
- configurations in old binary format (Worker 1 and early Worker 2
version) can no longer be loaded.
- set the X window type for dialogs to improve handling
in some window managers.
- updated Czech translation
(Thanks to Petr Korviny)
- updated Russian translation
(Thanks to Serg Markov)
* 2012-11-22: Version 2.19.6:
** other changes:
- reload due to inotify event does not deactivate the search entry
mode
- in the text view, pressing Enter or n will search for next match
even if the text field is not active
- path jump also shows other matching entries even there are some
perfect matches
- some improvements were made to the default config (cleanups for
file types, buttons; new buttons for volume manager and path jump;
default fonts)
* 2012-09-04: Version 2.19.5:
** new features:
- added evaluate command in ScriptOp command which makes it easier to
add new commands
- added "recenter_top_bottom" command which centers the current entry
(or put it on top or bottom of the list view). It's bound to "C-l
C-l" in the default configuration.
- improved entry search mode: pressing / will enter the directory of
the current entry which keeping the search enabled. The first entry
of the entered directory will be highlighted to make browsing
faster. Backspace in an empty search will go to the parent
directory.
- added directory watching with inotify. In case of changes, the
directory will be automatically reloaded. This behavior can be
disabled in the file lister configuration.
- added button next to the path field to directly access file lister
configuration.
- file copy offers a retry option in case of errors (due to out of
space or other errors).
- file copy asks to continue if the free space on the target directory
is less than the sum of the bytes to copy.
- added slider to button banks to visualize the currently displayed
bank.
** other changes:
- updated Czech translation
(Thanks to Petr Korviny)
- updated Latvian translation
(Thanks to Einars Sprugis)
* 2012-07-05: Version 2.19.4:
** new features:
- hints about Worker features and key shortcuts are shown in the
clockbar. The feature can be disabled in the clockbar
configuration.
- it is now possible to filter commands in the configuration of
buttons, file types, and hotkeys.
** fixes:
- the remaining time for copying files based on the current transfer
rate showed wrong values when the overwrite dialog was visible.
- improved text pasting into QT applications (and possibly other
environments too).
** other changes:
- updated Czech translation
(Thanks to Petr Korviny)
- updated Latvian translation
(Thanks to Einars Sprugis)
* 2012-06-15: Version 2.19.3:
new features:
- added xinerama support for windows which try to be as large as
possible.
- the path jump UI has been improved to allow to only show sub-
directories of the currently selected entry and path component.
It makes navigation easier if many entries exist.
- the path jump UI supports removing non-existing entries from the
persistent list of visited directories.
- text can now be selected with the mouse in the internal text
viewer, the string will be copied into the clipboard.
fixes:
- the path text area is not cleared when just pressing a key for jumping
to the next entry beginning with that character.
* 2012-03-29: Version 2.19.2:
new features:
- it's now possible to enter (or paste) full file names into the
path text field. Worker will change to that directory and highlight
the file.
- added command "copy string to clipboard" which copies an arbitrary
string into the clipboard for pasting that into other applications.
Regular flag replacement will be done so it's possible to copy
the file into the clipboard. The root file type in the default config
contains an example action for this.
- added persistent store for the path jump command which stores
all visited directories. All running Worker instances share this
database. The feature must be enabled explicitly by setting a
list of directories which are allowed to be tracked.
- improved the matching algorithm in the path jump command to favor
matching entries with less non-matching characters. A quality value
is shown to make it easier to identify the wanted entry.
- the path jump command now also can show all entries known to the
database. By default only the paths visited in the current session
are shown. The other entries are all bookmarks and all entries
from the persistent path store.
fixes:
- fixed date replacement strings for the time columns to correctly
work with utf8 strings (the replacement for "today", "tomorrow", and
"yesterday")
* 2012-02-19: Version 2.19.1:
fixes:
- fixed memory leak and large cpu usage in the dbus code for udisks.
* 2012-01-31: Version 2.19.0:
new features:
- context menus (and double click commands) now can access all
selected entries instead of just the clicked one. All flags
for external commands can be used now but there is one difference
to regular call (via buttons or hotkeys): the flag for first
selected entry will be the highlighted entry (double clicked or
selected with context menu).
- added support for using udisks instead of HAL in the volume
manager. Only simple stuff like mounting, unmounting, ejecting
devices, but no authentication support.
- added new command "path jump" to quickly access already
visited path by using type-ahead filter and breadcrumb-like
navigation. In the default configuration the command is mapped
to the key "/". When started, it shows all visited directories.
Parent directory are merged with deeper directories so only
the longest path is used. All path components can be selected
with left or right keys.
Also, it is possible to enter a filter so only those entries
are shown which match (either by the complete string or
by using flexible matching). The path component matching
the filter will be highlighted for direct use. For example,
if /c and /a/b/c has been visited, the dialog will show both
directories. If "c" is entered, still both are visible but if
"ac" is entered, only /a/b/c is visible and the last path component
"/c" will be highlighted. If "ab" is entered, /a/b/c will still
be visible but /b will be highlighted.
If a filter is entered but no entry matches, then a matching
bookmark entry will be shown instead making it easy to access
bookmarks as well with the same dialog.
fixes:
- fixed memory leak in the experimental XFT support
- fixed saving a configuration if no other configuration file exists
other changes:
- added second prediction for end of copy time based on the current
rate (rather than the average rate).
- changed the default config to use a common root file type to
make global file type configuration easier.
- when adding bookmarks with the label context menu, directories
no longer use the "use parent directory" flag.
- updated Czech translation
(Thanks to Petr Korviny)
- updated Latvian translation
(Thanks to Einars Sprugis)
- updated Russian translation and Ukrainian translation
(Thanks to Serg Markov and Pavlo Greenberg)
* 2011-09-30: Version 2.18.1:
new features:
- the own command now creates temporary copies of virtual files
for all flags (like {t}). The advantage is that external programs
can access file in archives, remote sites and so on but changes
are not copied back.
This behavior can be disabled for each own command separately.
- temporary files will deleted after the external program exits.
This is important for programs ran in background so temporary
copies live as long as the program using them.
- when creating temporary files, a progress is shown in the
state bar when it takes longer to copy it from the virtual
file
- the volume manager now also has keyboard shortcuts for open
and close ('o' and 'c')
- the search dialog now allows to jump to the selected entry
but keeping the search window opened. This can be done by
right-clicking the corresponding button in the window.
fixes:
- the status information hasn't been refreshed correctly when the
search finished
- fixed an endless loop in the tab completion with disabled utf8
support
other changes:
- updated Czech translation
(Thanks to Petr Korviny)
- updated Latvian translation
(Thanks to Einars Sprugis)
- updated Russian translation and Ukrainian translation
(Thanks to Pavlo Greenberg)
* 2011-07-15: Version 2.18.0:
new features:
- the search dialog is now also asynchronous. That means that the window
can remain opened and new windows can also be opened for different
searches. The window share the same stored results but results
currently shown in a search window cannot be accessed by a different
window.
- the search UI has been improved to better handle large number
of results (faster update)
fixes:
- closing the configuration no longer resets custom column widths
- the active entry in the search window now stays at the highlighted
line when removing entries
- fixed display bug in text view when a selection is at the end of a
line and word wrapping is enabled.
other changes:
- removing a search result does no longer remove all results for the
same file but will only remove the entry for the corresponding line
number
* 2011-06-02: Version 2.17.13:
fixes:
- fixed bug in directory reload which prevented attributes from the directory
cached to be restored (if version string compare is enabled)
other changes:
- updated Czech translation
(Thanks to Petr Korviny)
* 2011-05-27: Version 2.17.12:
new features:
- improved searching entries in list view. Flexible matching is used
if the pattern doesn't match directly. In this mode, any entered character
must be found in the same order but there may be any other characters
between them. For example, entering "abc" would also match on "xaybzc" but
not on "xayczb" since the former contains abc in the same order but not the
latter. There is a new option in the search entry command to disable
this behavior (it is enabled by default). If flexible matching is used,
the list view bar will show a leading ~ before the actual string.
- The entry search now also shows completions which can be completed by
hitting the TAB key.
- added a global option (in the general settings) to use strverscmp (if
available on the system). The option is enabled by default. The name sort
will respect numbers inside file names. For example, foo10 is sorted after
foo2 which was previously not the case.
- added a new command to switch the button bank
other changes:
- updated Czech translation
(Thanks to Petr Korviny)
- updated Russian translation and Ukrainian translation
(Thanks to Pavlo Greenberg)
* 2011-03-17: Version 2.17.11:
new features:
- added new list view mode for quick viewing text files.
- the text view will now read more of the shown file when the end of the
file has been reached.
- improved search: there is a new limit for searches in archives to prevent
endless loops. The default value is 3 so the search stops in archives in
archives in archives. But any other limit can be set in the search options.
Also, when refining search results, enabling search archives works
reliable.
- The available commands in the configuration for buttons, file types, and
hotkeys are now classified into categories to make it easier to find
commands.
- There are new popup menus for the list view tabs.
fixes:
- fixed text view scrolling if the slider buttons are used
other changes:
- Worker will show a short message if an external command exits with an
exit code != 0
- updated Czech translation
(Thanks to Petr Korviny)
* 2011-01-30: Version 2.17.10:
new features:
- the history of patterns used for filter selection are persistent
for all worker instances.
- the list of all shortkeys can be sorted
- the copy dialog uses human readable representations for the number
of bytes (MB/GB/...)
fixes:
- when the maximum command line length has been reached for an external
command the last file name has been truncated (for example, if {a} is
used in an external command). This no longer happens. Now a dialog ask
to continue with all files fitting in the command line or completely
abort executing the external command.
- the text selected in a text area hasn't been copied to the
X clipboard if Shift+Home/End has been used
- the AVFS module used for the "ftp connection" command is stored in
the configuration as well (AVFS ftp or ucftp module)
other changes:
- list of activated features has been improved in the about window
- the maximum command line length has been increased (depending on the
actual system). External programs can be used with more arguments
which is important for flags like {a}
- empty menus no longer appear for eject/close tray if no device
could be found
- slightly changed determination of the free space of devices so it
gets updated more often.
* 2010-08-31: Version 2.17.9:
new features:
- the bookmark manager now stores the number of accesses for each
bookmark. When using "find-as-you-type" the entry with most uses
is suggested making typical bookmark usage much faster.
- added configuration option to use a custom font for the file
viewer.
- the file viewer is now asynchronous so a window does not need to
be closed to continue. Due to internal limitations the file
viewer window may not react in every situation.
- added support for ejecting devices and closing trays in the volume
manager. The list of volumes can also be updated without closing
the window.
The command to eject or to close the tray can be configured in the
volume manager settings in case HAL support is not available.
fixes:
- file type recognition based on libmagic now works also on symlinked
files.
other changes:
- updated Latvian translation
(Thanks to Einars Sprugis)
- updated Czech translation
(Thanks to Petr Korviny)
- new Ukrainian translation and updated Russian translation
(Thanks to Pavlo Greenberg)
- updated Italian catalog
(Thanks to Giulio Canevari)
- added worker.desktop file for menu entry in DEs
(Thanks to Tobias Quathamer)
* 2010-06-24: Version 2.17.8:
fixes:
- fixed possible lockup when starting external programs
- fixed color for line numbers in text view
other changes:
- updated Czech translation (Thanks to Petr Korviny)
* 2010-06-16: Version 2.17.7:
new features:
- it is now possible to enter new labels in the popup menu.
- for own command and "start prog" command the output of the external
program can be displayed with the internal viewer.
- added new column to show file sizes in a human readable format (mb,gb,...)
- the volume manager now also shows the volume label and size (if reported
by HAL).
fixes:
- new device detection didn't work correctly if hal and fstab entries
are mixed.
- fixed wrong number display with thousands separator that uses more than
one byte (utf8).
- fixed small visual glitch with list view redraw when moving files.
If a dialog comes up it was possible that the wrong entry was displayed.
other changes:
- files which cannot be stat'ed will be visible in the list view now.
A dialog will no longer come up.
- devices hidden in the volume manager will not be reported as new.
- when opening the bookmark manager a best matching entry will be searched
if the currently active entry is not stored as a bookmark.
- changed method to run external programs which also makes the cygwin
workaround flag in the configure script unnecessary.
- slightly improved determination of free space to reduce update delays.
* 2010-03-01: Version 2.17.6:
new features:
- the event handling has been improved so the process does not wake up
too often. That might be beneficial for laptop users to save battery
power.
- Worker now opens a dialog when new devices become available to ask
what to do with them (mount them, open volume manager or do
nothing). There is a new option in the volume manager section to
disable this behavior.
- it is now possible to sort the file list by file permissions
- the layout configuration has an additional option to apply the
list view weight relatively to the active side. That makes it
possible to set the current side to 80% of the window width
regardless of whether it is the left or right side.
- there is a new command option --config to choose a different
configuration directory.
other changes:
- HAL support status is shown in about window.
- improved built-in configuration to be slightly more useful in case
no other configuration is found.
- the button for editing the list of hidden devices in the volume
manager has been removed, the dialog can be accessed with the
secondary button function of the hide button.
fixes:
- improved detection of new devices. Sometimes they were reported
multiple times or never (if they have been reconnected).
* 2009-11-10: Version 2.17.5:
new features:
- added volume manager to mount and unmount devices
- devices can be mounted via HAL if available and by traditional
fstab mount
- Worker shows an information in the state bar if a new device becomes
available
- A new command "Volume manager" is available to access the corresponding
UI (the hotkey can be downloaded from the add-ons section at the
homepage). The default key is Alt+v.
- Commands used to mount/unmount devices can be configured in a new
config section (only required if HAL is not used)
other changes:
- file list filter is shown in list view bar
- added configure option --enable-cygwin-workaround so Worker runs without
problems on Cygwin
- updated Italian, Latvian and Czech translation
* 2009-06-02: Version 2.17.4:
new features:
- added "change layout" operation to change the main window layout during
runtime
- different weights may be used for the list views
- added option to the "search entry" operation to match inside file name
- Worker shows possible keys for double shortkeys in the state bar
fixes:
- fixed message about importing special file types, original and new one
was swapped
- fixed bug for label colors, it was possible that a color from an entry
in a sub directory was used instead of the correct one
other changes:
- added Latvian translation
(Thanks to Einars Sprugis)
- changed tab text to only show base name instead of full path
- added some hotkeys to default configuration for layout changes:
Ctrl+l 1 will make left list view wider (80%/20% partitioning)
Ctrl+l 2 will make both list views use 100% of the window width
- added some hotkeys to show current path on the other side in a new tab
(Alt+o and Alt+Shift+o)
- the "go to directory" operation now accepts file names and will highlight
the given file in the corresponding directory.
There is an example button "go symlink" to follow a symlink to its real
destination
- changed mount/unmount button to give some message if the operation failed
* 2009-03-12: Version 2.17.3:
fixes:
- fixed compilation with gcc 4.3
other changes:
- updated Czech translation (Thanks to Petr Korviny)
- updated Polish translation
* 2009-03-06: Version 2.17.2:
new features:
- added tabs;
All tabs share the same directory cache so if you select some entries in
a directory and you enter this directory in a different tab the previous
selection is available.
- added "modify tabs" command;
default keys are ctrl+page up/down for previous/next tab and ctrl+t/w
for new/close tab
other changes:
- improved layout configuration
- made checks for bookmarks and labels faster
- updated Czech and Slovak translation (Thanks to Petr Korviny and
Stanislav Pavlica)
* 2008-12-18: Version 2.17.1:
fixes:
- fixed endless loop in layout function for the GUI which was triggered in
version 2.17.0
other changes:
- bookmark UI tries to use as much space as necessary so no horizontal
scrolling is required
* 2008-11-11: Version 2.17.0:
new features:
- added more options to find dialog
it is possible to set modification time limits and search for given file
size
- files or directories can now be labeled to make it easier to find important
or frequently used files
- Each label may have a specific color which will be used to highlight the
corresponding entries.
There is a new configuration section for these colors.
- Parent directories also will be displayed in this color to indicate that
there are some labeled entries in this or some sub-directory (though this
feature can be disabled in the configuration of the normal file lister)
- there is a new command to change file labels which can set or remove
a given label on the active entry or ask for the label with a popup menu.
The same menu is available in the context menu of the selected entry.
The example config comes with the hotkey alt+l for keyboard access.
- all labeled entries are stored as bookmarks so they are available for
editing in the bookmark dialog
- the "set filter" command has been enhanced to allow showing only bookmarked
entries or entries with a specific label. That makes finding some bookmarked
(or labeled) entry much easier. The command may directly set the given filter
without additional interaction or a popup menu may be used to query the
filter. The example configuration uses the hotkey ctrl+d for opening the
popup.
- the bookmark dialog has been enhanced to handle the new labels.
The current entry in the file list is also highlighted if it is also
present in the bookmarks.
fixes:
- recursions in worker actions are now limited to not eating up all memory
- fixed a bug where in some circumstance the file type recognition indicator
keeps busy even if there were no files left to identify
other changes:
- the string filter (activated with ctrl+s) is now not cleared when
reloading the same directory
* 2008-07-03: Version 2.16.5:
fixes:
- the default value for the libmagic decompression option was not
correctly initialized
* 2008-07-01: Version 2.16.4:
new features:
- file type recognition by using libmagic can optionally decompress files
fixes:
- adding "run custom action" to command list of a file type opens the
configuration just as for the other commands
- fixed very rare problem when worker waits forever for an external
program to exit
other changes:
- updated Slovak translation
(Thanks to Stanislav Pavlica)
- copy/move/delete operation limits redraw of file list to speedup operation
- changing symlinks updates the directory afterwards
- bookmarks are now sorted
- creating new file types uses colors from parent type as default
- the content of the text fields in the search UI is not copied to the
clipboard when the window is opened
* 2008-04-17: Version 2.16.3:
new features:
- the file search can be limited to only search the same device as
the base directory
- added experimental XFT support (enabled with --enable-xft)
- there is a new filter in the file type configuration for showing
only matching file type names in a sorted list
- added support for libmagic (from "file") so file types can also be
recognized by the output of this library
- added optional alias for bookmarks
fixes:
- fixed text search in file viewer; after the last match was found the next
search did not started again at the beginning of the document
- fixed a minor memory leak in configuration parsing if the configuration
file contains errors
other changes:
- the command to calculate the directory sizes can now be aborted by
pressing Escape and the window is also redrawn during operation.
The directory name currently scanned is limited to fit into the
state bar and it will only be updated once per second.
- improved startup times
- faster window update for file type updates during recognition
* 2008-02-11: Version 2.16.2:
new features:
- added text search in file viewer
- search can be activated via hotkey '/', Ctrl+f, Ctrl+s or Ctrl+i
- search is case sensitive for mixed/upper case characters and
case insensitive if all characters are lower case
- regular expressions can also be used
- added configure settings for colors of text view selection
- added option (in general settings) to disable saving the worker state on
exit
- added popup menu when clicking on the statebar with right mouse button;
menu allows to access 'about', 'configure', 'quit', and to save the current
worker state (useful if disabled in configuration via the new option)
- added command to open the worker menu
fixes:
- fixed ftp command to store passwords (if enabled) of different servers
- fixed file length limit in file viewer to correctly handle files
larger than 2GB
other changes:
- file name in text view and search is shortened to fit into window
- added double buffering in file viewer to avoid flickering
* 2007-12-03: Version 2.16.1:
new features:
- improved chmod to allow adding or removing permissions instead of just only
setting them (for example useful for setting the write bit while leaving
all other permissions at original value)
- added type-ahead filter for the context menu for faster access (disabling
all entries not matching the filter)
(backspace will clear the filter again)
fixes:
- the internal file viewer no longer blocks forever when trying to view
non regular files like pipes. Worker now tries to read some bytes for only
a few seconds.
other changes:
- improved the speed of the internal file viewer, word wrapping is much faster
for large files. As a side effect the initial size with enabled word
wrapping is increased to 512 KB
- the maximal buffer size for the file viewer is limited to 1 GB and the
reload key doesn't work anymore if the file is already loaded completely
- correctly set keyboard focus for popup menus when using the mouse
- added time out for double short keys
- updated Italian catalog
(Thanks to Giulio Canevari)
* 2007-11-08: Version 2.16.0:
new features:
- added context menu for access to actions defined for the corresponding
entry
The menu is opened with the right mouse button which was previously used
for list view scrolling. This action is now activated by shift + right mouse
but it can be changed in the section about mouse button configuration
- added custom file type actions so it's possible to use more than 10 (user)
actions and also give them a reasonable name.
There is a corresponding command to activate a custom action by name and
it can also be selected in the new popup menu
- added modifier key option in the mouse button configuration so the four
mouse actions can be assigned to mouse buttons
- added command to activate context menu for keyboard use
(assigned to Ctrl+Space in default config)
fixes:
- fixed compilation with gcc 4.3
(Thanks to Tobias Toedter)
- for very long file names the text view window was to wide
- the dialog in text view was set transient for the wrong window
(Reported by Sascha Hunold)
- fixed missing redraw in automatic creation of file content test
other changes:
- viewing program in own command is hidden if it's not used
- the dialog for large files in text view can be canceled
- saving the configuration now only writes non-empty file type actions
- added Czech translation
(Thanks to erno)
* 2007-06-07: Version 2.15.0:
new features:
- added directory bookmarks
- it's possible to add directories and select whether a specific entry
will be highlighted when jumping to the bookmark
- the list of bookmarks can be filtered by entering some characters
(Shift-Backspace clears the filter)
- the list of bookmarks is written back to disc immediately whenever
a change occurs so any running Worker will see the new list when
opening the bookmark dialog
- the default key in the example configuration is meta-b (and ctrl-\)
fixes:
- fixed some problems in the internal text view with very long text lines
It could happen that the word wrapping doesn't work correctly or
a line gets overdrawn making it unreadable
As a side effect the text view is significantly faster if word wrapping
is disabled
- fixed a minor bug introduced in Worker 2.9.0
many commands just didn't had any effect if they were assigned to
drag'n'drop action
- fixed bug in the configuration of the interval text viewer which
prevented the setting of the the viewing mode
- fixed a small visual glitch when "+" was displayed in the list view bar
but no search filter was actually active
- fixed file choose dialog in configuration export, it wasn't possible to
enter a new name
other changes:
- the command "go to parent dir" now deactivates the search filter instead
of actually going to the parent directory
- since text viewing is much faster now the default buffer size is raised to
2 MB (with enabled word wrapping it's still 64 KB)
it is however now possible to increase the buffer on demand by clicking
on "Read more" (or pressing "r") in the text view.
The text viewer also asks to read the complete file if it's larger than
the default buffer size
- the horizontal scroller in the text view now only takes the visible lines
into account
- the scrollers in the text view no longer uses the background colour of the
text view making them more readable
- updated Italian catalog
(Thanks to Giulio Canevari)
* 2007-03-22: Version 2.14.4:
fixes:
- fixed bug introduced in Worker 2.14.3: It was possible that the directory
entry ".." was not visible but a phantom entry (from previous directory)
was visible at the end of the file list.
This can happen when hidden files are not visible and the file system
returns the ".." entry in an unusual order.
Worker outputs an error msg ("Nr of entries does not match real value!")
in this case.
(Thanks to Panayotis Papasotiriou for reporting this bug and helping
tracking it down)
* 2007-03-19: Version 2.14.3:
new features:
- when searching an entry in the list view (with Ctrl-s) the list will be
filtered on-the-fly to only show the matching entries. The filter is active
until the directory is reloaded or another search is started.
The list view bar indicates such a filter by using a "+" character (in
contrast to "*" when normal filters are active)
This feature can be deactivated in the configuration of the list view mode.
- ftp command: it's possible to use an anonymous login
fixes:
- search: jumping to files containing wildcards characters ([,*...)
didn't worked correctly
(Reported by Johannes Rosky)
- fixed a visual bug where it was possible that both sides highlight the
active entry
other changes:
- added Slovak translation
(Thanks to Stanislav Pavlica)
- initial language selection shows now a list of available languages
- search: the file name field is focused when opening the window
- search: when the search is finished the number of results is updated
correctly in the list of previous searches
* 2007-01-30: Version 2.14.2:
fixes:
- fixed a problem with corrupt directories
If the entry ".." occurs several time in a directory listing, some real
entries weren't shown in the list view
- search result "/" (just the root dir) was displayed as "//"
other changes:
- match name in search is now case insensitive by default
- pressing ctrl+return anywhere in the search window now immediately starts
the search
- text view highlights the line when jumping to a line or viewing a search
result
(Thanks to Sascha Hunold for a patch)
- search results now uses list view colors from main list view
- text view colors are configurable
- the GUI is more responsive when the search finds a large number of results
(Worker was busy fetching the results)
(Reported by Sascha Hunold)
- when saving the configuration, the old file will be renamed to wconfig.bck
* 2006-11-12: Version 2.14.1:
fixes:
- window titles are now correctly set to UTF8 strings if UTF8 is active
(Reported by Carsten Hackbusch)
other changes:
- added Dutch translation
(Thanks to Arnold A.Perne)
- improved directory reload; if the previously active entry is not available
anymore, the entry at the previous row will be activated
- search now also matches directory names
(Reported by Sascha Hunold)
- if a "ScriptOp" operation cannot continue because an external commands
outputs errors on stderr, the messages will be shown in the corresponding
dialog
* 2006-09-12: Version 2.14.0:
new features:
- added search command
- the internal text viewer is now able to show line numbers and jump to
a line (shortcut "l" switches viewing of line numbers)
fixes:
- fixed bug in "set filter" command, the option "exclude" was not correctly
written to config file
- the avfs LDFLAGS has not been set correctly so Worker couldn't be compiled
in some circumstances
(Reported by Piotr Wawrzyniak)
- fixed bug in Worker configuration in the section about the terminal
program. Switching to a different panel didn't work as supposed.
(Reported by Sascha Hunold)
other changes:
- pthread library is now required
- gcc <3 support is officially removed
- added Italian man page
(Thanks to Giulio Canevari)
* 2006-07-21: Version 2.13.1:
fixes:
- fixed problem in font handling. Worker refused to start if the "fixed" font
is not available. Some other fonts will be tried before giving up.
- fixed bug in file type recognition. The flag "don't check virtual files for
content" was ignored in some circumstances.
other changes:
- added French man page
(Thanks to Kamardine Mohamed)
- updated Italian catalog
(Thanks to Giulio Canevari)
* 2006-06-22: Version 2.13.0:
new features:
- added utf8 support (can be disabled by configure option)
fixes:
- fixed small bug in font configuration which prevented configuring font
for right list view
(Reported by Panayotis Papasotiriou)
- fixed thousands separator for utf8 locales
(Reported by Emmanuel Proust)
other changes:
- the copy window update for file progress is limited to 15 updates
per second
- added text area for font configuration to test selected font
- updated PatternRename script, default action is now preview/quit not rename
* 2006-05-03: Version 2.12.0:
new features:
- changed configuration so most options are directly configurable in the main
window
- added Space and Backspace keys in text-view for page scrolling
(Thanks to Giulio Canevari for the patch)
fixes:
- fixed message string in "Start prog" command to use correct catalog entry
* 2006-03-06: Version 2.11.2:
new features:
- internal view now also decompress gzip/bzip2 files before viewing them
(even inside archives)
- internal view doesn't show \r anymore (for DOS files)
- pressing escape in the delete window now also cancel it immediately
fixes:
- fixed window for "deselect filter" action
- the "$" character in directory names prevented dir entering
(Reported by Guilio Canevari)
- in some circumstances clicking cancel in the copy window was ignored
other changes:
- removed dependency to libz/libbz2 and libxpkmaster
all functionality is replaced by avfs usage
- removed support for loading of Worker1 config files
- added iso9660 and 7zip filetype to default config
(Thanks to Giulio Canevari)
- updated french catalog
(Thanks again to rno)
* 2005-12-15: Version 2.11.1:
new features:
- The "search entry" command can now optionally search backwards
- It is possible to jump to an entry in the list view by pressing the key
matching the first character of the entry
(This can be deactivated in the "normal mode" configuration)
- the mouse actions in the list view can be configured (in the global
configuration section)
It is possible to swap any mouse button and select an alternative selection
method which acts more like common desktop environments
- mouse pointer changes when moving the mouse over the drag area in the
list view headers
fixes:
- fixed segfault when the font name in the config file is invalid
(Reported by Zhang Weiwu)
- fixed segfault introduced in version 2.11.0 in the file requester, pressing
enter was crashing worker
- fixed small visual bug in the text area
other changes:
- added 7zip buttons to the default config and updated italian catalog
(Thanks to Giulio Canevari)
* 2005-10-25: Version 2.11.0:
new features:
- Worker can now use any font not just fixed width fonts
- it is now possible to change the width of the list view columns.
Drag the end of the header box for a fixed width or double click it for
dynamic width
fixes:
- fixed bug in internal view
When started indirectly (for example when starting show action which
contains the internal view command) worker did segfault.
- fixed small display bug in state bar (KB suffix was inserted at wrong
position sometimes)
- Worker did show negative remaining time in file copy sometimes
- Worker compiles again with IBM VisualAge compiler (xlC)
(Thanks to Igor for report and proposed fixes)
- Using information mode on ".." entry was forcing to many redraws
other changes:
- there is a new spanish translation thanks to Victor Alcazar
- updated example configurations
- updated license dialog
- removed nanosleep declaration which was necessary for older Mac OS X
releases but prevented compiling on later versions
* 2005-07-25: Version 2.10.2:
new features:
- improved "start prog" command
It's now possible to handle the file as a different filetype or choose an
avfs handler from a list of all possible avfs handlers.
- double clicking on files with empty double click action list will start
the improved "start prog" action
- the seperator character in file sizes is now inserted every 3 digits no
matter how large the number is (previously it was only inserted up to 3 times)
(based on a patch from Tobias Toedter)
fixes:
- fixed bug in file copy: The return value of the final close() of the
destination file wasn't checked which can lead to incomplete files in some
circumstances (it occures on nfs devices where a write() to a full device
is still successful but the final close() will fail)
If you use avfs you also have to update to atleast avfs 0.9.6 as a similar
bug was there too
other changes:
- the xliwrapper program for calling xli from the "image view mode" is now
a shell script
(Thanks to Tobias Toedter)
* 2005-06-23: Version 2.10.1:
new features:
- added internal text view command
Currently the first 64 KB of a file will be shown with selectable
word wrapping
other changes:
- improved color palette configuration
- small GUI improvements (click on choose button text will toggle it)
- updated italian catalog
(Thanks again to Giulio Canevari)
- updated cd2mp3/ogg/flac/wav script
(Thanks again to Giulio Canevari)
* 2005-04-06: Version 2.10.0:
new features:
- added virtual file system using AVFS (avf.sf.net)
Finally it is possible to access archives or files on remote computers.
There is some basic introduction in the docs but for more information about
the usage you should read the docs of AVFS
But the default configuration already contains all filetype definitions
needed to access archives. These definitions can also be downloaded from
the add-on page for import.
- virtual files can be excluded from file content test which is set by
default (in the "dirs not to check" configuration for filetypes)
- there is a new option for the "own command" and "start prog" operation
which prevents Worker from entering the current directory
- there is a new flag {t} for a temporary copy of the entry ({f}) to be able
to use external programs with virtual files
- there is a new operation "ftp connection" to access remote ftp sites
It is possible to store the password in the configuration but not encrypted!
- For the "Script" operation and for the extended test for filetypes there is
a new function isLocal which can be used to test if the entry is a local or
virtual file
fixes:
- compilation fix for upcoming gcc4 and a warning on 64bit system
(Thanks to Andreas Jochens for the patch)
- fixed update of free disk space information (update took too long and for
symlinks to other partitions it showed the wrong information)
- environment variables can now really be used for start directory and path
entry
(reported by Sascha Hunold)
- fixed visual glitches in the path input line. Worker also restores the
content if new path cannot be opened
other changes:
- temporary files will now be stored in an own directory worker-$USER in the
tmp dir ($TMPDIR is now also honored)
- Worker shows a dialog if entering a directory is not possible
- updated man page
- there is a new script "xeditor" which searches for existing editors. This
script is used by the default and the editor used can be overridden by the
env var WORKER_XEDITOR
* 2004-12-20: Version 2.9.0:
new features:
- added filetype hierarchie
each filetype can contain subtypes
subtypes will be checked if the filetype tests of the parent type matches
the current file or the parent type does not use any tests
the action of the parent type is used if the action list of the type is
empty or the "parent action" command is used
The "no operation" command can be used to not execute the commands of the
parent type
- there is now a filetype color configuration
it's possible to select custom colors, use the colors of the parent type
or even use the output of an external program to select the colors
- it's now possible to cut and paste filetypes in the configuration
fixes:
- fixed bug where under certain circumstances Worker accessed freed pointers
when executing actions
This bug could appear if actions are used after using "enter dir" or
"reload" command
- a file will only be shown as executable if the user really has the
permission to execute it
- fixed compilation when pthreads is not used
- extented filetype test honours the "dirs no to check"
- fixed problem when sometimes filetype gets checked twice
other changes:
- improved check for identical source and destination file for file copy
- the own command is now always the first entry in the command selection
window
- in the filecontent configuration for filetypes, the automatic creation
now accepts any number of files
- doubleclick on directories now honours the doubleclick action of the
directory type (enter directory is the fallback action if the
doubleclick action list is empty)
(reported by Raik Lieske)
- cursor keys can be used in requesters to change the focus element and
the enter key can now also be used for any button and not just the first
(reported by Loki and others)
- copying of a corrupt symlink (link destination does not exists) in "follow
symlinks" mode now copy the symlink itself instead of showing a error-
requester
- The email address "ralf.hoffmann@epost.de" will expire soon, new address
is "ralf@boomerangsworld.de"
* 2004-07-28: Version 2.8.5:
new features:
- added more flexible filetype description using conditional expressions
it's similar to the if-expression in the script command
possible functions are:
- toNum(...): change string to number
toStr(...): change number to string
isReg(): test for regular file
isSock(): test for socket
isFIFO(): test for FIFO (pipe)
isSymlink(): test for symlink
size(): size of file
perm(mask): numerical permission
toLower()/toUpper(): change string to lower/upper
contentStr(x,y): y Bytes from file content starting at position x
contentNum(x,y): like contentStr but interpreted as a number
name()/fullname(): file name/full file name
- the flags {f} and {F} can be also used for the filename inside strings
this allows for the use of any external program to determine the
filetype (e.g. using the file command)
- there are the usual operators as "<", ">=" and so on and it is possible
to use regular expressions using ~=
- there is also an more or less extensive help
- some examples:
- Test for shell scripts:
( contentStr( 0, 2 ) == "#!" ) && ( contentStr( 2, 10 ) ~= "/bin/[a-zA-Z]*sh.*" )
- Test for OctaMED music files:
( toUpper( contentStr( 0, 3 ) ) == "MED" ) || ( toUpper( contentStr( 0, 4 ) ) ~= "MMD[0-9]" )
- Use "file" for type recognition:
( ${file -b {F}} ~= "ASCII C program text" )
- there is an extensive help for the pattern configuration
fixes:
- fixed copy of non-regular files if "follow symlinks" is used
copying symlinks pointing to non-regular files (devices, pipes, ...) did not
create these special files but only regular files
- fixed text for move operation in the progress window, now it prints "Move"
instead of "Copy"
- compile fix for gcc 3.4
(reported by Goetz Waschk)
- compile fix for QNX
(reported by Toni Ruza)
other changes:
- updated italian catalog
(Thanks again to Giulio Canevari)
* 2004-03-17: Version 2.8.4:
new features:
- the layout of the main window is configurable (in global settings)
Select the button and listview orientation and the positions of the elements
- filetypes: added flag to match the full name (including the path) for
pattern matching
- copy/delete/rename/symlink: highlights entry currently processed
- configuration: the button banks can be swapped
(suggested by Harlock and Jan Windischmann)
fixes:
- fixed possible lockup when using threads
(reported by Harlock and others)
other changes:
- GUI improvements
- copy: updates "bytes to copy" when skipping files
- copy: Worker updates the copy window before an error requester
- filetypes: empty file content descriptions are now ignored
(reported by Ulf Hartwig)
- filetypes: fixed file content configuration to not select several entries
at once
- added some example scripts and corresponding buttons to convert
cd tracks to several formats
(Giulio Canevari)
* 2003-12-18: Version 2.8.3:
fixes:
- fixed a little bug which partialy prevents the configuration of
the filetypes
other changes:
- window creation will wait till window mapping
* 2003-11-26: Version 2.8.2:
new features:
- the listview header colors are now configurable
(reported by Piotr Rzepka)
- search entry now allows case insensitive search (activate it in the command
configuration)
fixes:
- fixed possible endless loop in directory read
(reported by Florian Zwoch)
- fixed information mode to keep currently visible information when other side
is deactivated and no longer try to update information for a corrupt symlink
(reported by Giulio Canevari)
- improved configure checks for statvfs/statfs for improved compatibility
Worker can now be compiled on OpenBSD
(Thanks to Ingolf Schuchardt for support and access to an OpenBSD box)
- some other code changes to allow compilation on Solaris2.7
(Thanks to Jean-Francois Magni for testing)
- the status bar is now correctly updated even when the listview doesn't
list any directory
other changes:
- gui code cleanup
- left align listview header text when it doesn't fit into the header
(reported by Giulio Canevari)
- print installation directory at the end of the configure script
- Worker will now also compile on AIX with the gcc compiler
* 2003-08-17: Version 2.8.1:
new features:
- external programs which run in the foreground (i.e., Worker waits for
completion) can now be detached with Escape or the middle mouse button
- added some new columns: Inode number, number of hard links, number of
blocks
the information mode will also show this values
- for devices the size of the entry is now the major/minor number
- added headerline for the listview
you will see the field name and you can click on it to change the sortmode
- there is an additional symbol in the listview bar (above the listview)
which is visible when Worker is still recognizing filetypes
fixes:
- fixed buffer overflow in informationmode
(reported by Cyriac Benoit)
other changes:
- chmod/chown: chmod will no longer read all affected directories at the
beginning but change permissions on the fly. This way you are able to
change the permissions for directories you are currently not able to read.
the same goes for chown although you won't notice any different because
chown is only allowed for root (on most systems) and root can always read
the dirs
- used thousand separator from current locale
(Thanks for the patch to Tobias Toedter)
- added some more tests for large files in the configure-script. This should
fix compile problems with RedHat 7
- modified default configs so TGZ/TBZ2 actions should work on any system no
matter if tar doesn't understands the special options
updated addons are also available
- Worker will compile on AIX (only with xlc compiler)
- updated italian catalog
(Thanks to Giulio Canevari)
* 2003-06-08: Version 2.8.0:
new features:
- the configuration file format is now text based
Worker will continue to load old binary files and old binary export files.
You can now also import whole configurations
Although you can now edit the config don't expect any documentation about
the keywords and file structure and whatever
- added new flag for "own command": {scripts} which will be replaced by the
path to the scripts dir inside worker's share directory
This can be used for easy access to additional scripts
- there is a new bash script "pattern rename"
For a given match pattern you can replace/add text at the beginning/mid/end
of all matched filenames
There is a button in the default config and you can also download this button
from my homepage (->AddOns)
(Thanks to aaron who wrote this script and the button)
other changes:
- worker will compile with Sun C++ compiler
- renaming (in rename and copy) to empty name is now catched
- when starting DoubleClick/Show/RawShow/User-action the selected entries
will no longer be deselected at the beginning but only depending on the
used flags in the actions
- cancelling copy will open requester for confirmation
- in the "disc is full"-requester the affected file will be shown
- added italian catalog
(Thanks to Amedeo Brunetti and Giulio Canevari)
- updated russian catalog
(Thanks again to Ilya V. Yalovoy)
- fixed RAR buttons/filetype in the default configs
- fixed button titles in import window
* 2003-04-27: Version 2.7.1:
new features:
- added support for large files (>= 2GB)
- improved error requesters for un-stat-able directory entries
you can abort the directory reading and directories containing such
directories with these entries remain selected when copying/deleting them
- support env variables in path buttons
(suggested by Thomas Helbig)
- worker compiles with Cygwin
(Thanks to Stephan Henningsen)
- chmod: the keypad can be used to select permissions also with NumLock=off
- create symlink: function can now create absolute and relative symlinks
option "local symlink" renamed to "relative symlink"
example: link /usr/bin/gs to /usr/local/bin/gs will be "../../bin/gs"
- show image mode:
- Worker can use ImageMagick's display for embedded display
(select it from the "show image mode"-configuration
[Right click at list view bar->show image mode->set to default viewer])
ImageMagick knows more file formats but is also slower
- moved wrappers for xli/display to share/worker/scripts
- configuration: ask when canceling a changed configuration
security fixes:
- copy: destination directories were created with 755 permissions and got
correct permissions only at the end of directory copy
now the destination directories will be created with 700 permissions
(and of course get correct permission at the end)
fixes:
- fixed if-parser in the script command
it was possible to use "=" instead of "==" which led to wrong results
- copy: fixed restoring of old owner and permission
copy will restore SUID/SGID bit only when root or owner of file
(reported by Simonics Zsolt)
- fixed resizing of some windows, some windowmanagers (like kwm) doesn't
accept my way
- fixed some problems with the script-command examples, the extension wasn't
recognized correctly
You can download the new example from my homepage, but they are of course
included in the default configs
(reported by aaron)
- Worker will no longer try to enter a directory which is not executable for
the user
- fixed segfault when resizing some windows in the configuration
other changes:
- russian catalog (Thanks to Ilya V. Yalovoy)
- worker searchs for the datadir (for catalogs, default configs...) now in
the following places:
1.compiled PREFIX/share/worker
2.<exe-location>/../share/worker
3./usr/share/worker
4./usr/local/share/worker
5.$HOME/share/worker
This way moving around an already compiled version is much easier
* 2002-10-26: Version 2.7.0:
- fixed a major security problem with filenames with special characters
Since commands will be executed in a shell-script, characters in filenames
with special meaning for the shell will disturb the correct execution.
For example: Viewing a file "something`rm some_other_file`" would remove
the "some_other_file"!!!!!
All executed commands will be now protected in single quotes.
As a side effect most of the shell features are no longer possible. The
following list contains all allowed strings which have to appear as a single
word:
| - pipe
; - command separation
& - execute in background
|| - or
&& - and
>, <, >&2,
1>, 1>&2, 2>,
2>&1, >>,
1>>, 2>> - redirections
Because of the changes "With quotes" in the "own command" is removed because
filenames are now always quoted. For example "xv {f}" will work for any
filename.
all flag-replacements in "own command" are always protected with quotes
but you can disable this with "-" before the flag
e.g.: make -f {f} {-Rs{Make target:}{}}
But there is normally no need to change the commands because most will
work just as before and e.g.
xv "{f}"
is still okay.
Some of my examples for the "script" command need changes so I update the
example configs and the AddOns on the homepage
- this "special character" problem also affects the copy of special files
(symlinks, pipes,...)
worker copies these special files now with intern functions
No extern command for these files anymore so removed the options in "copy"
command configuration
An update is highly recommended!!
- copy: When a read error appears while copying a file this error was not
noticed (no requester and this file was marked as correctly copied), fixed
Also improved error requesters for other errors
- copy: when resizing the copy-window, the filenames are redrawn (in the case
they were too long)
- copy: When canceling "move", you will be asked whether to delete the already
correctly copied files from the source
- because env-variables are no longer available with shell-features
(e.g. $HOME) there is now a new flag for "own command" (and "script command")
{vEnvName}, e.g. you get your home dir with {vHOME}
- the default- and infotext for the Rs-Flag is now no longer length-limited
- start prog: the string has the same limitations as "own command" so
the default value (the active entry) is now already protected
- added toNum and toStr to the if-parser in the "script" command
- the informationmode now shows also the file permission as octal number
- the permission string in the ListView now has 10 chars like ls or mc
before the filename there is now also a special character for special files
(pipes, devices...)
- filterselect: window is now resizeable
- new command: show directory cache
it will open a window with all parent directory names for the current dir
and all names from the directory cache. You can choose a dir or enter a
new name
doubleclick in the listview-bar (above the ListView) will also open this
window
- show image mode: the program string is now only the program name, no %s...
anymore
- fixed loading of Worker1 configs (shortkeys were lost)
also fixed builtin config (when no config file is available)
- updated for autoconf 2.54/automake 1.7
- added parent dir buttons (..) to the path line for each side
(suggested by Amedeo Brunetti)
- added support non-latin character input like cyrillic chars and also
support dead keys
(Thanks to Ilya V. Yalovoy for hints and testing)
- improved support for corrupt directories (without .. entry)
* 2002-08-26: Version 2.6.1:
- fixed compile-bug for gcc >= 3.1
(Thanks to Goetz Waschk for the patch)
- the filetypes in the configuration are sorted now
(suggested by Martin Kaehmer)
- the mousewheel can be used to switch buttonbank when using it at the
clockbar
- improved diskspace updating, also fixed overflow for percent calculation
in information mode
- added 48x48, 32x32 and 16x16 icons
* 2002-08-18: Version 2.6.0:
- return in requesters is now only allowed when okay button holds focus
use space for any other button
- fixed filetype-recognition order. Now it really first checks the content
for all types and in a second run the pattern
- filetype-recognition: scans the visible entries first
- filetype-recognition: added "ignore case" flag and support for regular
expressions
- filetype-recognition: added support for bzip2 and xpkmaster
Worker supports now:
- gzip
- bzip2
- xpkmaster (currently the most important is sqsh)
- configuration: when creating a filetype using "automatic creation", Worker
will now also uncompress the files just like the recognition will do so you
can select 3 files of the type no matter how they are compressed
- configuration: copying a button/hotkey/path don't duplicate the shortkeys
- configuration: when adding commands, the last used command is highlighted
- configuration: when adding commands, the configuration is called if available
doubleclicking a command from the list will now also open the configuration
- fixed bug in infomode when displaying a symlink with no destination
- own command: you can now select the program with a filerequester
- new command "Script"
It's now possible to create programs for the buttons/hotkeys/filetypes
You can store data on stacks (as many as you want) and jump at condition to
labels.
Here's a list of what's possible with this new command:
- push
push a string (which can contains flags) or the output of this string
on a stack of your choice
- label
just a label for if/goto
- if
test the condition and jump to label when true ( != 0 )
you can use parentheses, && and || if needed.
<, <=, ==, >=, >, != works as usual.
"" marks a string which can contains the usual flags
${} will be replaced with the output the command in braces
?{} same with the returncode of the command
true is always true
false is always false
isEmpty(nr) is true when stack <nr> is empty
size(nr) is the size of stack <nr>
filelistEmpty(0 or 1) is true when filelist is empty (no more {f})
0 means the current panel, 1 the other
- end
immediatly stops the command-list execution
- settings
set "recursive" when you want collect the files recursive
set "with quotes" when you want filenames in quotes
set "also use dirs for flag-replacing" when you also want to use the
directories themselve (when collecting recursive)
- goto
jump to given label
For the own command (and also push/if) there are some new flags:
- {top stack-number}
gets the top element of the given stack
- {pop stack-number}
gets and remove the top element of the given stack
- {size stack-number}
gets the size of the stack
You can run if and push in debug-mode so it's easier to check what's going on
Finally you can also use a window to display some information to the user
- there is a progressbar and a multi-line textarea
both are controlled by strings which can contain the usual flags and also
the output of the string can be used
For a newline in the textarea use a '|' in the string.
The progressbar-string will be converted to a number and has to be between
0 and 100
If you run into an endless loop you can send a USR1-signal to stop execution
The execution will be stopped whenever you use the output/returncode of a
command and this command writes something to stderr
All in all I think this is a feature for the advanced user but it's not so
difficult as it sounds. I added some buttons to the default config with some
examples which can you also download from the new section "AddOns" from my
homepage:
The easiest example: Ask the bitrate and convert all selected files to mp3
Other example: number all selected files through
- show output didn't work for startprog, fixed
- listview-scrollers have now a minimum width/height
- go to dir: specialdir supports the usual flags from "own command"
- copy: for the current file the rate over the last second is now displayed
instead of the average rate (as shown before) which is now displayed in the
next line
- copy: show complete path when requesting new name because there is already
an existing entry
- copy: when requesting destination the default is now the directory from
the other panel (suggested by Ernest Beinrohr)
- the copy-window shows the progress in the title
(suggested by Ernest Beinrohr)
- when copy of non-regular file failed (with cp), the error-requester shows
now also the error output of this command.
There is now also a "Cancel" button
- DND: Worker now deselect the dropped entry
(reported by Gary Watson)
- the compression-handler is displayed in the informationmode
- rename: cancel now really aborts in any case
- rename: the name in the StringGadget is now highlighted
- rename: show active entry after rename
- rename: redraw whole listview for each entry (just looks better because
the columns are correct)
- changed behaviour of Show/RawShow/User/DoubleClick/DND-Actions so they will
only run for involved entries
this means for example when doubleclicking a picture and you have the
ShowAction in the DoubleClick-Action command list, the ShowAction will only
run for the doubleclicked entry and not for all selected like before
- the width/height of mainwindow is now stored for each screen independent
- added GPL to the about requester
- for flag-replacing in own command and the new script command:
When collecting files recursive, you got an empty string for the directory
names. Now you will only get the filenames by default, but there is a new
switch "Also use dirs for flag-replacing" so you can also use the directory
names
- Worker checks for updated config file once per minute and ask you for reload
* 2002-05-26: Version 2.5.0:
- added native chown
- added focus handling for the gui
use tab/shift-tab to switch to next/prev element
use space to activate an element
return is handled like clicking at okay (only when focus is not on any
button of the bottom line (except okay of course))
- you can now use as many shortkeys as you want for one button/hotkey/path
- double shortkeys are also possible now (like Ctrl-x c)
- filterselect, filterunselect and setfilter now have a history for used
patterns
- for chmod/chown "Request these flags" is now on as default
- when running worker as root, the statebar turns red and the window title is
"rootWorker"
- faster startup (especially for big window)
- worker now stores the position of the listview correctly when switching to
other displaymode (informationmode, show image mode)
- improved speed for filetype recognition (especially for big directories)
- when deleting/moving files in some cases the progress-window wasn't updated
correctly
- fixed drawing/refresh problems for delete
- fixed crash when mainwindow is too small (reported by Josef Oswald)
- fixed bug in statebar calculation
* 2002-04-06: Version 2.4.0:
- filetype-recognition is now done by threads
this result in faster recognition at fast devices and no more waiting
for slow devices (like floppydiscs)
Thread-support can be disabled
- partition-size-reading is now also done by a thread
- own command got a new option "Run in background"
Background commands will be disconnected from the Worker-process and won't
be killed when worker quits
- date/time format is now configurable (in "Global configuration") and there
is also name-substitution for today, yesterday,...
- added sortmodes for type and owner
- configuration import/export added (buttons/filetypes/hotkeys)
- changed behaviour and requester when disc is full while copying
You can now choose to keep the incomplete file or delete it but in any
case the sourcefile isn't deleted (which was done when "Okay" was chosen
in the requester)
reported by Rick Younie
- reload got a new option "Keep filetypes"
- dirsize will rebuild listview for each calculated element
reported by Dirk Weber
- show/rawshow/user/...-actions are now also applicable to the active entry
- Buttons are now only clickable if they have assigned commands
- the filetype-, hotkey- and flag-request-window (for own command) are now
resizeable
- no quit-requester when closing main-window
- chmod-requester improved
- polish catalog (Thanks to Pawel Kaczor)
* 2002-01-09: Version 2.3.1:
- improved top statebar (Thanks to Martin Khmer)
- when changing sortmode, active entry is centered
- new command "activate shortkey from list"
You can choose shortkey from a list and activate it
useful for forgotten shortkeys or as an overview of all defined shortkeys
- fixed calculation of "bytes to copy"
- copy/delete-windows are now resizeable
also filename/dirname will be shorten to fit in the window
- compiles (and runs :-) ) on Mac OS X (Darwin)
(Thanks to Malcolm Cleland)
* 2001-11-05: Version 2.3.0:
- some changes for gcc 3.0 but I have no chance to test it, reports are
welcome
- new option for delete-function to remove the active entry when no other are
selected
- new option for reload-function to reset the previous calculated dir sizes
- added option to show "<DIR>" instead of the size for directories (of course
only if the dirsize is unknown)
you will find this option in the "global configuration"-section
- when entering a shortkey in the configuration you can now remove an other
reference to this key
- the command-list in the configuration is now sorted ignoring case
- some GUI improvements
- nicer (atleast I think so) turned-down corner in buttons with two functions
- buttons with no assigned function cannot be clicked
- now left- or rightclick at the clockbar will show the next buttonbank
- middleclick in the listview will just activate the entry without changing
the selection state
- fixed problem with dynamic coloumnwidth when filters are active and
excluding some files
- fixed problem when changing filters or showHidden-mode, which could stopped
the filerecognition
- dirs containing files which can't be stat-ed will now also be displayed
(without these files but there will be a requester for each file)
- finally: added a fontrequester so it's easy to select a different font
* 2001-07-08: Version 2.2.2:
- configurable listview-background
- wait-cursor while reading dir and executing external progs
- improved cut&paste (works with more apps)
- improved mainwindow-title (path of the active listview is shown)
- some catalog-changes and updated french catalog
- fixed filename-search when hiding hidden files
- improved dir-cache-replacement-strategy
not recently used are droped when cache is full
- filters are now not applied for dirs
- added "unset all filters" in filterconfiguration
- icon will be installed in $prefix/share/pixmaps
* 2001-05-08: Version 2.2.1:
- bug fix in delete window
- minor bug fix for reloading a dir, sometimes the active entry was deactivated
- new option for the copy-operation: preserve attributes
when set, the permissions/owner/modificationtime/accesstime will be restored
(as far as possible)
default is on
- a corrupt symlink will now be treated as file
- the colors for the active entry can now be changed
- improved search-operation:
- a recall will search the next entry with the same prefix
- stars (*) are also supported now so it's possibly to search for file
containing the pattern inside the filename
a trailing star is always implied
* 2001-03-20: Version 2.2.0:
- sortmode change with the action will update the lvb
- fixed problem with giving a startdir relative to the current dir
(Martin Kaehmer)
- worker_inst exists no longer, Worker will do it instead
- it's now configurable what to show in the clockbar
the configuration can be reached by a new subsection in the config-win
it can show the time/ram, only the time, the worker version (for no system
load) and the output of any external program
- the correct background color is taken for the "show image mode"
(rno)
- in the button/path-configurations the actionmodes (copy/swap/delete)
can stay active until other choose when selecting "extended" in the same
window in the new cyclebutton
this is useful for copying/swapping/deleting more than one button/path
- dirs can now ignored for filetype-checking (exactly: in this dirs only
the pattern is used (if used))
the new configuration can be found in the filetype-settings
this is useful for slow devices like a floppydisc
- updated french catalog
* 2001-03-01: Version 2.1.0:
- fixed bug in deleteop/copyop (buffer overflow)
(Martin Kaehmer)
- fixed bug when copy in readonly
- added setsortmode op
(Martin Kaehmer)
- added setfilter
(Martin Kaehmer)
- the used terminal is now configurable
- Worker can redraw the window when waiting for a extern command
- cycle through cyclebuttons with right mouse button backwards
(Martin Kaehmer)
- the function "reload" can now also be used for DND-actions
- after rename, the active entry is shown
(Martin Kaehmer)
- the sortmode is shown in the bar above the lister
N = namesort
S = sizesort
M = modificationtime-sort
A = accesstime-sort
C = changetime-sort
R = reverse
(Martin Kaehmer)
- the ".."-entry is now always active for loaded dirs which are not in the cache
(Martin Kaehmer)
- new flag for the "own command": {dp} for the destination path of a DND-action
- the requester for existing file in copy/move now shows
the size and modificationtime of both files
* 2001-02-05: Version 2.0.2:
- fixed bug when displaying name in first column, the line is empty
(Thanks to Donald J. Maddox, Alan K. Jackson)
- right justify size
(Thanks to Martin Kaehmer)
- fixed bug in text-entries
(Thanks to Martin Kaehmer)
- fixed bug in externop in flag parsing
(Thanks to Rick Younie, Harlock)
- support for filesizes/dirsizes >4GByte (if your system supports 64 bit type)
(Thanks to Martin Kaehmer,Harlock)
- no longer displays readable but not executable dirs (r--)
side effect: dirsize will not show weird values
- for own commands and string requests, Cancel will really cancel
the operation
(Thanks to Rick Younie)
- in the configuration, the "Choose Command"-requester is now sorted and
also resizeable
(Thanks to Rick Younie)
- the partitionsize/freespace of the actual dir can be shown in the
listviewbar
(Thanks to Rick Younie,Martin Kaehmer)
- the display of owner/group is switchable ("user @ group" or "user.group")
(Thanks to Rick Younie)
- the ".."-entry is no longer selectable nor it will be counted
(Thanks to Martin Kaehmer)
- rewrote xliwrapper_worker and worker.inst (now worker_inst) in C
- fixed foreground of empty buttons in the example-configurations
(Thanks to Rick Younie)
- finally DND is usable
To activate: Select the entry and hold the left mousebutton, then click
the right.
Now move to destination and release the left button.
You can cancel DND with Escape or a rightclick when dragging!
If there is no DND-action defined for the type of the
dragged entry, the DND-action from the "NoSelect"-type
is used!
Limitations:
You can only drag one entry
This works only inside Worker
* 2001-01-10: Version 2.0.1:
- fixed error in color handling >8 colors
- fixed error in CopyOp with FastMode
- don't refuse to copy in symlinked dir
- fixed problem with catalog-loading
- correct catalog templates
- french catalog and example-config (Thanks to rno <noospot42@f2s.com> for this)
- added Keypad-usage in StringGadget (you can now also enter the numbers with
it)
* 2001-01-06: Version 2.0.0:
- rewritten in C++
- shown informations of entries can be freely configured
- added show image mode for display of the active entry in the other side
- added directory-buffer
- show/hide hiddenfiles
- can use more than one action for buttons/filetypes/hotkeys
- takes two args and display the dirs
- better GUI, f.i. the textinput doesn't block anymore and understands the
shell-shortcuts (ctrl-a,...)
- better searchmode, also doesn't block and begins at active entry
- more call-possibilities for filetypes (f.i. doubleclick, show)
- filterselect now on files OR dirs
- doesn't accept duplicate shortcuts
- correct display of NTFS directories (Thanks to Pawel Kaczor)
- some fixes in configuration (Thanks to Fireball)
- compiles and runs on FreeBSD 2.2.2 (Thanks to Fireball)
- mouse wheel support
- man page
- many other small things I forgot
* 2000-01-22: Version 1.3.3:
- bug fixes (Thanks to Thomas Bader)
- compile error
- now Dock-able (for WindowMaker and perhaps other)
* 1999-09-17: Version 1.3.2:
- bug fixes (Thanks to Piergiorgio Ghezzo)
- compile error
- configuration segmentation fault
* 1999-09-07: Version 1.3.1:
- compiling and installing using "configure"-Script
- english documentation
* 1999-05-16: Version 1.3.0:
- dynamic width of size, name and type to remove useless spaces between
sections
- if worker cannot repaint the window, X will use the color 0 as background
- the copy-function has two new flags:
- copy to same directory: for duplicate
- request destination
- the configuration-program now shows correctly the shift-flag
- now there are some arguments, mainly for request the version:
-V, --version, -help, --help
- new functions:
- chmod
- toggle infomode
- search entry
- path to other lister
- enter new path
- the user-commando has an improvement:
- the option {Rs} now can get an infostring and a defaultstring
usage: {Rs<infostring><defaultstring>}
NOTE: the chars "<" and ">" are importent
* 1999-04-29: Version 1.2.0:
- great Speedimprovement in the CopyFile-Operation (especially on ZIP's ...)
- removed Bug in the Move-operation: AFTER finish of move it's possibly that
worker crashes
- now worker can be compiled with egcs without any warning
- complete showing of file-permissions
- file-size will be printed with points after 3 and 6 digits for better
reading
- there is no longer an extra program for configuration, so you can
configurate worker while running
* 1999-03-30: Version 1.1.0:
- Worker and WConfig are font-sensitive
- some improvements for successful compiling with egcs
- better handling of file-selecting
- Worker and WConfig supports infinite banks for buttons
- Copy/Move ask for destination, if the other side doesn't support the action
- improved performance of the DirSize-function
- now using active entry if no other is selected (except the delete-function)
- the move-operation now delete the files (if needed) on the end of the
Operation
* 1999-03-06: Version 1.0.0:
- first public release
#+TITLE: ChangeLog
#+OPTIONS: H:1 num:nil toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
#+OPTIONS: ^:nil
|