From 49fbeb9a56025ac28bc38482385836266ccb90a7 Mon Sep 17 00:00:00 2001 From: pagedown Date: Sat, 1 Jan 2022 21:27:01 +0800 Subject: [PATCH 1/5] Remove the always true conditions Unsigned integers are always greater than or equal to zero. The else branch is always the opposite. --- kitty/freetype.c | 2 +- kitty/freetype_render_ui_text.c | 2 +- kitty/screen.c | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/kitty/freetype.c b/kitty/freetype.c index 96c6c36d1..0f4d12a86 100644 --- a/kitty/freetype.c +++ b/kitty/freetype.c @@ -92,7 +92,7 @@ get_load_flags(int hinting, int hintstyle, int base) { int flags = base; if (hinting) { if (hintstyle >= 3) flags |= FT_LOAD_TARGET_NORMAL; - else if (0 < hintstyle && hintstyle < 3) flags |= FT_LOAD_TARGET_LIGHT; + else if (0 < hintstyle) flags |= FT_LOAD_TARGET_LIGHT; } else flags |= FT_LOAD_NO_HINTING; return flags; } diff --git a/kitty/freetype_render_ui_text.c b/kitty/freetype_render_ui_text.c index 040b80cf0..c5e3abfa2 100644 --- a/kitty/freetype_render_ui_text.c +++ b/kitty/freetype_render_ui_text.c @@ -93,7 +93,7 @@ get_load_flags(int hinting, int hintstyle, int base) { int flags = base; if (hinting) { if (hintstyle >= 3) flags |= FT_LOAD_TARGET_NORMAL; - else if (0 < hintstyle && hintstyle < 3) flags |= FT_LOAD_TARGET_LIGHT; + else if (0 < hintstyle) flags |= FT_LOAD_TARGET_LIGHT; } else flags |= FT_LOAD_NO_HINTING; return flags; } diff --git a/kitty/screen.c b/kitty/screen.c index 0e61dddea..61bb230d6 100644 --- a/kitty/screen.c +++ b/kitty/screen.c @@ -1705,9 +1705,9 @@ screen_delete_lines(Screen *self, unsigned int count) { void screen_insert_characters(Screen *self, unsigned int count) { - const unsigned int top = 0, bottom = self->lines ? self->lines - 1 : 0; + const unsigned int bottom = self->lines ? self->lines - 1 : 0; if (count == 0) count = 1; - if (top <= self->cursor->y && self->cursor->y <= bottom) { + if (self->cursor->y <= bottom) { unsigned int x = self->cursor->x; unsigned int num = MIN(self->columns - x, count); linebuf_init_line(self->linebuf, self->cursor->y); @@ -1732,9 +1732,9 @@ void screen_delete_characters(Screen *self, unsigned int count) { MOVE_OVERLAY_LINE_WITH_CURSOR; // Delete characters, later characters are moved left - const unsigned int top = 0, bottom = self->lines ? self->lines - 1 : 0; + const unsigned int bottom = self->lines ? self->lines - 1 : 0; if (count == 0) count = 1; - if (top <= self->cursor->y && self->cursor->y <= bottom) { + if (self->cursor->y <= bottom) { unsigned int x = self->cursor->x; unsigned int num = MIN(self->columns - x, count); linebuf_init_line(self->linebuf, self->cursor->y); From f1b6fb397b22beb9a829a706373905e9a498ea90 Mon Sep 17 00:00:00 2001 From: pagedown Date: Sat, 1 Jan 2022 21:28:55 +0800 Subject: [PATCH 2/5] Remove redundant variable assignment --- kitty/fonts/box_drawing.py | 1 - kitty/layout/grid.py | 1 - kitty/tabs.py | 1 - 3 files changed, 3 deletions(-) diff --git a/kitty/fonts/box_drawing.py b/kitty/fonts/box_drawing.py index 704e03c8b..9efb9b907 100644 --- a/kitty/fonts/box_drawing.py +++ b/kitty/fonts/box_drawing.py @@ -624,7 +624,6 @@ def shade(buf: BufType, width: int, height: int, light: bool = False, invert: bo dest = bytearray(width * height) if invert else buf for r in range(number_of_rows): - y = r * square_sz is_odd = r % 2 != 0 if is_odd: continue diff --git a/kitty/layout/grid.py b/kitty/layout/grid.py index 022571e95..d855697c5 100644 --- a/kitty/layout/grid.py +++ b/kitty/layout/grid.py @@ -64,7 +64,6 @@ class Grid(Layout): return layout_func(num_windows, bias=variable_bias(num_windows, biased_map) if num_windows > 1 else None) def apply_bias(self, idx: int, increment: float, all_windows: WindowList, is_horizontal: bool = True) -> bool: - b = self.biased_cols if is_horizontal else self.biased_rows num_windows = all_windows.num_groups ncols, nrows, special_rows, special_col = calc_grid_size(num_windows) diff --git a/kitty/tabs.py b/kitty/tabs.py index 0ff9ac09e..c96e1014d 100644 --- a/kitty/tabs.py +++ b/kitty/tabs.py @@ -360,7 +360,6 @@ class Tab: # {{{ else: cmd = resolved_shell(get_options()) check_for_suitability = False - cmd = self.args.args or resolved_shell(get_options()) if check_for_suitability: old_exe = cmd[0] if not os.path.isabs(old_exe): From 7246fb347cb80b0efa8c448b099d31799be5ffdc Mon Sep 17 00:00:00 2001 From: pagedown Date: Sat, 1 Jan 2022 21:29:06 +0800 Subject: [PATCH 3/5] Remove the unused function --- kittens/themes/main.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/kittens/themes/main.py b/kittens/themes/main.py index 0a558dad2..e53e76b0e 100644 --- a/kittens/themes/main.py +++ b/kittens/themes/main.py @@ -309,10 +309,6 @@ class ThemesHandler(Handler): next_line() next_line() - def write_line(text: str) -> None: - self.write(text) - next_line() - self.cmd.set_cursor_position() next_line() self.cmd.styled(theme.name.center(sz), bold=True, fg='green') From 15615a4cd1166b6eb5eef9afd5b857a4b287ac42 Mon Sep 17 00:00:00 2001 From: pagedown Date: Sat, 1 Jan 2022 21:29:32 +0800 Subject: [PATCH 4/5] Avoid defining variables with the same name that already exist Avoid using existing parameter names for local variables. Avoid using variable names from upper level for nested loops. Avoid local variables hiding existing global variables. --- glfw/linux_notify.c | 12 ++++++------ glfw/wl_text_input.c | 22 +++++++++++----------- glfw/wl_window.c | 20 ++++++++++---------- kittens/choose/main.c | 2 +- kittens/ssh/main.py | 14 +++++++------- kitty/conf/generate.py | 4 ++-- kitty/glfw.c | 8 ++++---- kitty/screen.c | 4 ++-- 8 files changed, 43 insertions(+), 43 deletions(-) diff --git a/glfw/linux_notify.c b/glfw/linux_notify.c index b0691cfd7..d140bc57b 100644 --- a/glfw/linux_notify.c +++ b/glfw/linux_notify.c @@ -35,10 +35,10 @@ notification_created(DBusMessage *msg, const char* errmsg, void *data) { if (data) free(data); return; } - uint32_t notification_id; - if (!glfw_dbus_get_args(msg, "Failed to get Notification uid", DBUS_TYPE_UINT32, ¬ification_id, DBUS_TYPE_INVALID)) return; + uint32_t id; + if (!glfw_dbus_get_args(msg, "Failed to get Notification uid", DBUS_TYPE_UINT32, &id, DBUS_TYPE_INVALID)) return; NotificationCreatedData *ncd = (NotificationCreatedData*)data; - if (ncd->callback) ncd->callback(ncd->next_id, notification_id, ncd->data); + if (ncd->callback) ncd->callback(ncd->next_id, id, ncd->data); if (data) free(data); } @@ -46,12 +46,12 @@ static DBusHandlerResult message_handler(DBusConnection *conn UNUSED, DBusMessage *msg, void *user_data UNUSED) { /* printf("session_bus message_handler invoked interface: %s member: %s\n", dbus_message_get_interface(msg), dbus_message_get_member(msg)); */ if (dbus_message_is_signal(msg, NOTIFICATIONS_IFACE, "ActionInvoked")) { - uint32_t notification_id; + uint32_t id; const char *action; if (glfw_dbus_get_args(msg, "Failed to get args from ActionInvoked notification signal", - DBUS_TYPE_UINT32, ¬ification_id, DBUS_TYPE_STRING, &action, DBUS_TYPE_INVALID)) { + DBUS_TYPE_UINT32, &id, DBUS_TYPE_STRING, &action, DBUS_TYPE_INVALID)) { if (activated_handler) { - activated_handler(notification_id, action); + activated_handler(id, action); return DBUS_HANDLER_RESULT_HANDLED; } } diff --git a/glfw/wl_text_input.c b/glfw/wl_text_input.c index 4afc4a3d0..e25f2eafd 100644 --- a/glfw/wl_text_input.c +++ b/glfw/wl_text_input.c @@ -25,20 +25,20 @@ static void commit(void) { } static void -text_input_enter(void *data UNUSED, struct zwp_text_input_v3 *text_input UNUSED, struct wl_surface *surface UNUSED) { +text_input_enter(void *data UNUSED, struct zwp_text_input_v3 *txt_input UNUSED, struct wl_surface *surface UNUSED) { debug("text-input: enter event\n"); - if (text_input) { - zwp_text_input_v3_enable(text_input); - zwp_text_input_v3_set_content_type(text_input, ZWP_TEXT_INPUT_V3_CONTENT_HINT_NONE, ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_TERMINAL); + if (txt_input) { + zwp_text_input_v3_enable(txt_input); + zwp_text_input_v3_set_content_type(txt_input, ZWP_TEXT_INPUT_V3_CONTENT_HINT_NONE, ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_TERMINAL); commit(); } } static void -text_input_leave(void *data UNUSED, struct zwp_text_input_v3 *text_input UNUSED, struct wl_surface *surface UNUSED) { +text_input_leave(void *data UNUSED, struct zwp_text_input_v3 *txt_input UNUSED, struct wl_surface *surface UNUSED) { debug("text-input: leave event\n"); - if (text_input) { - zwp_text_input_v3_disable(text_input); + if (txt_input) { + zwp_text_input_v3_disable(txt_input); commit(); } } @@ -57,7 +57,7 @@ send_text(const char *text, GLFWIMEState ime_state) { static void text_input_preedit_string( void *data UNUSED, - struct zwp_text_input_v3 *text_input UNUSED, + struct zwp_text_input_v3 *txt_input UNUSED, const char *text, int32_t cursor_begin, int32_t cursor_end @@ -68,7 +68,7 @@ text_input_preedit_string( } static void -text_input_commit_string(void *data UNUSED, struct zwp_text_input_v3 *text_input UNUSED, const char *text) { +text_input_commit_string(void *data UNUSED, struct zwp_text_input_v3 *txt_input UNUSED, const char *text) { debug("text-input: commit_string event: text: %s\n", text); free(pending_commit); pending_commit = text ? _glfw_strdup(text) : NULL; @@ -77,14 +77,14 @@ text_input_commit_string(void *data UNUSED, struct zwp_text_input_v3 *text_input static void text_input_delete_surrounding_text( void *data UNUSED, - struct zwp_text_input_v3 *zwp_text_input_v3 UNUSED, + struct zwp_text_input_v3 *txt_input UNUSED, uint32_t before_length, uint32_t after_length) { debug("text-input: delete_surrounding_text event: before_length: %u after_length: %u\n", before_length, after_length); } static void -text_input_done(void *data UNUSED, struct zwp_text_input_v3 *zwp_text_input_v3 UNUSED, uint32_t serial UNUSED) { +text_input_done(void *data UNUSED, struct zwp_text_input_v3 *txt_input UNUSED, uint32_t serial UNUSED) { debug("text-input: done event: serial: %u current_commit_serial: %u\n", serial, commit_serial); if (serial != commit_serial) { _glfwInputError(GLFW_PLATFORM_ERROR, "Wayland: text_input_done serial mismatch, expected=%u got=%u\n", commit_serial, serial); diff --git a/glfw/wl_window.c b/glfw/wl_window.c index a3c46d94d..7f713c400 100644 --- a/glfw/wl_window.c +++ b/glfw/wl_window.c @@ -896,9 +896,9 @@ void _glfwPlatformSetWindowSize(_GLFWwindow* window, int width, int height) if (width != window->wl.width || height != window->wl.height) { window->wl.user_requested_content_size.width = width; window->wl.user_requested_content_size.height = height; - int32_t width = 0, height = 0; - set_csd_window_geometry(window, &width, &height); - window->wl.width = width; window->wl.height = height; + int32_t w = 0, h = 0; + set_csd_window_geometry(window, &w, &h); + window->wl.width = w; window->wl.height = h; resizeFramebuffer(window); ensure_csd_resources(window); wl_surface_commit(window->wl.surface); @@ -1667,9 +1667,9 @@ static void drag_enter(void *data UNUSED, struct wl_data_device *wl_data_device while (window) { if (window->wl.surface == surface) { - for (size_t x = 0; x < d->mimes_count; x++) { - int prio = _glfwInputDrop(window, d->mimes[x], NULL, 0); - if (prio > format_priority) d->mime_for_drop = d->mimes[x]; + for (size_t j = 0; j < d->mimes_count; j++) { + int prio = _glfwInputDrop(window, d->mimes[j], NULL, 0); + if (prio > format_priority) d->mime_for_drop = d->mimes[j]; } break; } @@ -1695,8 +1695,8 @@ static void drop(void *data UNUSED, struct wl_data_device *wl_data_device UNUSED for (size_t i = 0; i < arraysz(_glfw.wl.dataOffers); i++) { if (_glfw.wl.dataOffers[i].offer_type == DRAG_AND_DROP && _glfw.wl.dataOffers[i].mime_for_drop) { size_t sz = 0; - char *data = read_data_offer(_glfw.wl.dataOffers[i].id, _glfw.wl.dataOffers[i].mime_for_drop, &sz); - if (data) { + char *d = read_data_offer(_glfw.wl.dataOffers[i].id, _glfw.wl.dataOffers[i].mime_for_drop, &sz); + if (d) { // We dont do finish as this requires version 3 for wl_data_device_manager // which then requires more work with calling set_actions for drag and drop to function // wl_data_offer_finish(_glfw.wl.dataOffers[i].id); @@ -1705,13 +1705,13 @@ static void drop(void *data UNUSED, struct wl_data_device *wl_data_device UNUSED while (window) { if (window->wl.surface == _glfw.wl.dataOffers[i].surface) { - _glfwInputDrop(window, _glfw.wl.dataOffers[i].mime_for_drop, data, sz); + _glfwInputDrop(window, _glfw.wl.dataOffers[i].mime_for_drop, d, sz); break; } window = window->next; } - free(data); + free(d); } destroy_data_offer(&_glfw.wl.dataOffers[i]); break; diff --git a/kittens/choose/main.c b/kittens/choose/main.c index 0c22b6696..5eda27c21 100644 --- a/kittens/choose/main.c +++ b/kittens/choose/main.c @@ -55,7 +55,7 @@ create_job(size_t i, size_t blocksz, GlobalData *global) { if (ans->start >= global->haystack_count) ans->count = 0; else ans->count = global->haystack_count - ans->start; ans->max_haystack_len = 0; - for (size_t i = ans->start; i < ans->start + ans->count; i++) ans->max_haystack_len = MAX(ans->max_haystack_len, global->haystack[i].haystack_len); + for (size_t j = ans->start; j < ans->start + ans->count; j++) ans->max_haystack_len = MAX(ans->max_haystack_len, global->haystack[j].haystack_len); if (ans->count > 0) { ans->workspace = alloc_workspace(ans->max_haystack_len, global); if (!ans->workspace) { free(ans); return NULL; } diff --git a/kittens/ssh/main.py b/kittens/ssh/main.py index 293e18e36..5e286a29e 100644 --- a/kittens/ssh/main.py +++ b/kittens/ssh/main.py @@ -219,16 +219,16 @@ def parse_ssh_args(args: List[str]) -> Tuple[List[str], List[str], bool]: expecting_option_val = False passthrough = False stop_option_processing = False - for arg in args: + for argument in args: if len(server_args) > 1 or stop_option_processing: - server_args.append(arg) + server_args.append(argument) continue - if arg.startswith('-') and not expecting_option_val: - if arg == '--': + if argument.startswith('-') and not expecting_option_val: + if argument == '--': stop_option_processing = True continue # could be a multi-character option - all_args = arg[1:] + all_args = argument[1:] for i, arg in enumerate(all_args): arg = '-' + arg if arg in passthrough_args: @@ -247,10 +247,10 @@ def parse_ssh_args(args: List[str]) -> Tuple[List[str], List[str], bool]: raise InvalidSSHArgs(f'unknown option -- {arg[1:]}') continue if expecting_option_val: - ssh_args.append(arg) + ssh_args.append(argument) expecting_option_val = False continue - server_args.append(arg) + server_args.append(argument) if not server_args: raise InvalidSSHArgs() return ssh_args, server_args, passthrough diff --git a/kitty/conf/generate.py b/kitty/conf/generate.py index c5565aba6..e8edc2b19 100644 --- a/kitty/conf/generate.py +++ b/kitty/conf/generate.py @@ -289,8 +289,8 @@ def generate_class(defn: Definition, loc: str) -> Tuple[str, str]: for cond, items in only.items(): cond = 'is_macos' if cond == 'macos' else 'not is_macos' a(f'if {cond}:') - for (text, func) in items: - for val in func(text): + for (text, parser_func) in items: + for val in parser_func(text): a(f' defaults.{aname}.append({val!r}) # noqa') t('') diff --git a/kitty/glfw.c b/kitty/glfw.c index f57e88413..25f5c56a5 100644 --- a/kitty/glfw.c +++ b/kitty/glfw.c @@ -155,10 +155,10 @@ show_mouse_cursor(GLFWwindow *w) { } void -blank_os_window(OSWindow *w) { +blank_os_window(OSWindow *osw) { color_type color = OPT(background); - if (w->num_tabs > 0) { - Tab *t = w->tabs + w->active_tab; + if (osw->num_tabs > 0) { + Tab *t = osw->tabs + osw->active_tab; if (t->num_windows == 1) { Window *w = t->windows + t->active_window; Screen *s = w->render_data.screen; @@ -167,7 +167,7 @@ blank_os_window(OSWindow *w) { } } } - blank_canvas(w->is_semi_transparent ? w->background_opacity : 1.0f, color); + blank_canvas(osw->is_semi_transparent ? osw->background_opacity : 1.0f, color); } static void diff --git a/kitty/screen.c b/kitty/screen.c index 61bb230d6..442ad79d0 100644 --- a/kitty/screen.c +++ b/kitty/screen.c @@ -1531,8 +1531,8 @@ screen_cursor_at_a_shell_prompt(const Screen *self) { } bool -screen_fake_move_cursor_to_position(Screen *self, index_type x, index_type y) { - SelectionBoundary a = {.x=x, .y=y}, b = {.x=self->cursor->x, .y=self->cursor->y}; +screen_fake_move_cursor_to_position(Screen *self, index_type start_x, index_type start_y) { + SelectionBoundary a = {.x=start_x, .y=start_y}, b = {.x=self->cursor->x, .y=self->cursor->y}; SelectionBoundary *start, *end; int key; if (a.y < b.y || (a.y == b.y && a.x < b.x)) { start = &a; end = &b; key = GLFW_FKEY_LEFT; } else { start = &b; end = &a; key = GLFW_FKEY_RIGHT; } From a3e9e0f0101b9b3e408cc0a9bf90f63ed38b82de Mon Sep 17 00:00:00 2001 From: pagedown Date: Sat, 1 Jan 2022 21:29:46 +0800 Subject: [PATCH 5/5] Use the already imported subprocess --- kitty/utils.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kitty/utils.py b/kitty/utils.py index f6b1619da..2eaf0cd87 100644 --- a/kitty/utils.py +++ b/kitty/utils.py @@ -720,13 +720,12 @@ def read_shell_environment(opts: Optional[Options] = None) -> Dict[str, str]: return ans with os.fdopen(master, 'rb') as stdout, os.fdopen(slave, 'wb'): raw = b'' - from subprocess import TimeoutExpired from time import monotonic start_time = monotonic() while monotonic() - start_time < 1.5: try: ret: Optional[int] = p.wait(0.01) - except TimeoutExpired: + except subprocess.TimeoutExpired: ret = None with suppress(Exception): raw += stdout.read()