|
|
@@ -891,21 +891,28 @@ function init_stream(stream) {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
- stream.onmouseup = function (ev) { // Mouseup enables us to catch middle click
|
|
|
+ stream.onmouseup = function (ev) { // Mouseup enables us to catch middle click, and control+click in IE/Edge
|
|
|
+ if (ev.altKey || ev.metaKey || ev.shiftKey) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
let el = ev.target.closest('.item.title > a');
|
|
|
if (el) {
|
|
|
- if (ev.ctrlKey) {
|
|
|
- return; // CTRL+click, it will be manage by previous rule.
|
|
|
- }
|
|
|
- if (ev.which == 2) {
|
|
|
- // If middle click, we want same behaviour as CTRL+click.
|
|
|
- const evc = document.createEvent('click');
|
|
|
- evc.ctrlKey = true;
|
|
|
- el.dispatchEvent(evc);
|
|
|
- } else if (ev.which == 1) {
|
|
|
- // Normal click, just toggle article.
|
|
|
- el.parentElement.click();
|
|
|
+ if (ev.which == 1) {
|
|
|
+ if (ev.ctrlKey) { //Control+click
|
|
|
+ if (context.auto_mark_site) {
|
|
|
+ mark_read(el.closest('.flux'), true);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ el.parentElement.click(); //Normal click, just toggle article.
|
|
|
+ }
|
|
|
+ } else if (ev.which == 2 && !ev.ctrlKey) { //Simple middle click: same behaviour as CTRL+click
|
|
|
+ if (context.auto_mark_article) {
|
|
|
+ const new_active = el.closest('.flux');
|
|
|
+ mark_read(new_active, true);
|
|
|
+ }
|
|
|
}
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
if (context.auto_mark_site) {
|