---
name: "SetClass"
section: "2"
platform: "linux"
package: "perl-tk"
version: "b11.02-5"
release: "Debian 1.3 (Bo)"
platforms: ["linux"]
url: "https://new.carta.tech/SetClass"
---

# SetClass(2)

set or retrieve a window's class

## NAME

Tk\_SetClass, Tk\_Class - set or retrieve a window's class

## SYNOPSIS

```
#include <tk.h>

Tk_SetClass(tkwin, class)

Tk_Uid
Tk_Class(tkwin)
```

## ARGUMENTS

Token for window. New class name for window.

## DESCRIPTION

**Tk\_SetClass** is called to associate a class with a particular window.  The *class* string identifies the type of the window;  all windows with the same general class of behavior (button, menu, etc.) should have the same class.  By convention all class names start with a capital letter, and there exists a Tcl command with the same name as each class (except all in lower-case) which can be used to create and manipulate windows of that class. A window's class string is initialized to NULL when the window is created.

For main windows, Tk automatically propagates the name and class to the WM\_CLASS property used by window managers.  This happens either when a main window is actually created (e.g. in **Tk\_MakeWindowExist**), or when **Tk\_SetClass** is called, whichever occurs later.  If a main window has not been assigned a class then Tk will not set the WM\_CLASS property for the window.

**Tk\_Class** is a macro that returns the current value of *tkwin*'s class.  The value is returned as a Tk\_Uid, which may be used just like a string pointer but also has the properties of a unique identfier  (see the **Tk\_GetUid** manual entry for details). If *tkwin* has not yet been given a class, then **Tk\_Class** will return NULL.

## KEYWORDS

class, unique identifier, window, window manager
