func (i *ToplevelDecoration) UnsetMode() 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
}
UnsetMode : unset the decoration mode

Unset the toplevel surface decoration mode. This informs the compositor
that the client doesn't prefer a particular decoration mode.

This request has the same semantics as set_mode.
package xdg_decoration
import (
	"reflect"
	"github.com/rajveermalviya/go-wayland/wayland/client"
	xdg_shell "github.com/rajveermalviya/go-wayland/wayland/stable/xdg-shell"
)
type DecorationManager struct {
	client.BaseProxy
}
func NewDecorationManager(ctx *client.Context) *DecorationManager {
	zxdgDecorationManagerV1 := &DecorationManager{}
	ctx.Register(zxdgDecorationManagerV1)
	return zxdgDecorationManagerV1
}
func (i *DecorationManager) 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 *DecorationManager) GetToplevelDecoration(toplevel *xdg_shell.Toplevel) (*ToplevelDecoration, error) {
	id := NewToplevelDecoration(i.Context())
	const opcode = 1
	const rLen = 8 + 4 + 4
	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
	client.PutUint32(r[l:l+4], id.ID())
	l += 4
	client.PutUint32(r[l:l+4], toplevel.ID())
	l += 4
	err := i.Context().WriteMsg(r, nil)
	return id, err
}
type ToplevelDecoration struct {
	client.BaseProxy
	configureHandlers []ToplevelDecorationConfigureHandlerFunc
}
func NewToplevelDecoration(ctx *client.Context) *ToplevelDecoration {
	zxdgToplevelDecorationV1 := &ToplevelDecoration{}
	ctx.Register(zxdgToplevelDecorationV1)
	return zxdgToplevelDecorationV1
}
func (i *ToplevelDecoration) 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 *ToplevelDecoration) SetMode(mode uint32) error {
	const opcode = 1
	const rLen = 8 + 4
	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
	client.PutUint32(r[l:l+4], uint32(mode))
	l += 4
	err := i.Context().WriteMsg(r, nil)
	return err
}