-
-
Notifications
You must be signed in to change notification settings - Fork 762
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ToDo list #448
Comments
Is there any future possibility of having nnn as a completely standalone binary without dependenices? This would make it much easier to install using terminal plugin managers such as zinit etc. |
There are 2 options:
|
Would you consider setting up a build and release for a statically compiled binary for your coming releases? |
I'm writing my own opener and I feel it's awkward to tell nnn about my opener through an environment variable, and then tell nnn about my opener's behavior as a CLI option. Would it be possible for the |
Why do you specifically need an env var? Why not use an alias |
An alias would only be usable by a shell. So if I spawn nnn from
something that isn't a shell (a window manager in my case, but it
could be anything) I would either need to supply the -c argument
everywhere nnn is called (assuming I always want that behavior) or
call the nnn alias from an interactive shell (`sh -ic n`) so the
shell can interpret the alias. This is the reason `less` has the
aforementioned LESS environment variable.
Another reason for this is that defining the opener (NNN_OPENER)
alongside the behavior of the opener (`-c`) would fit well together,
since those settings correlate with each other (a cli-only opener
will always want `-c` and vice versa).
|
If that's the concern, add a script in your PATH which calls |
The reason we want to reduce env vars is reading in env vars is much slower wrt. reading in an option. We want to keep the startup time blazing fast. |
The reason we want to reduce env vars is reading in env vars is much slower wrt. reading in an option. We want to keep the startup time blazing fast.
In that case can't we hit two birds with one stone and replace some of the existing variables with CLI options, and then have an NNN variable for setting the default CLI flags?
As far as making a script that calls nnn with the options that I want, that would work in my case, but I still don't think it's a clean solution. For example if I wanted to call nnn from a script (to use as a file picker, for instance) and retain the user's nnn settings (maybe someone wants to start in nav-as-you-type mode or something) I can't expect the user to have this "n" script on their path.
|
There aren't any binary ones left (on master) other than The opener can be a CLI opener (which can spawn GUI apps too if you spawn GUI apps in the bg like The best we can do is - scrap Adding @maximbaz for his inputs on this. |
I was wrong. Many users have mimeopen on *BSD. |
Sorry jarun, so how is the keybind? i feel stupid using nnn, can't move nor delete files:( all i had to do is check the folder/file with nnn and then exit nnn and do mv or cp or rm :'( |
I'll try to get to CircleCI this week, but if you have time, feel free to just do it 👍 Do you have some numbers, how much time is saved by removing environment variables? Just curious. I still feel a bit weird about making an exception for |
One more random thought on why environment variables are convenient: I normally use |
@alfianguide all keybinds are fixed. Move to master. Did you read program docs? See the program help using ?. To move files:
To remove files: press ^X on the file followed by Please read the docs. We spent a lot of time writing those. The para on selection is here - https://github.com/jarun/nnn/wiki#selection Workflows in |
I tried, hit some issues. Do not have the bandwidth to experiment.
I don't have numbers but I did see binary size decrease when I removed xgetenv. Also, try analytically - getenv scans a number of env variables by matching against the one you need. It's a flat list. Type On the other hand, options are driven by what you use. If none, no matches performed. NNN_TRASH is more about guarantee from accidentally deleting files.
Happens to me too. But only 4 or 5 people write and debug |
@AN3223 I have spent some quality time thinking about it and my decision is to stick to the current mechanism. Most people do not write their own openers and if you are capable of writing one, you have probably read the in-file
The current design was the result of a discussion between @KlzXS @DinoPetrucci and me in issue #334. We can't move back and forth on trivia. It's final. |
Merging key bindings and removing file name from status bar are nice additions, thanks. I ran into a strange problem yesterday: I tend to use the batch renaming functionality when I need to rename files in nnn, usually because I can't use vi-command key bindings of Readline at nnn's ^R prompt. I didn't have any problems with it so far (except when window size is set in .vimrc without checking for gui_running, it initially gives a waterfall effect as one scrolls down). However, when I used ^R to rename a file with a rather long name, nnn displayed only the first 128 characters of the file name, e.g. ^R on a file named "0..0128gone" displays "0..0128" at the nnn prompt, and when the '8' is deleted, no more characters can be entered either, although neither batch renaming inside nnn nor renaming with the mv command at shell prompt, inside or outside nnn, has any problems with renaming the same file from "0..0128gone" to "0..0128not gone". |
More readline bindings are supported at the native prompt now with PR #452.
Please confirm if it works with commit c434d8d. |
@jarun I just realized that ^S is bound to start a plugin. That's quite an unlucky bind as it is also the control sequence that locks terminal output, ^Q unlocks it. |
By the way, you can use ^S and ^Q if you run |
I don't actually use it myself but that's great info, we should probably document it somewhere.
|
I've been using nnn for a few weeks now and have a couple suggestions and comments. I hope this is the right thread to make them in.
Thanks for the program. I switched from nautilus and nnn is so so so much better. |
Selected files can be of different types. Have a plugin that does this.
Use a plugin which can launch an app in the background.
https://en.wikipedia.org/wiki/Control_key#Notation
I tried this on master - select a file, deselect, go to another dir and press ^P. No noti and it shows 0 selected message.
It's disabled by default. Do not set it. And in master it is in fact a program option -
That's not the
People are no more afraid of CLI programs. They miss every convenience in GUI apps and do not bother about the time that's saved. From what I have learnt there will always be users whose use case is browsing images in the terminal (using third-party utilities which need the caller program to pass the image dimensions to them) and renaming them. Nothing wrong about it, Now that cannot be everyone's cup of tea. And I am fine with that. There are so many other nice utilities out there. End users should pick the one that suits their workflows and be happy. |
A personal story - I know successful engineer colleagues (no joke till this part, they are good) who are eagerly looking forward to move over to Linux for the past few years but cannot do so because they may not be able to watch movies in it or their wives may not be able to use it. I would like |
I think we can have the |
True, I hadn't considered this as I only do this when attempting to open multiple of buffers in
I've been using
I see what it is now. Pressing
The only options I have set are
Understood and well said. From where I'm sitting this ethos has served this program well, because
Should I? I'm not a coder and have always looked at PRs as something for people far more capable than myself. |
I was suggesting to have a plugin like nuke, not nuke itself. You'll have an additional keybind anyway. I will check the | thing. Session stores config. -Q was added recently. |
Hello, I have next options in .bashrc:
But after update to 2.9 I cannot use |
e and p are gone. Please view plugin docs or man page to see how to bind editor and pager. You'll have to run those commands as plugins. |
#446 (comment) # but really I'd suggest you provide a editor and pager script, as maintaining that patch isn't going to be fun unless you intend to keep up with Edit: spelling |
Ok, thanks! How about adding owner info to detail view? And how can I view photo on right side of terminal? Now I use |
Updated. Thanks!
Adding the calls to view owner name and group increases the memory usage of the program heavily (because they lead to parsing of owner and group info files in the system). To quickly see these info use the plugin
You can't with
Press t or ^T. |
@jarun thanks for your work, I find the A question: why |
@alosich That's because cp and mv are omnipresent and the operations are tightly coupled to the concept of a file manager. You are still free to have your own plugin(s) to do these. |
In fact, if you implement these plugins please contribute back. ;c and ;m would be excellent bindings. |
I need to implement |
See if rsync can be done in the background. |
Rolled from #386.
For next release
-e
replacesNNN_USE_EDITOR
-t
replacesNNN_IDLE_TIMEOUT
umount
sshfs
andrclone
to prompt intelligentlynuke
:glow
as Markdown viewernuke
: refactor, handle some common video types by extensionnnn
creates xdg-open zombiesProposed features and tasks (up for grabs)
nnn.vim
plugin to show a persistent bar (Support vim popup mcchrish/nnn.vim#46)nnn
pluginsAnything else which would add value (please discuss in this thread).
List of completed features and tasks.
The text was updated successfully, but these errors were encountered: