func (i *TextInput) Disable() error {
	const opcode = 2
	const rLen = 8
	r := make([]byte, rLen)
	l := 0
	client.PutUint32(r[l:4], i.ID())
	l += 4
	client.PutUint32(r[l:l+4], uint32(rLen<<16|opcode&0x0000ffff))
	l += 4
	err := i.Context().WriteMsg(r, nil)
	return err
}
Disable : Disable text input on a surface

Explicitly disable text input on the current surface (typically when
there is no focus on any text entry inside the surface).

State set with this request is double-buffered. It will get applied on
the next zwp_text_input_v3.commit request.
package text_input
import (
	"reflect"
	"github.com/rajveermalviya/go-wayland/wayland/client"
)
type TextInput struct {
	client.BaseProxy
	enterHandlers                 []TextInputEnterHandlerFunc
	leaveHandlers                 []TextInputLeaveHandlerFunc
	preeditStringHandlers         []TextInputPreeditStringHandlerFunc
	commitStringHandlers          []TextInputCommitStringHandlerFunc
	deleteSurroundingTextHandlers []TextInputDeleteSurroundingTextHandlerFunc
	doneHandlers                  []TextInputDoneHandlerFunc
}
func NewTextInput(ctx *client.Context) *TextInput {
	zwpTextInputV3 := &TextInput{}
	ctx.Register(zwpTextInputV3)
	return zwpTextInputV3
}
func (i *TextInput) Destroy() error {
	defer i.Context().Unregister(i)
	const opcode = 0
	const rLen = 8
	r := make([]byte, rLen)
	l := 0
	client.PutUint32(r[l:4], i.ID())
	l += 4
	client.PutUint32(r[l:l+4], uint32(rLen<<16|opcode&0x0000ffff))
	l += 4
	err := i.Context().WriteMsg(r, nil)
	return err
}
func (i *TextInput) Enable() error {
	const opcode = 1
	const rLen = 8
	r := make([]byte, rLen)
	l := 0
	client.PutUint32(r[l:4], i.ID())
	l += 4
	client.PutUint32(r[l:l+4], uint32(rLen<<16|opcode&0x0000ffff))
	l += 4
	err := i.Context().WriteMsg(r, nil)
	return err
}