Summary
| Mentor(s): | Prof. Bill Griffin-Dubson Dr. Mike Murphy |
|---|---|
| Project Type: | Software development |
| Technologies: | Python, Qt (PySide6, Qt D-Bus), D-Bus, Git |
| Undergraduate Credit: | CSCI 399, CSCI 490 |
| Graduate Credit: | IST 659 |
| Locality: | Main campus and/or remote |
Purpose
On a modern desktop environment, a user expects to be able to plug in a USB flash drive or similar removable device and have it appear in the file browser. At the moment, TealFiler can browse and manage files on removable devices, but it cannot mount or unmount them. In Linux terminology, attaching a file system to the running system is called mounting. Ejecting, or detaching, a file system is unmounting.
Fortunately, TealFiler will not have to handle mounting and unmounting directly. Instead, the udisks2 service can handle such details. It is simply necessary to communicate with udisks2 over the Linux system message bus (which is called D-Bus). The Qt toolkit provides already provides a Python interface to D-Bus.
Scope of Work
Add support for mounting and unmounting removable drives to TealFiler. Use Qt D-Bus from Python to communicate with udisks2 to perform the required system operations. Thoroughly test the code to ensure that it works properly and doesn't result in data loss due to bugs.