mirror of https://github.com/adamdruppe/arsd.git
Grammar, typos, punctuation
This commit is contained in:
parent
d76cc3fead
commit
870be791f4
|
@ -217,11 +217,6 @@ interface->SetProgressValue(hwnd, 40, 100);
|
||||||
|
|
||||||
A single running event loop will handle as many windows as needed.
|
A single running event loop will handle as many windows as needed.
|
||||||
|
|
||||||
setEventHandlers function
|
|
||||||
eventLoop function
|
|
||||||
draw function
|
|
||||||
title property
|
|
||||||
|
|
||||||
$(H3 $(ID topic-event-loops) Event loops)
|
$(H3 $(ID topic-event-loops) Event loops)
|
||||||
The simpledisplay event loop is designed to handle common cases easily while being extensible for more advanced cases, or replaceable by other libraries.
|
The simpledisplay event loop is designed to handle common cases easily while being extensible for more advanced cases, or replaceable by other libraries.
|
||||||
|
|
||||||
|
@ -246,7 +241,7 @@ interface->SetProgressValue(hwnd, 40, 100);
|
||||||
|
|
||||||
It should be possible to integrate simpledisplay with vibe.d as well, though I haven't tried.
|
It should be possible to integrate simpledisplay with vibe.d as well, though I haven't tried.
|
||||||
|
|
||||||
You can also run the event loop independently of a window, with [EventLoop.run|EventLoop.get.run], though since it will automatic terminate when there's no open windows, you will want to have one anyway.
|
You can also run the event loop independently of a window, with [EventLoop.run|EventLoop.get.run], though since it will automatically terminate when there are no open windows, you will want to have one anyway.
|
||||||
|
|
||||||
$(H3 $(ID topic-notification-areas) Notification area (aka systray) icons)
|
$(H3 $(ID topic-notification-areas) Notification area (aka systray) icons)
|
||||||
Notification area icons are currently implemented on X11 and Windows. On X11, it defaults to using `libnotify` to show bubbles, if available, and will do a custom bubble window if not. You can `version=without_libnotify` to avoid this run-time dependency, if you like.
|
Notification area icons are currently implemented on X11 and Windows. On X11, it defaults to using `libnotify` to show bubbles, if available, and will do a custom bubble window if not. You can `version=without_libnotify` to avoid this run-time dependency, if you like.
|
||||||
|
@ -283,7 +278,7 @@ interface->SetProgressValue(hwnd, 40, 100);
|
||||||
|
|
||||||
At this time, the 2d drawing does not support alpha blending, except for the [Sprite] class. If you need that, use a 2d OpenGL context instead.
|
At this time, the 2d drawing does not support alpha blending, except for the [Sprite] class. If you need that, use a 2d OpenGL context instead.
|
||||||
|
|
||||||
FIXME add example of 2d opengl drawing here
|
FIXME Add example of 2d opengl drawing here.
|
||||||
$(H3 $(ID topic-3d-drawing) 3d Drawing (or 2d with OpenGL))
|
$(H3 $(ID topic-3d-drawing) 3d Drawing (or 2d with OpenGL))
|
||||||
simpledisplay can create OpenGL contexts on your window. It works quite differently than 2d drawing.
|
simpledisplay can create OpenGL contexts on your window. It works quite differently than 2d drawing.
|
||||||
|
|
||||||
|
@ -346,7 +341,7 @@ interface->SetProgressValue(hwnd, 40, 100);
|
||||||
|
|
||||||
My [arsd.game] module has some helpers for using old-style opengl to make 2D windows too. See: [arsd.game.create2dWindow].
|
My [arsd.game] module has some helpers for using old-style opengl to make 2D windows too. See: [arsd.game.create2dWindow].
|
||||||
$(H3 $(ID topic-modern-opengl) Modern OpenGL)
|
$(H3 $(ID topic-modern-opengl) Modern OpenGL)
|
||||||
simpledisplay's opengl support, by default, is for "legacy" opengl. To use "modern" functions, you must opt-into them with a little more setup. But the library providers helpers for this too.
|
simpledisplay's opengl support, by default, is for "legacy" opengl. To use "modern" functions, you must opt-into them with a little more setup. But the library provides helpers for this too.
|
||||||
|
|
||||||
This example program shows how you can set up a shader to draw a rectangle:
|
This example program shows how you can set up a shader to draw a rectangle:
|
||||||
|
|
||||||
|
@ -3035,7 +3030,7 @@ version(X11) {
|
||||||
|
|
||||||
|
|
||||||
/// Represents a mouse cursor (aka the mouse pointer, the image seen on screen that indicates where the mouse is pointing).
|
/// Represents a mouse cursor (aka the mouse pointer, the image seen on screen that indicates where the mouse is pointing).
|
||||||
/// See [GenericCursor]
|
/// See [GenericCursor].
|
||||||
class MouseCursor {
|
class MouseCursor {
|
||||||
int osId;
|
int osId;
|
||||||
bool isStockCursor;
|
bool isStockCursor;
|
||||||
|
@ -3076,7 +3071,7 @@ class MouseCursor {
|
||||||
// https://developer.mozilla.org/en-US/docs/Web/CSS/cursor
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/cursor
|
||||||
// https://tronche.com/gui/x/xlib/appendix/b/
|
// https://tronche.com/gui/x/xlib/appendix/b/
|
||||||
// https://msdn.microsoft.com/en-us/library/windows/desktop/ms648391(v=vs.85).aspx
|
// https://msdn.microsoft.com/en-us/library/windows/desktop/ms648391(v=vs.85).aspx
|
||||||
/// Note that there is no exact appearance guaranteed for any of these items; it may change appearance on different operating systems or future simpledisplay versions
|
/// Note that there is no exact appearance guaranteed for any of these items; it may change appearance on different operating systems or future simpledisplay versions.
|
||||||
enum GenericCursorType {
|
enum GenericCursorType {
|
||||||
Default, /// The default arrow pointer.
|
Default, /// The default arrow pointer.
|
||||||
Wait, /// A cursor indicating something is loading and the user must wait.
|
Wait, /// A cursor indicating something is loading and the user must wait.
|
||||||
|
@ -3084,14 +3079,14 @@ enum GenericCursorType {
|
||||||
Help, /// A cursor indicating the user can get help about the pointer location.
|
Help, /// A cursor indicating the user can get help about the pointer location.
|
||||||
Cross, /// A crosshair.
|
Cross, /// A crosshair.
|
||||||
Text, /// An i-beam shape, typically used to indicate text selection is possible.
|
Text, /// An i-beam shape, typically used to indicate text selection is possible.
|
||||||
Move, /// Pointer indicating movement is possible. May also be used as SizeAll
|
Move, /// Pointer indicating movement is possible. May also be used as SizeAll.
|
||||||
UpArrow, /// An arrow pointing straight up.
|
UpArrow, /// An arrow pointing straight up.
|
||||||
Progress, /// The hourglass and arrow, indicating the computer is working but the user can still work. Not great results on X11.
|
Progress, /// The hourglass and arrow, indicating the computer is working but the user can still work. Not great results on X11.
|
||||||
NotAllowed, /// Indicates the current operation is not allowed. Not great results on X11.
|
NotAllowed, /// Indicates the current operation is not allowed. Not great results on X11.
|
||||||
SizeNesw, /// Arrow pointing northeast and southwest (lower-left corner resize indicator)
|
SizeNesw, /// Arrow pointing northeast and southwest (lower-left corner resize indicator).
|
||||||
SizeNs, /// Arrow pointing north and south (upper/lower edge resize indicator)
|
SizeNs, /// Arrow pointing north and south (upper/lower edge resize indicator).
|
||||||
SizeNwse, /// Arrow pointing northwest and southeast (upper-left corner resize indicator)
|
SizeNwse, /// Arrow pointing northwest and southeast (upper-left corner resize indicator).
|
||||||
SizeWe, /// Arrow pointing west and east (left/right edge resize indicator)
|
SizeWe, /// Arrow pointing west and east (left/right edge resize indicator).
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4592,7 +4587,7 @@ class NotificationAreaIcon : CapableOfHandlingNativeEvent {
|
||||||
}
|
}
|
||||||
|
|
||||||
version(X11)
|
version(X11)
|
||||||
/// call XFreePixmap on the return value
|
/// Call `XFreePixmap()` on the return value.
|
||||||
Pixmap transparencyMaskFromMemoryImage(MemoryImage i, Window window) {
|
Pixmap transparencyMaskFromMemoryImage(MemoryImage i, Window window) {
|
||||||
char[] data = new char[](i.width * i.height / 8 + 2);
|
char[] data = new char[](i.width * i.height / 8 + 2);
|
||||||
data[] = 0;
|
data[] = 0;
|
||||||
|
@ -4803,7 +4798,7 @@ version(Windows)
|
||||||
private int eventLoopRound;
|
private int eventLoopRound;
|
||||||
|
|
||||||
version(Windows)
|
version(Windows)
|
||||||
/// Lets you add HANDLEs to the event loop. Not meant to be used for async I/O per se, but for other handles (it can only handle a few handles at a time.) Only works on certain types of handles! see: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-msgwaitformultipleobjectsex
|
/// Lets you add HANDLEs to the event loop. Not meant to be used for async I/O per se, but for other handles (it can only handle a few handles at a time.) Only works on certain types of handles! See: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-msgwaitformultipleobjectsex
|
||||||
class WindowsHandleReader {
|
class WindowsHandleReader {
|
||||||
///
|
///
|
||||||
this(void delegate() onReady, HANDLE handle) {
|
this(void delegate() onReady, HANDLE handle) {
|
||||||
|
@ -4976,7 +4971,7 @@ http://msdn.microsoft.com/en-us/library/windows/desktop/ms649016%28v=vs.85%29.as
|
||||||
/++
|
/++
|
||||||
this does a delegate because it is actually an async call on X...
|
this does a delegate because it is actually an async call on X...
|
||||||
the receiver may never be called if the clipboard is empty or unavailable
|
the receiver may never be called if the clipboard is empty or unavailable
|
||||||
gets plain text from the clipboard
|
gets plain text from the clipboard.
|
||||||
+/
|
+/
|
||||||
void getClipboardText(SimpleWindow clipboardOwner, void delegate(in char[]) receiver) {
|
void getClipboardText(SimpleWindow clipboardOwner, void delegate(in char[]) receiver) {
|
||||||
version(Windows) {
|
version(Windows) {
|
||||||
|
@ -5020,7 +5015,7 @@ void getClipboardText(SimpleWindow clipboardOwner, void delegate(in char[]) rece
|
||||||
/++
|
/++
|
||||||
this does a delegate because it is actually an async call on X...
|
this does a delegate because it is actually an async call on X...
|
||||||
the receiver may never be called if the clipboard is empty or unavailable
|
the receiver may never be called if the clipboard is empty or unavailable
|
||||||
gets image from the clipboard
|
gets image from the clipboard.
|
||||||
|
|
||||||
templated because it introduces an optional dependency on arsd.bmp
|
templated because it introduces an optional dependency on arsd.bmp
|
||||||
+/
|
+/
|
||||||
|
@ -5275,7 +5270,7 @@ int findIndexOfZero(in char[] str) {
|
||||||
return cast(int) str.length;
|
return cast(int) str.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// copies some text to the clipboard
|
/// Copies some text to the clipboard.
|
||||||
void setClipboardText(SimpleWindow clipboardOwner, string text) {
|
void setClipboardText(SimpleWindow clipboardOwner, string text) {
|
||||||
assert(clipboardOwner !is null);
|
assert(clipboardOwner !is null);
|
||||||
version(Windows) {
|
version(Windows) {
|
||||||
|
@ -5390,7 +5385,7 @@ version(X11) {
|
||||||
private Atom*[] interredAtoms; // for discardAndRecreate
|
private Atom*[] interredAtoms; // for discardAndRecreate
|
||||||
|
|
||||||
// FIXME: do a GetAtomUpfront too that just queues all at CT and combines it all.
|
// FIXME: do a GetAtomUpfront too that just queues all at CT and combines it all.
|
||||||
/// Platform specific for X11
|
/// Platform-specific for X11.
|
||||||
/// History: On February 21, 2021, I changed the default value of `create` to be true.
|
/// History: On February 21, 2021, I changed the default value of `create` to be true.
|
||||||
@property Atom GetAtom(string name, bool create = true)(Display* display) {
|
@property Atom GetAtom(string name, bool create = true)(Display* display) {
|
||||||
static Atom a;
|
static Atom a;
|
||||||
|
@ -5403,7 +5398,7 @@ version(X11) {
|
||||||
return a;
|
return a;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Platform specific for X11 - gets atom names as a string
|
/// Platform-specific for X11 - gets atom names as a string.
|
||||||
string getAtomName(Atom atom, Display* display) {
|
string getAtomName(Atom atom, Display* display) {
|
||||||
auto got = XGetAtomName(display, atom);
|
auto got = XGetAtomName(display, atom);
|
||||||
scope(exit) XFree(got);
|
scope(exit) XFree(got);
|
||||||
|
@ -5412,12 +5407,12 @@ version(X11) {
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Asserts ownership of PRIMARY and copies the text into a buffer that clients can request later
|
/// Asserts ownership of PRIMARY and copies the text into a buffer that clients can request later.
|
||||||
void setPrimarySelection(SimpleWindow window, string text) {
|
void setPrimarySelection(SimpleWindow window, string text) {
|
||||||
setX11Selection!"PRIMARY"(window, text);
|
setX11Selection!"PRIMARY"(window, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Asserts ownership of SECONDARY and copies the text into a buffer that clients can request later
|
/// Asserts ownership of SECONDARY and copies the text into a buffer that clients can request later.
|
||||||
void setSecondarySelection(SimpleWindow window, string text) {
|
void setSecondarySelection(SimpleWindow window, string text) {
|
||||||
setX11Selection!"SECONDARY"(window, text);
|
setX11Selection!"SECONDARY"(window, text);
|
||||||
}
|
}
|
||||||
|
@ -5987,7 +5982,7 @@ version(X11) {
|
||||||
}
|
}
|
||||||
|
|
||||||
version(Windows) {
|
version(Windows) {
|
||||||
/// Platform-specific for Windows. Sends a string as key press and release events to the actively focused window (not necessarily your application)
|
/// Platform-specific for Windows. Sends a string as key press and release events to the actively focused window (not necessarily your application).
|
||||||
void sendSyntheticInput(wstring s) {
|
void sendSyntheticInput(wstring s) {
|
||||||
INPUT[] inputs;
|
INPUT[] inputs;
|
||||||
inputs.reserve(s.length * 2);
|
inputs.reserve(s.length * 2);
|
||||||
|
@ -6050,7 +6045,7 @@ version(Windows) {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Platform-specific for Windows. Unregisters a key. The id is the value returned by registerHotKey.
|
/// Platform-specific for Windows. Unregisters a key. The id is the value returned by `registerHotKey()`.
|
||||||
void unregisterHotKey(SimpleWindow window, int id) {
|
void unregisterHotKey(SimpleWindow window, int id) {
|
||||||
if(!UnregisterHotKey(window.impl.hwnd, id))
|
if(!UnregisterHotKey(window.impl.hwnd, id))
|
||||||
throw new Exception("UnregisterHotKey");
|
throw new Exception("UnregisterHotKey");
|
||||||
|
@ -6360,7 +6355,7 @@ alias Rectangle = arsd.color.Rectangle;
|
||||||
|
|
||||||
|
|
||||||
/++
|
/++
|
||||||
Keyboard press and release events
|
Keyboard press and release events.
|
||||||
+/
|
+/
|
||||||
struct KeyEvent {
|
struct KeyEvent {
|
||||||
/// see table below. Always use the symbolic names, even for ASCII characters, since the actual numbers vary across platforms. See [Key]
|
/// see table below. Always use the symbolic names, even for ASCII characters, since the actual numbers vary across platforms. See [Key]
|
||||||
|
@ -6579,7 +6574,7 @@ struct KeyEvent {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// sets the application name.
|
/// Sets the application name.
|
||||||
@property string ApplicationName(string name) {
|
@property string ApplicationName(string name) {
|
||||||
return _applicationName = name;
|
return _applicationName = name;
|
||||||
}
|
}
|
||||||
|
@ -6596,7 +6591,7 @@ string _applicationName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// Type of a [MouseEvent]
|
/// Type of a [MouseEvent].
|
||||||
enum MouseEventType : int {
|
enum MouseEventType : int {
|
||||||
motion = 0, /// The mouse moved inside the window
|
motion = 0, /// The mouse moved inside the window
|
||||||
buttonPressed = 1, /// A mouse button was pressed or the wheel was spun
|
buttonPressed = 1, /// A mouse button was pressed or the wheel was spun
|
||||||
|
@ -8799,7 +8794,7 @@ interface CapableOfBeingDrawnUpon {
|
||||||
TrueColorImage takeScreenshot();
|
TrueColorImage takeScreenshot();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Flushes any pending gui buffers. Necessary if you are using with_eventloop with X - flush after you create your windows but before you call loop()
|
/// Flushes any pending gui buffers. Necessary if you are using with_eventloop with X - flush after you create your windows but before you call `loop()`.
|
||||||
void flushGui() {
|
void flushGui() {
|
||||||
version(X11) {
|
version(X11) {
|
||||||
auto dpy = XDisplayConnection.get();
|
auto dpy = XDisplayConnection.get();
|
||||||
|
@ -9076,7 +9071,7 @@ enum ModifierState : uint {
|
||||||
rightButtonDown = 1024, /// ditto
|
rightButtonDown = 1024, /// ditto
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The names assume a right-handed mouse. These are bitwise combined on the events that use them
|
/// The names assume a right-handed mouse. These are bitwise combined on the events that use them.
|
||||||
enum MouseButton : int {
|
enum MouseButton : int {
|
||||||
none = 0,
|
none = 0,
|
||||||
left = 1, ///
|
left = 1, ///
|
||||||
|
@ -12269,7 +12264,7 @@ mixin DynamicLoad!(XRender, "Xrender", 1, false, true) XRenderLibrary;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Platform-specific for X11. A singleton class (well, all its methods are actually static... so more like a namespace) wrapping a Display*
|
/// Platform-specific for X11. A singleton class (well, all its methods are actually static... so more like a namespace) wrapping a `Display*`.
|
||||||
class XDisplayConnection {
|
class XDisplayConnection {
|
||||||
private __gshared Display* display;
|
private __gshared Display* display;
|
||||||
private __gshared XIM xim;
|
private __gshared XIM xim;
|
||||||
|
@ -13356,7 +13351,7 @@ mixin DynamicLoad!(XRender, "Xrender", 1, false, true) XRenderLibrary;
|
||||||
|
|
||||||
version(X11) {
|
version(X11) {
|
||||||
|
|
||||||
int mouseDoubleClickTimeout = 350; /// double click timeout. X only, you probably shouldn't change this.
|
int mouseDoubleClickTimeout = 350; /// Double click timeout. X only, you probably shouldn't change this.
|
||||||
|
|
||||||
void recordX11Resize(Display* display, SimpleWindow win, int width, int height) {
|
void recordX11Resize(Display* display, SimpleWindow win, int width, int height) {
|
||||||
if(width != win.width || height != win.height) {
|
if(width != win.width || height != win.height) {
|
||||||
|
@ -13423,7 +13418,7 @@ version(X11) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// Platform-specific, you might use it when doing a custom event loop
|
/// Platform-specific, you might use it when doing a custom event loop.
|
||||||
bool doXNextEvent(Display* display) {
|
bool doXNextEvent(Display* display) {
|
||||||
bool done;
|
bool done;
|
||||||
XEvent e;
|
XEvent e;
|
||||||
|
@ -18497,7 +18492,7 @@ static:
|
||||||
}
|
}
|
||||||
|
|
||||||
/++
|
/++
|
||||||
$(PITFALL this is not yet stable and may break in future versions without notice.)
|
$(PITFALL This is not yet stable and may break in future versions without notice.)
|
||||||
|
|
||||||
History:
|
History:
|
||||||
Added February 19, 2021
|
Added February 19, 2021
|
||||||
|
@ -18567,7 +18562,7 @@ enum DragAndDropAction {
|
||||||
private, platform-specific data that your `drop` function
|
private, platform-specific data that your `drop` function
|
||||||
should simply forward.
|
should simply forward.
|
||||||
|
|
||||||
$(PITFALL this is not yet stable and may break in future versions without notice.)
|
$(PITFALL This is not yet stable and may break in future versions without notice.)
|
||||||
|
|
||||||
History:
|
History:
|
||||||
Added February 19, 2021
|
Added February 19, 2021
|
||||||
|
@ -18779,7 +18774,7 @@ struct DropPackage {
|
||||||
|
|
||||||
It assumes the whole window it used, but you can subclass to change that.
|
It assumes the whole window it used, but you can subclass to change that.
|
||||||
|
|
||||||
$(PITFALL this is not yet stable and may break in future versions without notice.)
|
$(PITFALL This is not yet stable and may break in future versions without notice.)
|
||||||
|
|
||||||
History:
|
History:
|
||||||
Added February 19, 2021
|
Added February 19, 2021
|
||||||
|
@ -18829,7 +18824,7 @@ class GenericDropHandlerBase : DropHandler {
|
||||||
/++
|
/++
|
||||||
A simple handler for making your window accept drops of plain text.
|
A simple handler for making your window accept drops of plain text.
|
||||||
|
|
||||||
$(PITFALL this is not yet stable and may break in future versions without notice.)
|
$(PITFALL This is not yet stable and may break in future versions without notice.)
|
||||||
|
|
||||||
History:
|
History:
|
||||||
Added February 22, 2021
|
Added February 22, 2021
|
||||||
|
@ -18868,7 +18863,7 @@ class TextDropHandler : GenericDropHandlerBase {
|
||||||
/++
|
/++
|
||||||
A simple handler for making your window accept drops of files, issued to you as file names.
|
A simple handler for making your window accept drops of files, issued to you as file names.
|
||||||
|
|
||||||
$(PITFALL this is not yet stable and may break in future versions without notice.)
|
$(PITFALL This is not yet stable and may break in future versions without notice.)
|
||||||
|
|
||||||
History:
|
History:
|
||||||
Added February 22, 2021
|
Added February 22, 2021
|
||||||
|
@ -18983,7 +18978,7 @@ class FilesDropHandler : GenericDropHandlerBase {
|
||||||
/++
|
/++
|
||||||
Interface to describe data being dragged. See also [draggable] helper function.
|
Interface to describe data being dragged. See also [draggable] helper function.
|
||||||
|
|
||||||
$(PITFALL this is not yet stable and may break in future versions without notice.)
|
$(PITFALL This is not yet stable and may break in future versions without notice.)
|
||||||
|
|
||||||
History:
|
History:
|
||||||
Added February 19, 2021
|
Added February 19, 2021
|
||||||
|
@ -19050,7 +19045,7 @@ interface DraggableData {
|
||||||
}
|
}
|
||||||
|
|
||||||
/++
|
/++
|
||||||
$(PITFALL this is not yet stable and may break in future versions without notice.)
|
$(PITFALL This is not yet stable and may break in future versions without notice.)
|
||||||
|
|
||||||
History:
|
History:
|
||||||
Added February 19, 2021
|
Added February 19, 2021
|
||||||
|
@ -19091,7 +19086,7 @@ DraggableData draggable(string s) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/++
|
/++
|
||||||
$(PITFALL this is not yet stable and may break in future versions without notice.)
|
$(PITFALL This is not yet stable and may break in future versions without notice.)
|
||||||
|
|
||||||
History:
|
History:
|
||||||
Added February 19, 2021
|
Added February 19, 2021
|
||||||
|
@ -19496,7 +19491,7 @@ enum _NET_WM_STATE_ADD = 1;
|
||||||
enum _NET_WM_STATE_REMOVE = 0;
|
enum _NET_WM_STATE_REMOVE = 0;
|
||||||
enum _NET_WM_STATE_TOGGLE = 2;
|
enum _NET_WM_STATE_TOGGLE = 2;
|
||||||
|
|
||||||
/// X-specific. Use [SimpleWindow.requestAttention] instead for most casesl
|
/// X-specific. Use [SimpleWindow.requestAttention] instead for most cases.
|
||||||
void demandAttention(SimpleWindow window, bool needs = true) {
|
void demandAttention(SimpleWindow window, bool needs = true) {
|
||||||
demandAttention(window.impl.window, needs);
|
demandAttention(window.impl.window, needs);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue