in case the rotation is 0, `v >> (32 - r)` would end up doing a 32 right
shift which is equal to the width of `v` and thus undefined behavior.
ref: https://blog.regehr.org/archives/1063
* icons-hash: take total probe count into account as well
* icons-hash: use a better PRNG
the older method was using a multiplicative congruential generator (MCG)
which doesn't work too well especially with just 32 bits of state.
change it to a PCG instead with 64 bits of state (and 32 bits of output)
which should give better results.
and since we should get better rng - the search iteration has been
halved as well to save some build time.
* icons-hash: use an xor-rotate hash function
* icons-hash: fix some compiler warnings
* plugins/nmount: keep `while` & `do` on one line for consistency
* plugins/nmount: sync only that device, which user wants to unmount
* plugins/nmount: replace all instances of `$dev` with `/dev/$dev`
* plugins/nmount: add `--no-user-interaction` option to `udisksctl`
Otherwise the user will be asked for authentication each time he wants
to unmount, say, HDD, since `udisksctl` will try to power it off.
* plugins/nmount: try to mount only existing block devices
* plugins/nmount: do not invoke `lsblk` immediately after mounting
Sometimes `lsblk` fails to provide mountpoint in such a short time frame.
* plugins/nmount: simplify pipe
* plugins/nmount: keep `echo` arguments in a single pair of quotes
* plugins/nmount: report mountpoint only if mounting was successful
- Work with multiple connected devices by sending files to the first
device
- Support multi-files selection
- Support sending hovered file in case no file is selected
Co-authored-by: NRK <nrk@disroot.org>
Co-authored-by: Arun Prakash Jana <engineerarun@gmail.com>
1. hover on entry created in cwd
2. check user input doesn't end with /
3. check user input len < PATH_MAX
4. support creation in ~ directory
5. handle filter mode after creation
6. ensure absolute path len < PATH_MAX