14 lines
1 KiB
Markdown
14 lines
1 KiB
Markdown
|
# Implementation plan for ActivityOS
|
||
|
|
||
|
## Start by forking [GNOME Shell](https://en.wikipedia.org/wiki/GNOME_Shell)
|
||
|
|
||
|
It already has the Activities button so it makes a perfect candidate for a fork.
|
||
|
|
||
|
GNOME Files (also known as Nautilus) needs to have an ability to add Linux VFS directories as Libraries which would be then be stored in a virtual tag-based file system on a higher level of abstraction. Then libraries can be properly tagged by the user or GNOME itself in case of mechanical tags which can be inferred from the file itself (think [MediaInfo](https://en.wikipedia.org/wiki/MediaInfo)).
|
||
|
|
||
|
Once tagged libraries are implemented, it's all about adding a proper UI to create and manage activities.
|
||
|
|
||
|
### Lazy tags
|
||
|
|
||
|
Some automatic tags are too expensive to compute every time the file is changed. Hence, it makes sense to store a flag on file modification that tag value has to be freshly computed next time it is queried. Then there can be a command similar to [`sync`](https://linux.die.net/man/8/sync) to force recomputation of all lazy tags.
|