ingvarx / camelot Goto Github PK
View Code? Open in Web Editor NEWCamelot is cross-platform file manager written in C#
Home Page: https://gitter.im/IngvarX-Camelot/community
License: GNU General Public License v3.0
Camelot is cross-platform file manager written in C#
Home Page: https://gitter.im/IngvarX-Camelot/community
License: GNU General Public License v3.0
Colors:
success: rgb(53, 163, 53)
success text: rgba(188, 255, 188, 0.8)
error: rgb(163, 66, 53)
error text: rgba(255, 188, 188, 0.8)
circular progress bar background: rgba(255, 255, 255, 0.15)
notification area background: #1f1e1a
notification area shadow: black
progress bar background: rgba(255, 255, 255, 0.1)
progress text (MB copied etc.): rgba(255, 255, 255, 0.6)
cancel operation button: rgba(255, 255, 255, 0.7)
circular progress bar text font size: 14px
notificaiton area font size: 16px
progress text font size: 14px
Say I have a directory open in the left pane called folder 1, and it has a subfolder called folder 2. If I have folder 2 open in the right pane and create, delete, or rename any files within folder 2, it will create a duplicate row showing folder 2 within the folder 1 left pane. It creates a new duplicate row for every action taken within folder 2.
So If I perform ten different actions within folder 2, it will show "folder 2" eleven times within the folder 1 view on the left pane. Once I refresh the folder 1 view, it goes back to only showing one row of "folder 2".
Windows 10, v0.3.0.0 SingleExe
There are many orthodox file managers out there. I'm looking for one that supports launching external tools to compare files.
Would be informative to list the application features in the README, in addition to the nice screenshots 🙏
If you simply clone the repository and execute:
git clone https://github.com/ingvar1995/Camelot.git
cd Camelot
dotnet restore
dotnet build
dotnet run --project src/Camelot/Camelot.csproj
IT will result in a FileNotFoundException
Unhandled exception. System.IO.FileNotFoundException: The configuration file 'appsettings.json' was not found and is not optional
If however you
cd src/Camelot
dotnet run
there is no Exception.
Info:
dotnet publish -r win-x64 -c Release /p:PublishSingleFile=true /p:PublishTrimmed=true /p:PublishReadyToRun=true
if use this command in netcore 3.1 build fail
if use with 5.0 build sucsess but app not run at all with no messages
Camelot rocks
Spent a lot of time to find Avalonia version of "Total commander" if u add commader to tags it will be easyer
It builds successfully on Windows but the application does not start at all. Usind SDK 3.1.201 (x64) on Windows 10 x64 1909.
Btw, very nice project. I hope to see more features added and more modern look like acrylic blurry background with SetWindowCompositionAttribute.
After highlighting multiple files or folders, right-clicking, and clicking delete, only the item that was clicked gets deleted, rather than all highlighted items.
When ran for the first time Camelot opens /
. It would be better if it opened user's home folder or the location where the program was started from.
If i copy file i wanna paste it in current directory in FilesPanelView
Currently, starring folders and drives are all jumbled in one line and it looks too busy.
e.g.
I'd love to see the tag name above the highlighted lines, but it would probably counter-balance the minimalistic approach of Camelot.
For the untagged favorite folders, move them to the far right or left (depending on user option maybe?) with a bit of whitespace to signify its uncategorized state. This could also potentially double down as a way to collapse/expand the tagged folders, probably too much at this stage xd.
When I'm trying to open XAML preview in VS 2019 with "Avalonia for Visual Studio" extension, I'm getting the following error in output window:
20:58:31.975 [Information] 0 Starting previewer process for '"C:\Projects\!Avalonia\Camelot-master\src\Camelot\bin\Debug\netcoreapp3.1\camelot.dll"' 20:58:31.978 [Information] 23952 Started previewer process for '"C:\Projects\!Avalonia\Camelot-master\src\Camelot\bin\Debug\netcoreapp3.1\camelot.dll"'. Waiting for connection to be initialized. 20:58:32.181 [Information] 23952 Connection initialized 20:58:33.126 [Error] 23952 <= "Unhandled exception. System.InvalidOperationException: Failed to resolve object of type Camelot.Services.Abstractions.IThemeService" 20:58:33.127 [Error] 23952 <= " at Camelot.DependencyInjection.ReadonlyDependencyResolverExtensions.GetRequiredService[TService](IReadonlyDependencyResolver resolver) in C:\Projects\!Avalonia\Camelot-master\src\Camelot\DependencyInjection\ReadonlyDependencyResolverExtensions.cs:line 16" 20:58:33.128 [Error] 23952 <= " at Camelot.App.GetRequiredService[T]() in C:\Projects\!Avalonia\Camelot-master\src\Camelot\App.xaml.cs:line 73" 20:58:33.131 [Error] 23952 <= " at Camelot.App.LoadTheme() in C:\Projects\!Avalonia\Camelot-master\src\Camelot\App.xaml.cs:line 46" 20:58:33.132 [Error] 23952 <= " at Camelot.App.LoadSettings() in C:\Projects\!Avalonia\Camelot-master\src\Camelot\App.xaml.cs:line 40" 20:58:33.133 [Error] 23952 <= " at Camelot.App.Initialize() in C:\Projects\!Avalonia\Camelot-master\src\Camelot\App.xaml.cs:line 21" 20:58:33.135 [Error] 23952 <= " at Avalonia.Controls.AppBuilderBase
1.Setup() in //src/Avalonia.Controls/AppBuilderBase.cs:line 311"
20:58:33.136 [Error] 23952 <= " at Avalonia.Controls.AppBuilderBase1.SetupWithoutStarting() in /_/src/Avalonia.Controls/AppBuilderBase.cs:line 168" 20:58:33.139 [Error] 23952 <= " at Avalonia.DesignerSupport.Remote.RemoteDesignerEntryPoint.AppInitializer
1.ConfigureApp(IAvaloniaRemoteTransportConnection transport, CommandLineArgs args, Object obj) in //src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs:line 155"
20:58:33.140 [Error] 23952 <= " at Avalonia.DesignerSupport.Remote.RemoteDesignerEntryPoint.Main(String[] cmdline) in //src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs:line 179"
20:58:33.141 [Error] 23952 <= " at Avalonia.Designer.HostApp.Program.Main(String[] args) in //src/tools/Avalonia.Designer.HostApp/Program.cs:line 48"
20:58:35.374 [Information] Process exited
20:58:35.375 [Information] Stopping previewer process
20:58:35.374 [Error] Connection error
System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
at System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult)
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult)
at System.IO.Stream.<>c.b__43_1(Stream stream, IAsyncResult asyncResult)
at System.Threading.Tasks.TaskFactory1.FromAsyncTrimPromise
1.Complete(TInstance thisRef, Func3 endMethod, IAsyncResult asyncResult, Boolean requiresSynchronization) --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Avalonia.Remote.Protocol.BsonStreamTransportConnection.<ReadExact>d__15.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Avalonia.Remote.Protocol.BsonStreamTransportConnection.<Reader>d__16.MoveNext()
I'm a new in Avalonia. So, maybe I just don't know something about project setup.
Linux Mint 20.0
running .DEB with GDebi Package Installer
https://termbin.com/xqbg
Note: file mentioned did not appear to have been created.
GDebi prompted for sudo password, and then ran, but failed with below
-----------------------begin CamelotLog-20201219.txt------------------------
2020-12-19 13:56:05.912 -05:00 [Fatal] Unhandled application error: System.UnauthorizedAccessException: Access to the path '/usr/share/Camelot/Camelot.db' is denied.
---> System.IO.IOException: Permission denied
--- End of inner exception stack trace ---
at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func2 errorRewriter) at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode) at System.IO.FileStream.OpenHandle(FileMode mode, FileShare share, FileOptions options) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) at LiteDB.Engine.FileStreamFactory.GetStream(Boolean canWrite, Boolean sequencial) at LiteDB.Engine.StreamPool.<>c__DisplayClass3_0.<.ctor>b__0() at System.Lazy
1.ViaFactory(LazyThreadSafetyMode mode)
at System.Lazy1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor) at System.Lazy
1.CreateValue()
at System.Lazy1.get_Value() at LiteDB.Engine.StreamPool.get_Writer() at LiteDB.Engine.DiskService..ctor(EngineSettings settings, Int32[] memorySegmentSizes) at LiteDB.Engine.LiteEngine..ctor(EngineSettings settings) at LiteDB.SharedEngine.OpenDatabase() at LiteDB.SharedEngine.Query(String collection, Query query) at LiteDB.LiteQueryable
1.ToDocuments()+MoveNext()
at System.Linq.Enumerable.SelectEnumerableIterator2.MoveNext() at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable
1 source, Boolean& found)
at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable1 source) at LiteDB.LiteCollection
1.FindById(BsonValue id)
at Camelot.DataAccess.LiteDb.Repository1.GetById(String id) in /home/ingvar/Code/Camelot/src/Camelot.DataAccess.LiteDb/Repository.cs:line 15 at Camelot.Services.LocalizationService.GetSavedLanguage() in /home/ingvar/Code/Camelot/src/Camelot.Services/LocalizationService.cs:line 23 at Camelot.App.LoadLanguage() in /home/ingvar/Code/Camelot/src/Camelot/App.xaml.cs:line 43 at Camelot.App.Initialize() in /home/ingvar/Code/Camelot/src/Camelot/App.xaml.cs:line 20 at Avalonia.Controls.AppBuilderBase
1.Setup()
at Avalonia.Controls.AppBuilderBase`1.SetupWithLifetime(IApplicationLifetime lifetime)
at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode)
at Camelot.Program.Main(String[] args) in /home/ingvar/Code/Camelot/src/Camelot/Program.cs:line 32
----------end CamelotLog-20201219.txt--------------
When the app starts it throws an IOException:
An exception of type 'System.IO.IOException' occurred in System.IO.FileSystem.Watcher.dll but was not handled in user code: 'The configured user limit (128) on the number of inotify instances has been reached, or the per-process limit on the number of open file descriptors has been reached.'
Info:
Camelot.FileSystemWatcherWrapper/Implementations/FileSystemWatcherWrapper.cs
Interesting in context menu in FilesPanelView with next menu
"Create new file"
"Create new folder"
"Paste"
etc
as in finder
When right-clicking an item, the row does not get highlighted. Instead, the highlight persists on the last left-clicked item.
Blinking cursor and highlighted selections remain after clicking into the file list below - until clicking into the other pane.
Maybe this is intended, but it means any keys pressed will be entered into the directory path bar even after clicking around in the file list beneath it.
Need drag & drop between FilesPanelViews
"Windows protected your PC"
"Microsoft Defender SmartScreen prevented an unrecognized app from starting. Running this app might put your PC at risk."
I'd like to be able to reorder folders that I've starred to better organize my top bar :) .
Create please package in AUR
Application version: v0.2.4
Package type: Single EXE, Windows
[..]
ang hit Enter
Navigate to a parent directory
Nothing happens
Mouse double click om [..]
works.
When trying to copy/paste a folder, it pastes the folder's contents rather than keeping them contained in a folder.
update to net5 (single apps..)
I was able to build with .NET 7, but then when launching it fails:
$ dotnet run --project src/Camelot/Camelot.csproj
You must install or update .NET to run this application.
...
Framework: 'Microsoft.NETCore.App', version '6.0.0' (arm64)
...
The following frameworks were found:
7.0.4 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
7.0.5 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Obviously, I can install 6, but I wanted to see if there is any interest in upgrading to 7, the current/stable version.
My work computer has mapped shared network drives that are only accessible when the work VPN is enabled. Windows Explorer gives an error saying the drive cannot be accessed if opening it is attempted when the VPN is off. When it is attempted in Camelot, the program force quits without any error message.
Windows 10
v0.3.0.0 SingleExe
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.