Commit Graph

161 Commits

Author SHA1 Message Date
e1b0831854 Don't reload on sort changes
It is unexpected behaviour, and likes to take too long.
2021-09-26 09:38:16 +02:00
4e93dfbb8d Add a comment about libacl
So that I don't repeat my actions in the future.
2021-09-26 09:19:54 +02:00
8a6bb54eb5 Ignore empty XDG_CONFIG_DIRS
As the specification says we should.  GLib does this as well.

It is still possible to achieve an empty set by using ":",
which are two non-absolute paths that should be ignored.
GLib doesn't implement this.  Thus, we're now better than GLib.
2021-09-26 08:59:57 +02:00
4ef7c9edf7 Makefile: make the static build a non-phony target 2021-07-19 09:28:50 +02:00
3eea106c3c Explicitly disable GCC's -Wmisleading-indentation 2021-07-19 09:23:28 +02:00
7de8c84e8f Fix a signedness compiler warning 2021-07-19 09:12:17 +02:00
e17c5e2083 Bind F6 to a rename prompt
Mostly just so that the F7 binding isn't completely alone.

Since Shift-F6 isn't something we can just bind to, use a prefill.
2021-07-17 14:47:50 +02:00
9bd3739122 Bind F7 to an mkdir prompt
This might have needed more thought, but we'll see.
2021-07-17 14:41:57 +02:00
ec1f1031cc Implement search iteration
The interactive search now has its own keymap, overriding "input".

Closes #5
2021-07-17 14:19:37 +02:00
bc99b3dd48 Add a right-side prompt to the search 2021-07-17 13:04:42 +02:00
e948741864 Enable pushing the search in a certain direction
We want to make it possible to iterate all current matches.
2021-07-17 08:49:54 +02:00
0adbac2066 Make search() return the number of matches 2021-07-17 07:54:03 +02:00
2238db5a4e Make removing characters invoke g.editor_on_change 2021-07-17 07:24:16 +02:00
98612f5492 Improve C-char parsing
I was hoping that a superoptimiser would help me find a miraculous
branchless equation to cover it, but in the end the branching
doesn't hurt at all in our case.

It's more readable than `(((char >> 2) - 0x38) & 0x60) ^ char`
or `(char ^ 0x40) & (((char >> 1) ^ 0x20) | 0x5f)`.
2021-07-09 05:16:37 +02:00
1034321f81 sdn-install: explain why -dot is experimental
Add an explanatory link, so that I don't need to look it up again.
2021-07-07 22:13:46 +02:00
e7da32160c Makefile: fix version extraction
Regression introduced by cc59fcf.
2021-07-07 21:21:52 +02:00
fdb338fe12 Allow binding to custom key sequences
And document this feature in the manual page.
2021-07-07 21:21:32 +02:00
9056ef4194 README.adoc: make use of the "plus" attribute 2020-11-07 03:22:51 +01:00
b8a4742fb9 sdn.1: refer to a better manual page 2020-11-05 01:24:05 +01:00
c999e5a8e4 sdn.1: take care about sentence spacing
For more info, see e.g.
https://github.com/asciidoc/asciidoc-py3/issues/137

I'll probably commit to mandoc here but scdoc is appealing.

