This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
Creator's profile picture

FileX: a powerful file eXplorer with GUI![Big Update!][Open with...]

Started by Creator, 22 February 2015 - 10:00 PM
Creator #1
Posted 22 February 2015 - 11:00 PM
What is FileX?

Are you sick of all the files explorers that have a mediocre GUI? Are you tired of file explorers with limited functionallity? Your search has come to an end! Meet FileX, the file exlorer with in-built GUI for easy visualisation of the files.

Screenshots please!


Here you go:

Main screen:




File options:



Folder options:



Optins when-you-click-on-blank:






I like the program, but how do I install it.

Run this in the terminal:



pastebin run AVqAFH8h

GoalsYou are free to give suggestions.

In conclusion to this wall of post, you are free to use the program, even in a OS, as long as you give me credit. You have the right to send me pictures of your uses of the program.

If you download the program, feel free to +1, so other people can discover the content. Leave ant comments on about anything you want.
InDieTasten #2
Posted 22 February 2015 - 11:07 PM
You're a criminal ;D
Creator #3
Posted 22 February 2015 - 11:08 PM

I like your logical reasoning. ;)/>

But comments that are useful are not forbidden! :)/>
InDieTasten #4
Posted 22 February 2015 - 11:18 PM
Looks nice from the screenshots, although I wasn't ever in need of file explorers in computercraft. But for beginners with few command line experience this would definitely improve their understanding on whats going on on the terminal and filesystem. Although you can't run away from it when you want to write your own applications using the filesystem.

I would give it an upvote, but I've just seen too many explorers out in the wild^^
Creator #5
Posted 23 February 2015 - 05:33 PM
If you don't leave comments I'll assume you aren't interested in my work and I'll stop posting programs and keep them to myself.
Edited on 23 February 2015 - 04:33 PM
Luca_S #6
Posted 23 February 2015 - 05:46 PM
Only programs, that are bad gain much comments, because there are so many bug reports/etc. if your Program is good, noone found a bug/thinks something needs to be added!
InDieTasten #7
Posted 23 February 2015 - 05:50 PM
I would guess most people on the forums already have or don't need a file browser ;)/> Everyones work is appreciated on the forums. A file browser just isn't as special to me than for example a tower defense game or something along these lines. The really advanced people won't use it, and beginners struggle with your "pastebun" line getting "File not found" error and then messing around with stuff that works with no effort. But don't get mad, please

There are just some sorts of programs, that we have seen a little too much. Firstly so called Operating Systems with 3KB file size and there have been quite a few file browsers here also. It's nothing wrong with your post or your program, it's just nothing special to the most of the community I would assume ;)/>
Creator #8
Posted 23 February 2015 - 05:52 PM
I would guess most people on the forums already have or don't need a file browser ;)/> Everyones work is appreciated on the forums. A file browser just isn't as special to me than for example a tower defense game or something along these lines. The really advanced people won't use it, and beginners struggle with your "pastebun" line getting "File not found" error and then messing around with stuff that works with no effort. But don't get mad, please

There are just some sorts of programs, that we have seen a little too much. Firstly so called Operating Systems with 3KB file size and there have been quite a few file browsers here also. It's nothing wrong with your post or your program, it's just nothing special to the most of the community I would assume ;)/>

Thank you for the pastebun. Just corrected it. ;)/>

Keine Sorgen, ich bin nicht veraergert.
InDieTasten #9
Posted 23 February 2015 - 05:59 PM
Glad to read that :)/> Text can be interpreted in many ways, including bad ways.
Also note, the forum rules do not allow posts in a language other than English. So be careful with that, although it's tempting to write to fellow countrymen in native language
InDieTasten #10
Posted 23 February 2015 - 06:07 PM
I've just took a peak at your code and am surprised, positively :)/>
Your code is really clean and effective. One notices you aren't a noob for sure. I like your style. It's a real improvement to what it looked like in your IPnet. Theres just one question left:
What is it that you are backing up textutils.(un)serialize in like every script you post ?
Creator #11
Posted 23 February 2015 - 06:11 PM
Glad to read that :)/> Text can be interpreted in many ways, including bad ways.
Also note, the forum rules do not allow posts in a language other than English. So be careful with that, although it's tempting to write to fellow countrymen in native language

