mirror of
https://github.com/paradoxxxzero/butterfly.git
synced 2026-06-02 18:39:42 +00:00
Fix trim + fx
This commit is contained in:
@@ -57,3 +57,9 @@ $shadow-alpha: .5 !default
|
||||
transform: rotate(-45deg)
|
||||
opacity: .2
|
||||
font-weight: 900
|
||||
|
||||
&.copied
|
||||
transform: scale(1.05)
|
||||
|
||||
&.pasted
|
||||
transform: scale(.95)
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
|
||||
document.addEventListener('copy', copy = function(e) {
|
||||
var data, end, line, sel, _i, _len, _ref;
|
||||
butterfly.bell("copied");
|
||||
e.clipboardData.clearData();
|
||||
sel = getSelection().toString().replace(/\u00A0/g, ' ').replace(/\u2007/g, ' ');
|
||||
data = '';
|
||||
@@ -61,7 +62,7 @@
|
||||
} else {
|
||||
end = '\n';
|
||||
}
|
||||
data += line.trim() + end;
|
||||
data += line.replace(/\s*$/, '') + end;
|
||||
}
|
||||
e.clipboardData.setData('text/plain', data);
|
||||
return e.preventDefault();
|
||||
@@ -69,6 +70,7 @@
|
||||
|
||||
document.addEventListener('paste', function(e) {
|
||||
var data;
|
||||
butterfly.bell("pasted");
|
||||
data = e.clipboardData.getData('text/plain');
|
||||
data = data.replace(/\r\n/g, '\n').replace(/\n/g, '\r');
|
||||
butterfly.send(data);
|
||||
|
||||
4
butterfly/static/ext.min.js
vendored
4
butterfly/static/ext.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -135,158 +135,10 @@ html, body {
|
||||
transform: rotate(-45deg);
|
||||
opacity: 0.2;
|
||||
font-weight: 900; }
|
||||
|
||||
/* @keyframes flicker */
|
||||
/* $steps: 20 */
|
||||
/* @for $i from 0 through $steps */
|
||||
/* # {percentage($i * 1 / $steps)} */
|
||||
/* opacity: random() */
|
||||
@keyframes flicker {
|
||||
0% {
|
||||
opacity: 0.22849; }
|
||||
|
||||
5% {
|
||||
opacity: 0.90105; }
|
||||
|
||||
10% {
|
||||
opacity: 0.36825; }
|
||||
|
||||
15.0% {
|
||||
opacity: 0.44997; }
|
||||
|
||||
20% {
|
||||
opacity: 0.08073; }
|
||||
|
||||
25% {
|
||||
opacity: 0.96555; }
|
||||
|
||||
30.0% {
|
||||
opacity: 0.37597; }
|
||||
|
||||
35% {
|
||||
opacity: 0.64167; }
|
||||
|
||||
40% {
|
||||
opacity: 0.09629; }
|
||||
|
||||
45% {
|
||||
opacity: 0.5588; }
|
||||
|
||||
50% {
|
||||
opacity: 0.76785; }
|
||||
|
||||
55.0% {
|
||||
opacity: 0.67573; }
|
||||
|
||||
60.0% {
|
||||
opacity: 0.14266; }
|
||||
|
||||
65% {
|
||||
opacity: 0.42935; }
|
||||
|
||||
70% {
|
||||
opacity: 0.50035; }
|
||||
|
||||
75% {
|
||||
opacity: 0.41609; }
|
||||
|
||||
80% {
|
||||
opacity: 0.3419; }
|
||||
|
||||
85.0% {
|
||||
opacity: 0.42412; }
|
||||
|
||||
90% {
|
||||
opacity: 0.71636; }
|
||||
|
||||
95% {
|
||||
opacity: 0.54473; }
|
||||
|
||||
100% {
|
||||
opacity: 0.52471; } }
|
||||
|
||||
.terminal {
|
||||
background: #110f13;
|
||||
/* animation: turn-on 1s linear */
|
||||
/* animation-fill-mode: forwards */ }
|
||||
.terminal::after {
|
||||
content: " ";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background: rgba(17, 15, 19, 0.1);
|
||||
opacity: 0;
|
||||
z-index: 2;
|
||||
pointer-events: none;
|
||||
animation: flicker 0.15s infinite; }
|
||||
.terminal::before {
|
||||
content: " ";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background: linear-gradient(rgba(17, 15, 19, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06));
|
||||
z-index: 2;
|
||||
background-size: 100% 2px, 3px 100%;
|
||||
pointer-events: none; }
|
||||
.terminal.dead {
|
||||
animation: turn-off 0.55s cubic-bezier(0.23, 1, 0.32, 1);
|
||||
animation-fill-mode: forwards; }
|
||||
|
||||
@keyframes turn-on {
|
||||
0% {
|
||||
transform: scale(1, 0.8) translate3d(0, 0, 0);
|
||||
-webkit-filter: brightness(30);
|
||||
filter: brightness(30);
|
||||
opacity: 1; }
|
||||
|
||||
3.5% {
|
||||
transform: scale(1, 0.8) translate3d(0, 100%, 0); }
|
||||
|
||||
3.6% {
|
||||
transform: scale(1, 0.8) translate3d(0, -100%, 0);
|
||||
opacity: 1; }
|
||||
|
||||
9% {
|
||||
transform: scale(1.3, 0.6) translate3d(0, 100%, 0);
|
||||
-webkit-filter: brightness(30);
|
||||
filter: brightness(30);
|
||||
opacity: 0; }
|
||||
|
||||
11% {
|
||||
transform: scale(1, 1) translate3d(0, 0, 0);
|
||||
-webkit-filter: contrast(0) brightness(0);
|
||||
filter: contrast(0) brightness(0);
|
||||
opacity: 0; }
|
||||
|
||||
100% {
|
||||
transform: scale(1, 1) translate3d(0, 0, 0);
|
||||
-webkit-filter: contrast(1) brightness(1.2) saturate(1.3);
|
||||
filter: contrast(1) brightness(1.2) saturate(1.3);
|
||||
opacity: 1; } }
|
||||
|
||||
@keyframes turn-off {
|
||||
0% {
|
||||
transform: scale(1, 1.3) translate3d(0, 0, 0);
|
||||
-webkit-filter: brightness(1);
|
||||
filter: brightness(1);
|
||||
opacity: 1; }
|
||||
|
||||
60% {
|
||||
transform: scale(1.3, 0.001) translate3d(0, 0, 0);
|
||||
-webkit-filter: brightness(10);
|
||||
filter: brightness(10); }
|
||||
|
||||
100% {
|
||||
animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
|
||||
transform: scale(0, 0.0001) translate3d(0, 0, 0);
|
||||
-webkit-filter: brightness(50);
|
||||
filter: brightness(50); } }
|
||||
.terminal.copied {
|
||||
transform: scale(1.05); }
|
||||
.terminal.pasted {
|
||||
transform: scale(0.95); }
|
||||
|
||||
/* *-* coding: utf-8 *-* */
|
||||
/* This file is part of butterfly */
|
||||
|
||||
@@ -1376,14 +1376,17 @@
|
||||
return this.queue += data;
|
||||
};
|
||||
|
||||
Terminal.prototype.bell = function() {
|
||||
Terminal.prototype.bell = function(cls) {
|
||||
if (cls == null) {
|
||||
cls = "bell";
|
||||
}
|
||||
if (!this.visualBell) {
|
||||
return;
|
||||
}
|
||||
this.element.classList.add("bell");
|
||||
this.element.classList.add(cls);
|
||||
return this.t_bell = setTimeout(((function(_this) {
|
||||
return function() {
|
||||
return _this.element.classList.remove("bell");
|
||||
return _this.element.classList.remove(cls);
|
||||
};
|
||||
})(this)), this.visualBell);
|
||||
};
|
||||
|
||||
4
butterfly/static/main.min.js
vendored
4
butterfly/static/main.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -16,6 +16,7 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
document.addEventListener 'copy', copy = (e) ->
|
||||
butterfly.bell "copied"
|
||||
e.clipboardData.clearData()
|
||||
sel = getSelection().toString().replace(
|
||||
/\u00A0/g, ' ').replace(/\u2007/g, ' ')
|
||||
@@ -27,12 +28,13 @@ document.addEventListener 'copy', copy = (e) ->
|
||||
line = line.slice(0, -1)
|
||||
else
|
||||
end = '\n'
|
||||
data += line.trim() + end
|
||||
data += line.replace(/\s*$/, '') + end
|
||||
|
||||
e.clipboardData.setData 'text/plain', data
|
||||
e.preventDefault()
|
||||
|
||||
document.addEventListener 'paste', (e) ->
|
||||
butterfly.bell "pasted"
|
||||
data = e.clipboardData.getData 'text/plain'
|
||||
data = data.replace(/\r\n/g, '\n').replace(/\n/g, '\r')
|
||||
butterfly.send data
|
||||
|
||||
@@ -1381,11 +1381,11 @@ class Terminal
|
||||
|
||||
@queue += data
|
||||
|
||||
bell: ->
|
||||
bell: (cls="bell")->
|
||||
return unless @visualBell
|
||||
@element.classList.add "bell"
|
||||
@element.classList.add cls
|
||||
@t_bell = setTimeout (=>
|
||||
@element.classList.remove "bell"
|
||||
@element.classList.remove cls
|
||||
), @visualBell
|
||||
|
||||
resize: ->
|
||||
|
||||
Reference in New Issue
Block a user