Commit graph

203 commits

Author SHA1 Message Date
Arun Prakash Jana 055439f23e Use reverse video in detail view
1. Highlight the currently selected item in reverse video.
2. Fix: remember the current item when toggling detail view.
2017-03-30 10:47:06 +05:30
Arun Prakash Jana 187835c2bb
Show modification time in detail view 2017-03-30 10:09:21 +05:30
Arun Prakash Jana 3c94193992
Show number of entries in detailed view 2017-03-30 02:45:46 +05:30
Arun Prakash Jana 98e3f22cb4
Simpler regular listing 2017-03-30 02:25:51 +05:30
Arun Prakash Jana 5c7aaa6d0d
Shows 'Cannot resolve path' on narrow terminal
noice truncates the cwd string dynamically. If the numbers of columns is lesser than the length of the path, cwd is truncated so that the correct path cannot be resolved. We should try to resolve the full path instead.
2017-03-30 02:12:44 +05:30
Arun Prakash Jana b5e0023bfc
Concise file type info in detail view
B - Block Device
C - Character Device
D - Directory
E - Executable
F - Fifo
L - Symbolic Link
R - Regular File
S - Socket
2017-03-30 02:07:39 +05:30
Arun Prakash Jana 4bf17cb7bc
Switches to toggle detail view, file size sort
1. The detailed view shows file type and size using keybind 'd'. Disabled by default.
2. Option 's' sorts dir entries by descending order of size.
2017-03-30 01:51:52 +05:30
Arun Prakash Jana c64327b4a6 Re-scan directory contents after spawning a shell
The contents of the directory may be changed from the shell by adding or deleting content. Permissions may have changed too. We must re-populate the contents of the current directory.
2017-03-29 21:43:39 +05:30
Arun Prakash Jana 56dca997b9
Various optimizations 2017-03-29 19:42:23 +05:30
Arun Prakash Jana ad0fb1df8c
Implement navigation roll over 2017-03-29 15:59:56 +05:30
Arun Prakash Jana 596da965cf Merge remote-tracking branch 'upstream/master' 2016-10-05 20:41:32 +05:30
sin 45e6fafc47 Split out default filter initialization 2016-08-22 14:10:14 +01:00
sin dd29e81df5 Make toggle dot behaviour persistent
Once set, the default filter is updated.  This means that
toggle dot will also work as expected when noice is executed
as root.

Based on discussion with Ypnose.
2016-08-22 14:07:07 +01:00
Arun Prakash Jana 0b5cdd468b
List alphabetically, case ignored (like 'ls -l'). 2016-08-21 18:17:34 +05:30
Arun Prakash Jana 4eaf071fc2
Document NOICE_FALLBAK_OPENER. 2016-08-21 16:02:03 +05:30
Arun Prakash Jana 95ca9c3a95
Support NOICE_FALLBAK_OPENER. 2016-08-21 15:49:54 +05:30
Arun Prakash Jana 8b12ac4b5c
Support NOICE_OPENER env variable. 2016-08-21 13:48:19 +05:30
Arun Prakash Jana 2958ecd040 Remove libmagic, use file command.
The magic.mgc file gets created in the local directory, opening
the global file throws unwanted messages. So we are using the o/p
of the file command to determine if the file is a plain text file.
2016-08-21 09:54:51 +05:30
Arun Prakash Jana 8cb25227b3
Fix compilation issues with -O3 optimization. 2016-08-20 21:39:47 +05:30
Arun Prakash Jana bc731cd9c0
Modify file type handling.
Use mpv, fmedia, zathura.
Invoke libmagic to identify text files and open with vim.
Use xdg-open for unhandled mimes.
2016-08-20 20:05:35 +05:30
sin 3ccbaef87b Fix initscr() crash on NetBSD
NetBSD has its own curses implementation and initscr() does not
terminate with an error if TERM is not set properly.