Yesterday a saw a whole conversation in Spanish. It was a Spanish guy who had a very bad english and asked anothe spanish speaking guy to translate his OS. About the post I just feelsatisfied when people disscuss the program and share ideas.

I've just took a peak at your code and am surprised, positively :)/>
Your code is really clean and effective. One notices you aren't a noob for sure. I like your style. It's a real improvement to what it looked like in your IPnet. Theres just one question left:
What is it that you are backing up textutils.(un)serialize in like every script you post ?

I do that because it will save textutils.serialize to textutilsserialize. The when i call textutilsserialize it won't have to look through the textutils file to find serialize, which will result in an increase of the performance.
InDieTasten #12
Posted 23 February 2015 - 06:19 PM
yeah… well… the performance gain won't be this great without calling it like 50 times per second, which you certainly not do. And textutils is a globally defined table, it looks it up in the table, not the file. I mean, it's ok to do that, but it shouldn't matter.
Creator #13
Posted 23 February 2015 - 06:56 PM
yeah… well… the performance gain won't be this great without calling it like 50 times per second, which you certainly not do. And textutils is a globally defined table, it looks it up in the table, not the file. I mean, it's ok to do that, but it shouldn't matter.

For every program you do this there will be a small performance gain. When it sums up, it may become significant.
MKlegoman357 #14
Posted 23 February 2015 - 09:25 PM
For every program you do this there will be a small performance gain. When it sums up, it may become significant.

Unless you're planning to call that function a few million times per second you shouldn't be worrying about that ;)/>. And, as InDieTasten said, it's not opening a file every time it needs to get that function, it just indexes a table. But it is true, that in Lua saving a global function, or function which is in a table, in a local variable is faster.
Creator #15
Posted 24 February 2015 - 03:21 PM
BIG UPDATE!!!

Ugly dialogBox for file & folder options replaced with elegant looking DropDown menu!!!

Here you have screenshots:

Before:



After:

Edited on 24 February 2015 - 02:28 PM
Creator #16
Posted 26 February 2015 - 09:26 PM
Fixed: There was a bug that made the program crash.
Creator #17
Posted 27 February 2015 - 07:27 PM
Big update!

New features:

- added the ability to open a file with a certain program!
- added copy function for files!
- doesn't work for foldres, returns "599: File exists"
Edited on 27 February 2015 - 06:47 PM
davidgumazon #18
Posted 15 March 2015 - 04:39 AM
Nice Explorer ;)/> not much eating free space
Creator #19
Posted 15 March 2015 - 04:02 PM
Nice Explorer ;)/> not much eating free space

Thanx.

What do you mean by "not much eating free space"?
davidgumazon #20
Posted 18 March 2015 - 04:42 PM
Nice Explorer ;)/> not much eating free space

Thanx.

What do you mean by "not much eating free space"?
yep im using default free space not infinite cuz i like normal :lol:/>
ill Decompile everyone's Idea and insert to my Super Computer
Creator #21
Posted 18 March 2015 - 05:51 PM
Nice Explorer ;)/> not much eating free space

Thanx.

What do you mean by "not much eating free space"?
yep im using default free space not infinite cuz i like normal :lol:/>
ill Decompile everyone's Idea and insert to my Super Computer

Oh, you mean it does not take up a ton of space ;)/>.

Yep, it is "only" around 700 lines, with the folder and file icons included
Creator #22
Posted 06 April 2015 - 06:42 PM
New update (soon):
- recoding for compatibility with interact.
- fixing some gui annoyances

