mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-03 06:51:26 +08:00

* Add Check for WindowState IsMaximised, IsMinimized, IsNormal and IsFullscreen Solve conflicts # Conflicts: # v2/internal/frontend/desktop/darwin/WailsContext.m # v2/internal/frontend/desktop/darwin/frontend.go # v2/internal/frontend/desktop/linux/window.go # v2/internal/frontend/desktop/windows/window.go * Add Check for WindowState IsMaximised, IsMinimized, IsNormal and IsFullscreen Solve conflict # Conflicts: # v2/pkg/runtime/window.go * Forgot some function to use it # Conflicts: # v2/internal/frontend/desktop/darwin/WailsContext.h # v2/internal/frontend/desktop/windows/win32/consts.go # v2/internal/frontend/desktop/windows/win32/window.go * Modify the instructions # Conflicts: # v2/internal/frontend/devserver/devserver.go * Add Functions to DevServer # Conflicts: # v2/internal/frontend/dispatcher/systemcalls.go # v2/internal/frontend/runtime/desktop/window.js # v2/internal/frontend/runtime/package-lock.json # v2/internal/frontend/runtime/runtime_prod_desktop.js # v2/internal/frontend/runtime/wrapper/runtime.d.ts # v2/internal/frontend/runtime/wrapper/runtime.js * Add Callback and JavaScript Functions # Conflicts: # v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.js # v2/internal/frontend/runtime/package-lock.json # v2/internal/frontend/runtime/runtime_dev_desktop.js * Remove Merge lines * Fix IsMaximised * Add WindowState Docs * Update docs Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
package dispatcher
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/wailsapp/wails/v2/pkg/runtime"
|
|
"strings"
|
|
|
|
"github.com/wailsapp/wails/v2/internal/frontend"
|
|
)
|
|
|
|
const systemCallPrefix = ":wails:"
|
|
|
|
type position struct {
|
|
X int `json:"x"`
|
|
Y int `json:"y"`
|
|
}
|
|
|
|
type size struct {
|
|
W int `json:"w"`
|
|
H int `json:"h"`
|
|
}
|
|
|
|
func (d *Dispatcher) processSystemCall(payload callMessage, sender frontend.Frontend) (interface{}, error) {
|
|
|
|
// Strip prefix
|
|
name := strings.TrimPrefix(payload.Name, systemCallPrefix)
|
|
|
|
switch name {
|
|
case "WindowGetPos":
|
|
x, y := sender.WindowGetPosition()
|
|
return &position{x, y}, nil
|
|
case "WindowGetSize":
|
|
w, h := sender.WindowGetSize()
|
|
return &size{w, h}, nil
|
|
case "ScreenGetAll":
|
|
return sender.ScreenGetAll()
|
|
case "WindowIsMaximised":
|
|
return sender.WindowIsMaximised(), nil
|
|
case "WindowIsMinimised":
|
|
return sender.WindowIsMinimised(), nil
|
|
case "WindowIsNormal":
|
|
return sender.WindowIsNormal(), nil
|
|
case "WindowIsFullscreen":
|
|
return sender.WindowIsFullscreen(), nil
|
|
case "Environment":
|
|
return runtime.Environment(d.ctx), nil
|
|
default:
|
|
return nil, fmt.Errorf("unknown systemcall message: %s", payload.Name)
|
|
}
|
|
|
|
}
|