Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type App ¶
type App struct { // TS is the Tailscale Client instance to use for interaction with // Tailscale. TS *tsutil.Client // contains filtered or unexported fields }
App is the main type for the app, containing all of the state necessary to run it.
type Confirmation ¶
func (Confirmation) Show ¶
func (d Confirmation) Show(a *App, res func(bool))
type MainWindow ¶
type MainWindow struct { *adw.ApplicationWindow `gtk:"MainWindow"` ToastOverlay *adw.ToastOverlay SplitView *adw.NavigationSplitView StatusSwitch *gtk.Switch MainMenuButton *gtk.MenuButton PeersStack *gtk.Stack WorkSpinner *gtk.Spinner }
func NewMainWindow ¶
func NewMainWindow(app *gtk.Application) *MainWindow
type MullvadPage ¶ added in v0.12.0
type MullvadPage struct { *adw.StatusPage `gtk:"Page"` ExitNodesGroup *adw.PreferencesGroup // contains filtered or unexported fields }
func NewMullvadPage ¶ added in v0.12.0
func NewMullvadPage(a *App, status tsutil.Status) *MullvadPage
func (*MullvadPage) ID ¶ added in v0.12.0
func (page *MullvadPage) ID() string
func (*MullvadPage) Name ¶ added in v0.12.0
func (page *MullvadPage) Name() string
func (*MullvadPage) Root ¶ added in v0.12.0
func (page *MullvadPage) Root() gtk.Widgetter
func (*MullvadPage) Update ¶ added in v0.12.0
func (page *MullvadPage) Update(a *App, peer *ipnstate.PeerStatus, status tsutil.Status)
type Page ¶ added in v0.12.0
type Page interface { // Root returns the root widget that is can be placed into a container. Root() gtk.Widgetter // An identifier for the page. ID() string // Name returns a displayable name for the page. Name() string // Update performs an update of the UI to match new state. Update(*App, *ipnstate.PeerStatus, tsutil.Status) }
Page represents the UI for a single page of the app. This usually corresponds to information about a specific peer in the tailnet.
type PeerPage ¶
type PeerPage struct { *adw.StatusPage `gtk:"Page"` IPGroup *adw.PreferencesGroup AdvertisedRoutesGroup *adw.PreferencesGroup UDPRow *adw.ActionRow UDP *gtk.Image IPv4Row *adw.ActionRow IPv4Icon *gtk.Image IPv4Addr *gtk.Label IPv6Row *adw.ActionRow IPv6Icon *gtk.Image IPv6Addr *gtk.Label UPnPRow *adw.ActionRow UPnP *gtk.Image PMPRow *adw.ActionRow PMP *gtk.Image PCPRow *adw.ActionRow PCP *gtk.Image HairPinningRow *adw.ActionRow HairPinning *gtk.Image PreferredDERPRow *adw.ActionRow PreferredDERP *gtk.Label DERPLatencies *adw.ExpanderRow MiscGroup *adw.PreferencesGroup ExitNodeRow *adw.ActionRow ExitNodeSwitch *gtk.Switch OnlineRow *adw.ActionRow Online *gtk.Image LastSeenRow *adw.ActionRow LastSeen *gtk.Label CreatedRow *adw.ActionRow Created *gtk.Label LastWriteRow *adw.ActionRow LastWrite *gtk.Label LastHandshakeRow *adw.ActionRow LastHandshake *gtk.Label RxBytesRow *adw.ActionRow RxBytes *gtk.Label TxBytesRow *adw.ActionRow TxBytes *gtk.Label SendFileGroup *adw.PreferencesGroup SendFileRow *adw.ActionRow DropTarget *gtk.DropTarget // contains filtered or unexported fields }
func NewPeerPage ¶
type PreferencesWindow ¶
type PreferencesWindow struct { *adw.PreferencesWindow `gtk:"PreferencesWindow"` UseTrayIconRow *adw.ActionRow UseTrayIcon *gtk.Switch PollingIntervalRow *adw.ActionRow PollingInterval *gtk.SpinButton PollingIntervalAdjustment *gtk.Adjustment ControlURLRow *adw.EntryRow }
func NewPreferencesWindow ¶
func NewPreferencesWindow() *PreferencesWindow
type SelfPage ¶ added in v0.12.0
type SelfPage struct { *adw.StatusPage `gtk:"Page"` IPGroup *adw.PreferencesGroup OptionsGroup *adw.PreferencesGroup AdvertiseExitNodeRow *adw.ActionRow AdvertiseExitNodeSwitch *gtk.Switch AllowLANAccessRow *adw.ActionRow AllowLANAccessSwitch *gtk.Switch AcceptRoutesRow *adw.ActionRow AcceptRoutesSwitch *gtk.Switch AdvertisedRoutesGroup *adw.PreferencesGroup AdvertiseRouteButton *gtk.Button NetCheckGroup *adw.PreferencesGroup NetCheckButton *gtk.Button LastNetCheckRow *adw.ActionRow LastNetCheck *gtk.Label UDPRow *adw.ActionRow UDP *gtk.Image IPv4Row *adw.ActionRow IPv4Icon *gtk.Image IPv4Addr *gtk.Label IPv6Row *adw.ActionRow IPv6Icon *gtk.Image IPv6Addr *gtk.Label UPnPRow *adw.ActionRow UPnP *gtk.Image PMPRow *adw.ActionRow PMP *gtk.Image PCPRow *adw.ActionRow PCP *gtk.Image HairPinningRow *adw.ActionRow HairPinning *gtk.Image PreferredDERPRow *adw.ActionRow PreferredDERP *gtk.Label DERPLatencies *adw.ExpanderRow FilesGroup *adw.PreferencesGroup // contains filtered or unexported fields }
func NewSelfPage ¶ added in v0.12.0
Click to show internal directories.
Click to hide internal directories.