From 2d1f007e7586b7745380060a506ba351a609aa3a Mon Sep 17 00:00:00 2001 From: dec05eba Date: Fri, 3 Jul 2020 18:32:16 +0200 Subject: Allow changing the placeholder text, fix dmenu empty search selection --- src/QuickMedia.cpp | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'src/QuickMedia.cpp') diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp index 0845d43..29deaa3 100644 --- a/src/QuickMedia.cpp +++ b/src/QuickMedia.cpp @@ -109,11 +109,12 @@ namespace QuickMedia { } static void usage() { - fprintf(stderr, "usage: QuickMedia [--tor]\n"); + fprintf(stderr, "usage: QuickMedia [--tor] [--use-system-mpv-config] [-p placeholder-text]\n"); fprintf(stderr, "OPTIONS:\n"); - fprintf(stderr, "plugin The plugin to use. Should be either 4chan, manganelo, mangatown, mangadex, pornhub, youtube or dmenu\n"); - fprintf(stderr, "--tor Use tor. Disabled by default\n"); - fprintf(stderr, "--use-system-mpv-config Use system mpv config instead of no config. Disabled by default\n"); + fprintf(stderr, " plugin The plugin to use. Should be either 4chan, manganelo, mangatown, mangadex, pornhub, youtube or dmenu\n"); + fprintf(stderr, " --tor Use tor. Disabled by default\n"); + fprintf(stderr, " --use-system-mpv-config Use system mpv config instead of no config. Disabled by default\n"); + fprintf(stderr, " -p Change the placeholder text for dmenu\n"); fprintf(stderr, "EXAMPLES:\n"); fprintf(stderr, "QuickMedia manganelo\n"); fprintf(stderr, "QuickMedia youtube --tor\n"); @@ -147,6 +148,7 @@ namespace QuickMedia { current_plugin = nullptr; std::string plugin_logo_path; + std::string search_placeholder = "Search..."; for(int i = 1; i < argc; ++i) { if(!current_plugin) { @@ -181,6 +183,11 @@ namespace QuickMedia { use_tor = true; } else if(strcmp(argv[i], "--use-system-mpv-config") == 0) { use_system_mpv_config = true; + } else if(strcmp(argv[i], "-p") == 0) { + if(i < argc - 1) { + search_placeholder = argv[i + 1]; + ++i; + } } else if(argv[i][0] == '-') { fprintf(stderr, "Invalid option %s\n", argv[i]); usage(); @@ -204,7 +211,7 @@ namespace QuickMedia { plugin_logo.setSmooth(true); } - search_bar = std::make_unique(font, plugin_logo); + search_bar = std::make_unique(font, plugin_logo, search_placeholder); search_bar->text_autosearch_delay = current_plugin->get_search_delay(); while(window.isOpen()) { @@ -415,8 +422,10 @@ namespace QuickMedia { }; search_bar->onTextSubmitCallback = [this, &tabs, &selected_tab, &typing](const std::string &text) -> bool { - if(typing || text.empty()) - return false; + if(current_plugin->name != "dmenu") { + if(typing || text.empty()) + return false; + } Page next_page = current_plugin->get_page_after_search(); bool skip_search = next_page == Page::VIDEO_CONTENT; -- cgit v1.2.3