Commit Graph

200 Commits

Author SHA1 Message Date
sin 30ca80310a Properly handle empty filters 2015-11-20 11:55:41 +00:00
sin ea0cce7b63 Make room for null-terminator 2015-11-20 11:42:15 +00:00
sin f77b6a3fa6 Simplify readln()
Use getnstr() and be done with it.  It will even beep now!
2015-11-20 11:39:07 +00:00
sin d6e89ef07f Revert "Run screensaver after a period of idleness"
This reverts commit 1e18b85e56.

Revert until remaining issues are fixed.  The filter search expires
after 1 second of inactivity without the revert.
2015-11-14 14:52:22 +00:00
sin 62736bf43a Ignore SIGINT to allow returning back to noice when we kill the screensaver
Use 'q' to quit.
2015-11-03 17:49:07 +00:00
lostd 1e18b85e56 Run screensaver after a period of idleness 2015-11-02 03:21:41 +02:00
lostd 108996a802 Recall current item on refresh or sorting mode change 2015-07-13 00:56:51 +01:00
lostd dcde076371 Add keys to move to the first and last entry 2015-07-12 13:32:31 +01:00
lostd 4db0d0dae0 We don't want to exit the typing mode because of an error
Delay displaying the message until return is pressed.
Also contain all printwarn() calls inside browse().
2015-07-02 22:51:58 +01:00
lostd 1742598256 Escape unreadable dirs we are already into
We care about the directory we are going to, so there is no reason
to get locked inside there if the parent is readable.
2015-07-02 01:07:09 +01:00
lostd ac36d0b287 Refactor parts of browse() into populate() and redraw() 2015-07-02 00:56:47 +01:00
lostd f6fd1cc02f Sort includes 2015-06-09 09:12:17 +01:00
sin b9cac3a190 Make setfilter() regexes case-insensitive 2015-05-05 18:45:35 +01:00
Alexander Huemer 2ab57e7799 Be case insensitive for file extensions 2015-05-05 10:50:11 +01:00
lostd 3dc40acbff Key bindings to run user-defined commands 2015-03-12 16:12:01 +02:00
lostd bc11d7b201 Confirm we are in a terminal 2015-03-12 14:57:34 +02:00
sin 3682c720ba Add C-l to force a redraw
Often I am waiting for a file to download and be renamed from
.foo.part to .foo.  Forcing a redraw is a simple way to check if
the file has completed downloading.
2015-03-11 18:56:53 +00:00
lostd cdf8a429c5 Fix an unsigned conversion error 2015-02-17 19:03:51 +02:00
sin 162922b984 Move mtimeorder to config.def.h 2015-02-04 12:33:13 +00:00
sin a63aac0b11 Add 't' command to sort output by entry's mtime 2015-01-31 22:02:59 +00:00
lostd 6735c1f979 More concise comment on nextsel() 2015-01-28 22:01:26 +02:00
lostd 0aefc2f496 Change scope to always check the correct return value 2015-01-28 12:47:11 +02:00
lostd 3c45733f47 Rework readmore(), replace goto with a switch 2015-01-28 12:30:59 +02:00
lostd ab0c9e5921 Keep last valid state on regex errors 2015-01-27 14:38:37 +02:00
lostd 68be0868c6 Also treat ^H as backspace 2015-01-27 13:29:12 +02:00
lostd 84e124bb46 Basic filter-as-you-type mode 2015-01-27 10:47:57 +02:00
lostd 1295b7f0e6 Comment and cleanup 2015-01-27 09:58:32 +02:00
lostd 48e3305be8 Empty filter resets filter to the default 2015-01-27 09:55:07 +02:00
lostd 9679e132d4 Fix segfault when a non-matching filter is applied twice 2015-01-27 09:47:56 +02:00
lostd 57642a9410 Match the whole path to enable associations based on a prefix dir 2015-01-12 00:28:54 +02:00
sin 3b5fe15166 Simplify condition 2014-12-20 21:51:27 +00:00
sin 3fa6a6272c Simplify visible() 2014-12-20 21:51:27 +00:00
sin d907c3f994 Remove unnecessary curly brackets 2014-12-20 21:51:27 +00:00
lostd 905b74161e Remove unnecessary label 2014-12-18 11:13:45 +02:00
Hiltjo Posthuma 81a0c57783 no need to check for NULL before free 2014-12-18 11:02:34 +02:00
Hiltjo Posthuma d444bf1cb6 style: dont declare vars inline 2014-12-18 11:02:34 +02:00
Hiltjo Posthuma 446fc35593 remove unused variables 2014-12-18 11:02:34 +02:00
Hiltjo Posthuma a7b29afcef regexec: check on success return code
on OpenBSD: "Other non-zero error codes may be returned in exceptional
situations; see DIAGNOSTICS" regcomp(3).
2014-12-18 11:02:34 +02:00
lostd 414c9e27fc Fix whitespace 2014-11-26 18:09:03 +02:00
lostd 15a7a78264 Remember current entry accross filter changes 2014-11-26 17:43:45 +02:00
lostd 55d45dd39d Don't care about cur, it defaults to 0 2014-11-26 17:43:45 +02:00
lostd 3f1a93a598 Simplify default regexes 2014-11-25 17:20:06 +02:00
sin 3e8555fdc6 Add a simple dprintf() implementation for systems that do not have it 2014-11-14 13:05:17 +00:00
sin 3639f1bbb4 Just use xstrdup() in makepath() 2014-11-14 12:50:41 +00:00
sin f4b5df5b3a Replace asprintf() with strlcpy() and strlcat() 2014-11-14 10:26:46 +00:00
lostd cc88af72ca Same functionality using lstat(2) instead of fstatat(2) 2014-11-13 18:49:57 +02:00
sin ca07068dcb Update error to reflect actual syscall 2014-11-06 14:41:16 +00:00
lostd 6b7c2506db Expose key bindings in the configuration header 2014-11-06 13:46:37 +02:00
lostd ef3bfef454 Now nextsel() just maps keys to actions 2014-11-06 10:54:20 +02:00
lostd 77565ecdb8 Style fix in a comment 2014-11-01 01:56:26 +02:00
lostd 12da2ff028 Emulate ls -F completely including sockets and FIFOs 2014-11-01 01:55:26 +02:00
lostd 9a14dcd8d2 Revert "No need to manually strip trailing slashes"
This reverts commit abd301333d.
2014-10-23 18:38:00 +03:00
lostd 70d292ed24 We don't use realpath(3) anymore 2014-10-23 18:12:17 +03:00
lostd 24567ce6f5 Get rid of the LIFO history, an oldpath is enough 2014-10-23 18:10:45 +03:00
lostd 4b1b156a3b If you call makepath() with an absolute name it returns a copy of it 2014-10-23 17:53:26 +03:00
lostd 9407399230 Don't attempt to go back if on the relative root 2014-10-23 17:39:39 +03:00
lostd 8d4019f3aa Only use chdir(3) just before spawning a shell 2014-10-23 17:37:12 +03:00
lostd a606073296 Try to open file to see access errors on the status bar 2014-10-23 00:31:45 +03:00
lostd d84c3b1079 Only free history path if it is valid 2014-10-22 22:32:45 +03:00
lostd aa555a3b35 Keep history based on paths instead of positions 2014-10-22 21:05:59 +03:00
sin 8d018e620f realloc() behaves like free() if size is 0 2014-10-22 17:57:59 +01:00
sin 11ca2b408d Some systems define this already. 2014-10-22 17:41:16 +01:00
sin 1c467fce7a Style fix 2014-10-22 17:31:08 +01:00
sin 0e214e23b7 Call dentfree() when we quit 2014-10-22 17:28:27 +01:00
sin 789f9336f4 Rename testopendir() to canopendir() 2014-10-22 17:26:35 +01:00
sin 48f9c5a79d Test if we can back out/enter directories 2014-10-22 17:25:25 +01:00
sin aedec0ddf3 Add pushhist(), pophist() and forgethist() 2014-10-22 17:08:50 +01:00
sin 1183a9428f Save one level of indentation 2014-10-22 16:56:31 +01:00
sin b39da16920 Vertical spacing fixes 2014-10-22 16:55:26 +01:00
sin bc69021233 Save one level of indentation 2014-10-22 16:53:38 +01:00
sin 05957936f5 Use fstatat() wherever possible 2014-10-22 16:50:30 +01:00
sin b06a4d4eeb Initialize `n' and `dents' 2014-10-22 16:34:16 +01:00
sin ce599b8e6b Check getch() against ERR 2014-10-22 16:30:27 +01:00
sin c6614067e4 Remember to set dents to NULL 2014-10-22 16:29:18 +01:00
sin dbac1486c6 Include sys/wait.h for waitpid() 2014-10-22 16:27:08 +01:00
sin ce1fcfc7b8 Remove unused vars 2014-10-22 16:26:14 +01:00
sin 32bce991be Add dentfill() and dentfree() 2014-10-22 16:22:05 +01:00
lostd 5335be5832 Functions for setting and clearing the prompt 2014-10-22 17:54:13 +03:00
lostd 0809871aeb Free tmp string if dirname fails 2014-10-22 17:21:53 +03:00
sin 9bc4b92474 No need for a temporary buffer
xdirname() uses xstrdup() internally so we are safe to use that
pointer directly.
2014-10-22 15:14:33 +01:00
sin 35f3b250bb Only free() after xstrdup() 2014-10-22 15:05:14 +01:00
lostd 36cf4136b5 Add xdirname() again and give dirname(3) another chance 2014-10-22 17:02:15 +03:00
sin 577e0284a1 Remove xdirname()
dirname(3) should be shot to death.
2014-10-22 14:44:27 +01:00
sin ef7082b691 Use stat() instead of open() + fstat() 2014-10-22 14:33:17 +01:00
lostd 5aceade801 Forget all history on manual dir change 2014-10-22 16:30:14 +03:00
sin 75143cd93e Add xdirname() to avoid quirks with dirname(3) 2014-10-22 14:22:55 +01:00
sin abd301333d No need to manually strip trailing slashes
We use realpath() now.
2014-10-22 14:18:15 +01:00
sin 9d25101ad9 Add xstrdup() and xrealpath() 2014-10-22 14:15:27 +01:00
sin 7d4d60e778 Add xmalloc() + xrealloc() 2014-10-22 14:10:04 +01:00
sin 8326a75762 printerr() should print to stderr 2014-10-22 14:08:16 +01:00
sin 12106af2a7 Update outdated comment 2014-10-21 16:34:31 +01:00
sin 3808dde641 Always use realpath() and properly chdir() so relative changes via 'c' work 2014-10-21 15:53:12 +01:00
sin 56252bdf98 Add '*' suffix to executables 2014-10-21 15:36:23 +01:00
sin cfd530b167 Fix segfault in readln()
This could be reproduced simply by doing: [TAB] and backspacing
a few times.
2014-10-21 15:29:35 +01:00
sin 330adc995f No need to strdup() 2014-10-21 15:17:44 +01:00
sin 61bc5cd817 Add 'c' command to change into a destination directory by typing the path 2014-10-21 15:14:04 +01:00
sin 58f897fead Add missing break 2014-10-21 14:58:04 +01:00
sin 65b8aa2ab0 Add SEL_SH and bring out spawning of the shell in the main loop 2014-10-21 14:54:32 +01:00
sin d53e604cc2 Add '!' command to spawn a shell in cwd 2014-10-21 14:21:12 +01:00
sin 3bc66a43a7 Show hidden files if run as root 2014-10-21 12:03:53 +01:00