GithubHelp home page GithubHelp logo

waliarubal / jaya Goto Github PK

View Code? Open in Web Editor NEW
367.0 9.0 46.0 8.59 MB

Cross platform file manager application for Windows, Mac and Linux operating systems. (planned mobile support)

License: BSD 3-Clause "New" or "Revised" License

C# 94.12% PowerShell 4.01% Inno Setup 1.87%
avalonia avaloniaui file-manager filemanager cross-platform crossplatform cloud cloud-storage dotnet dotnet-core

jaya's Introduction

JayaFM Logo

Jaya File Manager (JayaFM)

Build status Gitter Chat GitHub stars GitHub forks MIT license Donate

Table Of Contents

About The Project

Jaya File Manager is a .NET Core based cross platform file manager application which runs on Windows, Mac and Linux. Its goal is very simple, "Allow browsing and managing of several file systems simultaneously using a single application which should work and look alike on all desktop platforms it supports.".

Application is designed to be plug-able from the ground up i.e. anyone with experience of working with .NET Core will be able to add support for any new storage service by implementing a simple plugin. Support for below mentioned storage services are complete (or planned) as of now. If you would like addition of more storage services, please raise request here.

  • File System
  • Dropbox
  • Google Drive
  • Apple iCloud Drive (help wanted)
  • Microsoft OneDrive
  • Box
  • IDrive
  • SugarSync
  • pCloud
  • Media Fire
  • FTP/SFTP
  • Amazon S3
  • Azure Blob Storage

This project is in early beta at the moment so it's not suitable for general use.

Built Using

This project would have not existed without the availbility of below mentioned fantastic frameworks and tools.

Screenshots

Main Window

Light Theme Main Window

Dark Theme Main Window

Options UI (WIP)

Light Theme Options UI

Dark Theme Options UI

Plugins UI (WIP)

Light Theme Plugins UI

Dark Theme Plugins UI

Roadmap

See the open issues and project boards for list of proposed features (and known issues). You are more than welcome to make feature requests and lodge any bugs you encounter.

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

If you are a .NET Core developer then you can develop plugins to support additional storage services or squash any existing bugs. You may also add new features or work on the ones which are not yet implemented.

A designer! Not a problem, create new vector icons and images for the UI. Suggestions and improvements in UX are also welcome.

None of the above, you can still buy the core contributors coffee or donate funds to procure Mac for development here.

Getting Started (Technical)

Technical users with programming experience can try things out, just open the project in Visual Studio 2017 IDE or Visual Studio 2019 IDE and run it in 'Debug' mode. Follow below mentioned steps to show your love and support towards project growth.

  1. Fork the Project.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a pull request.

License

Distributed under The 3-Clause BSD License. See here for more information.

This is an amazing and clever thing by @imnew2game - it's a *cross platform file explorer application* for Windows, Mac and Linux written in .NET Core/C# and Avalonia! https://github.com/nullvoid-creations/Jaya SWEET. It's fun to see how people build things like this.

— Scott Hanselman (@shanselman) October 22, 2019

jaya's People

Contributors

corstiaan84 avatar lextm avatar splitwirez avatar waliarubal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jaya's Issues

Binding Issues

Their are a lot of binding warnings appearing in the debug console at run time. Fix those as soon as possible.

Add some kind of "Home"/"Start" page?

After first building and opening Jaya, I was greeted by...a page, saying something to the effect of "This folder is empty". This doesn't seem like the clearest way to greet the user upon opening the app, so how about we start with a friendly overview of their various storage spaces? I've created a quick mockup of what this could look like below:

