qasim/TODO.md

2 KiB

TODO

Add unix tool requirement to plugins

Each plugin plugin should declare its requirements concerning external tools. It should declare, at least the executable name, the versions and an optional test command. (The thing should work the same ways "TYPE" handles work.)

During this self-check, and depending on the external tool presence, the plugin may disable itself from providing its services. Thus, all maps using this service should be disabled (or hidden, depending on global preferences).

Normalize binaries

qasim-cli : A command line to manage maps & configure the thing qasim-gui : A desktop interface qasim-daemon : A background process to handle map actions

Use Rakefile instead of Makefile

  • Make sure .ui and .qrc files are build before .gem

ex: https://github.com/ryanmelt/qtbindings/blob/master/Rakefile

Plugin support

Rewrite maps as a factory for plugins

Parameters

Global options

  • Default local cache directory
  • Default mount point directory
  • Idle time umount

SSHFS

  • Use AutoSSH (disable if not installed)

    • use autossh (default: yes)
    • ssh_command='autossh -M 0'
  • SSH options

    • reconnect (default: yes)
    • compress (default: yes)
    • transform_symlinks (default: yes)
    • ServerAliveInterval (default: 15)
    • ServerAliveCountMax (default: 3)
    • Cipher (default: blowfish) # for speed & security

FTP

WebDav

  • Detect fusedav presence on system

Local sync

  • Unison (disable if not installed) :

    • unison executable path
    • use unison (default: yes)
    • sync interval (0=none, ...) in hours

Programs

(Checkbox for each program)

  • sshfs executable path (default: empty)
  • curlftpfs executable path (default: empty)
  • fusedav executable path (default: empty)
  • autossh executable path (default: empty)
  • unison executable path (default: empty)

Implement StatusNotifierItem

Inspiration code : b858144c9d