Check-in [ec5afc88ee]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:(no comment)
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:ec5afc88ee8f13560d5f3e65c59aec58f2705aea
User & Date: Matt 2012-10-11 06:55:31
Context
2012-10-11
07:16
'kGmailNotifier' Leaf check-in: 81ab4b617b user: Matt tags: trunk
06:55
(no comment) check-in: ec5afc88ee user: Matt tags: trunk
2012-09-20
00:27
initial empty check-in check-in: 43b950c5a5 user: kafene tags: trunk
Changes

Added user-js/config.xml.











>
>
>
>
>
1
2
3
4
5
<widget xmlns="http://www.w3.org/ns/widgets" id="2b433304e815" version="0.1">
<name>user-js</name>
<author href="http://kafene.org/">kafene software</author>
<license href="http://unlicense.org/">Public Domain</license>
</widget>

Added user-js/includes/better-google-bookmarks.user.js.







































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
// ==UserScript==
// @name         better-google-bookmarks
// @namespace    51545d489c2d
// @include      http://google.com/bookmarks/mark*
// @include      http://www.google.com/bookmarks/mark*
// @include      https://google.com/bookmarks/mark*
// @include      https://www.google.com/bookmarks/mark*
// @match        http://*.google.com/bookmarks/mark*
// @match        https://*.google.com/bookmarks/mark*
// @run-at       document-start
// ==/UserScript==
window.addEventListener('load',function(){
	"use strict";
	if(document.location.href.indexOf('google.com/bookmarks/mark')<0) { return false; }
	// Set up some variables for later use.
	var submitbutton = document.getElementsByClassName('kd-button-submit');
	submitbutton = submitbutton[0];
	var all_links = document.getElementsByTagName('a');
	var labelbox = document.getElementById('bkmk_label_1');
	// var keyed = false;
	// Add tabindex numbers to form fields.
	var namebox = document.getElementById('bkmk_n');
	var locbox = document.getElementById('bkmk_u');
	var g_textarea = document.getElementsByTagName('textarea');
	g_textarea = g_textarea[0];
	var ti_list = [namebox,locbox,labelbox,g_textarea,submitbutton];
	for(var i in ti_list) {
		if(typeof ti_list[i]==='object') {
			ti_list[i].setAttribute('tabindex',i);
			ti_list[i].setAttribute('data-tindex',i);
		}
	}
	// Hide the "cancel" and "see all bookmarks" buttons.
	var kdbuttons = document.getElementsByClassName('kd-button');
	for(var j in kdbuttons) {
		if(typeof kdbuttons[i]==='object') {
			if(kdbuttons[j].innerHTML==='Cancel') {
				kdbuttons[j].style.display = 'none';
			}
			if(kdbuttons[j].innerHTML.substr(0,9)==='See all b') {
				kdbuttons[j].parentElement.style.display = 'none';
			}
		}
	}
	// Hide the top banner
	var googlebar = document.getElementById('gb');
	if(typeof googlebar==='object') {
		googlebar.setAttribute('style','display:none!important;');
	}
	//Hide the bottom/footer links
	for(var k in all_links) {
		if(typeof all_links[k]==='object') {
			if(all_links[k].innerHTML==='About Google') {
				all_links[k].parentElement.style.display='none';
			}
		}
	}
	// Let enter button submit the bookmark, except when using autocomplete.
	var kdtextbox = document.getElementsByClassName('kd-textbox');
	for(var l in kdtextbox) {
		if(typeof kdtextbox[l]==='object') {
			if(kdtextbox[l].addEventListener) {
				kdtextbox[l].addEventListener('keypress',addSubmitOnReturnKeyPress);
			}
		}
	}
	function addSubmitOnReturnKeyPress(evnt) {
		var seld = document.getElementsByClassName('selected');
		if((evnt.keyCode===13||evnt.which===13) && !seld.length) {
			try{ evnt.preventDefault(); } catch(e){}
			submitbutton.click();
		}
	}
	//Append ", " to the end of label input to make adding tag easier.
	if(typeof labelbox.value==='string') {
		var lbboxval = labelbox.value;
		var lasttwo = lbboxval.substr(labelbox.value.length-2,2);
		var appendval = labelbox.value.length&&lasttwo!==', ' ? ', ' : '';
		labelbox.value = labelbox.value+appendval;
	}
	// Focus cursor to the end of label input using a couple methods...
	if(typeof labelbox==='object') {
		labelbox.addEventListener('focus',function(){this.value=this.value;},false);
		labelbox.setSelectionRange(labelbox.value.length,labelbox.value.length);
		labelbox.focus();
	}
	// Add some CSS to make the dropdown selection more noticeable.
	var newstyle = '.selected { background:#3079ED; color:#fff !important; }';
	universal_addstyle(newstyle);
	// Make the google logo link back to bookmarks (in a _blank window)
	var giimages = document.getElementsByTagName('img');
	for(var m in giimages) {
		if(typeof giimages[i]==='object') {
			if(giimages[m].getAttribute('alt')==='Google') {
				giimages[m].addEventListener('click',openGoogleBookmarksWindow,false);
				giimages[m].setAttribute('style','cursor:pointer !important;');
				giimages[m].setAttribute('height','28');
				giimages[m].setAttribute('width','76');
				break;
			}
		}
	}
	function openGoogleBookmarksWindow() {
		void(window.open('https://www.google.com/bookmarks/'));
	}
},false);
function universal_addstyle(css) {
	"use strict";
	var style = document.createElement('style');
	style.appendChild(document.createTextNode(css));
	var heads = document.getElementsByTagName('head');
	if(heads.length>=1) {
		heads[heads.length-1].appendChild(style);
	}
}

