A simple, fast and user-friendly alternative to find.
Packaged by Milan Pässler in PR pkg/55689
I changed:
- Fixed pkgtools/pkglint, pkglint -Wall -Call warnings
- Made the do-install clause to use a path and not a find invocation.
It's a single file, it feels appropriate to be verbose about what is happening.
Install the new interchangeable BLAS system created by Thomas Orgis,
currently supporting Netlib BLAS/LAPACK, OpenBLAS, cblas, lapacke, and
Apple's Accelerate.framework. This system allows the user to select any
BLAS implementation without modifying packages or using package options, by
setting PKGSRC_BLAS_TYPES in mk.conf. See mk/blas.buildlink3.mk for details.
This commit should not alter behavior of existing packages as the system
defaults to Netlib BLAS/LAPACK, which until now has been the only supported
implementation.
Details:
Add new mk/blas.buildlink3.mk for inclusion in dependent packages
Install compatible Netlib math/blas and math/lapack packages
Update math/blas and math/lapack MAINTAINER approved by adam@
OpenBLAS, cblas, and lapacke will follow in separate commits
Update direct dependents to use mk/blas.buildlink3.mk
Perform recursive revbump
Changes:
## 1.53.1
* Bug Fixes
* accounting: Remove new line from end of --stats-one-line display
(Nick Craig-Wood)
* check
* Add back missing --download flag (Nick Craig-Wood)
* Fix docs (Nick Craig-Wood)
* docs
* Note --log-file does append (Nick Craig-Wood)
* Add full stops for consistency in rclone --help (edwardxml)
* Add Tencent COS to s3 provider list (wjielai)
* Updated mount command to reflect that it requires Go 1.13 or newer
(Evan Harris)
* jottacloud: Mention that uploads from local disk will not need to
cache files to disk for md5 calculation (albertony)
* Fix formatting of rc docs page (Nick Craig-Wood)
* build
* Include vendor tar ball in release and fix startdev (Nick Craig-Wood)
* Fix "Illegal instruction" error for ARMv6 builds (Nick Craig-Wood)
* Fix architecture name in ARMv7 build (Nick Craig-Wood)
* VFS
* Fix spurious error "vfs cache: failed to _ensure cache EOF"
(Nick Craig-Wood)
* Log an ERROR if we fail to set the file to be sparse (Nick Craig-Wood)
* Local
* Log an ERROR if we fail to set the file to be sparse (Nick Craig-Wood)
* Drive
* Re-adds special oauth help text (Tim Gallant)
* Opendrive
* Do not retry 400 errors (Evan Harris)
## 1.53.0
* New Features
* The VFS layer was heavily reworked for this release - see below for
more details
* Interactive mode -i/--interactive for destructive operations (fishbullet)
* Add --bwlimit-file flag to limit speeds of individual file transfers
(Nick Craig-Wood)
* Transfers are sorted by start time in the stats and progress output
(Max Sum)
* Make sure backends expand `~` and environment vars in file names they
use (Nick Craig-Wood)
* Add --refresh-times flag to set modtimes on hashless backends
(Nick Craig-Wood)
* build
* Remove vendor directory in favour of Go modules (Nick Craig-Wood)
* Build with go1.15.x by default (Nick Craig-Wood)
* Drop macOS 386 build as it is no longer supported by go1.15
(Nick Craig-Wood)
* Add ARMv7 to the supported builds (Nick Craig-Wood)
* Enable `rclone cmount` on macOS (Nick Craig-Wood)
* Make rclone build with gccgo (Nick Craig-Wood)
* Make rclone build with wasm (Nick Craig-Wood)
* Change beta numbering to be semver compatible (Nick Craig-Wood)
* Add file properties and icon to Windows executable (albertony)
* Add experimental interface for integrating rclone into browsers
(Nick Craig-Wood)
* lib: Add file name compression (Klaus Post)
* rc
* Allow installation and use of plugins and test plugins with
rclone-webui (Chaitanya Bankanhal)
* Add reverse proxy pluginsHandler for serving plugins
(Chaitanya Bankanhal)
* Add `mount/listmounts` option for listing current mounts
(Chaitanya Bankanhal)
* Add `operations/uploadfile` to upload a file through rc using
encoding multipart/form-data (Chaitanya Bankanhal)
* Add `core/copmmand` to execute rclone terminal commands.
(Chaitanya Bankanhal)
* `rclone check`
* Add reporting of filenames for same/missing/changed (Nick Craig-Wood)
* Make check command obey `--dry-run`/`-i`/`--interactive`
(Nick Craig-Wood)
* Make check do `--checkers` files concurrently (Nick Craig-Wood)
* Retry downloads if they fail when using the `--download` flag
(Nick Craig-Wood)
* Make it show stats by default (Nick Craig-Wood)
* `rclone obscure`: Allow obscure command to accept password on STDIN
(David Ibarra)
* `rclone config`
* Set RCLONE_CONFIG_DIR for use in config files and subprocesses
(Nick Craig-Wood)
* Reject remote names starting with a dash. (jtagcat)
* `rclone cryptcheck`: Add reporting of filenames for same/missing/changed
(Nick Craig-Wood)
* `rclone dedupe`: Make it obey the `--size-only` flag for duplicate detection
(Nick Craig-Wood)
* `rclone link`: Add `--expire` and `--unlink` flags (Roman Kredentser)
* `rclone mkdir`: Warn when using mkdir on remotes which can't have empty directories
(Nick Craig-Wood)
* `rclone rc`: Allow JSON parameters to simplify command line usage
(Nick Craig-Wood)
* `rclone serve ftp`
* Don't compile on < go1.13 after dependency update (Nick Craig-Wood)
* Add error message if auth proxy fails (Nick Craig-Wood)
* Use refactored goftp.io/server library for binary shrink
(Nick Craig-Wood)
* `rclone serve restic`: Expose interfaces so that rclone can be used as a
library from within restic (Jack)
* `rclone sync`: Add `--track-renames-strategy leaf` (Nick Craig-Wood)
* `rclone touch`: Add ability to set nanosecond resolution times
(Nick Craig-Wood)
* `rclone tree`: Remove `-i` shorthand for `--noindent` as it conflicts
with `-i`/`--interactive` (Nick Craig-Wood)
* Bug Fixes
* accounting
* Fix documentation for `speed`/`speedAvg` (Nick Craig-Wood)
* Fix elapsed time not show actual time since beginning
(Chaitanya Bankanhal)
* Fix deadlock in stats printing (Nick Craig-Wood)
* build
* Fix file handle leak in GitHub release tool (Garrett Squire)
* `rclone check`: Fix successful retries with `--download` counting
errors (Nick Craig-Wood)
* `rclone dedupe`: Fix logging to be easier to understand (Nick Craig-Wood)
* Mount
* Warn macOS users that mount implementation is changing (Nick Craig-Wood)
* to test the new implementation use `rclone cmount` instead of
`rclone mount`
* this is because the library rclone uses has dropped macOS support
* rc interface
* Add call for unmount all (Chaitanya Bankanhal)
* Make `mount/mount` remote control take vfsOpt option
(Nick Craig-Wood)
* Add mountOpt to `mount/mount` (Nick Craig-Wood)
* Add VFS and Mount options to `mount/listmounts` (Nick Craig-Wood)
* Catch panics in cgofuse initialization and turn into error messages
(Nick Craig-Wood)
* Always supply stat information in Readdir (Nick Craig-Wood)
* Add support for reading unknown length files using direct IO (Windows)
(Nick Craig-Wood)
* Fix On Windows don't add `-o uid/gid=-1` if user supplies `-o uid/gid`.
(Nick Craig-Wood)
* Fix macOS losing directory contents in cmount (Nick Craig-Wood)
* Fix volume name broken in recent refactor (Nick Craig-Wood)
* VFS
* Implement partial reads for `--vfs-cache-mode full` (Nick Craig-Wood)
* Add `--vfs-writeback` option to delay writes back to cloud storage
(Nick Craig-Wood)
* Add `--vfs-read-ahead` parameter for use with `--vfs-cache-mode full`
(Nick Craig-Wood)
* Restart pending uploads on restart of the cache (Nick Craig-Wood)
* Support synchronous cache space recovery upon ENOSPC (Leo Luan)
* Allow ReadAt and WriteAt to run concurrently with themselves (Nick Craig-Wood)
* Change modtime of file before upload to current (Rob Calistri)
* Recommend `--vfs-cache-modes writes` on backends which can't stream
(Nick Craig-Wood)
* Add an optional `fs` parameter to vfs rc methods (Nick Craig-Wood)
* Fix errors when using > 260 char files in the cache in Windows
(Nick Craig-Wood)
* Fix renaming of items while they are being uploaded (Nick Craig-Wood)
* Fix very high load caused by slow directory listings (Nick Craig-Wood)
* Fix renamed files not being uploaded with `--vfs-cache-mode minimal`
(Nick Craig-Wood)
* Fix directory locking caused by slow directory listings (Nick Craig-Wood)
* Fix saving from chrome without `--vfs-cache-mode writes`
(Nick Craig-Wood)
* Local
* Add `--local-no-updated` to provide a consistent view of changing
objects (Nick Craig-Wood)
* Add `--local-no-set-modtime` option to prevent modtime changes (tyhuber1)
* Fix race conditions updating and reading Object metadata
(Nick Craig-Wood)
* Cache
* Make any created backends be cached to fix rc problems (Nick Craig-Wood)
* Fix dedupe on caches wrapping drives (Nick Craig-Wood)
* Crypt
* Add `--crypt-server-side-across-configs` flag (Nick Craig-Wood)
* Make any created backends be cached to fix rc problems (Nick Craig-Wood)
* Alias
* Make any created backends be cached to fix rc problems (Nick Craig-Wood)
* Azure Blob
* Don't compile on < go1.13 after dependency update (Nick Craig-Wood)
* B2
* Implement server side copy for files > 5GB (Nick Craig-Wood)
* Cancel in progress multipart uploads and copies on rclone exit
(Nick Craig-Wood)
* Note that b2's encoding now allows \ but rclone's hasn't changed
(Nick Craig-Wood)
* Fix transfers when using download_url (Nick Craig-Wood)
* Box
* Implement rclone cleanup (buengese)
* Cancel in progress multipart uploads and copies on rclone exit
(Nick Craig-Wood)
* Allow authentication with access token (David)
* Chunker
* Make any created backends be cached to fix rc problems (Nick Craig-Wood)
* Drive
* Add `rclone backend drives` to list shared drives (teamdrives)
(Nick Craig-Wood)
* Implement `rclone backend untrash` (Nick Craig-Wood)
* Work around drive bug which didn't set modtime of copied docs
(Nick Craig-Wood)
* Added `--drive-starred-only` to only show starred files (Jay McEntire)
* Deprecate `--drive-alternate-export` as it is no longer needed
(themylogin)
* Fix duplication of Google docs on server side copy (Nick Craig-Wood)
* Fix "panic: send on closed channel" when recycling dir entries
(Nick Craig-Wood)
* Dropbox
* Add copyright detector info in limitations section in the docs
(Alex Guerrero)
* Fix `rclone link` by removing expires parameter (Nick Craig-Wood)
* Fichier
* Detect Flood detected: IP Locked error and sleep for 30s
(Nick Craig-Wood)
* FTP
* Add explicit TLS support (Heiko Bornholdt)
* Add support for `--dump bodies` and `--dump auth` for debugging
(Nick Craig-Wood)
* Fix interoperation with pure-ftpd (Nick Craig-Wood)
* Google Cloud Storage
* Add support for anonymous access (Kai Lüke)
* Jottacloud
* Bring back legacy authentification for use with whitelabel versions
(buengese)
* Switch to new api root - also implement a very ugly workaround for the
DirMove failures (buengese)
* Onedrive
* Rework cancel of multipart uploads on rclone exit (Nick Craig-Wood)
* Implement rclone cleanup (Nick Craig-Wood)
* Add `--onedrive-no-versions` flag to remove old versions
(Nick Craig-Wood)
* Pcloud
* Implement `rclone link` for public link creation (buengese)
* Qingstor
* Cancel in progress multipart uploads on rclone exit (Nick Craig-Wood)
* S3
* Preserve metadata when doing multipart copy (Nick Craig-Wood)
* Cancel in progress multipart uploads and copies on rclone exit
(Nick Craig-Wood)
* Add `rclone link` for public link sharing (Roman Kredentser)
* Add `rclone backend restore` command to restore objects from GLACIER
(Nick Craig-Wood)
* Add `rclone cleanup` and `rclone backend cleanup` to clean unfinished
multipart uploads (Nick Craig-Wood)
* Add `rclone backend list-multipart-uploads` to list unfinished multipart
uploads (Nick Craig-Wood)
* Add `--s3-max-upload-parts` support (Kamil Trzciński)
* Add `--s3-no-check-bucket` for minimising rclone transactions and perms
(Nick Craig-Wood)
* Add `--s3-profile` and `--s3-shared-credentials-file` options
(Nick Craig-Wood)
* Use regional s3 us-east-1 endpoint (David)
* Add Scaleway provider (Vincent Feltz)
* Update IBM COS endpoints (Egor Margineanu)
* Reduce the default `--s3-copy-cutoff` to < 5GB for Backblaze S3
compatibility (Nick Craig-Wood)
* Fix detection of bucket existing (Nick Craig-Wood)
* SFTP
* Use the absolute path instead of the relative path for listing for
improved compatibility (Nick Craig-Wood)
* Add `--sftp-subsystem` and `--sftp-server-command` options (aus)
* Swift
* Fix dangling large objects breaking the listing (Nick Craig-Wood)
* Fix purge not deleting directory markers (Nick Craig-Wood)
* Fix update multipart object removing all of its own parts
(Nick Craig-Wood)
* Fix missing hash from object returned from upload (Nick Craig-Wood)
* Tardigrade
* Upgrade to uplink v1.2.0 (Kaloyan Raev)
* Union
* Fix writing with the all policy (Nick Craig-Wood)
* WebDAV
* Fix directory creation with 4shared (Nick Craig-Wood)
* dhcpcd: carrier handling issue fixed from 9.3.0
* dhcpcd: log if interface type is unsupported in debug
* duid: memory leak fixed if UUID wanted but none available
* privsep: fix receiving inet and no BPF running
* privsep: allow gettimeofday for SECCOMP
* privsep: fix stderr redirection again
* Linux: use libbsd setproctitle as it works with more kernel configs
v0.2.3
Features
-Display album name for playable objects (#268)
-Added config option for bitrate (#270)
-Add Vim-like search in list views (#279)
-Add insert command and Ctrl-V shortcut to paste Spotify links (#277)
Maintenance
-Gracefully handle error when showing notification (#265)
-Add feature flag for song notifications, enables users/distributions to ship
without D-Bus dependency
-Alias Space to whitespace key when for bindings (#266)
-Fix last tab to fill entire width correctly (#271)
-Tweak queue/play next handling (#278)
pysmb-1.2.4
- Remove dependency on pycrypto as it is no longer under active maintenance
pysmb-1.2.3
- Fix bug in session key generation during session negotiation
- Fix bug in SMB message signing which leads to operation failures with Samba services.
**1.7.4** (2020-10-08)
======================
Small followup to 1.7.3 release.
Bugfixes
--------
* Fixed some Python 2.6 errors from last release (:issue:`128`)
Other Changes
-------------
* :mod:`passlib.ext.django` -- updated tests to pass for Django 1.8 - 3.1 (:issue:`98`);
along with some internal refactoring of the test classes.
* .. py:currentmodule:: passlib.context
:class:`CryptContext` will now throw :exc:`~passlib.exc.UnknownHashError` when it can't identify
a hash provided to methods such as :meth:`!CryptContext.verify`.
Previously it would throw a generic :exc:`ValueError`.
Deprecations
------------
* :mod:`passlib.ext.django`: This extension will require Django 2.2 or newer as of Passlib 1.8.
**1.7.3** (2020-10-06)
======================
This release rolls up assorted bug & compatibility fixes since 1.7.2.
Administrative Changes
----------------------
.. rst-class:: without-title
.. note::
**Passlib has moved to Heptapod!**
Due to BitBucket deprecating Mercurial support, Passlib's public repository and issue tracker
has been relocated. It's now located at `<https://foss.heptapod.net/python-libs/passlib>`_,
and is powered by `Heptapod <https://heptapod.net/>`_.
Hosting for this and other open-source projects graciously provided by the people at
`Octobus <https://octobus.net/>`_ and `CleverCloud <https://clever-cloud.com/>`_!
The mailing list and documentation urls remain the same.
New Features
------------
* .. py:currentmodule:: passlib.hash
:class:`ldap_salted_sha512`: LDAP "salted hash" support added for SHA-256 and SHA-512 (:issue:`124`).
Bugfixes
--------
* .. py:currentmodule:: passlib.hash
:class:`bcrypt`: Under python 3, OS native backend wasn't being detected on BSD platforms.
This was due to a few internal issues in feature-detection code, which have been fixed.
* :func:`passlib.utils.safe_crypt`: Support :func:`crypt.crypt` unexpectedly
returning bytes under Python 3 (:issue:`113`).
* :func:`passlib.utils.safe_crypt`: Support :func:`crypt.crypt` throwing :exc:`OSError`,
which can happen as of Python 3.9 (:issue:`115`).
* :mod:`passlib.ext.django`: fixed lru_cache import (django 3 compatibility)
* :mod:`!passlib.tests`: fixed bug where :meth:`HandlerCase.test_82_crypt_support` wasn't
being run on systems lacking support for the hasher being tested.
This test now runs regardless of system support.
Other Changes
-------------
* .. py:currentmodule:: passlib.hash
:class:`bcrypt_sha256`: Internal algorithm has been changed to use HMAC-SHA256 instead of
plain SHA256. This should strengthen the hash against brute-force attempts which bypass
the intermediary hash by using known-sha256-digest lookup tables (:issue:`114`).
* .. py:currentmodule:: passlib.hash
:class:`bcrypt`: OS native backend ("os_crypt") now raises the new :exc:`~passlib.exc.PasswordValueError`
if password is provided as non-UTF8 bytes under python 3
(These can't be passed through, due to limitation in stdlib's :func:`!crypt.crypt`).
Prior to this release, it confusingly raised :exc:`~passlib.exc.MissingBackendError` instead.
Also improved legacy bcrypt format workarounds, to support a few more UTF8 edge cases than before.
* Modified some internals to help run on FIPS systems (:issue:`116`):
In particular, when MD5 hash is not available, :class:`~passlib.hash.hex_md5`
will now return a dummy hasher which throws an error if used; rather than throwing
an uncaught :exc:`!ValueError` when an application attempts to import it. (Similar behavior
added for the other unsalted digest hashes).
.. py:currentmodule:: passlib.crypto.digest
Also, :func:`lookup_hash`'s ``required=False`` kwd was modified to report unsupported hashes
via the :attr:`HashInfo.supported` attribute; rather than letting ValueErrors through uncaught.
This should allow CryptContext instances to be created on FIPS systems without having
a load-time error (though they will still receive an error if an attempt is made to actually
*use* a FIPS-disabled hash).
* Internal errors calling stdlib's :func:`crypt.crypt`, or third party libraries,
will now raise the new :exc:`~passlib.exc.InternalBackendError` (a RuntimeError);
where previously it would raise an :exc:`AssertionError`.
* Various Python 3.9 compatibility fixes (including ``NotImplemented``-related warning, :issue:`125`)
CHANGES IN R 4.0.3:
NEW FEATURES:
* On platforms using configure option --with-internal-tzcode,
additional values "internal" and (on macOS only) "macOS" are
accepted for the environment variable TZDIR. (See ?TZDIR.)
On macOS, "macOS" is used by default if the system timezone
database is a newer version than that in the R installation.
* When install.packages(type = "source") fails to find a package in
a repository it mentions package versions which are excluded by
their R version requirement and links to hints on why a package
might not be found.
* The default value for options("timeout") can be set from
enviromnent variable R_DEFAULT_INTERNET_TIMEOUT, still defaulting
to 60 (seconds) if that is not set or invalid.
This may be needed when child R processes are doing downloads,
for example during the installation of source packages which
download jars or other forms of data.
LINK-TIME OPTIMIZATION on a UNIX-ALIKE:
* There is now support for parallelized Link-Time Optimization
(LTO) with GCC and for 'thin' LTO with clang _via_ setting the
LTO macro.
* There is support for setting a different LTO flag for the Fortran
compiler, including to empty when mixing clang and gfortran (as
on macOS). See file config.site.
* There is a new LTO_LD macro to set linker options for LTO
compilation, for example to select an alternative linker or to
parallelize thin LTO.
DEPRECATED AND DEFUNCT:
* The LINPACK argument to chol.default(), chol2inv(),
solve.default() and svd() has been defunct since R 3.1.0. Using
it now gives a warning which will become an error in R 4.1.0.
BUG FIXES:
* The code mitigating stack overflow with PCRE regexps on very long
strings is enabled for PCRE2 < 10.30 also when JIT is enabled,
since stack overflows have been seen in that case.
* Fix to correctly show the group labels in dotchart() (which where
lost in the ylab improvement for R 4.0.0).
* addmargins(*, ..) now also works when fn() is a local function,
thanks to bug report and patch PR#17124 from Alex Bertram.
* rank(x) and hence sort(x) now work when x is an object (as per
is.object(x)) of type "raw" _and_ provides a valid `[` method,
e.g., for gmp::as.bigz(.) numbers.
* chisq.test(*, simulate.p.value=TRUE) and r2dtable() now work
correctly for large table entries (in the millions). Reported by
Sebastian Meyer and investigated by more helpers in PR#16184.
* Low-level socket read/write operations have been fixed to
correctly signal communication errors. Previously, such errors
could lead to a segfault due to invalid memory access. Reported
and debugged by Dmitriy Selivanov in PR#17850.
* quantile(x, pr) works more consistently for pr values slightly
outside [0,1], thanks to Suharto Anggono's PR#17891.
Further, quantile(x, prN, names=FALSE) now works even when prN
contains NAs, thanks to Anggono's PR#17892. Ditto for ordered
factors or Date objects when type = 1 or 3, thanks to PR#17899.
* Libcurl-based internet access, including curlGetHeaders(), was
not respecting the "timeout" option. If this causes
unanticipated timeouts, consider increasing the default by
setting R_DEFAULT_INTERNET_TIMEOUT.
* as.Date(<char>) now also works with an initial "", thanks to
Michael Chirico's PR#17909.
* isS3stdGeneric(f) now detects an S3 generic also when it it is
trace()d, thanks to Gabe Becker's PR#17917.
* R_allocLD() has been fixed to return memory aligned for long
double type PR#16534.
* fisher.test() no longer segfaults when called again after its
internal stack has been exceeded PR#17904.
* Accessing a long vector represented by a compact integer sequence
no longer segfaults (reported and debugged by Hugh Parsonage).
* duplicated() now works also for strings with multiple encodings
inside a single vector PR#17809.
* phyper(11, 15, 0, 12, log.p=TRUE) no longer gives NaN; reported
as PR#17271 by Alexey Stukalov.
* Fix incorrect calculation in logLik.nls() PR#16100, patch from
Sebastian Meyer.
* A very old bug could cause a segfault in model.matrix() when
terms involved logical variables. Part of PR#17879.
* model.frame.default() allowed data = 1, leading to involuntary
variable capture (rest of PR#17879).
* tar() no longer skips non-directory files, thanks to a patch by
Sebastian Meyer, fixing the remaining part of PR#16716.
A Spotify client using Qt as a simpler, lighter alternative to the official
client, inspired by spotify-tui.
Much like spotify-tui, you need an actual Spotify client running, which can be
configured from within the app.
Also like other clients, controlling music playback requires Spotify Premium.
Open source client library for Spotify. It enables applications to use Spotify's
service to contol and play music via various backends, and to act as a Spotify
Connect receiver.
It is an alternative to the official and deprecated closed-source libspotify.
Additionally, it will provide extra features which are not available in the
official library.
Note: librespot only works with Spotify Premium. This will remain the case for
the foreseeable future, as we are unlikely to work on implementing the features
such as limited skips and adverts that would be required to make librespot
compliant with free accounts.
Changelog:
* Allow customizing mangling of generic parameters in C (#575)
* Box<T> simplifies to T* in C (4ce324c)
* ManuallyDrop<T> and MaubeUninit<T> simplify to T in C, and are opaque in C++ (0076a17)
* C++ supports a derive-ostream annotation to derive serialization of structs, unions and enums (#582)
* Large character constants have been fixed on Windows (#586)
* Constants are now generated for typedefs, etc (#589)
* The `sort_by` configuration option has been made to work for constants (#587)
* Default sort order is source order now (sort_by = "None"), and can be changed by the above option (#587)
YeahWM is a h* window manager for X based on evilwm and aewm.
Features:
* Sloppy Focus.
* BeOS-like tabbed titles, which can be repositioned.
* Support for Xinerama.
* Simple Appearance.
* Good keyboard control.
* Creative usage of the mouse.
* Respects aspect size hints.
* Solid resize and move operations.
* Virtual Desktops.
* "Magic" screen edges for desktop switching.
* Snapping to other windows and screen borders when moving windows.
* Small binary size(ca. 23kb).
* Little resource usage.