I'll admit, it's not the most original design (being blatantly derived from Windows's File Explorer's "This PC" page, but it's a start. Potential improvements could be made by offering, say, an MFU list of frequent destinations or something, and/or possibly having a "favorite places" group instead of the "local folders" group shown above.

Allow multiple windows

Jaya needs to allow multiple windows to coexist. I'm not convinced that separate processes for each is the best approach, partly because #33 means we'd need to allow the user to 'drag' tabs between separate windows.

Hook for mimetype

I would expect when i click on a file, be asked to open with a mime file or if the plugin is remote (dropbox/drive/s3) to download, i.e.
In the filesystem:

  • when i click on image i'll open a default image viewer
  • when i click on a video i'll open the default video player.
    In a remote whenever i will click, it will show a popup asking me for download.

Ribbon Interface

Implement ribbon interface like Windows explorer of Windows 10. Allow user to switch between classic menu and toolbar interface & new ribbon interface.

Files Not shown!

Hello, it's a cool project but can u make it work! the Files Explorer Not working Couldn't See the Files I've tried to fix it but with no success I'm still new To avaloniaui

Tabs

Title says it all. Many Windows users want tabs in File Explorer, so if Jaya delivered such functionality in an otherwise similar program, that could be a major win for appeal to Windows users.

Additionally, IIUC tabs are already fairly commonplace on macOS and Linux, so I'd imagine such a feature would be welcome - perhaps even expected - on those platforms as well.

I'd say taking an approach to their placement in the GUI similar to what most web major browsers would be a good idea, and presumably not super problematic to implement, seeing as Jaya already uses a custom Titlebar.

P.S. Given your response to my last issue, I presume this isn't intended...I still can't add labels to my issues (well, that or I've misremembered how to do so). I'm not sure if that's on you or just weirdness with my browser, though...

Refine GUI look and feel?

Currently, Jaya uses the default Avalonia theme as its default theme. Personally, I think we could do better. Normally my taste is stuck in 2003, but I decided to try to put that aside, and created this mockup:

I was aiming for a more refined version of what Windows 10's File Explorer seems to be going for. Thoughts?

(also no, I'm not suggesting we steal Windows 10's icons, I just hadn't yet figured out what to do instead)

add search engine

add a search engine with query syntax like

*.mp3 and creationdate > 20.01.2018

User-driven skinning

As previously discussed, I think we should allow the user to create and compile their own skins for Jaya File Manager - some people may not be fond of its default look and feel, so by allowing skinning, we enable the user to customize Jaya's appearance pretty much to their heart's content, as long as we do a good job of it.

@waliarubal We agreed that if this was implemented at all, it would be a v1.1 or later feature, correct?

Display proper file icons

Currently, Jaya displays its own generic icons for files, folders, drives, etc.. I think it would be better to show the platform-provided icon wherever possible - this would allow, for example, different file types to show an icon corresponding to the program they are associated with, as is the case in Windows's own File Explorer.

Additionally, we should optionally be able to show thumbnails for image files, and ideally, even show the "customized" thumbnails certain programs generate for certain file types associated with them, such as how associating *.PDN images with paint.NET allows paint.NET to generate thumbnails of *.PDN images to display in File Explorer. I believe some versions of Blender do something similar with 3D projects in *.BLEND format, though I'm not certain of this.

Move to GitHub Actions from AppVeyor for CI

Earlier GitHub Actions was not available and since its launch it has expanded its horizon as a CI SaaS to support Windows, Mac and Linux for build machines. Now it makes no sense to stick around with AppVeyor since as of my personal opinion keeping everything on one platform will make things fast.

Stack Overflow Exception

Upgraded project to latest preview of 0.9 and now its completely broken.
Expanding or clicking on bound tree nodes give stack overflow exception. It was working very well with Avalonia 0.8.3 stable.

To reproduce follow below mentioned steps.

  1. Clone project's 'master' branch.
  2. Run it and on left hand side of navigation tree under 'File System' node, expand it to show your PC's node.
  3. In PC node, further expand it to show drives attached to your PC.
  4. Then on any drive node, just click it and see stack overflow coming.

Earlier thought that this might be because of 'Avalonia Behaviors' package being used but it seems like it's not because of it. Refer this for that issue. AvaloniaUI/Avalonia.Xaml.Behaviors#28

Opened an issue with Avalonia AvaloniaUI/Avalonia#3189.

Include current directory name in window title

File Explorer shows the current folder's name in the title of its windows. This feature is extremely useful, since it makes it easier to identify the windows in the ALT+TAB dialog and the Taskbar thumbnail previews. Since we're not File Explorer, we could do something like "My Documents - Jaya", for example, similar to how many web browsers append their names to the end of their windows' titles, after the name of the window's current page.

format tool

add a format drive tool that can be extended through plugins for custom filesystems

S3 support for Jaya

I might interested in contributing adding the support for S3 Buckets in Jaya.Which actions should I do?

Implement Apple iCloud Drive Plugin

Implement plugin for Apple iCloud Drive. I don't have Mac hardware or knowledge about iCloud integration so this issue is open for anyone willing to contribute.

New Logo Design

The current logo for the project doesn't align with the motto of a file system manager. Put in some design ideas and create a new logo which better expresses project's meaning at the very first glance.

Logo

DI Broken

Current DI doesn't load plugins. Could you give it a check as well?

Style Separator Like Windows Explorer

Current separator has three visual dots for dragging and a background. Separator needs restyling to make it more like Windows 10 explorer's separator. Below are screenshots of current separator UI.

image
image

Duplicate Initial Node

When a new account is added under a provider, two similar nodes appear in navigation view. This happens for the first time only. On subsequent loads, this issue is not observed.

Allow disabling default storage sources

Strange as this may sound, not everyone is going to want all of the storage sources Jaya currently includes. They may not use DropBox, for example. I think we should allow the user to turn these storage sources off, to accomodate this need.

add updater

add an updater with autoupdate option
i recommend to use nupdate

Navigation bar isn't poofy enough

Jaya's navigation bar is fairly slim, much like that of File Explorer as seen in Windows 7, 8.1, and older versions of Windows 10:
image

Meanwhile, current Windows 10 File Explorer's navigation bar is substantially poofier:
image

Additional folder views

Windows's File Explorer has a variety of folder view modes, as shown below:
image
Additionally, the Small/Medium/Large/Extra large Icons views are merely presets - the size of the icons in that view can be set arbitrarily anywhere between 16x and (I think) either 256x or 512x. Not only this, but all of these view modes can be cycled through by holding CTRL and scrolling the mouse wheel.

Currently, Jaya only has the Icons view (with a fixed icon size) and Details view. We need the other views, specifically:

  • Freely-adjustable icon sizes for Icons view
  • List view
  • Tiles view
  • Content view
  • Switching views via CTRL+scroll

change Path

enable to edit current Path in Breadcrumb

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.