To be patient, the key is.
Umbre0n #23
Posted 06 April 2015 - 07:31 PM
Suggestions:
-allow to write path directly on the bottom line (if path doesn't exist then go back to root)
-add mouse wheel for scroll
-remove 'cancel' for menu and allow to get out of it by clicking outside of it

If you already planned these, then I don't have anything to say. The gui is nice, the controls are ok. It's a good file explorer!
Creator #24
Posted 06 April 2015 - 09:21 PM
Suggestions:
-allow to write path directly on the bottom line (if path doesn't exist then go back to root)
-add mouse wheel for scroll
-remove 'cancel' for menu and allow to get out of it by clicking outside of it

If you already planned these, then I don't have anything to say. The gui is nice, the controls are ok. It's a good file explorer!

Yep, these are some good suggestions.

Thanks;)

T'est francais/e?
Edited on 06 April 2015 - 07:21 PM
LDDestroier #25
Posted 08 April 2015 - 11:25 AM
I got suggestions!
- Network file hosting, like an FTP server. An actual FTP server, which sends any file in a folder on request, with ID white/blacklists, forever.
- Along with that, a means of connecting to the FTP server and viewing the contents that you have permission to in the normal folder icon interface.
(the file structure would go like this:
/
rom/
filex
filexserv/
|| server_name_1/ –Could be named anything, and houses the whole server. For organization.
|| || sec –The file containing, for each data folder, either a password, an ID white/blacklist, or both. Also contains a string name that's shown when connecting to a server from the FileX client. Is not manually made, instead made through a premade GUI.
|| || data1/ –Contains the files and folders you actually see when connecting.
|| || || files…
|| || data2/ –Another folder with different data
|| || || other files…


contents of /filexserv/server_name_1/sec {


--Lists all passwords and whitelists for servers.

servers = {
    server1 = {
        serverName = "server_name_1"
        serverPassword = "swordfish"
        serverWhitelist = {1,2,5,78,389,390,391}
        serverBlacklist = {8,9}
    }
    server2 = {
        serverName = "server_name_2"
        serverPassword = nil
        serverWhitelist = {}
        serverBlacklist = {8,9}
    }


end of contents

Get what I'm saying?
)

BTW, I saw your thing about 215 posts. If you respond, then we'll both have 216!
Akitake #26
Posted 08 April 2015 - 03:41 PM
Nice work Creator :D/>
I'll be using this in my personnal OS I'm making.

PS: Je suis français ;')
Creator #27
Posted 08 April 2015 - 04:31 PM
I got suggestions!
- Network file hosting, like an FTP server. An actual FTP server, which sends any file in a folder on request, with ID white/blacklists, forever.
- Along with that, a means of connecting to the FTP server and viewing the contents that you have permission to in the normal folder icon interface.
(the file structure would go like this:
/
rom/
filex
filexserv/
|| server_name_1/ –Could be named anything, and houses the whole server. For organization.
|| || sec –The file containing, for each data folder, either a password, an ID white/blacklist, or both. Also contains a string name that's shown when connecting to a server from the FileX client. Is not manually made, instead made through a premade GUI.
|| || data1/ –Contains the files and folders you actually see when connecting.
|| || || files…
|| || data2/ –Another folder with different data
|| || || other files…


contents of /filexserv/server_name_1/sec {


--Lists all passwords and whitelists for servers.

servers = {
	server1 = {
		serverName = "server_name_1"
		serverPassword = "swordfish"
		serverWhitelist = {1,2,5,78,389,390,391}
		serverBlacklist = {8,9}
	}
	server2 = {
		serverName = "server_name_2"
		serverPassword = nil
		serverWhitelist = {}
		serverBlacklist = {8,9}
	}


end of contents

Get what I'm saying?
)

BTW, I saw your thing about 215 posts. If you respond, then we'll both have 216!

This already exists. It's called FileNet and is hidden somewhere on the forums. Actually, I firstly developed FileNet as a test app for IPnet and then modified it to create the glorious FileX. ;)/>

Nice work Creator :D/>
I'll be using this in my personnal OS I'm making.

PS: Je suis français ;')

Thanks. What is your OS called and do you plan on publishing it?
Edited on 08 April 2015 - 02:31 PM
Akitake #28
Posted 09 April 2015 - 11:35 AM
I don't have a proper name for it yet, not like it matters since almost everything will be changeable from config files.
I don't know if I want to release it either, I'm still at the stage of making a bunch of APIs to make the code cleaner.
I'll also have my own installer, with custom path for the OS, bundled APIs, auto terminal-type detection (the main OS code will remain the same, but if you are using a non-advanced terminal for instance, then the apis will adapt), and also a few options in there.
Also, it will have monitor support, and will automatically adapt its size to the display you decide to boot it on.
Oh and uhm, something that I've seen missing from OSes lately: auto updating time display without requiring an event to happen for the screen to refresh. (People just don't seem to know how to do it nowadays)

I'll be asking authorization to you if I ever decide to release it with FileX as its file browser.
Creator #29
Posted 09 April 2015 - 04:46 PM
I don't have a proper name for it yet, not like it matters since almost everything will be changeable from config files.
I don't know if I want to release it either, I'm still at the stage of making a bunch of APIs to make the code cleaner.
I'll also have my own installer, with custom path for the OS, bundled APIs, auto terminal-type detection (the main OS code will remain the same, but if you are using a non-advanced terminal for instance, then the apis will adapt), and also a few options in there.
Also, it will have monitor support, and will automatically adapt its size to the display you decide to boot it on.
Oh and uhm, something that I've seen missing from OSes lately: auto updating time display without requiring an event to happen for the screen to refresh. (People just don't seem to know how to do it nowadays)

I'll be asking authorization to you if I ever decide to release it with FileX as its file browser.

Sounds promising. ;)/>
LDDestroier #30
Posted 11 April 2015 - 04:25 AM
I looked at your FIleNet, and it looks dreadfully complicated. Why not just add the server/client aspects into FileX, built in?
Creator #31
Posted 11 April 2015 - 05:08 PM
That may be a good idea.
LDDestroier #32
Posted 23 April 2015 - 02:15 AM
Got any progress mashing FileNet and FileX?
Creator #33
Posted 23 April 2015 - 10:14 AM
I am workin on OmniOS. When I implement IPnet, then I'll worry about FileX/FileNet
LDDestroier #34
Posted 03 May 2015 - 04:37 AM
Ingame, I can't use the mouse scrollwheel to scroll in a folder. Also, what appears to be a scrollbar doesn't work when clicked and dragged, nor does it mvoe when I scroll with the arrow keys. Please fix!
Creator #35
Posted 03 May 2015 - 09:31 AM
The scrollbar is just there for the looks;) However I will fix this.
CoolGabrijel #36
Posted 11 May 2015 - 10:52 AM
Looks awesome but I didn't download it (btw +1)
My experience from coding this must've took a LOOOONG time to make
Tho I just don't need it from the project I'm doing
I don't have any suggestions
Creator #37
Posted 11 May 2015 - 05:40 PM
Thanks, it is nice someone appreciates the effort. :)/>
What is your project?
ebernerd #38
Posted 19 July 2015 - 02:13 AM
I like this. :)/> Can I include this in LimeFyre, but with a couple of edits? Ofc you'd still get full credit, I just wanna play with the colors and stuff like that.
Creator #39
Posted 19 July 2015 - 05:54 AM
Sure! You are welcome.
CherryPie #40
Posted 05 August 2015 - 01:50 PM
*X Files theme plays*
Creator #41
Posted 05 August 2015 - 03:35 PM
I was watching the X files yesterday. Coincidence? I don't think so!

Else, how do you like it?
jacob7ism #42
Posted 24 October 2015 - 11:15 PM
print("11/10 - 'Would eXplore again.'")
:D/>

Could I use this in my OS? :o/>
btw my "os" that i am making may or may not be published and right now it's just a hobby getting to know how to use lua/cc coding c:
Creator #43
Posted 24 October 2015 - 11:26 PM
Yep, feel free to use it.