mirror of
https://github.com/m1k1o/neko.git
synced 2024-07-24 14:40:50 +12:00
upload dialog API.
This commit is contained in:
58
internal/desktop/filechooser.go
Normal file
58
internal/desktop/filechooser.go
Normal file
@ -0,0 +1,58 @@
|
||||
package desktop
|
||||
|
||||
import (
|
||||
"os/exec"
|
||||
)
|
||||
|
||||
func (manager *DesktopManagerCtx) HandleFileChooserDialog(uri string) error {
|
||||
mu.Lock()
|
||||
defer mu.Unlock()
|
||||
|
||||
// TOOD: Use native API.
|
||||
cmd := exec.Command(
|
||||
"xdotool",
|
||||
"search", "--name", "Open", "windowfocus",
|
||||
"sleep", "0.2",
|
||||
"key", "--clearmodifiers", "ctrl+l",
|
||||
"type", "--args", "1", uri + "//",
|
||||
"key", "--clearmodifiers", "Return",
|
||||
"sleep", "1",
|
||||
"key", "--clearmodifiers", "Down",
|
||||
"key", "--clearmodifiers", "ctrl+a",
|
||||
"key", "--clearmodifiers", "Return",
|
||||
"sleep", "0.3",
|
||||
)
|
||||
|
||||
_, err := cmd.Output()
|
||||
return err
|
||||
}
|
||||
|
||||
func (manager *DesktopManagerCtx) CloseFileChooserDialog() error {
|
||||
mu.Lock()
|
||||
defer mu.Unlock()
|
||||
|
||||
// TOOD: Use native API.
|
||||
cmd := exec.Command(
|
||||
"xdotool",
|
||||
"search", "--name", "Open", "windowfocus",
|
||||
"sleep", "0.2",
|
||||
"key", "--clearmodifiers", "alt+f4",
|
||||
)
|
||||
|
||||
_, err := cmd.Output()
|
||||
return err
|
||||
}
|
||||
|
||||
func (manager *DesktopManagerCtx) IsFileChooserDialogOpen() bool {
|
||||
mu.Lock()
|
||||
defer mu.Unlock()
|
||||
|
||||
// TOOD: Use native API.
|
||||
cmd := exec.Command(
|
||||
"xdotool",
|
||||
"search", "--name", "Open", "windowfocus",
|
||||
)
|
||||
|
||||
_, err := cmd.Output()
|
||||
return err == nil
|
||||
}
|
Reference in New Issue
Block a user