Skip to content

Commit

Permalink
Right-click menu option to offload media playback (such as videos)
Browse files Browse the repository at this point in the history
  • Loading branch information
w00fpack committed Nov 5, 2021
1 parent bd50718 commit d8b885b
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 3 deletions.
2 changes: 2 additions & 0 deletions dillorc
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
# menu.)
#load_images=YES

media_player=mpv -ytdl-format='bestvideo[height<=?360]+bestaudio/best

# Change this if you want background images to be loaded initially.
# (While browsing, this can be changed from the tools/settings menu.)
#load_background_images=NO
Expand Down
21 changes: 19 additions & 2 deletions src/menu.cc
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,23 @@ static void Menu_open_url_nw_cb(Fl_Widget*, void *user_data)
a_UIcmd_open_url_nw(popup_bw, url);
}

/*
* Open URL in media player
*/
static void Menu_open_url_mp_cb(Fl_Widget*, void *user_data)
{
DilloUrl *url = (DilloUrl *)user_data;

char str[500]; // FIXME: make this the size necessary to contain everything and not have buffer overflow

strcpy (str, prefs.media_player);
strcat(str, " ");
strcat (str, URL_STR_(url));
strcat(str, "> /dev/null 2>&1 &");
puts (str);
system(str);
}

/*
* Open URL in new Tab
*/
Expand Down Expand Up @@ -421,8 +438,8 @@ void a_Menu_page_popup(BrowserWindow *bw, const DilloUrl *url,

static Fl_Menu_Item link_menu[] = {
{"Open link in new tab", 0, Menu_open_url_nt_cb,0,0,0,0,0,0},
{"Open link in new window", 0, Menu_open_url_nw_cb,0,FL_MENU_DIVIDER,0,0,
0,0},
{"Open link in new window", 0, Menu_open_url_nw_cb,0,FL_MENU_DIVIDER,0,0,0,0},
{"Open link with media player", 0, Menu_open_url_mp_cb,0,FL_MENU_DIVIDER,0,0,0,0},
{"Bookmark this link", 0, Menu_add_bookmark_cb,0,0,0,0,0,0},
{"Copy link location", 0, Menu_copy_urlstr_cb,0,FL_MENU_DIVIDER,0,0,0,0},
{"Save link as...", 0, Menu_save_link_cb,0,0,0,0,0,0},
Expand Down
5 changes: 4 additions & 1 deletion src/prefs.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#define PREFS_HTTP_REFERER "host"
#define PREFS_HTTP_USER_AGENT "Dillo/" VERSION
#define PREFS_THEME "none"
#define PREFS_MEDIA_PLAYER "mpv -ytdl-format='bestvideo[height<=?360]+bestaudio/best'"

/*-----------------------------------------------------------------------------
* Global Data
Expand All @@ -38,7 +39,7 @@ void a_Prefs_init(void)
{
prefs.allow_white_bg = TRUE;
prefs.white_bg_replacement = 0xe0e0a3; // 0xdcd1ba;
prefs.bg_color = 0xdcd1ba;
prefs.bg_color = 0xFFFFFF;
prefs.buffered_drawing = 1;
prefs.contrast_visited_color = TRUE;
prefs.enterpress_forces_submit = FALSE;
Expand Down Expand Up @@ -68,6 +69,7 @@ void a_Prefs_init(void)
prefs.http_referer = dStrdup(PREFS_HTTP_REFERER);
prefs.http_strict_transport_security = TRUE;
prefs.http_user_agent = dStrdup(PREFS_HTTP_USER_AGENT);
prefs.media_player = dStrdup(PREFS_MEDIA_PLAYER);
prefs.limit_text_width = FALSE;
prefs.adjust_min_width = TRUE;
prefs.adjust_table_min_width = TRUE;
Expand Down Expand Up @@ -143,6 +145,7 @@ void a_Prefs_freeall(void)
dFree(prefs.http_proxyuser);
dFree(prefs.http_referer);
dFree(prefs.http_user_agent);
dFree(prefs.media_player);
dFree(prefs.no_proxy);
dFree(prefs.save_dir);
for (i = 0; i < dList_length(prefs.search_urls); ++i)
Expand Down
1 change: 1 addition & 0 deletions src/prefs.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ typedef struct {
char *http_proxyuser;
char *http_referer;
char *http_user_agent;
char *media_player;
char *no_proxy;
DilloUrl *start_page;
DilloUrl *home;
Expand Down
1 change: 1 addition & 0 deletions src/prefsparser.cc
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ void PrefsParser::parse(FILE *fp)
{ "adjust_table_min_width", &prefs.adjust_table_min_width, PREFS_BOOL, 0 },
{ "load_images", &prefs.load_images, PREFS_BOOL, 0 },
{ "load_background_images", &prefs.load_background_images, PREFS_BOOL, 0 },
{ "media_player", &prefs.media_player, PREFS_STRING, 0 },
{ "load_stylesheets", &prefs.load_stylesheets, PREFS_BOOL, 0 },
{ "middle_click_drags_page", &prefs.middle_click_drags_page,
PREFS_BOOL, 0 },
Expand Down

0 comments on commit d8b885b

Please sign in to comment.