Gmail Filter messages like this keyboard shortcut

keyboard shortcut (Ctrl+Shift+f) for "Filter messages like this"

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name		Gmail Filter messages like this keyboard shortcut
// @match		https://mail.google.com/mail/u/0/*
// @require		https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js
// @version		0.1
// @namespace https://greasyfork.org/users/3347
// @description keyboard shortcut (Ctrl+Shift+f) for "Filter messages like this"
// ==/UserScript==


$(document).keydown(e => {
	if (!e.ctrlKey || !e.shiftKey || e.altKey || String.fromCharCode(e.which).toLowerCase() !== 'f') return;
	let el;
	for (let item of document.getElementsByClassName('btb')) {
		if ($(item).is(':visible')) { el = item; break; }
	}
	document.getElementsByName('q')[0].value = 'from:(' + (el ? el.querySelector('[email]').getAttribute('email') : document.getElementsByClassName('gD')[0].getAttribute('email')) + ')';
	document.querySelector('button[aria-label="Search mail"]').click();
});