// ==UserScript==
// @name Widen Code Container and Hide Whitespace (GitHub)
// @namespace chriskim06
// @description Adds buttons to allow you to widen the container when viewing files and hide whitespace when viewing pull request diffs
// @include https://github.com/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js
// @version 1.2.9
// @grant none
// @locale en
// @downloadURL none
// ==/UserScript==
this.$ = this.jQuery = jQuery.noConflict(true);
$(function() {
if ($('#user-links').length) {
// Add buttons in the header navbar
$('#user-links').prepend('
');
$('#user-links').prepend('');
// Toggle code container width on click
$('#code-widen-button').click(function(e) {
e.preventDefault();
if ($('#files').length || $('.repository-content').find('.file').length) {
if ($('#toc').find('.btn-group > a:nth-child(2)').hasClass('selected')) {
return;
}
var container = $('.container.new-discussion-timeline.experiment-repo-nav');
var expanded = $(window).width() * 0.9;
if (container.width() < expanded) {
container.css('width', expanded + 'px');
} else {
container.css('width', '980px');
}
}
$(this).blur();
});
// Toggle page with ?w=1 appended to the url to show/hide whitespace
$('#hide-whitespace-button').click(function(e) {
e.preventDefault();
var url = window.location.href;
if ($('#files').length) {
if (url.endsWith('?w=1')) {
window.location.href = url.slice(0, -4);
} else {
window.location.href = url + '?w=1';
}
}
$(this).blur();
});
// Reset container width on pull request pages if you leave the diff tab
if ($('.tabnav-tab.js-pull-request-tab:last').hasClass('selected')) {
$('.tabnav-tab.js-pull-request-tab:not(:last)').each(function() {
$(this).click(function(e) {
var container = $('.container.new-discussion-timeline.experiment-repo-nav');
var expanded = $(window).width() * 0.9;
if (container.width() >= expanded) {
container.css('width', '980px');
}
});
});
}
}
});