1 of 8

Bringing Personalization To The Nextcloud Linux Client

Cynthia Valdes Martin, Alejandro Carballo, Geovani Rodriguez

FLORIDA INTERNATIONAL UNIVERSITY

2 of 8

Introduction

The Problem

Nextclouds Linux Desktop client contains very little in terms of personalizing the client, in both aesthetics and functionality. Nextcloud also consisted of not too clear documentation for the Linux client development, making contributing to the project more challenging for Linux developers.

Nextclouds Theme Selection In General Settings

COLLEGE OF ENGINEERING AND COMPUTING

FLORIDA INTERNATIONAL UNIVERSITY

3 of 8

Introduction

The Solution

Our solution is broken down into three main problems to solve:

Aesthetic theming

  • Personal Icons
  • Personal Colors
  • Personal Themes

Linux Functionality

  • Linux Nautilus Integration
  • Scripts for needed Linux packages

Better User Experience

  • Personalized System Tray Tabs
  • Key shortcuts implementation
  • Accessibility to information

COLLEGE OF ENGINEERING AND COMPUTING

FLORIDA INTERNATIONAL UNIVERSITY

4 of 8

Aesthetic Theming

Requirements

  • Create a customization window that can be opened from system tray
  • Contain all theme, icon, and color choices in the window
  • Allow mixing and matching of different aspects of the customization

Goals

  • Provide customization to important aspects of the app.
  • Provide a variety of themes and image selections to allow users to connect with Nextcloud.

FLORIDA INTERNATIONAL UNIVERSITY

COLLEGE OF ENGINEERING AND COMPUTING

5 of 8

Linux Functionality

Requirements

  • Implement a python script to allow for shell integration with nautilus.
  • Implement a right click sharing feature for quick access.
  • Implement a right click sharing feature for easy nextcloud uploading.

Goals

  • Provide an easier way to use Nextcloud on the linux client.
  • Provide an easier way to share files through Nextcloud on the linux client.

FLORIDA INTERNATIONAL UNIVERSITY

COLLEGE OF ENGINEERING AND COMPUTING

6 of 8

Better User Experience

Requirements

  • Make a window for tabs that can be set with personalized links.
  • Make keyboard shortcuts for each link.
  • Make keyboard shortcuts for navigating many of the new menus.

Goals

  • Provide easy access to new and old features and settings.
  • Provide Nextcloud on linux with a new unique use that can improve workflow.

FLORIDA INTERNATIONAL UNIVERSITY

COLLEGE OF ENGINEERING AND COMPUTING

7 of 8

Development

We spent weeks breaking down and understanding the intricacies of the codebase, learning to build the program and adapt to the way contributors to the project had formatted their code.

When we had a handle on it, we went to work conceptualizing and testing features, amending and changing our work as we learned more and about Nextcloud and QT.

As we iterated on ideas, we settled on customization and after making a unified menu, branched out to different aspects of Nextcloud we could improve as individuals.

COLLEGE OF ENGINEERING AND COMPUTING

FLORIDA INTERNATIONAL UNIVERSITY

8 of 8

Final Product

We were able to successfully implement:

  • Aesthetic theming to multiple windows of Nextcloud, including color selection and icon selection
  • Personalization for ease of access in the user buttons personal tab
  • Added personal keyboard shortcuts for the Linux Desktop client for better user experience
  • Implemented Linux Nautilus integration to Nextcloud to be able to copy and move directly from the Nautilus
  • Worked alongside the code abstraction design of Nextcloud to properly build new ui files and c++ files

COLLEGE OF ENGINEERING AND COMPUTING