Added user-js/includes/download-youtube-videos-as-mp4.user.js.























































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
// ==UserScript==
// @name Download YouTube Videos as MP4
// @description Adds a button that lets you download YouTube videos.
// @namespace http://googlesystem.blogspot.com
// @include http://www.youtube.com/watch?*
// @include https://www.youtube.com/watch?*
// @match http://www.youtube.com/watch?*
// @match https://www.youtube.com/watch?*
// @homepageURL http://userscripts.org/scripts/show/25105
// @updateURL https://userscripts.org/scripts/source/25105.meta.js
// @author Gantt
// @version 1.4.8
// @date 2012-09-19
// @license MIT License
// ==/UserScript==
window.addEventListener('load',function(){
	var FORMAT_LABEL={'5':'FLV 240p','18':'MP4 360p',
		'22':'MP4 720p (HD)','34':'FLV 360p','35':'FLV 480p',
		'37':'MP4 1080p (HD)','38':'MP4 4K (HD)','43':'WebM 360p',
		'44':'WebM 480p','45':'WebM 720p (HD)','46':'WebM 1080p (HD)'};
	var FORMAT_TYPE={'5':'flv','18':'mp4','22':'mp4','34':'flv','35':'flv',
		'37':'mp4','38':'mp4','43':'webm','44':'webm','45':'webm','46':'webm'};
	var FORMAT_ORDER=['5','18','34','43','35','44','22','45','37','46','38'];
	var FORMAT_RULE={'flv':'max','mp4':'all','webm':'none'};
	var videoId, videoTicket, videoFormats, videoTitle='';
	var isExperiment=false; // YouTube's experimental interface
	run();
	function run(){
		if(document.getElementById('download-youtube-video')) return;
		var videoPlayer=document.getElementById('watch-player');
		if(videoPlayer==null){
			videoPlayer=document.getElementById('watch7-player');
			isExperiment=true;
		}
		if(videoPlayer&&videoPlayer.getAttribute('class').indexOf('html5')==-1){
			var flashValues=videoPlayer.innerHTML;
			var videoIdMatches=flashValues.match(/(?:"|\&amp;)video_id=([^(\&|$)]+)/);
			videoId=(videoIdMatches)?videoIdMatches[1]:null;
			var videoTicketMatches=flashValues.match(/(?:"|\&amp;)t=([^(\&|$)]+)/);
			videoTicket=(videoTicketMatches)?videoTicketMatches[1]:null;
			var videoFormatsMatches=flashValues.match(
				/(?:"|\&amp;)url_encoded_fmt_stream_map=([^(\&|$)]+)/);
			videoFormats=(videoFormatsMatches)?videoFormatsMatches[1]:null;
		}
		if(videoId==null||videoTicket==null){
			var config=null;
			if(window.yt&&window.yt.playerConfig) config=window.yt.playerConfig;
			if(config&&config.args){
				var args=config.args;
				videoId=args['video_id'];
				videoTicket=args['t'];
				videoFormats=args['url_encoded_fmt_stream_map'];
			}
		}
		if(videoId==null||videoTicket==null){
			var bodyContent=document.getElementsByTagName('body')[0];
			bodyContent=bodyContent.innerHTML;
			var videoIdMatches=bodyContent.match(/\"video_id\":\s*\"([^\"]+)\"/);
			videoId=(videoIdMatches)?videoIdMatches[1]:null;
			var videoTicketMatches=bodyContent.match(/\"t\":\s*\"([^\"]+)\"/);
			videoTicket=(videoTicketMatches)?videoTicketMatches[1]:null;
			var videoFormatsMatches=bodyContent.match(
				/\"url_encoded_fmt_stream_map\":\s*\"([^\"]+)\"/);
			videoFormats=(videoFormatsMatches)?videoFormatsMatches[1]:null;
		}
		if(videoId==null||videoTicket==null||videoFormats==null||videoId.length==0
		||videoTicket.length==0||videoFormats.length==0) return;
		var videoTitle=document.title||'video';
		videoTitle=videoTitle.replace(/\s*\-\s*YouTube$/i,'')
			.replace(/[#"\?:\*]/g,'').replace(/[&\|\\\/]/g,'_').replace(/'/g,'\'')
			.replace(/^\s+|\s+$/g, '').replace(/\.+$/g, '');
		var sep1='%2C',sep2='%26',sep3='%3D';
		if(videoFormats.indexOf(',')>-1){
			sep1=',';sep2=(videoFormats.indexOf('&')>-1)?'&':'\\u0026';sep3='=';
		}
		var videoURL=new Array();
		var videoFormatsGroup=videoFormats.split(sep1);
		for(var i=0;i<videoFormatsGroup.length;i++){
			var videoFormatsElem=videoFormatsGroup[i].split(sep2);
			var videoFormatsPair=new Array();
			for(var j=0;j<videoFormatsElem.length;j++){
				var pair=videoFormatsElem[j].split(sep3);
				if(pair.length==2) videoFormatsPair[pair[0]]=pair[1];
			}
			var url=(videoFormatsPair['url'])?videoFormatsPair['url']:null;
			if(url==null) continue;
			url=unescape(unescape(url)).replace(/\\\//g,'/').replace(/\\u0026/g,'&');
			var itag=(videoFormatsPair['itag'])?videoFormatsPair['itag']:null;
			if(itag==null) continue;
			var signature=(videoFormatsPair['sig'])?videoFormatsPair['sig']:null;
			if(signature!=null) url=url+"&signature="+signature;
			if(url.toLowerCase().indexOf('http')==0) videoURL[itag]=url;
		}
		var showFormat=new Array();
		for(var category in FORMAT_RULE){
			var rule=FORMAT_RULE[category];
			for(var index in FORMAT_TYPE){
				if(FORMAT_TYPE[index]==category) showFormat[index]=(rule=='all');
			}
			if(rule=='max'){
				for(var i=FORMAT_ORDER.length-1;i>=0;i--){
					var format=FORMAT_ORDER[i];
					if(FORMAT_TYPE[format]==category && videoURL[format]!=undefined){
						showFormat[format]=true;break;
					}
				}
			}
		}
		var downloadCodeList=[];
		for(var i=0;i<FORMAT_ORDER.length;i++){
			var format=FORMAT_ORDER[i];
			if(videoURL[format]!=undefined&&FORMAT_LABEL[format]!=undefined
			&&showFormat[format])
				downloadCodeList.push({url:videoURL[format]+'&title='
					+videoTitle,format:format,label:FORMAT_LABEL[format]});
		}
		if(downloadCodeList.length==0) return; // no format
		var uiLanguage=document.documentElement.getAttribute('lang');
		if(/^lt|bg|uk$/.test(uiLanguage)){
			var likeButton=document.getElementById('watch-like');
			if(likeButton){
				var spanElements=likeButton.getElementsByTagName('span');
				if(spanElements) spanElements[0].style.display='none';
			}
		}
		if(isExperiment){
			var parentElement=document.getElementById('watch7-action-buttons');
			var rightElement=document.getElementById('watch7-sentiment-actions');
		}
		else{
			var parentElement=document.getElementById('watch-actions');
			var rightElement=document.getElementById('watch-actions-right');
		}
		if(parentElement==null) return;
		var mainSpan=document.createElement('span');
		var spanButton=document.createElement('span');
		spanButton.setAttribute('class','yt-uix-button-content');
		spanButton.appendChild(document.createTextNode('Download'+' '));
		mainSpan.appendChild(spanButton);
		var imgButton=document.createElement('img');
		//imgButton.setAttribute('style','vertical-align:baseline;');
		imgButton.setAttribute('class','yt-uix-button-arrow');
		imgButton.setAttribute('src','//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif');
		mainSpan.appendChild(imgButton);
		var listItems=document.createElement('ol');
		listItems.setAttribute('style','display:none;');
		listItems.setAttribute('class','yt-uix-button-menu');
		for(var i=0;i<downloadCodeList.length;i++){
			var listItem=document.createElement('li');
			var listLink=document.createElement('a');
			listLink.setAttribute('style','text-decoration:none;');
			listLink.setAttribute('href',downloadCodeList[i].url);
			var listSpan=document.createElement('span');
			listSpan.setAttribute('class','yt-uix-button-menu-item');
			listSpan.setAttribute('loop',i+'');
			listSpan.setAttribute('id','download-youtube-video-fmt'
				+downloadCodeList[i].format);
			listSpan.appendChild(document.createTextNode(downloadCodeList[i].label));
			listLink.appendChild(listSpan);
			listItem.appendChild(listLink);
			listItems.appendChild(listItem);
		}
		mainSpan.appendChild(listItems);
		var buttonElement=document.createElement('button');
		buttonElement.setAttribute('id','download-youtube-video-button');
		if(isExperiment){
			buttonElement.setAttribute('class',
				'yt-uix-button yt-uix-button-text yt-uix-tooltip yt-uix-button-empty');
			buttonElement.setAttribute('style','margin-left:10px; margin-top:4px;');
		}
		else buttonElement.setAttribute('class','yt-uix-button '
			+'yt-uix-button-default yt-uix-tooltip yt-uix-tooltip-reverse');
		buttonElement.setAttribute('data-tooltip-text','Download this video');
		buttonElement.setAttribute('onclick','return false;');
		buttonElement.setAttribute('type','button');
		buttonElement.appendChild(mainSpan);
		var containerSpan=document.createElement('span');
		containerSpan.setAttribute('id','download-youtube-video');
		var leftmostButton=document.getElementById('watch-flag')
			||document.getElementById('watch-transcript')||null;
		if(!isExperiment&&leftmostButton
		&&leftmostButton.parentNode==parentElement){
			containerSpan.appendChild(buttonElement);
			containerSpan.appendChild(document.createTextNode(' '));
			parentElement.insertBefore(containerSpan,leftmostButton);
		}
		else{
			containerSpan.appendChild(document.createTextNode(' '));
			containerSpan.appendChild(buttonElement);
			parentElement.appendChild(containerSpan);
		}
		for(var i=0;i<downloadCodeList.length;i++){
			var downloadFMT=document.getElementById('download-youtube-video-fmt'+downloadCodeList[i].format);
			downloadFMT.addEventListener('click',downloadVideo,false);
		}
		function downloadVideo(e){
			var elem=e.target;
			e.returnValue=false;
			if(e.preventDefault) e.preventDefault();
			document.location.href=downloadCodeList[elem.getAttribute('loop')].url;
		}
	}
},false);

Added user-js/includes/google-reader-imho.user.js.









































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
// ==UserScript==
// @name         google-reader-imho
// @namespace    4db58647d9e1
// @include      http://*.google.com/reader/*
// @include      https://*.google.com/reader/*
// @include      http://www.google.com/reader/*
// @include      https://www.google.com/reader/*
// @match        http://*.google.com/reader/*
// @match        https://*.google.com/reader/*
// @run-at       document-start
// ==/UserScript==
/*jshint multistr:true */
var css =" \
* { font-family:tahoma, arial, sans-serif !important } \
#logo, #logo-container, #logo-section { background:none !important; height:0 !important; display:none !important; } \
#message-area-container { height:1px !important } \
#lhn-add-subscription-section, #viewer-header { height:32px !important } \
#chrome.page-view { padding-top:32px !important } \
body.fullscreen #chrome.page-view { padding-top:0 !important } \
#search, #lhn-add-subscription-section, #viewer-header, #chrome-viewer-container, #chrome.search-stream #chrome-view-links, #chrome.page-view { background-color:#C2CFF1 !important } \
#home-section { background:none !important } \
#main { border:1px solid #C2CFF1 !important; border-top:0 !important; } \
#viewer-container { border-left:1px solid #C2CFF1 !important } \
#top-bar { border-bottom:1px solid #B2C0DE !important } \
#search, #top-bar { height:0px !important; } \
#lhn-add-subscription-section, #viewer-header-container { border-bottom:1px solid #B2C0DE !important } \
#chrome.page-view #viewer-container { border-top:1px solid #B2C0DE !important } \
.tab-header, #viewer-recommendations-return, #viewer-header a, #viewer-header a:visited, #viewer-header .link, #viewer-container a, #viewer-container a:visited, #viewer-container .link, #settings a, #settings a:visited, #settings .link { color:#2244BB !important } \
#viewer-header { margin-right:-4px !important } \
#viewer-top-controls { padding:0 7px 3px 3px !important } \
#settings-button-container { margin-left:-1px !important } \
#sections-header .settings-button-container { margin-right:3px !important } \
#sections-holder { padding-right:0 !important } \
#lhn-add-subscription { width:94px !important; top:16px !important; } \
.jfk-button { height:21px !important; line-height:21px !important; min-width:24px !important;} \
.jfk-button .jfk-button-img { margin-top:-4px !important} \
.goog-flat-menu-button { line-height:21px !important} \
.goog-button-base-inner-box { height:21px !important} \
.goog-button-base-content { padding-top:3px !important} \
.goog-flat-menu-button-dropdown, .goog-menu-button-dropdown { top:9px !important} \
#viewer-view-options, #viewer-top-controls .goog-button { margin:0 6px 0 0 !important} \
#mark-all-as-read-split-button { margin:0 7px 0 0 !important} \
#search .search-restrict { margin:0 6px !important} \
#viewer-refresh.jfk-button, #search .jfk-button { margin-right:6px !important} \
#item-up-down-buttons, #chrome-view-links { margin-right:-10px !important} \
#viewer-translated-by { margin:-1px 0 0 0 !important} \
#viewer-recommendations-return { margin:2px 0 0 0 !important} \
#stream-prefs-menu div.goog-button-body { background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAiZJREFUeNqFUs2L0lEU/QWzrllEMP9CLdq2DIRmJyI6qPg5ih+oiDNogiKZiqioqRAp5kINSQQRdDGBi0xBUEzaCCnCSEyDGCgyZgzMnXt/OANR1IMD7513z7vvnPeY4+PjxtHRUQfxGueGTCbzEACY/4HR6XTnarUaCEqlEoxG42UsFvtULpf3/ynELuNQKAQ+nw8sFgvIZDI4ODgAqVQKXq/3QyqVuv9XYSKRuIeTUwSMx2PIZrOA12aFdIjT6fzR6/Ue/yG02Wwv8vn888lkwkdChng/nU438XgcDAYDmM1mwK4Xm83m0W9ChUIxJ29WqxX8fv+0WCwacePBaDSqoFdWTBYajcYc+d1boUQimVMwYrEY+Hw+4EGAgi/pdHqn2WzaPB7PlVwuB7fbDcvl8uRWiPHzu93uz1KpBA6Hg/Wl1+uhUCh8x4Kddrv9ijpqtVqo1WoUBZv2zZ3JX3Q2m51jWGwRdoLFYtGjfbzBKd0ErZDwM+IOEwwG7yJsGNAhFZ2dnb1xuVysGN+SCg/D4TA6krBpr1Yr4p4wIpHorVAoBI1GA/1+v0DiaDR6Qs9BXbHwW71e38UcLqim1WqR8CUjEAiGPB4PVCoVdDodIo34BPscDof9SYPBANbr9VOTyfSRy+UChkY1TSYQCJjw51zlcjnYjlQkEtnDQC7J03A4JC6UTCYrdrsdqtUqrb/ehGNC/EIsEM+23N6Wo/Fuy1W269k1wiYXVuOR5+YAAAAASUVORK5CYII=') no-repeat scroll 50% 50% transparent !important; text-indent:-999px !important; overflow:hidden !important; width:10px !important; } \
#home-section { padding:2px 0 0 0 !important} \
#overview-selector, #lhn-selectors .selector, .folder .name.name-d-0, .lhn-section-footer, .selectors-footer { padding-left:21px !important} \
.lhn-section-primary { line-height:20px !important} \
#lhn-selectors .selector { height:20px !important} \
.selectors-footer { display:none !important} \
#reading-list-unread-count { margin-top:0 !important} \
#lhn-selectors .selector-icon { margin-left:0 !important; margin-right:-4px !important;} \
.section-minimize { top:3px !important; left:0 !important;} \
.lhn-section-footer { padding-bottom:0 !important; margin-bottom:0 !important; margin-left:0 !important;} \
#sub-tree-header { padding-left:18px !important } \
#recommendations-tree-view-all { margin-left:25px !important } \
.scroll-tree li { margin:0 !important } \
.scroll-tree li.folder .link, .scroll-tree li.sub { height:20px !important } \
.section-button { height:20px !important; width:20px !important; top:0 !important; } \
.folder .folder .folder-toggle { margin-left:0 !important } \
.scroll-tree .toggle { height:20px !important; width:20px !important; } \
.folder .sub-icon, .folder .folder>a>.icon { margin-left:18px !important } \
.folder .folder>ul .icon { margin-left:28px !important } \
.folder-icon, .sub-icon, .tag-icon { width:17px !important; height:17px !important; } \
.scroll-tree .expanded .toggle { background-position:-23px -119px !important } \
.section-minimized .section-minimize, .scroll-tree .collapsed .toggle { background-position:0 -119px !important } \
#recommendations-tree .sub-icon { background-position:0 -77px !important } \
.name-text { padding-left:2px !important } \
.folder-icon { opacity:0.2 !important } \
.tree-selected>a>.folder-icon, #lhn-selectors .selected .selector-icon { opacity:0.5 !important } \
.sub-icon, .tag-icon { opacity:0.2 !important } \
.tree-selected>a>.sub-icon, .tree-selected>a>.tag-icon { opacity:0.5 !important } \
.favicon { opacity:0.6 !important } \
.tree-selected>a>.favicon { opacity:0.8 !important } \
.lhn-nav-button-container { margin-left:4px !important } \
.lhn-section-secondary li a.tree-link-selected, li.folder.tree-selected, #lhn-selectors .selector.selected, #overview-selector.selected { background-color:#C9D8FA !important } \
.scroll-tree li a:hover, .tree-item-action-container, #lhn-selectors .selector:hover, #overview-selector:hover { background-color:#EBEFF9 !important } \
.scroll-tree li a.tree-link-selected .name, .scroll-tree li a.tree-link-selected:hover .name, #nav .selected a, #nav .selected a .text, #lhn-selectors .selected a span, #lhn-selectors .selected a:hover span { color:#2244BB !important } \
.lhn-section-secondary li a, #lhn-selectors .selector, #lhn-selectors .selector.selected, #overview-selector, #overview-selector.selected, .scroll-tree .lhn-section-primary { border-left:0 !important } \
#title-and-status-holder, #sections-header, #chrome.page-view #directory-search-return { background-color:#EBEFF9 !important; border-bottom:1px solid #C2CFF1 !important; } \
#title-and-status-holder { padding:0.3ex 0 0 0.5em !important; margin-right:0 !important; } \
#sections-header { height:27px !important; margin-bottom:0 !important; } \
#chrome.page-view #directory-search-return { padding:0 0 0 10px !important; height:27px !important; } \
#chrome-title { padding-right:4px !important } \
#chrome-title, #chrome-title .chevron, #chrome-title a { color:#666 !important; font-size:13px !important; } \
#entries { padding:0 !important; border:0 !important; } \
#entries .entry-main .entry-original, #trends .sorting .trends-sorting-homepage { opacity:0.3 !important } \
.entry .entry-body, .entry .entry-title, .entry .entry-likers, #chrome.search-stream #entries.search .entry-secondary-snippet { max-width:1300px !important } \
#entries .read .entry-container { background-color:#fff !important } \
#entries .entry .entry-actions { padding:2px 0 1px 5px !important; background-color:#EBEFF9 !important; border:none !important; } \
.entry .entry-actions .star { height:13px !important } \
#entries .entry .entry-actions .email-active { padding-bottom:1px !important; padding-top:1px !important; border:0 !important; background-color:transparent !important; } \
#entries .entry .action-area, #entries .entry .action-area .email-this-area { background-color:#EBEFF9 !important; border:0 !important; } \
#entries .tags-edit { background-color:#EBEFF9 !important; border:1px solid #C2CFF1 !important; } \
#entries .entry .action-area textarea, #entries .entry .action-area input, #entries .tags-edit-tags { background-color:#fff !important } \
.entry-title-go-to { display:none !important } \
#overview .title, #entries .entry-main>.entry-title, #entries .search-result .entry-title, .result-title { font-size:110% !important } \
#entries .read { opacity:0.65 !important } \
#current-entry.read { opacity:1 !important } \
#entries .entry .entry-body { padding:10px 6px 10px 0 !important } \
#entries.list .entry { border:2px solid #fff !important; border-bottom:1px solid #ccc !important; } \
#entries.list .collapsed .entry-main .entry-source-title, #entries.list .collapsed .entry-secondary { top:0 !important } \
#entries.list .collapsed { line-height:140% !important; height:16px !important; padding:0 0 3px 0 !important; background-color:#fff !important; border:none !important; border-bottom:1px solid #fff !important; } \
#entries.list .collapsed .entry-icons { top:2px !important } \
#entries.list .collapsed .entry-icons, #entries.list .collapsed .entry-main .entry-original { margin-top:-1px !important } \
#entries.list .collapsed .entry-main .entry-original { top:3px !important } \
#entries.list .collapsed .entry-date { margin-top:0 !important } \
#entries.list .collapsed .entry-source-title, #entries.list .collapsed .entry-title, #entries.list .collapsed .entry-date { line-height:16px !important } \
#entries.list .read .collapsed { background-color:#EBEFF9 !important; border-bottom:1px solid #EBEFF9 !important; } \
#entries.list .read { border:2px solid #EBEFF9 !important; border-bottom:1px solid #ccc !important; } \
#entries.list .expanded { border:2px solid #6688EE !important } \
#entries.list .entry-container { border:0 !important; padding:5px 5px 5px 25px !important; } \
#entries.cards .entry { margin:8px !important; padding:0 !important; border:1px solid #fff !important; } \
.entry .card, #entries.search .entry .search-result { box-shadow:1px 1px 3px #ccc !important } \
#entries.cards .entry .card { margin:0 !important; padding:0 !important; border:1px solid #ccc !important; border-radius:5px 5px 5px 5px !important; } \
#entries.cards .entry .card-content { padding:0 !important } \
#entries.cards .entry-container { border:0 !important; padding:0 !important; } \
#entries.cards .entry .entry-main { padding:4px 4px 4px 23px !important } \
#entries.cards>#current-entry { border:0 !important } \
#entries.cards>#current-entry .card { border:2px solid #6688EE !important; box-shadow:2px 3px 3px #bbb !important; } \
#entries.cards .entry-icons-placeholder { left:-2px !important; position:absolute !important; top:4px !important; } \
#entries.cards .card-actions { padding:0 !important; border:0 !important; border-bottom:1px solid #EBEFF9 !important; background-color:#EBEFF9 !important; } \
#entries.cards .card-actions .star { margin-top:2px !important } \
.preview-interruption { background-color:#EBEFF9 !important } \
#entries.search .entry { border-bottom:1px solid #ccc !important; padding:2px 4px 8px 12px !important; } \
#no-entries-msg { border:1px solid #ccc !important; border-radius:5px 5px 5px 5px !important; } \
.bundle-container { background:#EBEFF9 !important; border:1px solid #C2CFF1 !important; } \
.bundle-container th { background-color:#C2CFF1 !important } \
.tab-group { border:1px solid #EBEFF9 !important } \
.tab-group-headers, #settings #settings-navigation { background-color:#EBEFF9 !important } \
.tab-header, #settings-navigation h3 { background-color:#C2CFF1 !important; border-color:#C2CFF1 !important; } \
.tab-header-selected, #settings-navigation .selected { background-color:#fff !important; border-color:#2244BB !important; } \
#trends-item-count-header { font-size:120% !important } \
.search-result .highlighted0 { background-color:#ff9 !important } \
.search-result .highlighted1 { background-color:#fcc !important } \
.search-result .highlighted2 { background-color:#ccf !important } \
.search-result .highlighted3 { background-color:#cfc !important } \
.search-result .highlighted4 { background-color:#9cf !important } \
.search-result .highlighted5 { background-color:#cc9 !important } \
.search-result .highlighted6 { background-color:#f9c !important } \
.sharebox { background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAC4jAAAuIwF4pT92AAAB60lEQVR42pXQ/0sTYRwH8OfvMbAfxB9k2RDnYsjCwYhafvlBcBIVwRY0VjNxsHEcY4iEP+hPEaQggj8JEUbZKFiYSZer3Lyd23Tb7aa7Xd5tez59tqtDRQQfXnx4Pu/n+XAPR4bmy5dCBuekO7PiBQYi2Zac3hL3QnlVqBQqmgYa/F9yGTxR5fZsEdkje5gMRDKttkAkTV5ebDhnxKm10t6fQzxbf0OdL4rO6byunxEwxNpqD4gqgoM9dEQPHNF9X7ykgUprcOuBbAunbcw/OGDsiZKFm1HRzuZ0nJzDYyZYc81k4LxFagr03ZNsjGBjm96KzYGnftUSTFqCKR0m+sYaShFsXs3XreG0NcRbw3y8lD6WwPJYbLYtvVM7eAcr7nGGUKjjo18vqQ9f7q/sFhW55ho/6pn4bTA/S+CAOZDomfiFSCiW38wcCZKKv5U24O5YpTuQ6A5sG0x+7pqfw6q35PrkTpdvy/Vul4JCNegfLnU92boAMQV+dnq/3WC/J1WeAlVlGPVJmHR6N89F1ngxKyocf8wJ1YJSwefid55Hqh2ejY5HX06LYyWxD3XTeKL9/mfUy3x9n+MBGjhjHszr4Rnkqid5xf3xpMXUBlDKTqpnch1p9/5oc39qG4sZ7OvbQKtDI/LJ0PAXVOH0ySaOUjsAAAAASUVORK5CYII=') no-repeat scroll 0 0 transparent !important } \
#gb { height:68px !important } \
#gbx1 { background-color:#C2CFF1 !important; border-bottom:1px solid #B2C0DE !important; height:37px !important; } \
#gbq2, #gbu { padding:4px 0 !important } \
#gbq2 { padding-left:64px !important } \
#gbq1 { margin-left:78px !important; top:-3px !important; } \
#gbqlw { height:45px !important } \
#gb { height:4px !important; background-color:#C2CFF1 !important; border-bottom:1px solid #B2C0DE !important; } \
#message-area-container, #loading-area-container { top:4px !important } \
#gbx2, #gbx3, #gbx4 { display:none !important } \
#gbw, #gbx1 { visibility:hidden !important } \
#gb:hover>#gbw, #gb:hover>#gbx1 { visibility:visible !important } \
#gb:hover>#gbx2, #gb:hover>#gbx3, #gb:hover>#gbx4 { display:block !important } \
#gb:hover~#message-area-container, #gb:hover~#loading-area-container { display:none !important } \
#entries #current-entry .entry-container { background-color:#FFFFF9 !important } \
.jfk-button-primary { background-color:#4d90fe !important; background-image:-moz-linear-gradient(center top , #4d90fe, #4787fe) !important; background-image:-webkit-linear-gradient(top,#4d90fe,#4787ed) !important; background-image:-o-linear-gradient(top,#4d90fe,#4787ed) !important; background-image:linear-gradient(top,#4d90fe,#4787ed) !important; border:1px solid #3079ed !important; color:#fff !important; } \
.jfk-button-primary.jfk-button-hover { background-color:#357ae8 !important; background-image:-moz-linear-gradient(center top , #4D90fe, #357ae8) !important; background-image:-webkit-linear-gradient(top,#4d90fe,#357ae8 ) !important; background-image:-o-linear-gradient(top,#4d90fe,#357ae8 ) !important; background-image:linear-gradient(top,#4d90fe,#357ae8 ) !important; border:1px solid #2f5bb7 !important; box-shadow:0 1px 1px rgba(0, 0, 0, 0.2) !important; } \
#nav, #lhn-add-subscription-section, #scrollable-sections-top-shadow, #scrollable-sections-bottom-shadow { width:280px !important } \
#chrome { margin-left:280px !important } \
.folder .name-text, .folder .folder .name-text { max-width:182px !important } \
.folder .folder .sub .name-text { max-width:172px !important } \
.lhn-hidden #chrome { margin-left:0 !important } \
#lhn-add-subscription { margin-left:78px !important } \
.item-plusone { display:none !important } \
#lhn-selectors .selector, #lhn-selectors .selector a { overflow:hidden !important; overflow-x:hidden !important; overflow-y:hidden !important; } \
#sub-tree-container { border-top:1px solid #C9D8FA !important; } \
";
window.addEventListener('load',function(){ "use strict";
	if(document.location.href.indexOf('google.com/reader')<0) { return false; }
	universal_addstyle(css);
},false);
function universal_addstyle(css){ "use strict";
	var style = document.createElement('style');
	style.appendChild(document.createTextNode(css));
	var h = document.getElementsByTagName('head');
	if(h.length>=1) { h[h.length-1].appendChild(style); }
}

Added user-js/includes/kafene-google-docs-viewer.user.js.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// ==UserScript==
// @name          kafene-google-docs-viewer
// @namespace     90341e5c2wf6
// @include       http://*/*
// @include       https://*/*
// @match         http://*/*
// @match         https://*/*
// @exclude       widget://*
// @run-at        document-start
// ==/UserScript==
window.addEventListener('load',function(){
	if(window.location.host.indexOf('docs.google.')!==-1
	||window.location.host.indexOf('drive.google.')!==-1)
		return;
	var Links = document.getElementsByTagName('a');
	for(var i=0;i<Links.length;i++) {
		try {
			if(Links[i].className.indexOf('kgdocurlitem')!=-1) continue;
			var re = /\.(docx?|eps|xlsx?|pdf|odt|pptx?|p?ps|psd|xps|ttf)$/i;
			if(re.test(Links[i].href)) {
				Links[i].href = 'http://docs.google.com/viewer?extsrc=1&url='+Links[i].href+'';
				Links[i].className = Links[i].className+' kgdocurlitem';
				Links[i].setAttribute('target','_blank');
			}
		} catch(err){}
	}
},false);

Added user-js/includes/kafene-pinboard-style.user.js.





















































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
// ==UserScript==
// @name         kafene-pinboard-style
// @namespace    0c2982529348
// @include      http://pinboard.in/*
// @include      https://pinboard.in/*
// @include      http://www.pinboard.in/*
// @include      https://www.pinboard.in/*
// @match        http://*.pinboard.in/*
// @match        https://*.pinboard.in/*
// @run-at       document-start
// ==/UserScript==
/*jshint multistr:true */
var css = " \
*{ box-sizing:border-box !important; max-width:100% !important; } \
body, #pinboard, #content { width:100%; padding:0; margin:0; } \
body { overflow-y:scroll; font-family:sans-serif; /* line-height:100%; */ } \
body, .display .description, .display a { font-size:12px !important; } \
a:not([onmouseover*='this.style']):hover { text-decoration:underline; } \
#banner { \
	display:block; padding:4px 10px; height:auto; width:100%; float:left; \
} \
#banner a:not(#pinboard_name), a.bookmark_title { color:#11a !important; } \
#main_column, #profile_main_column { \
	margin:0; padding:0 5% 0 5%; width:65%; min-height:500px !important; \
} \
.edit_checkbox { margin:7px 0 0 -40px; } \
.display, .bookmark, #bulk_edit_box { padding:0; width:100%; margin:0; } \
.bookmark { \
	margin:0.3em 0; padding:0 0 0.5em 0; /* was 0.2em/0.35em but too small! */ \
	border-bottom:1px solid #eee !important; \
} \
.bookmark.private { background:transparent !important; border:0; } \
.bookmark:not(.private) { \
	background:#eee; border:1px solid #ccc !important; padding:0.25em; \
} \
.bookmark:not(.private) .edit_links:after { \
	margin:0 0.25em; content:' public '; color:#c66 !important; \
	/* font-size:12px !important; */ font-weight:400; position:relative; \
} \
.edit_links a.edit { color:#999 !important; } \
a.bookmark_title { \
	font-size:120%; line-height:100%; display:table; margin-bottom:0.25em; \
} \
a.selected { font-weight:bold; } \
a.unread { font-weight:bold; } \
a.tag { line-height:1 !important; } \
a.url_link { padding:0 2px; /* background-color:transparent !important; */ } \
.display a { line-height:1; } \
.bookmark_count_box { white-space:nowrap; } \
.description { \
	margin:0 0 0.25em 0; font-family:monospace; line-height:1.25em !important; \
} \
.display br { display:none !important; } \
.display .description br { display:block !important; } \
/* .display a[href^='/u:']:not([href*='t:']) { display:none !important; } \ */ \
/* .display a.url_link { display:none !important; } \ */ \
.description blockquote { font-family:monospace; margin:0.25em 0.5em; } \
#right_bar, #tag_cloud { margin:0; padding:0; float:left; width:30%; } \
#right_bar #tag_cloud { width:100%; margin:0; } \
.tag_table { margin:0; width:50%; } \
#tag_cloud a { line-height:130% !important; font-size:100% !important; } \
form[action='/add'], form[action='/add'] table { \
	padding:0.5em; width:100%; \
} \
form[action='/add'] input[type='text'], form[action='/add'] textarea { \
	width:100%; \
} \
.pin-ac{ margin-top:-2px;} \
#popup_header { margin:0.25em 0.5em; } \
.star { display:none; } \
#edit_bookmark_form { \
	width:100%; background:#ddd; border:1px solid #aaa; padding:0.5em; \
} \
.edit_form_input { \
	border:1px solid #aaa !important; margin:0; line-height:120%; \
} \
#edit_bookmark_form p { display:none; } \
#edit_form_checkboxes { margin:0.5em 0; } \
textarea.edit_form_input { width:100%; margin:0.25em 0; height:12em; } \
";
window.addEventListener('load',function(){ "use strict";
	if(window.location.href.indexOf('pinboard.in')<0) { return false; }
	universal_addstyle(css);
},false);
function universal_addstyle(css){ "use strict";
	var style = document.createElement('style');
	style.appendChild(document.createTextNode(css));
	var h = document.getElementsByTagName('head');
	if(h.length>=1) { h[h.length-1].appendChild(style); }
}

Added user-js/includes/kafene-youtube-tube.majestyc.net-redirect.js.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// ==UserScript==
// @name          kafene-youtube-tube.majestyc.net-redirect
// @namespace     ae73420c30c1
// @include       http://*/*
// @include       https://*/*
// @match         http://*/*
// @match         https://*/*
// @exclude       widget://*
// @run-at        document-start
// ==/UserScript==
/*
window.addEventListener('load',function(){
	if(window.location.host.indexOf('youtube.')>=0) { return false; }
	var Links = document.getElementsByTagName('a');
	for(var i in Links) {
		try {
			var matches = Links[i].href.match(/youtube\..+?v=(.+?)(\?|&|#|%|$)/i);
			if(typeof matches[1]!=='undefined'&&matches[1]!=='') {
				Links[i].href = 'http://tube.majestyc.net/?v='+matches[1]+'';
				Links[i].setAttribute('target','_blank');
			}
		}
		catch(e){}
	}
},false);
*/

Added user-js/includes/popup-statusbar.js.











































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/**
 * Authors: David Håsäther, <davidh@opera.com>
 * Jan Henrik Helmers, <janhh@opera.com>
 * Martin Rauscher, <firstname@rauscheronline.de>
 * Version: 0.1
 */
/*
function PopupStatusbar(){
	var ID = "_opera_extension_$_popup_statusbar_",hTID=null,eTID=null,
		styles = {'https':["background:#fc5","color:#431","border-color:#431"]};
	this._currentTarget = null;
	this._isExpanded = false;
	this.show = function(evt){
		var t = evt.target;
		while(t&&!/^(?:a|area)$/i.test(t.nodeName)) t=t.parentNode;
		if(!t||!t.href) return;
		clearTimeout(hTID);
		var el = document.getElementById(ID);
		var sbar = el||document.createElement('div');
		if(this._currentTarget!=t){
			this._removeElement();
			var url = t.href;
			var scheme = url.slice(0,url.indexOf(':'));
			sbar.id = ID;
			sbar.style.cssText = [
				'position:fixed','z-index:2147483647','text-overflow:ellipsis',
				'bottom:0','left:0','font:12px "Segoe UI","Droid Sans",sans-serif',
				'background:#eee','color:#000','text-shadow:0 1px #f2f7fc',
				'box-sizing:border-box','border:0 solid #999','padding:2px 4px',
				'border-width:1px 1px 0 0','overflow:hidden','white-space:nowrap',
			].concat(styles[scheme]||[])
			.concat(el?'opacity:1':'opacity:0')
				.concat(this._isExpanded
					? 'max-width:100%'
					: 'max-width:'+Math.min(500,document.documentElement.clientWidth)+'px').join(' !important;');
			if(t.title){ sbar.innerHTML = t.title+"<br/>"+decodeURI(url.replace('http://','')); }
			else{ sbar.textContent = decodeURI(url.replace('http://','')); }
			document.documentElement.appendChild(sbar);
			var box = sbar.getBoundingClientRect();
			if(evt.clientY>box.top&&evt.clientX<box.width){ this._removeElement(); return; }
			setTimeout(function(){sbar.style.opacity='1 !important';},0);
		}
		this._currentTarget = t;
		eTID = setTimeout(function(){
			sbar.style.maxWidth = document.documentElement.clientWidth+'px !important';
			this._isExpanded = true;
		}.bind(this),1000);
		var removeBound = function(evt){
			this.hide(evt);
			t.removeEventListener('mouseout',removeBound,false);
		}.bind(this);
		t.addEventListener("mouseout",removeBound,false);
		sbar.addEventListener('mouseover',this._removeElement.bind(this),false);
	};
	this.hide = function(evt){
		clearTimeout(eTID);
		hTID = setTimeout(function(){
			var el = document.getElementById(ID);
			if(el){ el.style.display = 'none !important'; }
			setTimeout(this._removeElement.bind(this),0);
			this._isExpanded = false;
		}.bind(this),300);
	};
	this._removeElement = function(){
		var el = document.getElementById(ID);
		if(el){ el.parentNode.removeChild(el); this._currentTarget = null; }
	};
}
window.addEventListener('DOMContentLoaded',function(evt){
	var s = Array.prototype.slice;
	Function.prototype.bind = function(context){
		var method = this;
		var args = s.call(arguments,1);
		return function(){ return method.apply(context,args.concat(s.call(arguments,0))); };
	};
	if(window!=window.top) return;
	var sbar = new PopupStatusbar();
	var show_bound = sbar.show.bind(sbar);
	document.body.addEventListener('mouseover',show_bound,false);
	opera.extension.addEventListener('disconnect',function(){
		sbar._removeElement();
		document.body.removeEventListener('mouseover',show_bound,false);
	},false);
},false);
*/

Added user-js/includes/youtube-webm.user.js.



















































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
// ==UserScript==
// @license MIT
// @include http://youtube.com/*
// @include http://*.youtube.com/*
// @include https://youtube.com/*
// @include https://*.youtube.com/*
// @exclude http://youtube.com/html5
// @exclude http://*.youtube.com/html5
// @exclude https://youtube.com/html5
// @exclude https://*.youtube.com/html5
// ==/UserScript==
(function() {
	var videopage = (window.location.pathname.indexOf('/watch')===0),
	embedded = (window.location.pathname.indexOf('/embed/')===0),
	userpage = ((window.location.pathname.indexOf('/user/')===0)||(window.location.pathname.indexOf('/profile')===0));
	window.addEventListener('DOMContentLoaded', function() {
		if(videopage&&!isHtml5VideoPlayer()) {
			replaceFlashWithFramePlayer();
			document.getElementById('watch-player').addEventListener('DOMNodeInserted',replaceFlashWithFramePlayer,false);
		}
		else if(userpage&&!isHtml5VideoPlayer()) {
			replaceFlashWithFramePlayer();
			document.getElementById('playnav-player').addEventListener('DOMNodeInserted',replaceFlashWithFramePlayer,false);
		}
		if(videopage) {
			downloadVideoButton();
			removeElementById('flash10-promo-div');
		}
	},false);
	function removeElementById(id) {
		var element = document.getElementById(id);
		if(element!=null) element.parentNode.removeChild(element);
	}
	function isHtml5VideoPlayer() {
		if(videopage) {
			var videoPlayer = document.getElementById('watch-player');
			if(videoPlayer!=null) {
				if(videoPlayer.class==='html5-player') return true;
			}
			else return false;
		}
		else if (embedded) {
			var videoPlayer = document.getElementById('video-player');
			if(videoPlayer!=null) {
				if(videoPlayer.class==='html5-video-player') return true;
			}
			else return false;
		}
		else if(userpage) {
			var videoPlayer = document.getElementById('playnav-player');
			if(videoPlayer!=null) {
				if(videoPlayer.getElementsByTagName('video').length>0||videoPlayer.getElementsByTagName('iframe').length>0)
					return true;
				else if(videoPlayer.getElementsByTagName('embed')[0]) return false;
				else return false;
			}
			else return false;
		}
		else return false;
	}
	function redirectEmbeddedUnlessHtml5() {
		if(!isHtml5VideoPlayer()&&embedded) {
			if(!~window.location.href.indexOf('html5=True')) {
				if(~window.location.href.indexOf('?')) {
					window.location = window.location.href+'&html5=True'
				}
				else window.location = window.location.href+'?html5=True'
			}
		}
	}
	function createFramePlayer(videoid) {
		if(videoid) {
			var iframe = document.createElement('iframe');
			iframe.style.borderWidth = '0px';
			iframe.style.height = '100%';
			iframe.style.width = '100%';
			iframe.src = 'http://www.youtube.com/embed/'+videoid+'?html5=True&autoplay=1&modestbranding=1';
			return iframe;
		}
		else return false; 
	}
	function replaceFlashWithFramePlayer() {
		var player = document.getElementById('watch-player'),
			flash = document.getElementById('movie_player');
		if(flash||(document.getElementById('flash-upgrade'))) {
			removeElementById('movie_player');
			document.getElementById('watch-player').appendChild(createFramePlayer(window.yt.getConfig('VIDEO_ID')));
		}
		else if(userpage&&document.getElementById('playnav-player')) {
			var videoPlayer = document.getElementById('playnav-player'),
				flashplayer = document.getElementById('movie_player'),
				videoid = undefined;
			if(flashplayer&&flashplayer.getAttribute('flashvars')) {
				videoid = flashplayer.getAttribute('flashvars').match(/(?:&video_id=)([a-z,A-Z,0-9,_,-]{0,200})/)[1];
				videoPlayer.removeChild(flashplayer);
				videoPlayer.appendChild(createFramePlayer(videoid));
			}
			else return false;
		}
		if(document.getElementById('flash-upgrade')) {
			removeElementById('flash-upgrade');
		}
	}
	function downloadVideoButton() {
		var text, video = document.getElementsByTagName('video'),
		container = document.getElementById('watch-actions-right'),
		button = document.createElement('button');
		if(video.length>0) {
			try {
				button.setAttribute('class','yt-uix-button yt-uix-tooltip yt-uix-tooltip-reverse');
				button.style.position = 'relative';
				button.style.top = '-6px';
				button.setAttribute('data-tooltip-text','Click, then press Ctrl+S to save.');
				button.onclick = function() { window.location = video[0].src; }
				text = document.createTextNode('Download Video');
				button.appendChild(text)
				container.appendChild(button);
			} catch(e){}
		}
	}
}());

Added user-js/index.html.