mirror of
https://github.com/Eugeny/tabby.git
synced 2024-11-22 20:55:03 +03:00
fix(tabby-terminal): prevent copying on select when search find next/previous
This commit is contained in:
parent
bb6ed52291
commit
d3adbd03d4
@ -69,6 +69,7 @@ export class XTermFrontend extends Frontend {
|
||||
private resizeHandler: () => void
|
||||
private configuredTheme: ITheme = {}
|
||||
private copyOnSelect = false
|
||||
private preventNextOnSelectionChangeEvent = false
|
||||
private search = new SearchAddon()
|
||||
private searchState: SearchState = { resultCount: 0 }
|
||||
private fitAddon = new FitAddon()
|
||||
@ -116,8 +117,11 @@ export class XTermFrontend extends Frontend {
|
||||
this.title.next(title)
|
||||
})
|
||||
this.xterm.onSelectionChange(() => {
|
||||
if (this.copyOnSelect && this.getSelection()) {
|
||||
this.copySelection()
|
||||
if (this.getSelection()) {
|
||||
if (this.copyOnSelect && !this.preventNextOnSelectionChangeEvent) {
|
||||
this.copySelection()
|
||||
}
|
||||
this.preventNextOnSelectionChangeEvent = false
|
||||
}
|
||||
})
|
||||
this.xterm.onBell(() => {
|
||||
@ -444,12 +448,18 @@ export class XTermFrontend extends Frontend {
|
||||
}
|
||||
|
||||
findNext (term: string, searchOptions?: SearchOptions): SearchState {
|
||||
if (this.copyOnSelect) {
|
||||
this.preventNextOnSelectionChangeEvent = true
|
||||
}
|
||||
return this.wrapSearchResult(
|
||||
this.search.findNext(term, this.getSearchOptions(searchOptions)),
|
||||
)
|
||||
}
|
||||
|
||||
findPrevious (term: string, searchOptions?: SearchOptions): SearchState {
|
||||
if (this.copyOnSelect) {
|
||||
this.preventNextOnSelectionChangeEvent = true
|
||||
}
|
||||
return this.wrapSearchResult(
|
||||
this.search.findPrevious(term, this.getSearchOptions(searchOptions)),
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user