NAMEarcan-cfgfs - FUSE file system driver for window manager automation
SYNOPSISarcan-cfgfs [OPTIONS] --control=/path/to/control /path/to/mount
DESCRIPTIONThis tool provides a FUSE (userspace filesystem) module for the simple line protocol used by durden and other window managers to provide an interface for external control and testing. It is still in an early stage, and breaking changes might occur.
The contents of the filesystem will vary with the window manager, and some configuration in the window manager itself might be needed for the feature to be accessible.
PERFORMANCE NOTESAt the moment, this is quite slow. The actual response time of the commands will vary with the refresh rate of the display. There are two big factors that contribute to this problem, one fixable and another inherent to the design.
The inherent problem is that all filesystem operations are aligned to the state of the active output displays. Since there is an intimate relationship between the GPU, its displays and the active arcan window manager, many operations depend on asynchronous operations on the GPU. To avoid triggering undefined behaviors in the GL graphics API or causing severe performance degradation due to artificially triggered pipeline stalls, virtual file system operations are deferred until a point where current pipeline has been synchronized with the output displays.
The other problem is that the FUSE driver itself is very poor at caching lookups. This means that actions such as listing a directory may contain multiple operations that will repeatedly run into the synchronization problem above.
SECURITYSince this tool can be used to automate and explore contents of the active window manager, it has far reaching privacy and security implications. It is up to the user to make sure that only the ones that should have this capability has access to the mount point and the file system.
OPTIONSAll arguments can be listed via the '-h' or '--help' command line switch, the exact details will vary with the FUSE implementation on your system.
There is one necessary argument, and that is --control. This should point to the control domain socket used by the window manager to implement the underlying protocol and data format.
TYPICAL-USEarcan-cfgfs --control=/home/void/.arcan/appl-out/durden/ipc/control /mnt/desktop
COPYRIGHTCopyright © 2018 Bjorn Stahl. 3-clause BSD licensed. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
AUTHORBjorn Stahl <contact at arcan-fe dot com>
Visit the GSP FreeBSD Man Page Interface.