ncmpc version 0.14
po: updated Danish and Swedish translation
po: updated German translation
po: updated Korean translation
.gitignore: added ncmpc-tiny
screen_play: make center_playing_item aware of scroll offset
When moving the cursor to make sure it is visible after recentering,
move it to the offset position from the edge of the screen.
(Previously, it was placed at the edge, causing the offset to force the
screen to scroll.)
When moving the cursor to make sure it is visible after recentering,
move it to the offset position from the edge of the screen.
(Previously, it was placed at the edge, causing the offset to force the
screen to scroll.)
po: updated Spanish and Galician translation
po: updated Russian translation
po: updated Simplified Chinese translation
screen_help: added translator comment for CMD_INTERRUPT
po: updated Simplified Chinese translation
po: updated Slovak translation
po: updated French translation
po: updated Hungarian translation
AUTHORS: added new translators
updated NEWS file for 0.14
list_window: check range selection
Check if the numbers in selected_start and selected_end are correct in
the function list_window_check_selected().
Check if the numbers in selected_start and selected_end are correct in
the function list_window_check_selected().
po: added Dutch translation
screen_search.c: Fix typo and tweak spacing of search help.
Signed-off-by: Loui Chang <louipc.ist@gmail.com>
Signed-off-by: Max Kellermann <max@duempel.org>
Signed-off-by: Loui Chang <louipc.ist@gmail.com>
Signed-off-by: Max Kellermann <max@duempel.org>
po: updated Ukrainian translation
list_window: removed the unused "xoffset" variable
command: added missing "the" in translatable strings
"Move cursor to top of screen" -> "Move cursor to *the* top of screen".
"Move cursor to top of screen" -> "Move cursor to *the* top of screen".
'Home' & 'End' translation difficult
There are two 'Home' strings in command.c. One of them means button
name, and other means the action. Translators (like me) have only one
in pot-file and can not translate them right. Button name 'Home'
always does not need to be translated, but the action 'Home' must be.
I propose to rename action to something like 'Move cursor Home'. As
result we will have two strings to translate except one.
All of this concerned also 'End'.
There are two 'Home' strings in command.c. One of them means button
name, and other means the action. Translators (like me) have only one
in pot-file and can not translate them right. Button name 'Home'
always does not need to be translated, but the action 'Home' must be.
I propose to rename action to something like 'Move cursor Home'. As
result we will have two strings to translate except one.
All of this concerned also 'End'.
doc: Updated config.sample.
Added new options to config.sample and copied the descriptions from the manpage.
Added new options to config.sample and copied the descriptions from the manpage.
added scroll-offset option; fixed scrolling bug
scroll-offset (default 0) is the number of entries to be displayed on
either side of the cursor; this helps the user avoid overshooting when
moving the cursor to a desired entry past the end of the window. The
exact behavior is copied from Vim, as detailed below.
The interaction with the top/bottom (H/L) commands is the same as in
Vim: they jump to the top+offset/bottom-offset, unless the top/bottom is
the beginning/end of the list, in which case they jump all the way to
the edge.
Large values of the offset (at least half the screen height) also work
the same as in Vim, causing the cursor to always be centered.
Finally, there is some slightly odd behavior when using scrolling
commands while the cursor is in the offset range at the edge of the
list. For example, if the screen is scrolled to the top, and the cursor
is also on the first item, scrolling down by a line causes the cursor to
jump down to the offset position. This is also the same as Vim and I
don't really see a better (but simple) alternative.
The behavior of the scroll down command at the bottom of the list was
also broken; this was fixed here instead of separately since the
relevant code was modified for this update anyway.
scroll-offset (default 0) is the number of entries to be displayed on
either side of the cursor; this helps the user avoid overshooting when
moving the cursor to a desired entry past the end of the window. The
exact behavior is copied from Vim, as detailed below.
The interaction with the top/bottom (H/L) commands is the same as in
Vim: they jump to the top+offset/bottom-offset, unless the top/bottom is
the beginning/end of the list, in which case they jump all the way to
the edge.
Large values of the offset (at least half the screen height) also work
the same as in Vim, causing the cursor to always be centered.
Finally, there is some slightly odd behavior when using scrolling
commands while the cursor is in the offset range at the edge of the
list. For example, if the screen is scrolled to the top, and the cursor
is also on the first item, scrolling down by a line causes the cursor to
jump down to the offset position. This is also the same as Vim and I
don't really see a better (but simple) alternative.
The behavior of the scroll down command at the bottom of the list was
also broken; this was fixed here instead of separately since the
relevant code was modified for this update anyway.
po: added Ukrainian translation
po: updated Danish translation
po: updated Danish, Norwegian and Swedish translation
po: updated Hungarian translation
Added screen swap to help screen
Help text was already present but command hadn't been added to screen_help.c.
Help text was already present but command hadn't been added to screen_help.c.
updated translation
po: updated Slovak translation
screen: explain new MPD modes in translator comments
po: updated Galician and Spanish translation
po: updated Russian translation
po: updated Korean translation
po: updated Czech translation
po: added Czech translation
po: updated ncmpc.pot and *.po
screen: added "mode" in mode message
Print "Single _mode_ is on" instead of just "Single is on". This is
intended to be clearer for both users and translators.
Print "Single _mode_ is on" instead of just "Single is on". This is
intended to be clearer for both users and translators.
Merge branch 'master' of git://git.musicpd.org/patrick/ncmpc
support the 'consume' mode
fix bug which showed only a part of help
Index was incremented twice each iteration.
Index was incremented twice each iteration.
options.c: Fixed compilation with --enable-mini --enable-debug
With NCMPC_MINI we have no configuration file, so we can't dump the keys.
With NCMPC_MINI we have no configuration file, so we can't dump the keys.
screen_help: Fixed an endless-loop-bug.
The cursor of the help screen was placed outside the list_window, so the
list_window_find() went into an endless loop, when wrap was enabled. Now the
cursor is placed on the first item of the list_window, so the find function
should work.
The cursor of the help screen was placed outside the list_window, so the
list_window_find() went into an endless loop, when wrap was enabled. Now the
cursor is placed on the first item of the list_window, so the find function
should work.
man: Added "jump-prefix-only" to the configuration section.
Added a description about the new "jump-prefix" only option the the
configuration section of the manpage.
Added a description about the new "jump-prefix" only option the the
configuration section of the manpage.
conf: Added new "jump-prefix-only" option.
Commit b36fbc3ed8b9ceed41 broke the usecase of jumping
directly to the first entry which begins with a certain letter.
This patch adds a new option, which enables the old behaviour,
which searches for the beginning of a string and not for the first
occurence.
Commit b36fbc3ed8b9ceed41 broke the usecase of jumping
directly to the first entry which begins with a certain letter.
This patch adds a new option, which enables the old behaviour,
which searches for the beginning of a string and not for the first
occurence.
screen_song: Replaced "DB last updated" with "Most recent db update"
screen_utils: Fixed backspace with widecharacters in screen_jump().
Deleting widecharacters with backspace would leave bytes in the buffer
before. Now every byte of a deleted widecharacter is replaced with '\0'.
Deleting widecharacters with backspace would leave bytes in the buffer
before. Now every byte of a deleted widecharacter is replaced with '\0'.
utils: Use singular in time_seconds_to_durationstr() if appropriate.
screen_song: check c->status!=NULL
When the connection to the MPD server is closed, c->status may become
NULL. All of the ncmpc code has to check that, including the song
screen.
When the connection to the MPD server is closed, c->status may become
NULL. All of the ncmpc code has to check that, including the song
screen.
support the new 'single' state feature
support the ^W shortcut in wreadline input
conf: Allow descriptive search modes
Previously only integers were accepted, to be interpreted as indices in
screen_search's list of search types. Now the corresponding mode names
(title, artist, album, filename, artist+title) are accepted.
Previously only integers were accepted, to be interpreted as indices in
screen_search's list of search types. Now the corresponding mode names
(title, artist, album, filename, artist+title) are accepted.
man: configuration section updated
Add undocumented options to the configuration section, and organize it
into subsections - it's getting long!
Add undocumented options to the configuration section, and organize it
into subsections - it's getting long!
conf: screen-list fix, removed unused option
screen-list produced errors due to empty fields between multiple
consecutive delimiters. Check to make sure the field is nonempty before
attempting to parse it.
enable-bell is not used at all (it has been replaced by audible- and
visible-bell).
screen-list produced errors due to empty fields between multiple
consecutive delimiters. Check to make sure the field is nonempty before
attempting to parse it.
enable-bell is not used at all (it has been replaced by audible- and
visible-bell).
NEWS: list commands added since release 0.13
Select range, HML cursor movement, scrolling commands, screen swap.
Select range, HML cursor movement, scrolling commands, screen swap.
command: Changed key for screen swap to `
No need to push shift for a tilde when the backtick isn't taken.
No need to push shift for a tilde when the backtick isn't taken.
updated translation
renamed visual selection to range selection
screen: check if song and lyrics screens are enabled
The patch "screen swap works with song/lyrics screens" broke the
build, because it didn't check whether the song screen and the lyrics
screen were enabled.
The patch "screen swap works with song/lyrics screens" broke the
build, because it didn't check whether the song screen and the lyrics
screen were enabled.
screen_browser: select/add for visual selection
The select (toggle in playlist) and add (append to playlist) commands now work
for visual selections in browser screens. The status output should eventually
be reconsidered - a message is wastefully printed for each item before it is overwritten by one displaying a count of items added.
The "enter" (CMD_PLAY) command has been disabled for multiple selection for
now; this is better than acting just on the item at the end of the selection
range. Eventually it should do something fancy like appending all selected
items (directory, song, or playlist) then playing the first song of the first
item.
The select (toggle in playlist) and add (append to playlist) commands now work
for visual selections in browser screens. The status output should eventually
be reconsidered - a message is wastefully printed for each item before it is overwritten by one displaying a count of items added.
The "enter" (CMD_PLAY) command has been disabled for multiple selection for
now; this is better than acting just on the item at the end of the selection
range. Eventually it should do something fancy like appending all selected
items (directory, song, or playlist) then playing the first song of the first
item.
screen swap works with song/lyrics screens
The screen swap command now gets handled outside of screen.c when
appropriate, to allow passing the currently selected song to the
song/lyrics screens.
The screen swap command now gets handled outside of screen.c when
appropriate, to allow passing the currently selected song to the
song/lyrics screens.
screen_help: keydef screen
Added keydef commands to the help screen. Also updated help text for
CMD_UPDATE_LYRICS (it fetches lyrics for the currently playing song).
Added keydef commands to the help screen. Also updated help text for
CMD_UPDATE_LYRICS (it fetches lyrics for the currently playing song).
screen_keydef: parent directory command
Allow CMD_GO_PARENT_DIRECTORY on the keydef screen (for returning from
subcmd to command list).
Allow CMD_GO_PARENT_DIRECTORY on the keydef screen (for returning from
subcmd to command list).
list_window: search in strings with the "jump" command
This patch extends the jump function. Current jump only searches the
start of the lines, but with this patch it searches through the whole
line for a match. Since this takes more cpu power, I have inlined it
back to the original behavior in MINI.
This patch extends the jump function. Current jump only searches the
start of the lines, but with this patch it searches through the whole
line for a match. Since this takes more cpu power, I have inlined it
back to the original behavior in MINI.
screen_utils: Fixed a minor bug with the jump command.
When pressing delete J was printed in the jump input. Now pressing delete,
removes the last character.
When pressing delete J was printed in the jump input. Now pressing delete,
removes the last character.
de.po: Update the german translation.
Added a german translation for the new strings which were
added to the song screen.
Added a german translation for the new strings which were
added to the song screen.
screen_song: Some clean-up and more comments.
screen_song: Added some statistics about mpd to the song screen.
Make it possible to switch to the song viewer from anywhere.
screen_song: Refactor screen_song, so it can be opened by screen_switch().
screen_song should be more like the other screens as lyrics screens, so we
can switch to the song screen from everywhere in ncmpc.
screen_song should be more like the other screens as lyrics screens, so we
can switch to the song screen from everywhere in ncmpc.
Added status-message-time option
Controls the length of time a status message displays; the previous
setting of 3 seconds from options.c is the default value.
Controls the length of time a status message displays; the previous
setting of 3 seconds from options.c is the default value.
Disabled visual selection in keydef screen
If we someday have a command like "reset to default" we may want this
back, but for now, no commands have multiple-selection meanings on the
keydef screen.
If we someday have a command like "reset to default" we may want this
back, but for now, no commands have multiple-selection meanings on the
keydef screen.
Save lyrics uses CMD_SAVE_PLAYLIST
Much more intuitive than using CMD_ADD.
Much more intuitive than using CMD_ADD.
Center the cursor on a second Ctrl-L
To aid in getting to info/lyrics screen, or in selecting ranges
involving the currently playing song. Ctrl-L followed by M will achieve
the same result as long as the playlist is at least as long as the
screen, but this is faster to type and will work for short playlists
too.
An alternative method would be to center the cursor whenever Ctrl-L will
not cause the screen to move; this could be implemented as an option
perhaps, but would be annoying if you just wanted to repaint the screen.
To aid in getting to info/lyrics screen, or in selecting ranges
involving the currently playing song. Ctrl-L followed by M will achieve
the same result as long as the playlist is at least as long as the
screen, but this is faster to type and will work for short playlists
too.
An alternative method would be to center the cursor whenever Ctrl-L will
not cause the screen to move; this could be implemented as an option
perhaps, but would be annoying if you just wanted to repaint the screen.
Fixed lyricwiki plugin
LyricWiki returns a page with "Not found" in place of the song lyrics if
the song is not found; check for this.
LyricWiki returns a page with "Not found" in place of the song lyrics if
the song is not found; check for this.
Renamed lyrics plugins
Lyrics plugins are tried in alphabetic order by filename. Numeric
prefixes make this clearer, and make it easier to keep hd.sh first.
I've moved LyricWiki ahead of Leo's Lyrics, mostly because it's easier
for a user to fix incorrect lyrics on a wiki, but also because Leo's
Lyrics appears to return partial matches if no full match is found (e.g.
a song with the same name and completely different artist)
Lyrics plugins are tried in alphabetic order by filename. Numeric
prefixes make this clearer, and make it easier to keep hd.sh first.
I've moved LyricWiki ahead of Leo's Lyrics, mostly because it's easier
for a user to fix incorrect lyrics on a wiki, but also because Leo's
Lyrics appears to return partial matches if no full match is found (e.g.
a song with the same name and completely different artist)
Sort plugins by filename
Although previously the plugins appeared to be sorted by filename, that
was only because they were installed in order by filename. Now the
plugins are manually sorted by filename, providing for user modification
(new plugins, reordering of plugins).
Although previously the plugins appeared to be sorted by filename, that
was only because they were installed in order by filename. Now the
plugins are manually sorted by filename, providing for user modification
(new plugins, reordering of plugins).
AUTHORS: added Jeffrey Middleton
mpdclient: Fixes sorting of the filelist.
Sort the filelist with the correct linguastically rule for the current
locale, with directories first, after that songs and playlist files last.
This fixes bug 2092.
Sort the filelist with the correct linguastically rule for the current
locale, with directories first, after that songs and playlist files last.
This fixes bug 2092.
Spelling corrections
All in comments except the one in a displayed message that got me
started!
All in comments except the one in a displayed message that got me
started!
screen_keydef: Fixed selections on key bindings screen
Key bindings screen uses struct list_window, so the addition of visual
mode requires setting selection_start and selection_end to match
selection, even though visual mode serves no purpose there currently.
Key bindings screen uses struct list_window, so the addition of visual
mode requires setting selection_start and selection_end to match
selection, even though visual mode serves no purpose there currently.
screen_play: Changed selection movement on center-playing-song
Previously, the cursor remained in the same screen position (and had
some odd behavior in visual mode). Now it attempts to stay on the same
song like other large movement commands, leaving visual mode intact, so
you can do fun things like using center-playing-song to help select a
range of songs up to the current song.
Previously, the cursor remained in the same screen position (and had
some odd behavior in visual mode). Now it attempts to stay on the same
song like other large movement commands, leaving visual mode intact, so
you can do fun things like using center-playing-song to help select a
range of songs up to the current song.
screen: Added screen swap command
Screen swap command toggles to the previous (most recently used) screen.
Particularly useful to return from lyrics/info screen.
Screen swap command toggles to the previous (most recently used) screen.
Particularly useful to return from lyrics/info screen.
list_window: Extended scrolling commands to text screens
Added scroll up/down one-line/half-screen to list_window_scroll_cmd,
which is used in text screens.
Added scroll up/down one-line/half-screen to list_window_scroll_cmd,
which is used in text screens.
screen_help: Added lyrics and outputs screen to help
New screens were missing from help!
New screens were missing from help!
screen_play: Disable auto-center while in visual selection mode
Visual selection mode is a good sign the user is looking at whatever's
on the screen. Especially if MPD is in random mode, suddenly jumping
somewhere else is a bad plan.
Visual selection mode is a good sign the user is looking at whatever's
on the screen. Especially if MPD is in random mode, suddenly jumping
somewhere else is a bad plan.
list_window: Added scroll up/down half-screen commands
Added commands to scroll up/down half a screen, using the generic functions from the last commit. Mapped by default to B and N, to go along nicely with Ctrl-B and Ctrl-N for single-line scrolling.
Added commands to scroll up/down half a screen, using the generic functions from the last commit. Mapped by default to B and N, to go along nicely with Ctrl-B and Ctrl-N for single-line scrolling.
list_window: Added scroll up/down commands
Commands scroll a list window up/down by one line, mapped by default to
Ctrl-N and Ctrl-B (mnemonics next and back). The scrolling functions can
scroll by an arbitrary amount, so we can use them later for half-screen scroll
commands like Vim's Ctrl-D/U.
Commands scroll a list window up/down by one line, mapped by default to
Ctrl-N and Ctrl-B (mnemonics next and back). The scrolling functions can
scroll by an arbitrary amount, so we can use them later for half-screen scroll
commands like Vim's Ctrl-D/U.
list_window: Tweaked visual mode behavior
Tweaked visual mode behavior so that the start of a visual selection is
always one end of it when making large movements (page up/down, H/M/L,
home/end). To clarify, suppose you start at the middle of the screen,
in visual mode, then:
(1) get to the bottom with j
(2) go to the top with page up
(3) go back to one above middle with j
(4) j once more
Previously, the resulting selection would be (1) middle to bottom, (2)
top to bottom, (3) one above middle to bottom, and (4) middle only.
With the change, we will get the intuitive (1) middle to bottom, (2) top
to middle, (3) one above middle to middle, and (4) middle only.
Tweaked visual mode behavior so that the start of a visual selection is
always one end of it when making large movements (page up/down, H/M/L,
home/end). To clarify, suppose you start at the middle of the screen,
in visual mode, then:
(1) get to the bottom with j
(2) go to the top with page up
(3) go back to one above middle with j
(4) j once more
Previously, the resulting selection would be (1) middle to bottom, (2)
top to bottom, (3) one above middle to bottom, and (4) middle only.
With the change, we will get the intuitive (1) middle to bottom, (2) top
to middle, (3) one above middle to middle, and (4) middle only.
list_window: added top, middle, and bottom commands
Commands to move cursor to top, middle, and bottom of screen, mapped
by default to H, M, and L like in Vim.
Commands to move cursor to top, middle, and bottom of screen, mapped
by default to H, M, and L like in Vim.
fixed crash while saving a playlist
It happens when there isn't any playlist in browser
It happens when there isn't any playlist in browser
po: updated Spanish translation
list_window: page up goes too far
There's a sign error in the page up (previous screen) - instead of
going up by one less than the number of rows, it goes up by one
more. Patch attached, though it's just a single character change. I'm
kind of weirded out that I never noticed this before, since it seems
to have been like this forever!
There's a sign error in the page up (previous screen) - instead of
going up by one less than the number of rows, it goes up by one
more. Patch attached, though it's just a single character change. I'm
kind of weirded out that I never noticed this before, since it seems
to have been like this forever!
po: updated Korean translation
po: added Simplified Chinese translation
po: updated ncmpc.pot
range requires unsigned integers.
screen_play: move selection when moving a single song in playlist
Selection didn't move when moving a single song in playlist.
Introduced by the visual selection - selection is only updated when
moving in visual mode, not when moving a single song (nonvisual
mode).
Selection didn't move when moving a single song in playlist.
Introduced by the visual selection - selection is only updated when
moving in visual mode, not when moving a single song (nonvisual
mode).