Instead check the return value and exit if an initialization
error occurs.
2016-03-10 17:03:12 +00:00
sin 829bcdd7d4 Add command to cd back to HOME
Original patch written by Richard Hyde and taken from
https://github.com/RichardHyde/noice
2016-02-25 15:14:08 +00:00
sin e1c26079b1 Add command to toggle hide .dot files
Patch written by Richard Hyde and taken from
https://github.com/RichardHyde/noice
2016-02-25 14:54:41 +00:00
sin de1e3394a6 Style fix 2016-02-19 14:03:06 +00:00
sin 81ec260516 Fix strlcpy() size argument
It should be the size of the destination buffer, not the source.

In this case, both src and dest have the same size.
2016-02-19 13:40:44 +00:00
sin afc0652067 Move mkpath() higher up so we don't need to declare it 2016-02-10 15:38:22 +00:00
sin 5629b49113 Move path[], oldpath[] and fltr[] inside browse() 2016-02-10 15:32:41 +00:00
sin 5456b8a36a Minor style fix 2016-02-10 15:25:10 +00:00
sin 872a0f4620 Rename global n to ndents
This is more descriptive for a global variable which
can easily be shadowed.
2016-02-10 15:16:48 +00:00
sin 414ea845bb Use dents name directly like we do in other places 2016-02-10 15:09:04 +00:00
sin 78461b8a06 Minor style fix 2016-02-08 17:22:30 +00:00
sin c27f605a62 Nuke some newlines 2016-02-08 17:08:26 +00:00
sin 9af81fdc65 Remove some const bullshit 2016-02-08 17:00:25 +00:00
sin 35ca388e9d Remove some more useless memory allocations 2016-02-08 17:00:15 +00:00
sin 9f6d1cfb33 Remove filter as you type mode
Nobody uses it and adds additional complexity.
2016-02-08 16:52:07 +00:00
sin d909de605c No need for cast in qsort callback 2016-02-08 16:46:14 +00:00
sin 65fae61bea noice: No need to perform so many memory allocations
The code was quite fragile.  As a first pass, use buffers of size
PATH_MAX and LINE_MAX accordingly until we simplify the overall logic.
2016-01-07 10:27:26 +00:00
sin 6d4166f0d6 Fix memory leak 2016-01-06 15:59:27 +00:00
sin 5fb5e9f82f Avoid another allocation 2016-01-06 15:55:25 +00:00
sin fa6b45a96d Avoid unneeded memory allocation in xdirname() 2016-01-06 15:53:04 +00:00
sin e27af6f1db sizeof(char) is always 1, no need to be explicit 2016-01-06 15:24:35 +00:00
sin a715201255 Print the resolved path for cwd
Avoids weird things like /etc/.. when displaying cwd.

Also no need for cwd to be on the heap.
2016-01-06 15:22:21 +00:00
sin 71ece08aad Add usage 2015-11-26 16:00:57 +00:00
sin 013bcdee35 Don't use printerr() before curses has been initialized 2015-11-26 15:56:08 +00:00
sin 4abc9f0b46 Don't name vars in prototypes 2015-11-26 15:35:53 +00:00
sin 29701b4878 Rename makepath() to mkpath() 2015-11-26 15:33:49 +00:00
sin 16109053f5 Only use the environment variable when it is not empty 2015-11-26 15:10:12 +00:00
sin 7ceda4f7d2 Declare var at top of block 2015-11-26 13:42:41 +00:00
Martin Kühl d1ed0cff11 Support commands specified by environment variables
Specifying commands by name in config.h means that
every time one switches ones editor (for example),
one has to modify every config.h file referencing that editor
and then recompile every corresponding program.

This change adds a string `env` for specifying an environment
variable to `struct key` and uses it to optionally specify the
command to run on SEL_{RUN,RUNARG}.
The `run` string is used as a fallback when the environment variable
has not been specified or is not set.
It also updates `config.def.h` to demonstrate this new capability.
2015-11-26 13:37:03 +00:00
sin d1d086d91e No need for strlen()
Thanks Hiltjo!
2015-11-20 17:41:11 +00:00