diff --git a/bin/mpdevil b/bin/mpdevil
index f76f90f..6275b28 100755
--- a/bin/mpdevil
+++ b/bin/mpdevil
@@ -41,7 +41,7 @@ import dbus.service
from dbus.mainloop.glib import DBusGMainLoop
DBusGMainLoop(set_as_default=True)
-VERSION='0.9.1' # sync with setup.py
+VERSION='0.9.1-dev' # sync with setup.py
COVER_REGEX="^\.?(album|cover|folder|front).*\.(gif|jpeg|jpg|png)$"
@@ -844,6 +844,8 @@ class Client(MPDClient):
class Settings(Gio.Settings):
BASE_KEY="org.mpdevil"
+ # temp settings
+ mini_player=GObject.Property(type=bool, default=False)
def __init__(self):
super().__init__(schema=self.BASE_KEY)
@@ -1746,6 +1748,7 @@ class Browser(Gtk.Paned):
self.back_to_current_album_button.connect("clicked", self.back_to_current_album)
self.search_button.connect("toggled", self._on_search_toggled)
self._artist_window.connect("artists_changed", self._on_artists_changed)
+ self._settings.connect("notify::mini-player", self._on_mini_player)
if not self._use_csd:
self._settings.connect("changed::icon-size-sec", self._on_icon_size_changed)
self._client.emitter.connect("disconnected", self._on_disconnected)
@@ -1831,6 +1834,13 @@ class Browser(Gtk.Paned):
def _on_artists_changed(self, *args):
self.search_button.set_active(False)
+ def _on_mini_player(self, obj, typestring):
+ visibility=not(obj.get_property("mini-player"))
+ self.set_property("visible", visibility)
+ self.back_to_current_album_button.set_property("visible", visibility)
+ self.search_button.set_property("visible", visibility)
+ self.genre_select.set_property("visible", visibility)
+
def _on_icon_size_changed(self, *args):
pixel_size=self._settings.get_int("icon-size-sec")
for icon in self._icons.values():
@@ -2019,7 +2029,7 @@ class MainCover(Gtk.Frame):
self._window=window
# event box
- event_box=Gtk.EventBox()
+ self._event_box=Gtk.EventBox()
# cover
self._cover=Gtk.Image.new()
@@ -2029,14 +2039,15 @@ class MainCover(Gtk.Frame):
self._cover.set_size_request(size, size)
# connect
- event_box.connect("button-press-event", self._on_button_press_event)
+ self._button_press_event=self._event_box.connect("button-press-event", self._on_button_press_event)
self._client.emitter.connect("current_song_changed", self._refresh)
self._client.emitter.connect("disconnected", self._on_disconnected)
self._client.emitter.connect("reconnected", self._on_reconnected)
+ self._settings.connect("notify::mini-player", self._on_mini_player)
self._settings.connect("changed::track-cover", self._on_settings_changed)
- event_box.add(self._cover)
- self.add(event_box)
+ self._event_box.add(self._cover)
+ self.add(self._event_box)
def _refresh(self, *args):
current_song=self._client.wrapped_call("currentsong")
@@ -2079,6 +2090,12 @@ class MainCover(Gtk.Frame):
def _on_reconnected(self, *args):
self._cover.set_sensitive(True)
+ def _on_mini_player(self, obj, typestring):
+ if obj.get_property("mini-player"):
+ self._event_box.handler_block(self._button_press_event)
+ else:
+ self._event_box.handler_unblock(self._button_press_event)
+
def _on_settings_changed(self, *args):
size=self._settings.get_int("track-cover")
self._cover.set_size_request(size, size)
@@ -2193,6 +2210,7 @@ class PlaylistWindow(Gtk.Box):
self._client.emitter.connect("disconnected", self._on_disconnected)
self._client.emitter.connect("reconnected", self._on_reconnected)
+ self._settings.connect("notify::mini-player", self._on_mini_player)
self._settings.connect("changed::column-visibilities", self._load_settings)
self._settings.connect("changed::column-permutation", self._load_settings)
self._settings.connect("changed::icon-size-sec", self._on_icon_size_changed)
@@ -2364,6 +2382,10 @@ class PlaylistWindow(Gtk.Box):
self._clear_button.set_sensitive(True)
self._treeview.set_sensitive(True)
+ def _on_mini_player(self, obj, typestring):
+ visibility=not(obj.get_property("mini-player"))
+ self.set_property("visible", visibility)
+
def _on_icon_size_changed(self, *args):
pixel_size=self._settings.get_int("icon-size-sec")
for icon in self._icons.values():
@@ -3018,8 +3040,10 @@ class PlaybackControl(Gtk.ButtonBox):
# connect
self.play_button.connect("clicked", self._on_play_clicked)
self.stop_button.connect("clicked", self._on_stop_clicked)
+ self.stop_button.set_property("no-show-all", not(self._settings.get_boolean("show-stop")))
self.prev_button.connect("clicked", self._on_prev_clicked)
self.next_button.connect("clicked", self._on_next_clicked)
+ self._settings.connect("notify::mini-player", self._on_mini_player)
self._settings.connect("changed::show-stop", self._on_show_stop_changed)
self._settings.connect("changed::icon-size", self._on_icon_size_changed)
self._client.emitter.connect("state", self._on_state)
@@ -3027,8 +3051,7 @@ class PlaybackControl(Gtk.ButtonBox):
# packing
self.pack_start(self.prev_button, True, True, 0)
self.pack_start(self.play_button, True, True, 0)
- if self._settings.get_boolean("show-stop"):
- self.pack_start(self.stop_button, True, True, 0)
+ self.pack_start(self.stop_button, True, True, 0)
self.pack_start(self.next_button, True, True, 0)
def _on_state(self, emitter, state):
@@ -3070,13 +3093,13 @@ class PlaybackControl(Gtk.ButtonBox):
if self._client.connected():
self._client.wrapped_call("next")
+ def _on_mini_player(self, obj, typestring):
+ self._on_show_stop_changed()
+
def _on_show_stop_changed(self, *args):
- if self._settings.get_boolean("show-stop"):
- self.pack_start(self.stop_button, True, True, 0)
- self.reorder_child(self.stop_button, 2)
- self.stop_button.show()
- else:
- self.remove(self.stop_button)
+ visibility=(self._settings.get_boolean("show-stop") and not self._settings.get_property("mini-player"))
+ self.stop_button.set_property("visible", visibility)
+ self.stop_button.set_property("no-show-all", not(visibility))
def _on_icon_size_changed(self, *args):
pixel_size=self._settings.get_int("icon-size")
@@ -3262,15 +3285,16 @@ class PlaybackOptions(Gtk.Box):
self._volume_changed=self._client.emitter.connect("volume_changed", self._volume_refresh)
self._client.emitter.connect("disconnected", self._on_disconnected)
self._client.emitter.connect("reconnected", self._on_reconnected)
+ self._settings.connect("notify::mini-player", self._on_mini_player)
self._settings.connect("changed::icon-size", self._on_icon_size_changed)
# packing
- ButtonBox=Gtk.ButtonBox(layout_style=Gtk.ButtonBoxStyle.EXPAND)
- ButtonBox.pack_start(self._repeat_button, True, True, 0)
- ButtonBox.pack_start(self._random_button, True, True, 0)
- ButtonBox.pack_start(self._single_button, True, True, 0)
- ButtonBox.pack_start(self._consume_button, True, True, 0)
- self.pack_start(ButtonBox, True, True, 0)
+ self._button_box=Gtk.ButtonBox(layout_style=Gtk.ButtonBoxStyle.EXPAND)
+ self._button_box.pack_start(self._repeat_button, True, True, 0)
+ self._button_box.pack_start(self._random_button, True, True, 0)
+ self._button_box.pack_start(self._single_button, True, True, 0)
+ self._button_box.pack_start(self._consume_button, True, True, 0)
+ self.pack_start(self._button_box, True, True, 0)
self.pack_start(self._volume_button, True, True, 0)
def _set_option(self, widget, option):
@@ -3312,12 +3336,6 @@ class PlaybackOptions(Gtk.Box):
self._volume_button.set_sensitive(True)
self._volume_button.handler_unblock(self._volume_button_changed)
- def _on_icon_size_changed(self, *args):
- pixel_size=self._settings.get_int("icon-size")
- for icon in self._icons.values():
- icon.set_pixel_size(pixel_size)
- self._volume_button.set_property("size", self._settings.get_gtk_icon_size("icon-size"))
-
def _on_reconnected(self, *args):
self._repeat_button.set_sensitive(True)
self._random_button.set_sensitive(True)
@@ -3335,6 +3353,16 @@ class PlaybackOptions(Gtk.Box):
self._consume_refresh(None, False)
self._volume_refresh(None, -1)
+ def _on_mini_player(self, obj, typestring):
+ visibility=not(obj.get_property("mini-player"))
+ self._button_box.set_property("visible", visibility)
+
+ def _on_icon_size_changed(self, *args):
+ pixel_size=self._settings.get_int("icon-size")
+ for icon in self._icons.values():
+ icon.set_pixel_size(pixel_size)
+ self._volume_button.set_property("size", self._settings.get_gtk_icon_size("icon-size"))
+
#################
# other dialogs #
#################
@@ -3411,11 +3439,11 @@ class AboutDialog(Gtk.AboutDialog):
###############
class ProfileSelect(Gtk.ComboBoxText):
- def __init__(self, client, settings):
+ def __init__(self, settings):
super().__init__(tooltip_text=_("Select profile"))
+ self.set_property("no-show-all", not(len(settings.get_value("profiles")) > 1))
# adding vars
- self._client=client
self._settings=settings
# connect
@@ -3426,6 +3454,7 @@ class ProfileSelect(Gtk.ComboBoxText):
self._settings.connect("changed::passwords", self._refresh)
self._settings.connect("changed::paths", self._refresh)
self._settings.connect("changed::active-profile", self._on_active_profile_changed)
+ self._settings.connect("changed::profiles", self._on_profiles_changed)
self._refresh()
@@ -3446,6 +3475,14 @@ class ProfileSelect(Gtk.ComboBoxText):
self.set_active(self._settings.get_int("active-profile"))
self.handler_unblock(self._changed)
+ def _on_profiles_changed(self, *args):
+ if len(self._settings.get_value("profiles")) > 1:
+ self.set_property("no-show-all", False)
+ self.set_property("visible", True)
+ else:
+ self.set_property("no-show-all", True)
+ self.set_property("visible", False)
+
class ConnectionNotify(Gtk.Revealer):
def __init__(self, client, settings):
super().__init__(valign=Gtk.Align.START, halign=Gtk.Align.CENTER)
@@ -3506,14 +3543,18 @@ class MainWindow(Gtk.ApplicationWindow):
self._icon_size=0
else:
self._icon_size=self._settings.get_int("icon-size")
+ self.tmp_saved_size=None # needed to restore size after leaving mini player mode
# MPRIS
dbus_service=MPRISInterface(self, self._client, self._settings)
# actions
- save_action=Gio.SimpleAction.new("save", None)
- save_action.connect("activate", self._on_save)
- self.add_action(save_action)
+ self._save_action=Gio.SimpleAction.new("save", None)
+ self._save_action.connect("activate", self._on_save)
+ self.add_action(self._save_action)
+
+ mini_player_action=Gio.PropertyAction.new("mini-player", self._settings, "mini-player")
+ self.add_action(mini_player_action)
settings_action=Gio.SimpleAction.new("settings", None)
settings_action.connect("activate", self._on_settings)
@@ -3539,7 +3580,7 @@ class MainWindow(Gtk.ApplicationWindow):
self._browser=Browser(self._client, self._settings, self)
self._cover_playlist_window=CoverPlaylistWindow(self._client, self._settings, self)
- self._profile_select=ProfileSelect(self._client, self._settings)
+ self._profile_select=ProfileSelect(self._settings)
self._playback_control=PlaybackControl(self._client, self._settings)
self._seek_bar=SeekBar(self._client)
playback_options=PlaybackOptions(self._client, self._settings)
@@ -3558,6 +3599,7 @@ class MainWindow(Gtk.ApplicationWindow):
menu=Gio.Menu()
menu.append(_("Save window layout"), "win.save")
+ menu.append(_("Mini player"), "win.mini-player")
menu.append_section(None, mpd_subsection)
menu.append_section(None, subsection)
@@ -3572,7 +3614,7 @@ class MainWindow(Gtk.ApplicationWindow):
action_bar.pack_start(playback_options)
# connect
- self._settings.connect("changed::profiles", self._on_profiles_changed)
+ self._settings.connect_after("notify::mini-player", self._on_mini_player)
self._settings.connect("changed::playlist-right", self._on_playlist_pos_changed)
if not self._use_csd:
self._settings.connect("changed::icon-size", self._on_icon_size_changed)
@@ -3617,7 +3659,6 @@ class MainWindow(Gtk.ApplicationWindow):
self.show_all()
if self._settings.get_boolean("maximize"):
self.maximize()
- self._on_profiles_changed() # hide profiles button
self._client.start() # connect client
def _on_song_changed(self, *args):
@@ -3724,11 +3765,15 @@ class MainWindow(Gtk.ApplicationWindow):
def _on_help(self, action, param):
Gtk.show_uri_on_window(self, "https://github.com/SoongNoonien/mpdevil/wiki/Usage", Gdk.CURRENT_TIME)
- def _on_profiles_changed(self, *args):
- if len(self._settings.get_value("profiles")) > 1:
- self._profile_select.set_property("visible", True)
+ def _on_mini_player(self, obj, typestring):
+ if obj.get_property("mini-player"):
+ self.tmp_saved_size=self.get_size()
+ self._save_action.set_enabled(False)
+ self.resize(1,1)
else:
- self._profile_select.set_property("visible", False)
+ self._save_action.set_enabled(True)
+ self.resize(self.tmp_saved_size[0], self.tmp_saved_size[1])
+ self.tmp_saved_size=None
def _on_playlist_pos_changed(self, *args):
if self._settings.get_boolean("playlist-right"):
diff --git a/po/de.po b/po/de.po
index ac6fa54..ad16296 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-13 21:30+0200\n"
-"PO-Revision-Date: 2020-09-13 21:32+0200\n"
+"POT-Creation-Date: 2020-09-15 18:44+0200\n"
+"PO-Revision-Date: 2020-09-15 18:45+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: de\n"
@@ -18,72 +18,72 @@ msgstr ""
"X-Generator: Poedit 2.3.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: mpdevil:518
+#: bin/mpdevil:518
msgid "MPD-Tag"
msgstr "MPD-Tag"
-#: mpdevil:522
+#: bin/mpdevil:522
msgid "Value"
msgstr "Wert"
-#: mpdevil:605
+#: bin/mpdevil:605
msgid "Unknown Title"
msgstr "Unbekannter Titel"
-#: mpdevil:608
+#: bin/mpdevil:608
msgid "Unknown Artist"
msgstr "Unbekannter Interpret"
-#: mpdevil:609
+#: bin/mpdevil:609
msgid "Unknown Album"
msgstr "Unbekanntes Album"
-#: mpdevil:936 mpdevil:1240 mpdevil:2141 mpdevil:2846
+#: bin/mpdevil:938 bin/mpdevil:1242 bin/mpdevil:2158 bin/mpdevil:2868
msgid "No"
msgstr "Nr."
-#: mpdevil:941 mpdevil:1245 mpdevil:2143 mpdevil:2846
+#: bin/mpdevil:943 bin/mpdevil:1247 bin/mpdevil:2160 bin/mpdevil:2868
msgid "Title"
msgstr "Titel"
-#: mpdevil:947 mpdevil:1422 mpdevil:2144 mpdevil:2846
+#: bin/mpdevil:949 bin/mpdevil:1424 bin/mpdevil:2161 bin/mpdevil:2868
msgid "Artist"
msgstr "Interpret"
-#: mpdevil:953 mpdevil:2145 mpdevil:2846
+#: bin/mpdevil:955 bin/mpdevil:2162 bin/mpdevil:2868
msgid "Album"
msgstr "Album"
-#: mpdevil:959 mpdevil:1251 mpdevil:2146 mpdevil:2846
+#: bin/mpdevil:961 bin/mpdevil:1253 bin/mpdevil:2163 bin/mpdevil:2868
msgid "Length"
msgstr "Länge"
-#: mpdevil:1023
+#: bin/mpdevil:1025
#, python-format
msgid "%i hits"
msgstr "%i Treffer"
-#: mpdevil:1124
+#: bin/mpdevil:1126
msgid "Append"
msgstr "Anhängen"
-#: mpdevil:1125
+#: bin/mpdevil:1127
msgid "Add all titles to playlist"
msgstr "Alle Titel der Wiedergabeliste anhängen"
-#: mpdevil:1126
+#: bin/mpdevil:1128
msgid "Play"
msgstr "Abspielen"
-#: mpdevil:1127
+#: bin/mpdevil:1129
msgid "Directly play all titles"
msgstr "Alle Titel sofort abspielen"
-#: mpdevil:1128
+#: bin/mpdevil:1130
msgid "Enqueue"
msgstr "Einreihen"
-#: mpdevil:1129
+#: bin/mpdevil:1131
msgid ""
"Append all titles after the currently playing track and clear the playlist "
"from all other songs"
@@ -91,49 +91,49 @@ msgstr ""
"Alle Titel hinter dem aktuellen Stück einreihen und die weitere "
"Wiedergabeliste leeren"
-#: mpdevil:1257
+#: bin/mpdevil:1259
msgid "Close"
msgstr "Schließen"
-#: mpdevil:1310
+#: bin/mpdevil:1312
msgid "all genres"
msgstr "Alle Genres"
-#: mpdevil:1420
+#: bin/mpdevil:1422
msgid "Album Artist"
msgstr "Albuminterpret"
-#: mpdevil:1423
+#: bin/mpdevil:1425
msgid "all artists"
msgstr "Alle Interpreten"
-#: mpdevil:1611
+#: bin/mpdevil:1613
#, python-format
msgid "%(total_tracks)i titles on %(discs)i discs (%(total_length)s)"
msgstr "%(total_tracks)i Titel auf %(discs)i CDs (%(total_length)s)"
-#: mpdevil:1614 mpdevil:2235
+#: bin/mpdevil:1616 bin/mpdevil:2253
#, python-format
msgid "%(total_tracks)i titles (%(total_length)s)"
msgstr "%(total_tracks)i Titel (%(total_length)s)"
-#: mpdevil:1738
+#: bin/mpdevil:1740
msgid "Back to current album"
msgstr "Zurück zu aktuellem Album"
-#: mpdevil:1739
+#: bin/mpdevil:1741
msgid "Search"
msgstr "Suche"
-#: mpdevil:1899
+#: bin/mpdevil:1909
msgid "searching..."
msgstr "suche..."
-#: mpdevil:1903
+#: bin/mpdevil:1913
msgid "lyrics not found"
msgstr "Liedtext nicht gefunden"
-#: mpdevil:1977
+#: bin/mpdevil:1987
#, python-format
msgid ""
"%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s "
@@ -142,123 +142,123 @@ msgstr ""
"%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s "
"Kanäle, %(file_type)s"
-#: mpdevil:2110
+#: bin/mpdevil:2127
msgid "Scroll to current song"
msgstr "Gehe zu aktuellem Lied"
-#: mpdevil:2117
+#: bin/mpdevil:2134
msgid "Clear playlist"
msgstr "Wiedergabeliste leeren"
-#: mpdevil:2142 mpdevil:2846
+#: bin/mpdevil:2159 bin/mpdevil:2868
msgid "Disc"
msgstr "CD"
-#: mpdevil:2147 mpdevil:2846
+#: bin/mpdevil:2164 bin/mpdevil:2868
msgid "Year"
msgstr "Jahr"
-#: mpdevil:2148 mpdevil:2846
+#: bin/mpdevil:2165 bin/mpdevil:2868
msgid "Genre"
msgstr "Genre"
-#: mpdevil:2387
+#: bin/mpdevil:2409
msgid "Show lyrics"
msgstr "Zeige Liedtext"
-#: mpdevil:2481
+#: bin/mpdevil:2503
msgid "Main cover size:"
msgstr "Größe des Haupt-Covers:"
-#: mpdevil:2482
+#: bin/mpdevil:2504
msgid "Album view cover size:"
msgstr "Covergröße in Albumliste:"
-#: mpdevil:2483
+#: bin/mpdevil:2505
msgid "Action bar icon size:"
msgstr "Symbolgröße Aktionsleiste:"
-#: mpdevil:2484
+#: bin/mpdevil:2506
msgid "Secondary icon size:"
msgstr "Sekundäre Symbolgröße:"
-#: mpdevil:2497
+#: bin/mpdevil:2519
msgid "Sort albums by:"
msgstr "Sortiere Alben nach:"
-#: mpdevil:2497
+#: bin/mpdevil:2519
msgid "name"
msgstr "Name"
-#: mpdevil:2497
+#: bin/mpdevil:2519
msgid "year"
msgstr "Jahr"
-#: mpdevil:2498
+#: bin/mpdevil:2520
msgid "Position of playlist:"
msgstr "Wiedergabelistenposition:"
-#: mpdevil:2498
+#: bin/mpdevil:2520
msgid "bottom"
msgstr "unten"
-#: mpdevil:2498
+#: bin/mpdevil:2520
msgid "right"
msgstr "rechts"
-#: mpdevil:2516
+#: bin/mpdevil:2538
msgid "Use Client-side decoration"
msgstr "Benutze \"Client-side decoration\""
-#: mpdevil:2517
+#: bin/mpdevil:2539
msgid "Show stop button"
msgstr "Zeige Stopp-Knopf"
-#: mpdevil:2518
+#: bin/mpdevil:2540
msgid "Show lyrics button"
msgstr "Zeige Liedtext-Knopf"
-#: mpdevil:2519
+#: bin/mpdevil:2541
msgid "Show initials in artist view"
msgstr "Zeige Anfangsbuchstaben in Interpretenliste"
-#: mpdevil:2520
+#: bin/mpdevil:2542
msgid "Show tooltips in album view"
msgstr "Zeige Tooltips in Albumliste"
-#: mpdevil:2521
+#: bin/mpdevil:2543
msgid "Use 'Album Artist' tag"
msgstr "Benutze \"Album Artist\" Tag"
-#: mpdevil:2522
+#: bin/mpdevil:2544
msgid "Send notification on title change"
msgstr "Sende Benachrichtigung bei Titelwechsel"
-#: mpdevil:2523
+#: bin/mpdevil:2545
msgid "Stop playback on quit"
msgstr "Wiedergabe beim Beenden stoppen"
-#: mpdevil:2524
+#: bin/mpdevil:2546
msgid "Play selected albums and titles immediately"
msgstr "Ausgewählte Alben und Titel sofort abspielen"
-#: mpdevil:2537
+#: bin/mpdevil:2559
msgid "View"
msgstr "Ansicht"
-#: mpdevil:2538
+#: bin/mpdevil:2560
msgid "Behavior"
msgstr "Verhalten"
-#: mpdevil:2570
+#: bin/mpdevil:2592
msgid "(restart required)"
msgstr "(Neustart erforderlich)"
-#: mpdevil:2632 mpdevil:3461
+#: bin/mpdevil:2654 bin/mpdevil:3498
msgid "Connect"
msgstr "Verbinden"
-#: mpdevil:2648
+#: bin/mpdevil:2670
msgid ""
"The first image in the same directory as the song file matching this regex "
"will be displayed. %AlbumArtist% and %Album% will be replaced by the "
@@ -268,114 +268,118 @@ msgstr ""
"regulären Ausdruck entspricht, wird angezeigt. %AlbumArtist% und %Album% "
"werden durch die entsprechenden Tags des Liedes ersetzt."
-#: mpdevil:2653
+#: bin/mpdevil:2675
msgid "Profile:"
msgstr "Profil:"
-#: mpdevil:2654
+#: bin/mpdevil:2676
msgid "Name:"
msgstr "Name:"
-#: mpdevil:2655
+#: bin/mpdevil:2677
msgid "Host:"
msgstr "Host:"
-#: mpdevil:2656
+#: bin/mpdevil:2678
msgid "Password:"
msgstr "Passwort:"
-#: mpdevil:2657
+#: bin/mpdevil:2679
msgid "Music lib:"
msgstr "Musikverzeichnis:"
-#: mpdevil:2658
+#: bin/mpdevil:2680
msgid "Cover regex:"
msgstr "Cover-Regex:"
-#: mpdevil:2789
+#: bin/mpdevil:2811
msgid "Choose directory"
msgstr "Verzeichnis Wählen"
-#: mpdevil:2822
+#: bin/mpdevil:2844
msgid "Choose the order of information to appear in the playlist:"
msgstr ""
"Lege die Reihenfolge fest, in der Informationen in der Wiedergabeliste "
"angezeigt werden sollen:"
-#: mpdevil:2962 mpdevil:2970 mpdevil:3550
+#: bin/mpdevil:2984 bin/mpdevil:2992 bin/mpdevil:3591
msgid "Settings"
msgstr "Einstellungen"
-#: mpdevil:2981
+#: bin/mpdevil:3003
msgid "General"
msgstr "Allgemein"
-#: mpdevil:2982
+#: bin/mpdevil:3004
msgid "Profiles"
msgstr "Profile"
-#: mpdevil:2983
+#: bin/mpdevil:3005
msgid "Playlist"
msgstr "Wiedergabeliste"
-#: mpdevil:3242
+#: bin/mpdevil:3265
msgid "Random mode"
msgstr "Zufallsmodus"
-#: mpdevil:3243
+#: bin/mpdevil:3266
msgid "Repeat mode"
msgstr "Dauerschleife"
-#: mpdevil:3244
+#: bin/mpdevil:3267
msgid "Single mode"
msgstr "Einzelstückmodus"
-#: mpdevil:3245
+#: bin/mpdevil:3268
msgid "Consume mode"
msgstr "Wiedergabeliste verbrauchen"
-#: mpdevil:3346 mpdevil:3354
+#: bin/mpdevil:3374 bin/mpdevil:3382
msgid "Stats"
msgstr "Statistik"
-#: mpdevil:3403
+#: bin/mpdevil:3431
msgid "A simple music browser for MPD"
msgstr "Ein einfacher Musikbrowser für MPD"
-#: mpdevil:3415
+#: bin/mpdevil:3443
msgid "Select profile"
msgstr "Profil auswählen"
-#: mpdevil:3482
+#: bin/mpdevil:3519
#, python-format
msgid "Connection to \"%(profile)s\" (%(host)s:%(port)s) failed"
msgstr "Verbindung zu \"%(profile)s\" (%(host)s:%(port)s) fehlgeschlagen"
-#: mpdevil:3551
+#: bin/mpdevil:3592
msgid "Help"
msgstr "Hilfe"
-#: mpdevil:3552
+#: bin/mpdevil:3593
msgid "About"
msgstr "Über"
-#: mpdevil:3553
+#: bin/mpdevil:3594
msgid "Quit"
msgstr "Beenden"
-#: mpdevil:3556
+#: bin/mpdevil:3597
msgid "Update database"
msgstr "Datenbank aktualisieren"
-#: mpdevil:3557
+#: bin/mpdevil:3598
msgid "Server stats"
msgstr "Serverstatistik"
-#: mpdevil:3560
+#: bin/mpdevil:3601
msgid "Save window layout"
msgstr "Fensterlayout speichern"
-#: mpdevil:3564
+#: bin/mpdevil:3602
+msgid "Mini player"
+msgstr "Miniplayer"
+
+#: bin/mpdevil:3606
msgid "Menu"
msgstr "Menü"
diff --git a/po/mpdevil.pot b/po/mpdevil.pot
index 57eb244..60b02a0 100644
--- a/po/mpdevil.pot
+++ b/po/mpdevil.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-13 21:30+0200\n"
+"POT-Creation-Date: 2020-09-15 18:44+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,354 +17,358 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: mpdevil:518
+#: bin/mpdevil:518
msgid "MPD-Tag"
msgstr ""
-#: mpdevil:522
+#: bin/mpdevil:522
msgid "Value"
msgstr ""
-#: mpdevil:605
+#: bin/mpdevil:605
msgid "Unknown Title"
msgstr ""
-#: mpdevil:608
+#: bin/mpdevil:608
msgid "Unknown Artist"
msgstr ""
-#: mpdevil:609
+#: bin/mpdevil:609
msgid "Unknown Album"
msgstr ""
-#: mpdevil:936 mpdevil:1240 mpdevil:2141 mpdevil:2846
+#: bin/mpdevil:938 bin/mpdevil:1242 bin/mpdevil:2158 bin/mpdevil:2868
msgid "No"
msgstr ""
-#: mpdevil:941 mpdevil:1245 mpdevil:2143 mpdevil:2846
+#: bin/mpdevil:943 bin/mpdevil:1247 bin/mpdevil:2160 bin/mpdevil:2868
msgid "Title"
msgstr ""
-#: mpdevil:947 mpdevil:1422 mpdevil:2144 mpdevil:2846
+#: bin/mpdevil:949 bin/mpdevil:1424 bin/mpdevil:2161 bin/mpdevil:2868
msgid "Artist"
msgstr ""
-#: mpdevil:953 mpdevil:2145 mpdevil:2846
+#: bin/mpdevil:955 bin/mpdevil:2162 bin/mpdevil:2868
msgid "Album"
msgstr ""
-#: mpdevil:959 mpdevil:1251 mpdevil:2146 mpdevil:2846
+#: bin/mpdevil:961 bin/mpdevil:1253 bin/mpdevil:2163 bin/mpdevil:2868
msgid "Length"
msgstr ""
-#: mpdevil:1023
+#: bin/mpdevil:1025
#, python-format
msgid "%i hits"
msgstr ""
-#: mpdevil:1124
+#: bin/mpdevil:1126
msgid "Append"
msgstr ""
-#: mpdevil:1125
+#: bin/mpdevil:1127
msgid "Add all titles to playlist"
msgstr ""
-#: mpdevil:1126
+#: bin/mpdevil:1128
msgid "Play"
msgstr ""
-#: mpdevil:1127
+#: bin/mpdevil:1129
msgid "Directly play all titles"
msgstr ""
-#: mpdevil:1128
+#: bin/mpdevil:1130
msgid "Enqueue"
msgstr ""
-#: mpdevil:1129
+#: bin/mpdevil:1131
msgid ""
"Append all titles after the currently playing track and clear the playlist "
"from all other songs"
msgstr ""
-#: mpdevil:1257
+#: bin/mpdevil:1259
msgid "Close"
msgstr ""
-#: mpdevil:1310
+#: bin/mpdevil:1312
msgid "all genres"
msgstr ""
-#: mpdevil:1420
+#: bin/mpdevil:1422
msgid "Album Artist"
msgstr ""
-#: mpdevil:1423
+#: bin/mpdevil:1425
msgid "all artists"
msgstr ""
-#: mpdevil:1611
+#: bin/mpdevil:1613
#, python-format
msgid "%(total_tracks)i titles on %(discs)i discs (%(total_length)s)"
msgstr ""
-#: mpdevil:1614 mpdevil:2235
+#: bin/mpdevil:1616 bin/mpdevil:2253
#, python-format
msgid "%(total_tracks)i titles (%(total_length)s)"
msgstr ""
-#: mpdevil:1738
+#: bin/mpdevil:1740
msgid "Back to current album"
msgstr ""
-#: mpdevil:1739
+#: bin/mpdevil:1741
msgid "Search"
msgstr ""
-#: mpdevil:1899
+#: bin/mpdevil:1909
msgid "searching..."
msgstr ""
-#: mpdevil:1903
+#: bin/mpdevil:1913
msgid "lyrics not found"
msgstr ""
-#: mpdevil:1977
+#: bin/mpdevil:1987
#, python-format
msgid ""
"%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s "
"channels, %(file_type)s"
msgstr ""
-#: mpdevil:2110
+#: bin/mpdevil:2127
msgid "Scroll to current song"
msgstr ""
-#: mpdevil:2117
+#: bin/mpdevil:2134
msgid "Clear playlist"
msgstr ""
-#: mpdevil:2142 mpdevil:2846
+#: bin/mpdevil:2159 bin/mpdevil:2868
msgid "Disc"
msgstr ""
-#: mpdevil:2147 mpdevil:2846
+#: bin/mpdevil:2164 bin/mpdevil:2868
msgid "Year"
msgstr ""
-#: mpdevil:2148 mpdevil:2846
+#: bin/mpdevil:2165 bin/mpdevil:2868
msgid "Genre"
msgstr ""
-#: mpdevil:2387
+#: bin/mpdevil:2409
msgid "Show lyrics"
msgstr ""
-#: mpdevil:2481
+#: bin/mpdevil:2503
msgid "Main cover size:"
msgstr ""
-#: mpdevil:2482
+#: bin/mpdevil:2504
msgid "Album view cover size:"
msgstr ""
-#: mpdevil:2483
+#: bin/mpdevil:2505
msgid "Action bar icon size:"
msgstr ""
-#: mpdevil:2484
+#: bin/mpdevil:2506
msgid "Secondary icon size:"
msgstr ""
-#: mpdevil:2497
+#: bin/mpdevil:2519
msgid "Sort albums by:"
msgstr ""
-#: mpdevil:2497
+#: bin/mpdevil:2519
msgid "name"
msgstr ""
-#: mpdevil:2497
+#: bin/mpdevil:2519
msgid "year"
msgstr ""
-#: mpdevil:2498
+#: bin/mpdevil:2520
msgid "Position of playlist:"
msgstr ""
-#: mpdevil:2498
+#: bin/mpdevil:2520
msgid "bottom"
msgstr ""
-#: mpdevil:2498
+#: bin/mpdevil:2520
msgid "right"
msgstr ""
-#: mpdevil:2516
+#: bin/mpdevil:2538
msgid "Use Client-side decoration"
msgstr ""
-#: mpdevil:2517
+#: bin/mpdevil:2539
msgid "Show stop button"
msgstr ""
-#: mpdevil:2518
+#: bin/mpdevil:2540
msgid "Show lyrics button"
msgstr ""
-#: mpdevil:2519
+#: bin/mpdevil:2541
msgid "Show initials in artist view"
msgstr ""
-#: mpdevil:2520
+#: bin/mpdevil:2542
msgid "Show tooltips in album view"
msgstr ""
-#: mpdevil:2521
+#: bin/mpdevil:2543
msgid "Use 'Album Artist' tag"
msgstr ""
-#: mpdevil:2522
+#: bin/mpdevil:2544
msgid "Send notification on title change"
msgstr ""
-#: mpdevil:2523
+#: bin/mpdevil:2545
msgid "Stop playback on quit"
msgstr ""
-#: mpdevil:2524
+#: bin/mpdevil:2546
msgid "Play selected albums and titles immediately"
msgstr ""
-#: mpdevil:2537
+#: bin/mpdevil:2559
msgid "View"
msgstr ""
-#: mpdevil:2538
+#: bin/mpdevil:2560
msgid "Behavior"
msgstr ""
-#: mpdevil:2570
+#: bin/mpdevil:2592
msgid "(restart required)"
msgstr ""
-#: mpdevil:2632 mpdevil:3461
+#: bin/mpdevil:2654 bin/mpdevil:3498
msgid "Connect"
msgstr ""
-#: mpdevil:2648
+#: bin/mpdevil:2670
msgid ""
"The first image in the same directory as the song file matching this regex "
"will be displayed. %AlbumArtist% and %Album% will be replaced by the "
"corresponding tags of the song."
msgstr ""
-#: mpdevil:2653
+#: bin/mpdevil:2675
msgid "Profile:"
msgstr ""
-#: mpdevil:2654
+#: bin/mpdevil:2676
msgid "Name:"
msgstr ""
-#: mpdevil:2655
+#: bin/mpdevil:2677
msgid "Host:"
msgstr ""
-#: mpdevil:2656
+#: bin/mpdevil:2678
msgid "Password:"
msgstr ""
-#: mpdevil:2657
+#: bin/mpdevil:2679
msgid "Music lib:"
msgstr ""
-#: mpdevil:2658
+#: bin/mpdevil:2680
msgid "Cover regex:"
msgstr ""
-#: mpdevil:2789
+#: bin/mpdevil:2811
msgid "Choose directory"
msgstr ""
-#: mpdevil:2822
+#: bin/mpdevil:2844
msgid "Choose the order of information to appear in the playlist:"
msgstr ""
-#: mpdevil:2962 mpdevil:2970 mpdevil:3550
+#: bin/mpdevil:2984 bin/mpdevil:2992 bin/mpdevil:3591
msgid "Settings"
msgstr ""
-#: mpdevil:2981
+#: bin/mpdevil:3003
msgid "General"
msgstr ""
-#: mpdevil:2982
+#: bin/mpdevil:3004
msgid "Profiles"
msgstr ""
-#: mpdevil:2983
+#: bin/mpdevil:3005
msgid "Playlist"
msgstr ""
-#: mpdevil:3242
+#: bin/mpdevil:3265
msgid "Random mode"
msgstr ""
-#: mpdevil:3243
+#: bin/mpdevil:3266
msgid "Repeat mode"
msgstr ""
-#: mpdevil:3244
+#: bin/mpdevil:3267
msgid "Single mode"
msgstr ""
-#: mpdevil:3245
+#: bin/mpdevil:3268
msgid "Consume mode"
msgstr ""
-#: mpdevil:3346 mpdevil:3354
+#: bin/mpdevil:3374 bin/mpdevil:3382
msgid "Stats"
msgstr ""
-#: mpdevil:3403
+#: bin/mpdevil:3431
msgid "A simple music browser for MPD"
msgstr ""
-#: mpdevil:3415
+#: bin/mpdevil:3443
msgid "Select profile"
msgstr ""
-#: mpdevil:3482
+#: bin/mpdevil:3519
#, python-format
msgid "Connection to \"%(profile)s\" (%(host)s:%(port)s) failed"
msgstr ""
-#: mpdevil:3551
+#: bin/mpdevil:3592
msgid "Help"
msgstr ""
-#: mpdevil:3552
+#: bin/mpdevil:3593
msgid "About"
msgstr ""
-#: mpdevil:3553
+#: bin/mpdevil:3594
msgid "Quit"
msgstr ""
-#: mpdevil:3556
+#: bin/mpdevil:3597
msgid "Update database"
msgstr ""
-#: mpdevil:3557
+#: bin/mpdevil:3598
msgid "Server stats"
msgstr ""
-#: mpdevil:3560
+#: bin/mpdevil:3601
msgid "Save window layout"
msgstr ""
-#: mpdevil:3564
+#: bin/mpdevil:3602
+msgid "Mini player"
+msgstr ""
+
+#: bin/mpdevil:3606
msgid "Menu"
msgstr ""