您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Extended labels and check all messages
// ==UserScript== // @name gmail basic enhancements // @namespace camelsoft // @description Extended labels and check all messages // @include https://mail.google.com/mail/u/0/h/* // @icon https://ssl.gstatic.com/ui/v1/icons/mail/images/favicon5.ico // @require https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js // @version 1.0.4 // @grant none // @license GPLv3 // ==/UserScript== jQuery.noConflict(); (function ($) { $(function () { // ----------------------------------------------------------------------------- function shorten_combobox_options () { var cur_path = $('body').data('cbb_cur_path')||''; var cur_lvl = $('body').data('cbb_cur_lvl' )||0; var path = $(this).val().substring(3); var path_parent = path.substr(0, path.lastIndexOf("/")); var path_element = path.substring(parseInt(path.lastIndexOf("/"))+1); if (cur_path != path_parent) { cur_path = path_parent; cur_lvl = (path_parent.match(/\//g) || []).length; $('body').data('cbb_cur_path', path_parent); $('body').data('cbb_cur_lvl' , cur_lvl); }//if var label = '<tt>'; if (cur_lvl > 0) { label += " ".repeat(cur_lvl); label += '↳ '; }//if label += '</tt>' $(this). attr('title', decodeURIComponent(path)). html(label + decodeURIComponent(path_element)); }//shorten_combobox_options function shorten_sidebar_links () { var cur_path = $('body').data('sbl_cur_path')||''; var cur_lvl = $('body').data('sbl_cur_lvl' )||0; var path = $(this).attr('href').substring(8); var path_parent = path.substr(0, path.lastIndexOf("/")); var path_element = path.substring(parseInt(path.lastIndexOf("/"))+1); if (cur_path != path_parent) { cur_path = path_parent; cur_lvl = (path_parent.match(/\//g) || []).length; $('body').data('sbl_cur_path', path_parent); $('body').data('sbl_cur_lvl' , cur_lvl); }//if var label = ''; if (cur_lvl > 0) { label += '↳ '; $(this).css('margin-left', (0.75*cur_lvl)+'rem'); }//if var unread = $(this).text().trim().match(/.+(\([0-9]+\))/) ? $(this).text().trim().replace(/.+(\([0-9]+\))/, '$1') : '' $(this). attr('title', decodeURIComponent(path)). children().first().html(label + decodeURIComponent(path_element) + ' ' + unread); }//shorten_sidebar_links // stop sidebar movement after labels resize $('body > table:last td:first').css('width', '12rem'); // extend labels on "More actions..." combobox $('select[name=tact] option[value^=ac_]').each(shorten_combobox_options); $('select[name=tact] option[value^=rc_]').each(shorten_combobox_options); // striped labels on the left sidebar $('td.lb:contains(Labels) a'). css('border-radius', '5px'). css('display', 'inline-block'). css('width', '8rem'). css('padding', '1px'); // extend labels on the left sidebar $('td.lb:contains(Labels) a:odd').css('background-color', '#dcdcdc'); $('td.lb:contains(Labels) a').each(shorten_sidebar_links); // add toggle all messages checkbox $('<input type="checkbox" name="toggle_all" title="Toggle all messages">'). prependTo('form[name=f] td:first'); $('input[type=checkbox][name=toggle_all]').click(function () { $(this).prop('checked', false); $('input[type=checkbox][name=t]').each(function () { $(this).prop('checked', !$(this).prop('checked')); }); }); // remove label from emails rows $('form[name=f] span.ts > font:first-child').remove(); // ----------------------------------------------------------------------------- });})(jQuery);