mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-19 15:04:50 +02:00
Make the kitty window id available as the environment variable KITTY_WINDOW_ID
Fixes #532
This commit is contained in:
@@ -328,6 +328,10 @@ set_special_keys(PyObject *dict) {
|
|||||||
}}
|
}}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PYWRAP0(next_window_id) {
|
||||||
|
return PyLong_FromUnsignedLongLong(global_state.window_id_counter + 1);
|
||||||
|
}
|
||||||
|
|
||||||
PYWRAP1(handle_for_window_id) {
|
PYWRAP1(handle_for_window_id) {
|
||||||
id_type os_window_id;
|
id_type os_window_id;
|
||||||
PA("K", &os_window_id);
|
PA("K", &os_window_id);
|
||||||
@@ -600,6 +604,7 @@ KK5I(add_borders_rect)
|
|||||||
|
|
||||||
static PyMethodDef module_methods[] = {
|
static PyMethodDef module_methods[] = {
|
||||||
MW(current_os_window, METH_NOARGS),
|
MW(current_os_window, METH_NOARGS),
|
||||||
|
MW(next_window_id, METH_NOARGS),
|
||||||
MW(set_options, METH_VARARGS),
|
MW(set_options, METH_VARARGS),
|
||||||
MW(set_in_sequence_mode, METH_O),
|
MW(set_in_sequence_mode, METH_O),
|
||||||
MW(resolve_key_mods, METH_VARARGS),
|
MW(resolve_key_mods, METH_VARARGS),
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ from .config import build_ansi_color_table
|
|||||||
from .constants import WindowGeometry, appname, get_boss, is_macos, is_wayland
|
from .constants import WindowGeometry, appname, get_boss, is_macos, is_wayland
|
||||||
from .fast_data_types import (
|
from .fast_data_types import (
|
||||||
DECAWM, Screen, add_tab, glfw_post_empty_event, mark_tab_bar_dirty,
|
DECAWM, Screen, add_tab, glfw_post_empty_event, mark_tab_bar_dirty,
|
||||||
remove_tab, remove_window, set_active_tab, set_tab_bar_render_data,
|
next_window_id, remove_tab, remove_window, set_active_tab,
|
||||||
swap_tabs, viewport_for_window, x11_window_id
|
set_tab_bar_render_data, swap_tabs, viewport_for_window, x11_window_id
|
||||||
)
|
)
|
||||||
from .layout import Rect, all_layouts
|
from .layout import Rect, all_layouts
|
||||||
from .session import resolved_shell
|
from .session import resolved_shell
|
||||||
@@ -167,6 +167,7 @@ class Tab: # {{{
|
|||||||
fenv = {}
|
fenv = {}
|
||||||
if env:
|
if env:
|
||||||
fenv.update(env)
|
fenv.update(env)
|
||||||
|
fenv['KITTY_WINDOW_ID'] = str(next_window_id())
|
||||||
if not is_macos and not is_wayland:
|
if not is_macos and not is_wayland:
|
||||||
try:
|
try:
|
||||||
fenv['WINDOWID'] = str(x11_window_id(self.os_window_id))
|
fenv['WINDOWID'] = str(x11_window_id(self.os_window_id))
|
||||||
|
|||||||
Reference in New Issue
Block a user