Cleanup previous PR

Fixes #8601
This commit is contained in:
Kovid Goyal
2025-05-12 22:17:33 +05:30
parent 5c49e2aab4
commit 4c8f9f9e26
12 changed files with 73 additions and 69 deletions

View File

@@ -1079,6 +1079,18 @@ opt('initial_window_height', '400',
option_type='window_size',
)
opt('remember_window_position', 'no',
option_type='to_bool',
long_text='''
If enabled, the :term:`OS Window <os_window>` position will be remembered so that
new instances of kitty will have the same position as the previous instance.
If disabled, the :term:`OS Window <os_window>` will be placed by the window manager.
Note that remembering of position only works if the underlying desktop environment/window
manager supports it. It never works on Wayland. See also :option:`kitty --position` to
specify the position when launching kitty.
'''
)
opt('enabled_layouts', '*',
option_type='to_layout_names',
long_text='''

View File

@@ -1171,6 +1171,9 @@ class Parser:
choices_for_pointer_shape_when_grabbed = choices_for_default_pointer_shape
def remember_window_position(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['remember_window_position'] = to_bool(val)
def remember_window_size(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['remember_window_size'] = to_bool(val)

View File

@@ -889,6 +889,19 @@ convert_from_opts_background_blur(PyObject *py_opts, Options *opts) {
Py_DECREF(ret);
}
static void
convert_from_python_dynamic_background_opacity(PyObject *val, Options *opts) {
opts->dynamic_background_opacity = PyObject_IsTrue(val);
}
static void
convert_from_opts_dynamic_background_opacity(PyObject *py_opts, Options *opts) {
PyObject *ret = PyObject_GetAttrString(py_opts, "dynamic_background_opacity");
if (ret == NULL) return;
convert_from_python_dynamic_background_opacity(ret, opts);
Py_DECREF(ret);
}
static void
convert_from_python_background_image(PyObject *val, Options *opts) {
background_image(val, opts);
@@ -928,19 +941,6 @@ convert_from_opts_background_image_linear(PyObject *py_opts, Options *opts) {
Py_DECREF(ret);
}
static void
convert_from_python_dynamic_background_opacity(PyObject *val, Options *opts) {
opts->dynamic_background_opacity = PyObject_IsTrue(val);
}
static void
convert_from_opts_dynamic_background_opacity(PyObject *py_opts, Options *opts) {
PyObject *ret = PyObject_GetAttrString(py_opts, "dynamic_background_opacity");
if (ret == NULL) return;
convert_from_python_dynamic_background_opacity(ret, opts);
Py_DECREF(ret);
}
static void
convert_from_python_background_tint(PyObject *val, Options *opts) {
opts->background_tint = PyFloat_AsFloat(val);
@@ -1313,14 +1313,14 @@ convert_opts_from_python_opts(PyObject *py_opts, Options *opts) {
if (PyErr_Occurred()) return false;
convert_from_opts_background_blur(py_opts, opts);
if (PyErr_Occurred()) return false;
convert_from_opts_dynamic_background_opacity(py_opts, opts);
if (PyErr_Occurred()) return false;
convert_from_opts_background_image(py_opts, opts);
if (PyErr_Occurred()) return false;
convert_from_opts_background_image_layout(py_opts, opts);
if (PyErr_Occurred()) return false;
convert_from_opts_background_image_linear(py_opts, opts);
if (PyErr_Occurred()) return false;
convert_from_opts_dynamic_background_opacity(py_opts, opts);
if (PyErr_Occurred()) return false;
convert_from_opts_background_tint(py_opts, opts);
if (PyErr_Occurred()) return false;
convert_from_opts_background_tint_gaps(py_opts, opts);

View File

@@ -403,6 +403,7 @@ option_names = (
'placement_strategy',
'pointer_shape_when_dragging',
'pointer_shape_when_grabbed',
'remember_window_position',
'remember_window_size',
'remote_control_password',
'repaint_delay',
@@ -575,6 +576,7 @@ class Options:
placement_strategy: choices_for_placement_strategy = 'center'
pointer_shape_when_dragging: tuple[str, str] = ('beam', 'crosshair')
pointer_shape_when_grabbed: choices_for_pointer_shape_when_grabbed = 'arrow'
remember_window_position: bool = False
remember_window_size: bool = True
repaint_delay: int = 10
resize_debounce_time: tuple[float, float] = (0.1, 0.5)