Somewhat sadly, it explicitly suppresses sentence spacing
but I'm wondering whether it couldn't be reimplemented better,
in a more AsciiDoc-like fashion.
2020-10-29 19:22:20 +01:00
07ef834a1e Include a header required for kill()
Yet, this program remains fairly unportable.
2020-10-29 03:24:37 +01:00
997f5c25a2 sdn.1: improve wording about envvars 2020-10-27 14:58:23 +01:00
39e68a977c sdn.1: fix default key binding references 2020-10-27 14:46:04 +01:00
c20d3780b2 Make the manpages mostly acceptable
Closes #1
2020-10-27 04:17:52 +01:00
22725ba3b7 Update README.adoc
I've put the project in AUR, it seems to deserve it.
2020-10-27 01:16:07 +01:00
df046bb071 Add some mediocre manpages
I'm not particularly happy to write in mdoc but here goes.
2020-10-26 20:46:09 +01:00
0c1a8d9902 Implement the --version option
Since we have a version number at all, even if it's meaningless.
2020-10-26 19:07:47 +01:00
cc59fcfb41 CMakeLists.txt: cleanup 2020-10-26 18:56:14 +01:00
c88566e7bb Bind F1 to show the help 2020-10-25 08:19:49 +01:00
39c840cd74 Mark a minor issue for later resolution 2020-10-24 19:28:11 +02:00
f231828e8d sdn-install: bash: fix UTF-8 collisions 2020-10-24 19:27:07 +02:00
1318c4983f Makefile: make portable, support static linking
We can happily stick to POSIX and the usual variable names,
with the following exceptions:
 - pkg-config(1) is used to find libraries and compile flags
 - the new "static" target uses non-standard compiler
   and linker flags, though it's not the default target

sdn is predestined for wild distribution,
even the dynamically linked libc is rather suboptimal.
2020-10-23 08:22:59 +02:00
c503954f44 Cleanup
The wchar_t variant of compute_width() is no longer needed.

So all in all the better help has saved code.
2020-10-23 07:53:37 +02:00
77973fc026 Group help message by action
Considerably more useful and concise.
2020-10-23 03:51:26 +02:00
61be9528e4 Bind M-Up to the "parent" action
Taken from Windows Explorer, which previously used Backspace.

We might want to use h/l for parent/choose by default.
2020-10-23 03:38:47 +02:00
2313485970 Bind C-d in the editor
We do get these as a key, after all.

Closes #4
2020-10-23 01:37:14 +02:00
20c883fb8a Implement C-v in the editor
Not completely happy with the explicit `halfdelay (1)`.

Updates #4
2020-10-23 01:37:07 +02:00
bbf97f6d3d Implement C-u C-k in the editor
Updates #4
2020-10-23 01:21:25 +02:00
706795c85c Cleanup 2020-10-22 00:51:57 +02:00
e8eaa2366a Implement Delete in the editor
Not caring about C-d right now, we might have to convince the tty
to send it to us--I'm not sure if it does, or returns EOF.

Updates #4
2020-10-22 00:06:41 +02:00
12d8f6a931 Implement C-a C-e C-b C-f in the editor
Updates #4
2020-10-21 23:57:16 +02:00
5d0c105b10 Make backspace erase combining characters
They might not be even printed correctly, though.

Updates #4
2020-10-21 23:56:51 +02:00
33a8e26efc Track cursor position in the editor
Updates #4
2020-10-21 23:55:01 +02:00
bbd23187bc Minor fix-ups and adjustments 2020-10-21 08:34:32 +02:00
a0eacf4607 Add an installation script
Copying snippets from the README was uncomfortable and laborious,
and wasted a lot of space in the document, especially after
the recent additions.

Closes #3
2020-10-21 08:26:42 +02:00
37ad5f43df README.adoc: avoid unnecessary quotes for bash
Word expansion is not performed there.
2020-10-20 03:58:11 +02:00
a95fa2f96d README.adoc: fish after bash
Bash is a bad citizen but this order makes more sense.
2020-10-20 03:47:12 +02:00
6f40b8db3a Fix ext-helpers with older bash versions
See Midnight Commander commit 436296f, blindly trusting it.

wc(1) could be used unconditionally but let's make it clear.
2020-10-20 03:44:15 +02:00
63e7895905 Let the caller decide how to launch helpers
In the end, we don't need to impose any policy on it,
and it removes a level of quoting, as well as an `eval`.
2020-10-08 19:50:04 +02:00
6aa4bd2ff5 When resuming a child, resume the whole group
SIGTSTP is sent to the entire foreground process group,
so do the some with our SIGCONT.

Debian's default sh (dash) doesn't replace itself with
the command, even if it's the last one in the -c option.

Of course, we do not need to use /bin/sh for the helpers
at all, though it doesn't cost us much.  We could also
issue an explicit `exec`.
2020-10-08 19:49:07 +02:00