Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
后端镜像
Tabby
提交
38a6e7fe
T
Tabby
项目概览
后端镜像
/
Tabby
通知
37
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Tabby
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
38a6e7fe
编写于
12月 27, 2020
作者:
E
Eugene Pankov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
work around win32 fluent background bugs - #949
上级
2ef3a81d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
26 addition
and
29 deletion
+26
-29
app/lib/window.ts
app/lib/window.ts
+25
-24
terminus-core/src/services/hostApp.service.ts
terminus-core/src/services/hostApp.service.ts
+1
-4
terminus-core/src/utils.ts
terminus-core/src/utils.ts
+0
-1
未找到文件。
app/lib/window.ts
浏览文件 @
38a6e7fe
...
...
@@ -22,11 +22,16 @@ export interface WindowOptions {
hidden
?:
boolean
}
abstract
class
GlasstronWindow
extends
BrowserWindow
{
blurType
:
string
abstract
setBlur
(
_
:
boolean
)
}
export
class
Window
{
ready
:
Promise
<
void
>
private
visible
=
new
Subject
<
boolean
>
()
private
closed
=
new
Subject
<
void
>
()
private
window
:
Browser
Window
private
window
:
Glasstron
Window
private
windowConfig
:
ElectronConfig
private
windowBounds
:
Rectangle
private
closing
=
false
...
...
@@ -84,7 +89,7 @@ export class Window {
}
}
this
.
window
=
new
BrowserWindow
(
bwOptions
)
this
.
window
=
new
glasstron
.
BrowserWindow
(
bwOptions
)
this
.
window
.
once
(
'
ready-to-show
'
,
()
=>
{
if
(
process
.
platform
===
'
darwin
'
)
{
...
...
@@ -129,21 +134,20 @@ export class Window {
})
}
setVibrancy
(
enabled
:
boolean
,
type
?:
string
):
void
{
this
.
lastVibrancy
=
{
enabled
,
type
}
setVibrancy
(
enabled
:
boolean
,
type
?:
string
,
userRequested
?:
boolean
):
void
{
if
(
userRequested
??
true
)
{
this
.
lastVibrancy
=
{
enabled
,
type
}
}
if
(
process
.
platform
===
'
win32
'
)
{
if
(
parseFloat
(
os
.
release
())
>=
10
)
{
glasstron
.
update
(
this
.
window
,
{
windows
:
{
blurType
:
enabled
?
type
===
'
fluent
'
?
'
acrylic
'
:
'
blurbehind
'
:
null
},
})
this
.
window
.
blurType
=
enabled
?
type
===
'
fluent
'
?
'
acrylic
'
:
'
blurbehind
'
:
null
this
.
window
.
setBlur
(
enabled
)
}
else
{
DwmEnableBlurBehindWindow
(
this
.
window
,
enabled
)
}
}
else
if
(
process
.
platform
===
'
linux
'
)
{
glasstron
.
update
(
this
.
window
,
{
linux
:
{
requestBlur
:
enabled
},
})
this
.
window
.
setBackgroundColor
(
enabled
?
'
#00000000
'
:
'
#131d27
'
)
this
.
window
.
setBlur
(
enabled
)
}
else
{
this
.
window
.
setVibrancy
(
enabled
?
'
dark
'
:
null
as
any
)
// electron issue 20269
}
...
...
@@ -360,24 +364,21 @@ export class Window {
this
.
disableVibrancyWhileDragging
=
value
})
this
.
window
.
on
(
'
will-move
'
,
()
=>
{
let
moveEndedTimeout
:
number
|
null
=
null
const
onBoundsChange
=
()
=>
{
if
(
!
this
.
lastVibrancy
?.
enabled
||
!
this
.
disableVibrancyWhileDragging
)
{
return
}
let
timeout
:
number
|
null
=
null
const
oldVibrancy
=
this
.
lastVibrancy
this
.
setVibrancy
(
false
)
const
onMove
=
()
=>
{
if
(
timeout
)
{
clearTimeout
(
timeout
)
}
timeout
=
setTimeout
(()
=>
{
this
.
window
.
off
(
'
move
'
,
onMove
)
this
.
setVibrancy
(
oldVibrancy
.
enabled
,
oldVibrancy
.
type
)
},
500
)
this
.
setVibrancy
(
false
,
undefined
,
false
)
if
(
moveEndedTimeout
)
{
clearTimeout
(
moveEndedTimeout
)
}
this
.
window
.
on
(
'
move
'
,
onMove
)
})
moveEndedTimeout
=
setTimeout
(()
=>
{
this
.
setVibrancy
(
this
.
lastVibrancy
.
enabled
,
this
.
lastVibrancy
.
type
)
},
50
)
}
this
.
window
.
on
(
'
move
'
,
onBoundsChange
)
this
.
window
.
on
(
'
resize
'
,
onBoundsChange
)
}
private
destroy
()
{
...
...
terminus-core/src/services/hostApp.service.ts
浏览文件 @
38a6e7fe
...
...
@@ -174,10 +174,7 @@ export class HostAppService {
this
.
configChangeBroadcast
.
next
()
}))
if
(
isWindowsBuild
(
WIN_BUILD_FLUENT_BG_SUPPORTED
)
&&
!
isWindowsBuild
(
WIN_BUILD_FLUENT_BG_MOVE_BUG_FIXED
)
)
{
if
(
isWindowsBuild
(
WIN_BUILD_FLUENT_BG_SUPPORTED
))
{
electron
.
ipcRenderer
.
send
(
'
window-set-disable-vibrancy-while-dragging
'
,
true
)
}
}
...
...
terminus-core/src/utils.ts
浏览文件 @
38a6e7fe
...
...
@@ -4,7 +4,6 @@ export const WIN_BUILD_CONPTY_SUPPORTED = 17692
export
const
WIN_BUILD_CONPTY_STABLE
=
18309
export
const
WIN_BUILD_WSL_EXE_DISTRO_FLAG
=
17763
export
const
WIN_BUILD_FLUENT_BG_SUPPORTED
=
17063
export
const
WIN_BUILD_FLUENT_BG_MOVE_BUG_FIXED
=
18917
export
function
isWindowsBuild
(
build
:
number
):
boolean
{
return
process
.
platform
===
'
win32
'
&&
parseFloat
(
os
.
release
())
>=
10
&&
parseInt
(
os
.
release
().
split
(
'
.
'
)[
2
])
>=
build
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录