ion.types ========= .. module:: ion.types .. include:: ../rst/ion.types.rst All type definitions for the ion API. Classes ------- .. class:: AnimatePreferences Animation preferences. .. attribute:: desktop_axis Desktop layout axis: 0 = horizontal (side by side), 1 = vertical (stacked). Default: 0. :type: int .. attribute:: desktop_axis_rows Number of rows (horizontal axis) or columns (vertical axis) in the overview grid. 1 = single row/column, 2+ = wrap into a grid. Default: 1. :type: int .. attribute:: desktop_slide_duration Desktop slide animation duration in milliseconds. Default: 300. :type: int .. attribute:: desktop_zoom_duration Desktop zoom phase duration in milliseconds (each of zoom-out and zoom-in). Default: 500. :type: int .. details:: Special Methods .. method:: __repr__(self) :rtype: str .. class:: ColorRGB RGB color with components in 0.0-1.0 range, accessed via [0]..[2]. .. method:: __init__(self, rgb) :param rgb: RGB components in 0.0-1.0 range. :type rgb: tuple[float, float, float] :rtype: None .. method:: __getitem__(self, index) Get an item by index. :param index: ``0`` for red, ``1`` for green, ``2`` for blue. :type index: int :rtype: float .. method:: __getitem__(self, index) :noindex: :param index: A slice over the three components. :type index: slice :rtype: tuple[float, ...] .. method:: __len__(self) Return the number of components (always 3). :rtype: int .. method:: __iter__(self) Iterate over components (r, g, b). :rtype: Iterator[float] .. classmethod:: from_rgb_hex(hex) Create a ColorRGB from an RGB hex value. Accepts a string (``"#rrggbb"``) or integer (``0xRRGGBB``). :param hex: Hex color as string or integer. :type hex: str | int :rtype: :class:`ion.types.ColorRGB` .. method:: copy(self) Return a mutable (unfrozen) copy. :rtype: :class:`ColorRGB` .. method:: freeze(self) Freeze this value, making it read-only and hashable. Returns self for convenience (e.g. ``d[p.freeze()] = v``). :rtype: Self .. method:: lerp(self, other, factor) Linearly interpolate between this color and ``other``. :param other: Target color. :type other: :class:`ColorRGB` :param factor: Blend factor (0.0-1.0). :type factor: float :rtype: :class:`ion.types.ColorRGB` .. method:: offset(self, value) Add a uniform value to all channels (clamped to 0.0-1.0). :param value: Value to add to each channel. :type value: float :rtype: :class:`ion.types.ColorRGB` .. method:: to_hex(self) Convert to hex string (``"#rrggbb"``). :rtype: str .. method:: to_rgba(self, alpha=1.0) Convert to RGBA with the given alpha. :param alpha: Alpha component (default 1.0). :type alpha: float :rtype: :class:`ion.types.ColorRGBA` .. method:: to_tuple(self) Convert to tuple ``(r, g, b)``. :return: Tuple ``(r, g, b)``. :rtype: tuple[float, float, float] .. attribute:: is_frozen Whether this value is frozen (read-only). :type: bool .. details:: Special Methods .. method:: __copy__(self) :rtype: :class:`ColorRGB` .. method:: __deepcopy__(self, memo) :param memo: Memoization dict for shared subobjects. :type memo: dict :rtype: :class:`ColorRGB` .. method:: __eq__(self, other) Return self==value. :param other: The object to compare against. :type other: object :rtype: bool .. method:: __format__(self, format_spec) :param format_spec: Format spec applied per component (empty spec returns ``repr(self)``). :type format_spec: str :rtype: str .. method:: __ge__(self, other) Return self>=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __gt__(self, other) Return self>value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __hash__(self) :rtype: int .. method:: __le__(self, other) Return self<=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __lt__(self, other) Return self=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __gt__(self, other) Return self>value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __hash__(self) :rtype: int .. method:: __le__(self, other) Return self<=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __lt__(self, other) Return self=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __gt__(self, other) Return self>value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __hash__(self) :rtype: int .. method:: __le__(self, other) Return self<=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __lt__(self, other) Return self=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __gt__(self, other) Return self>value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __hash__(self) :rtype: int .. method:: __le__(self, other) Return self<=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __lt__(self, other) Return self=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __gt__(self, other) Return self>value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __hash__(self) :rtype: int .. method:: __le__(self, other) Return self<=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __lt__(self, other) Return self=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __gt__(self, other) Return self>value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __hash__(self) :rtype: int .. method:: __le__(self, other) Return self<=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __lt__(self, other) Return self)`` delay elapses. :rtype: :class:`~ion.types.EventTimer` .. details:: Special Methods .. method:: __repr__(self) :rtype: str .. class:: FloatingPreferences Floating window placement preferences. .. attribute:: auto_float_dialog Automatically float dialog windows (those with a parent) (default: True). :type: bool .. attribute:: auto_float_fixed_size Automatically float fixed-size windows where min and max size are equal (default: True). :type: bool .. attribute:: corner_resize_size Size of the corner grab zone in logical pixels (default: 12). Controls how far along each edge the corner resize zones extend. Larger values make corners easier to grab; smaller values give more room for straight-edge resizing. :type: int .. attribute:: size_min Minimum size for floating windows during interactive resize (default: 100). This is the smallest width or height (in logical pixels) that a floating window can be resized to. Changing this at run-time only affects future resize operations; existing windows are not resized. :type: int .. details:: Special Methods .. method:: __repr__(self) :rtype: str .. class:: FocusPreferences Window focus behavior preferences. .. attribute:: double_click_time Maximum interval in milliseconds between two clicks for double-click detection (default: 400). :type: int .. attribute:: drag_threshold Pointer motion threshold in logical pixels for drag detection (default: 3). :type: int .. attribute:: on_activation Window activation behavior (default: ``"SMART"``). :type: Literal["SMART", "FOCUS", "URGENT", "NONE"] .. attribute:: pointer_click_to_raise Clicking a floating window raises it to the top (default: True). :type: bool .. attribute:: pointer_follow Focus follows mouse pointer (default: False). :type: bool .. attribute:: pointer_warp Warp mouse to focused frame on directional focus change (default: True). :type: bool .. attribute:: pointer_warp_factor Position factor (x, y) within frame for pointer warp. Each value is 0.0-1.0 where (0.0, 0.0)=top-left, (0.5, 0.5)=center, (1.0, 1.0)=bottom-right. :type: tuple[float, float] .. attribute:: pointer_warp_margin Margin in pixels to inset from frame edges when warping (default: 5). :type: int .. attribute:: switch_to_new Focus newly created windows (default: True). :type: bool .. details:: Special Methods .. method:: __repr__(self) :rtype: str .. class:: FontParams Per-font rendering parameters (face pattern + vertical offset). .. attribute:: face Font pattern in fontconfig format (e.g. ``"monospace:size=10"``). :type: str .. attribute:: offset_y Vertical text offset as a fraction of the font's full height. Positive values shift text down, negative values up. The effective range is ``-1.0`` to ``1.0``; either extreme moves the text fully outside the visible area. Default: ``0.0``. :type: float .. details:: Special Methods .. method:: __repr__(self) :rtype: str .. class:: FontPreferences Font rendering preferences. .. attribute:: message_font Popup/message font (face pattern and vertical offset). :type: :class:`ion.types.FontParams` .. attribute:: titlebar_font Titlebar font (face pattern and vertical offset). :type: :class:`ion.types.FontParams` .. details:: Special Methods .. method:: __repr__(self) :rtype: str .. class:: Frame A tiling frame that holds one or more tabbed windows (see :ref:`proxy-objects`). .. method:: attach_tagged(self) Attach all tagged windows to this frame as tabs. :return: Whether any tagged windows were attached. :rtype: bool .. method:: focus(self) Focus this frame. :return: None. :rtype: None .. method:: pointer_warp(self) Warp the pointer to this frame unconditionally. :return: None. :rtype: None .. method:: pointer_warp_if_needed(self) Warp the pointer to this frame only if the pointer is not already inside it. :return: ``True`` if the pointer was warped, ``False`` otherwise. :rtype: bool .. method:: tab_move_cycle(self, direction) Move the current tab to the next/previous position in this frame. :param direction: Positive for next, negative for previous. :type direction: int :return: None. :rtype: None .. method:: tile(self) Tile this floating workspace frame back into the tiling workspace on the active output. :return: The target frame's split node, or ``None`` if tiling failed. :rtype: :class:`~ion.types.SplitNodeLeaf` | None .. method:: window_reorder(self, window, index) Move a window to a different position within this frame's tab bar. :param window: The window to reorder. :type window: :class:`Window` :param index: New tab position. :type index: int :rtype: None .. attribute:: active_index Index of the active tab (0-based) (read-only). :type: int .. attribute:: content_rect Frame content rectangle, excluding the tab bar and border, or ``None`` if the frame is not currently placed (read-only). Derived from frame geometry, so it is defined even for an empty frame with no window. For a floating frame this equals the frame rect, since its tab bar and border are drawn outside the frame rect. :type: :class:`ion.types.Rect` | None .. attribute:: data Per-frame dictionary for script-defined data. Created on first access and persists for the lifetime of the frame. Scripts can store arbitrary keys and values here. :type: dict[Any, Any] .. attribute:: id Unique numeric identifier for this frame (read-only). Stable for the lifetime of the frame regardless of workspace, output, or desktop changes. Not reused after the frame is removed. :type: int .. attribute:: is_floating Whether this frame is floating (read-only). :type: bool .. attribute:: is_focused Whether this frame is focused (read-only). :type: bool .. attribute:: is_valid Whether this frame still exists in the compositor (read-only). :type: bool .. attribute:: split_node Split tree leaf node for this frame, or ``None`` if not in a workspace (read-only). :type: :class:`ion.types.SplitNodeLeaf` | None .. attribute:: windows All windows in this frame (read-only). :type: :class:`ion.types.FrameWindowCollection` .. details:: Special Methods .. method:: __eq__(self, other) Return self==value. :param other: The object to compare against. :type other: object :rtype: bool .. method:: __ge__(self, other) Return self>=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __gt__(self, other) Return self>value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __hash__(self) :rtype: int .. method:: __le__(self, other) Return self<=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __lt__(self, other) Return self 'None' Remove all menus. :rtype: None .. method:: get(self, idname: 'str', default: 'object' = None) -> 'Menu | object' Get a menu by identifier, returning ``default`` if not found. :param idname: The menu identifier. :type idname: str :param default: Value returned when the menu is missing. :type default: object :return: The menu, or ``default`` if not found. :rtype: :class:`ion.types.Menu` | object .. method:: items(self) -> 'list[tuple[str, Menu]]' All (idname, menu) pairs. :return: List of (idname, menu) tuples. :rtype: list[tuple[str, :class:`ion.types.Menu`]] .. method:: keys(self) -> 'list[str]' All menu identifiers. :return: List of menu identifier strings. :rtype: list[str] .. method:: new(self, idname: 'str', name: 'str', callback: 'Callable[[MenuBuilder], None]', poll: 'Callable[..., str | None] | None' = None) -> 'None' Register a named menu with a builder callback. .. code-block:: python ion.app.menus.new("tab", "Tab", lambda menu: ( menu.layout.operator(ion.ops.window_close()), menu.layout.operator(ion.ops.frame_delete()), )) :param idname: Unique identifier used to reference this menu. :type idname: str :param name: Human-readable display name (used as submenu label). :type name: str :param callback: Receives a :class:`ion.types.MenuBuilder`, called each time the menu is shown. :type callback: ``Callable[[MenuBuilder], None]`` :param poll: Optional callable returning ``None`` if the menu is available, or a string reason if it should be hidden. :type poll: ``Callable[..., str | None]`` | None :rtype: None .. method:: remove(self, menu: 'Menu') -> 'None' Remove a menu. :param menu: The menu to remove. :type menu: :class:`ion.types.Menu` :rtype: None .. method:: show(self, idname: 'str') -> 'None' Show a named context menu. Must be called during a keybinding callback. .. code-block:: python ion.app.menus.show("context") :param idname: The menu identifier to show. :type idname: str :rtype: None .. method:: values(self) -> 'list[Menu]' All menus. :return: List of menus. :rtype: list[:class:`ion.types.Menu`] .. details:: Special Methods .. method:: __repr__(self) :rtype: str .. class:: Output A physical display or monitor connected to the compositor (see :ref:`proxy-objects`). .. method:: configure(self, *, position=None, transform=None) Configure this output's position and/or transform. .. note:: This action is deferred until the current callback returns. :param position: Tuple ``(x, y)`` for the output position in logical coordinates. :type position: tuple[int, int] | None :param transform: Rotation in degrees (0, 90, 180, or 270). :type transform: int | None :return: None. :rtype: None .. method:: dpms_set(self, on) Set the DPMS power state for this output. :param on: True to power on, False to power off. :type on: bool :return: None. :rtype: None .. method:: focus(self) Focus this output. :return: None. :rtype: None .. method:: pointer_warp(self) Warp the pointer to this output unconditionally. :return: None. :rtype: None .. method:: pointer_warp_if_needed(self) Warp the pointer to this output only if it's not already inside it. :return: ``True`` if the pointer was warped, ``False`` otherwise. :rtype: bool .. attribute:: data Per-output dictionary for script-defined data. Created on first access and persists for the lifetime of the output. Scripts can store arbitrary keys and values here. :type: dict[Any, Any] .. attribute:: dpms Whether this output's display is powered on (read-only). :type: bool .. attribute:: fullscreen_window The fullscreen window on this output, or None if no window is fullscreen here. :type: :class:`~ion.types.Window` | None .. attribute:: id Unique numeric identifier for this output (read-only). Stable for the lifetime of the output regardless of desktop or workspace changes. Not reused after the output is disconnected. :type: int .. attribute:: is_enabled Whether this output is enabled (DPMS on) (read-only). True if the display is on, False if it's in a power-saving state. :type: bool .. attribute:: is_focused Whether this output is focused (read-only). :type: bool .. attribute:: is_valid Whether this output still exists in the compositor (read-only). :type: bool .. attribute:: name Output name (read-only). :type: str .. attribute:: rect Output rectangle (read-only). :type: :class:`ion.types.Rect` .. attribute:: scale Output scale factor (read-only). :type: float .. attribute:: transform Current transform (rotation) in degrees (0, 90, 180, or 270) (read-only). :type: int .. details:: Special Methods .. method:: __eq__(self, other) Return self==value. :param other: The object to compare against. :type other: object :rtype: bool .. method:: __ge__(self, other) Return self>=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __gt__(self, other) Return self>value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __hash__(self) :rtype: int .. method:: __le__(self, other) Return self<=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __lt__(self, other) Return self=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __gt__(self, other) Return self>value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __hash__(self) :rtype: int .. method:: __le__(self, other) Return self<=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __lt__(self, other) Return self=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __gt__(self, other) Return self>value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __hash__(self) :rtype: int .. method:: __iadd__(self, other) Return self+=value. :param other: The other operand. :type other: Self :rtype: :class:`Point` .. method:: __isub__(self, other) Return self-=value. :param other: The other operand. :type other: Self :rtype: :class:`Point` .. method:: __le__(self, other) Return self<=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __lt__(self, other) Return self=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __gt__(self, other) Return self>value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __hash__(self) :rtype: int .. method:: __le__(self, other) Return self<=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __lt__(self, other) Return self=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __gt__(self, other) Return self>value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __hash__(self) :rtype: int .. method:: __iadd__(self, other) Return self+=value. :param other: The other operand. :type other: Self :rtype: :class:`Size` .. method:: __isub__(self, other) Return self-=value. :param other: The other operand. :type other: Self :rtype: :class:`Size` .. method:: __le__(self, other) Return self<=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __lt__(self, other) Return self=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __gt__(self, other) Return self>value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __hash__(self) :rtype: int .. method:: __le__(self, other) Return self<=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __lt__(self, other) Return self 'AbstractContextManager[UILayout]' Store context values for operators added within the block. Unlike overriding the live context, this records the values and pins them to each operator added inside the ``with`` block; the operator targets them when it runs, after the menu has closed. Each attribute left ``None`` keeps the value from any enclosing block or the region's context. Stores nest. .. code-block:: python with menu.layout.context_store(split=divider): menu.layout.operator(ion.ops.tiling_swap()) :param window: The window operators in the block should act on. :type window: :class:`ion.types.Window` | None :param frame: The frame operators in the block should act on. :type frame: :class:`ion.types.Frame` | None :param split: The split whose divider operators in the block should act on. :type split: :class:`ion.types.SplitNodeContainer` | None :param output: The output operators in the block should act on. :type output: :class:`ion.types.Output` | None :param workspace: The workspace operators in the block should act on. :type workspace: :class:`ion.types.Workspace` | None :param desktop: The desktop operators in the block should act on. :type desktop: :class:`ion.types.Desktop` | None :rtype: AbstractContextManager[UILayout] .. method:: menu(self, idname: 'str') -> 'None' Add a submenu reference item. The display label is taken from the referenced menu's name. .. code-block:: python menu.layout.menu("my_submenu") :param idname: Menu identifier to reference. :type idname: str :rtype: None .. method:: operator(self, operator: 'tuple[object, ...]', /, *, text: 'str | None' = None) -> 'None' Add an operator action item. The label defaults to the operator's name. Use ``text`` to override. .. code-block:: python menu.layout.operator(ion.ops.window_close()) menu.layout.operator(ion.ops.tiling_split(direction='RIGHT'), text="Split Right") :param operator: NamedTuple instance (from ``ion.ops.*(...)``). :type operator: NamedTuple :param text: Optional override for the item label. :type text: str | None :rtype: None .. method:: separator(self) -> 'None' Add a visual separator line. :rtype: None .. class:: Window A toplevel application window (see :ref:`proxy-objects`). .. method:: close(self) Request the window to close gracefully. :return: None. :rtype: None .. method:: find_children(self) All windows that have this window as their immediate parent. :return: Child windows. :rtype: list[:class:`~ion.types.Window`] .. method:: focus(self) Give keyboard focus to this window. :return: None. :rtype: None .. method:: fullscreen_move_to_output(self, output) Move this fullscreen window to another output, keeping it fullscreen. The window becomes the front-most fullscreen window on the target output. :param output: The target output. :type output: :class:`~ion.types.Output` :raises RuntimeError: If the window is not fullscreen. :rtype: None .. method:: kill(self) Force-kill an unresponsive window. :return: None. :rtype: None .. method:: move_to_floating(self, desktop, rect=None) Move this window to the floating layer on the given desktop. Does nothing if already floating. :param desktop: The target desktop. :type desktop: :class:`~ion.types.Desktop` :param rect: Optional position and size for the floating frame. When ``None`` (default), the position and size are derived from the window's current tiled geometry. :type rect: :class:`~ion.types.Rect` | None :return: The floating desktop item, or ``None`` if the window could not be floated. :rtype: :class:`~ion.types.DesktopItemFloatingFrame` | None .. method:: move_to_frame(self, frame, index=None, activate=True) Move this window to a different frame. :param frame: The target frame. :type frame: :class:`ion.types.Frame` :param index: Tab position in the target frame. Negative indices count from the end (Python-style). ``None`` inserts after the active tab (default). :type index: int | None :param activate: Whether to make this window the active tab and focus the target frame (default ``True``). When ``False``, the window is inserted without changing focus. :type activate: bool :raises RuntimeError: If the window is floating or otherwise cannot be moved. :rtype: None .. method:: move_to_tiling(self, workspace=None, frame=None) Move this window from the floating layer into the tiling layout. Does nothing if the window is already tiled. :param workspace: The target workspace; the window is tiled into its last-active frame. When ``None`` (default), the active output's workspace is used. :type workspace: :class:`~ion.types.Workspace` | None :param frame: The target frame. Takes precedence over ``workspace`` when given. :type frame: :class:`~ion.types.Frame` | None :return: The frame the window was tiled into, or ``None`` if the window could not be tiled. :rtype: :class:`~ion.types.Frame` | None .. attribute:: app_id Application ID (read-only). :type: str | None .. attribute:: content_rect Window content rectangle, excluding decorations, or ``None`` if not yet placed (read-only). :type: :class:`ion.types.Rect` | None .. attribute:: data Per-window dictionary for script-defined data. Created on first access and persists for the lifetime of the window. Scripts can store arbitrary keys and values here. :type: dict[Any, Any] .. attribute:: frame_rect Window frame rectangle, including decorations, or ``None`` if not yet placed (read-only). :type: :class:`ion.types.Rect` | None .. attribute:: fullscreen Whether the window is fullscreen. :type: bool .. attribute:: id Unique numeric identifier for this window (read-only). Stable for the lifetime of the window regardless of workspace, desktop, frame, or tiling/floating state changes. Not reused after the window is closed. :type: int .. attribute:: is_floating Whether the window is floating (not tiled) (read-only). :type: bool .. attribute:: is_focused Whether this window has keyboard focus (read-only). :type: bool .. attribute:: is_valid Whether this window still exists in the compositor (read-only). :type: bool .. attribute:: output_fullscreen The output a fullscreen window is on, or None if not fullscreen. :type: :class:`~ion.types.Output` | None .. attribute:: parent Immediate parent window, or ``None`` if this window has no parent (read-only). :type: :class:`~ion.types.Window` | None .. attribute:: parent_root Root parent window, or ``None`` if this window has no parent (read-only). Walks the XDG parent chain to the topmost ancestor. Falls back to the immediate parent if a cycle is detected. :type: :class:`~ion.types.Window` | None .. attribute:: pid Process ID of the window's client (read-only). ``None`` is only for X11 windows that do not set ``_NET_WM_PID``. :type: int | None .. attribute:: size Committed geometry size (read-only). :type: :class:`~ion.types.Size` .. attribute:: size_max Client maximum size hint (read-only). A component of ``0`` means unconstrained. :type: :class:`~ion.types.Size` .. attribute:: size_min Client minimum size hint (read-only). A component of ``0`` means unconstrained. :type: :class:`~ion.types.Size` .. attribute:: tag Whether the window is tagged (marked for batch operations). :type: bool .. attribute:: title Window title (read-only). :type: str | None .. attribute:: urgent Whether the window is urgent. :type: bool .. attribute:: workspace Workspace this window is on, or ``None`` for floating windows (read-only). :type: :class:`ion.types.Workspace` | None .. details:: Special Methods .. method:: __eq__(self, other) Return self==value. :param other: The object to compare against. :type other: object :rtype: bool .. method:: __ge__(self, other) Return self>=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __gt__(self, other) Return self>value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __hash__(self) :rtype: int .. method:: __le__(self, other) Return self<=value. :param other: The other operand. :type other: Self :rtype: bool .. method:: __lt__(self, other) Return self