linux-kbuild.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Randy Dunlap <rdunlap@infradead.org>
To: Masahiro Yamada <masahiroy@kernel.org>, linux-kbuild@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH 00/66] kconfig: improve xconfig and gconfig
Date: Sun, 29 Jun 2025 23:55:25 -0700	[thread overview]
Message-ID: <cb9bd1e4-9424-4ed2-bdfa-49c883c60a66@infradead.org> (raw)
In-Reply-To: <20250624150645.1107002-1-masahiroy@kernel.org>



On 6/24/25 8:04 AM, Masahiro Yamada wrote:
> [xconfig]
> 
>  - small improvement for choice
> 
> [gconfig]
> 
>  - Fix memory leak
>  - Lots of refactoring
>  - Migrate GTK 2 to GTK 3
>  - Fix all compile warnings
>  - Improve usability (grey out buttons, keep the item selection, etc.)
> 
> 

Hi,
I have tested all 65 patches here (omitting 52).
They worked well. Good job.
I will test your git tree/branch Monday/Tuesday.

I did notice one visual difference. The GTK+2 version of
gconfig (before the patches) uses an alternating white/light gray
background for the menu items while the GTK+3 version (after the
patches) uses an all white background.

I prefer the alternating but it may be just some collateral damage
in the name of progress.  Or could be something else entirely!

Before you posted all of these gconfig patches, I was going to ask
how many gconfig users are there?  I don't see much on the mailing
list about gconfig from users and suggest that maybe we should just
drop it, but if you are OK with maintaining it and updating it like
in this patch series, so be it.

I did seem to have found one gconfig user [1]. Maybe you are also
a gconfig user.


[1] https://lore.kernel.org/linux-kbuild/67b44d49-d23c-fab0-e165-cc84817562af@infradead.org/



> 
> Masahiro Yamada (66):
>   kconfig: set MENU_CHANGED to choice when the selected member is
>     changed
>   kconfig: qconf: do not show checkbox icon for choice
>   kconfig: qconf: show selected choice in the Value column
>   kconfig: rename menu_get_parent_menu() to
>     menu_get_menu_or_parent_menu()
>   kconfig: re-add menu_get_parent_menu() that returns parent menu
>   kconfig: gconf: make columns resizable
>   kconfig: gconf: fix potential memory leak in renderer_edited()
>   kconfig: gconf: always destroy dialog in on_window1_delete_event()
>   kconfig: gconf: remove old #ifdef GTK_CHECK_VERSION
>   kconfig: gconf: remove empty if-block
>   kconfig: gconf: remove meaningless code in init_main_window()
>   kconfig: gconf: remove unneeded gtk_tree_view_set_headers_visible()
>     calls
>   kconfig: gconf: remove gtk_tree_view_column_set_visible() calls
>   kconfig: gconf: remove gtk_widget_realize() calls
>   kconfig: gconf: remove gtk_tree_view_set_rules_hint() calls
>   kconfig: gconf: remove unnecessary gtk_set_locale() call
>   kconfig: gconf: remove internal-child="image" nodes from glade
>   kconfig: gconf: remove parents[] array and indent variable
>   kconfig: gconf: remove unnecessary NULL checks for tree1 and tree2
>   kconfig: gconf: remove unneeded variable in on_split_clicked()
>   kconfig: gconf: remove unneeded variables in
>     on_treeview*_button_press_event()
>   kconfig: gconf: remove unused 'color' variable
>   kconfig: gconf: add static qualifiers to variables
>   kconfig: gconf: move init_*() functions below
>   kconfig: gconf: refactor view setting code
>   kconfig: gconf: grey out button for current view
>   kconfig: gconf: move the main window event handlers below
>   kconfig: gconf: move button1 initialization below
>   kconfig: gconf: add static qualifiers to event handlers
>   kconfig: gconf: remove glade_xml_signal_autoconnect() call
>   kconfig: gconf: make key_press_event work in left pane too
>   kconfig: gconf: avoid hardcoding model2 in
>     on_treeview2_cursor_changed()
>   kconfig: gconf: avoid hardcoding model2 in renderer_edited()
>   kconfig: gconf: avoid hardcoding model* in
>     on_treeview*_button_press_event()
>   kconfig: gconf: add on_save_clicked() event handler
>   kconfig: gconf: use GtkFileChooser in on_load1_activate()
>   kconfig: gconf: use GtkFileChooser in on_save_as1_activate()
>   kconfig: gconf: use GdkPixbuf in replace_button_icon()
>   kconfig: gconf: refactor replace_button_icon()
>   kconfig: gconf: make introduction, about, license dialogs modal
>   kconfig: gconf: remove global 'tree' variable
>   kconfig: gconf: merge 'current' and 'browsed' global variables
>   kconfig: gconf: preserve menu selection when switching view mode
>   kconfig: gconf: use GtkTreeModelFilter to control row visibility
>   kconfig: gconf: remove global 'model1' and 'model2' variables
>   kconfig: gconf: remove init_tree_model()
>   kconfig: gconf: inline fill_row() into set_node()
>   kconfig: gconf: do not reconstruct tree store when a symbol is changed
>   kconfig: gconf: inline display_list() into set_view_mode()
>   kconfig: gconf: remove dead code in display_tree_part()
>   kconfig: gconf: rename display_tree_part()
>   kconfig: gconf: remove fixup_rootmenu()
>   kconfig: gconf: use size_allocate event handler
>   kconfig: gconf: replace GDK_space with GDK_KEY_space
>   kconfig: gconf: replace GTK_STOCK_{OK,NO,CANCEL}
>   kconfig: gconf: remove "tooltips" property from glade
>   kconfig: gconf: replace "tooltip" property with "tooltip-text"
>   kconfig: gconf: remove unnecessary default message in text view
>   kconfig: gconf: use gtk_check_menu_item_get_active() accessor
>   kconfig: gconf: use gtk_dialog_get_content_area() accessor
>   kconfig: gconf: remove GtkHandleBox from glade
>   kconfig: gconf: rename gconf.glade to gconf.ui
>   kconfig: gconf: migrate to GTK 3
>   kconfig: gconf: replace GtkVbox with GtkBox
>   kconfig: gconf: replace GdkColor with GdkRGBA
>   kconfig: gconf: show GTK version in About dialog
> 
>  scripts/kconfig/conf.c                    |    2 +-
>  scripts/kconfig/gconf-cfg.sh              |   11 +-
>  scripts/kconfig/gconf.c                   | 1828 ++++++++++-----------
>  scripts/kconfig/{gconf.glade => gconf.ui} |  360 ++--
>  scripts/kconfig/lkc.h                     |    1 +
>  scripts/kconfig/menu.c                    |   20 +
>  scripts/kconfig/qconf.cc                  |   26 +-
>  scripts/kconfig/symbol.c                  |    4 +
>  8 files changed, 1023 insertions(+), 1229 deletions(-)
>  rename scripts/kconfig/{gconf.glade => gconf.ui} (57%)
> 

-- 
~Randy


  parent reply	other threads:[~2025-06-30  6:55 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-24 15:04 [PATCH 00/66] kconfig: improve xconfig and gconfig Masahiro Yamada
2025-06-24 15:04 ` [PATCH 01/66] kconfig: set MENU_CHANGED to choice when the selected member is changed Masahiro Yamada
2025-06-30  6:34   ` Randy Dunlap
2025-07-02 13:23     ` Masahiro Yamada
2025-07-02 22:02       ` Randy Dunlap
2025-06-24 15:04 ` [PATCH 02/66] kconfig: qconf: do not show checkbox icon for choice Masahiro Yamada
2025-06-29 20:15   ` Randy Dunlap
2025-06-30  3:36     ` Masahiro Yamada
2025-06-30  0:51   ` Randy Dunlap
2025-06-30  0:54     ` Randy Dunlap
2025-06-24 15:04 ` [PATCH 03/66] kconfig: qconf: show selected choice in the Value column Masahiro Yamada
2025-06-30  0:56   ` Randy Dunlap
2025-06-24 15:04 ` [PATCH 04/66] kconfig: rename menu_get_parent_menu() to menu_get_menu_or_parent_menu() Masahiro Yamada
2025-06-30  0:58   ` Randy Dunlap
2025-06-24 15:04 ` [PATCH 05/66] kconfig: re-add menu_get_parent_menu() that returns parent menu Masahiro Yamada
2025-06-30  0:59   ` Randy Dunlap
2025-06-24 15:04 ` [PATCH 06/66] kconfig: gconf: make columns resizable Masahiro Yamada
2025-06-30  2:18   ` Randy Dunlap
2025-06-24 15:04 ` [PATCH 07/66] kconfig: gconf: fix potential memory leak in renderer_edited() Masahiro Yamada
2025-06-30  2:21   ` Randy Dunlap
2025-06-24 15:04 ` [PATCH 08/66] kconfig: gconf: always destroy dialog in on_window1_delete_event() Masahiro Yamada
2025-06-30  2:23   ` Randy Dunlap
2025-06-24 15:04 ` [PATCH 09/66] kconfig: gconf: remove old #ifdef GTK_CHECK_VERSION Masahiro Yamada
2025-06-24 15:04 ` [PATCH 10/66] kconfig: gconf: remove empty if-block Masahiro Yamada
2025-06-30  2:25   ` Randy Dunlap
2025-06-24 15:04 ` [PATCH 11/66] kconfig: gconf: remove meaningless code in init_main_window() Masahiro Yamada
2025-06-30  2:25   ` Randy Dunlap
2025-06-24 15:05 ` [PATCH 12/66] kconfig: gconf: remove unneeded gtk_tree_view_set_headers_visible() calls Masahiro Yamada
2025-06-24 15:05 ` [PATCH 13/66] kconfig: gconf: remove gtk_tree_view_column_set_visible() calls Masahiro Yamada
2025-06-24 15:05 ` [PATCH 14/66] kconfig: gconf: remove gtk_widget_realize() calls Masahiro Yamada
2025-06-24 15:05 ` [PATCH 15/66] kconfig: gconf: remove gtk_tree_view_set_rules_hint() calls Masahiro Yamada
2025-06-24 15:05 ` [PATCH 16/66] kconfig: gconf: remove unnecessary gtk_set_locale() call Masahiro Yamada
2025-06-24 15:05 ` [PATCH 17/66] kconfig: gconf: remove internal-child="image" nodes from glade Masahiro Yamada
2025-06-24 15:05 ` [PATCH 18/66] kconfig: gconf: remove parents[] array and indent variable Masahiro Yamada
2025-06-24 15:05 ` [PATCH 19/66] kconfig: gconf: remove unnecessary NULL checks for tree1 and tree2 Masahiro Yamada
2025-06-24 15:05 ` [PATCH 20/66] kconfig: gconf: remove unneeded variable in on_split_clicked() Masahiro Yamada
2025-06-24 15:05 ` [PATCH 21/66] kconfig: gconf: remove unneeded variables in on_treeview*_button_press_event() Masahiro Yamada
2025-06-30  2:40   ` Randy Dunlap
2025-06-30  4:22     ` Masahiro Yamada
2025-06-24 15:05 ` [PATCH 22/66] kconfig: gconf: remove unused 'color' variable Masahiro Yamada
2025-06-24 15:05 ` [PATCH 23/66] kconfig: gconf: add static qualifiers to variables Masahiro Yamada
2025-06-24 15:05 ` [PATCH 24/66] kconfig: gconf: move init_*() functions below Masahiro Yamada
2025-06-24 15:05 ` [PATCH 25/66] kconfig: gconf: refactor view setting code Masahiro Yamada
2025-06-30  2:51   ` Randy Dunlap
2025-06-24 15:05 ` [PATCH 26/66] kconfig: gconf: grey out button for current view Masahiro Yamada
2025-06-30  2:53   ` Randy Dunlap
2025-06-24 15:05 ` [PATCH 27/66] kconfig: gconf: move the main window event handlers below Masahiro Yamada
2025-06-24 15:05 ` [PATCH 28/66] kconfig: gconf: move button1 initialization below Masahiro Yamada
2025-06-24 15:05 ` [PATCH 29/66] kconfig: gconf: add static qualifiers to event handlers Masahiro Yamada
2025-06-30  2:55   ` Randy Dunlap
2025-06-24 15:05 ` [PATCH 30/66] kconfig: gconf: remove glade_xml_signal_autoconnect() call Masahiro Yamada
2025-06-30  2:58   ` Randy Dunlap
2025-06-30  4:14     ` Masahiro Yamada
2025-06-24 15:05 ` [PATCH 31/66] kconfig: gconf: make key_press_event work in left pane too Masahiro Yamada
2025-06-24 15:05 ` [PATCH 32/66] kconfig: gconf: avoid hardcoding model2 in on_treeview2_cursor_changed() Masahiro Yamada
2025-06-24 15:05 ` [PATCH 33/66] kconfig: gconf: avoid hardcoding model2 in renderer_edited() Masahiro Yamada
2025-06-24 15:05 ` [PATCH 34/66] kconfig: gconf: avoid hardcoding model* in on_treeview*_button_press_event() Masahiro Yamada
2025-06-24 15:05 ` [PATCH 35/66] kconfig: gconf: add on_save_clicked() event handler Masahiro Yamada
2025-06-24 15:05 ` [PATCH 36/66] kconfig: gconf: use GtkFileChooser in on_load1_activate() Masahiro Yamada
2025-06-30  3:14   ` Randy Dunlap
2025-06-24 15:05 ` [PATCH 37/66] kconfig: gconf: use GtkFileChooser in on_save_as1_activate() Masahiro Yamada
2025-06-30  3:20   ` Randy Dunlap
2025-06-24 15:05 ` [PATCH 38/66] kconfig: gconf: use GdkPixbuf in replace_button_icon() Masahiro Yamada
2025-06-24 15:05 ` [PATCH 39/66] kconfig: gconf: refactor replace_button_icon() Masahiro Yamada
2025-06-24 15:05 ` [PATCH 40/66] kconfig: gconf: make introduction, about, license dialogs modal Masahiro Yamada
2025-06-30  4:09   ` Randy Dunlap
2025-06-24 15:05 ` [PATCH 41/66] kconfig: gconf: remove global 'tree' variable Masahiro Yamada
2025-06-24 15:05 ` [PATCH 42/66] kconfig: gconf: merge 'current' and 'browsed' global variables Masahiro Yamada
2025-06-24 15:05 ` [PATCH 43/66] kconfig: gconf: preserve menu selection when switching view mode Masahiro Yamada
2025-06-30  5:42   ` Masahiro Yamada
2025-06-24 15:05 ` [PATCH 44/66] kconfig: gconf: use GtkTreeModelFilter to control row visibility Masahiro Yamada
2025-06-24 15:05 ` [PATCH 45/66] kconfig: gconf: remove global 'model1' and 'model2' variables Masahiro Yamada
2025-06-30  4:10   ` Randy Dunlap
2025-06-24 15:05 ` [PATCH 46/66] kconfig: gconf: remove init_tree_model() Masahiro Yamada
2025-06-24 15:05 ` [PATCH 47/66] kconfig: gconf: inline fill_row() into set_node() Masahiro Yamada
2025-06-24 15:05 ` [PATCH 48/66] kconfig: gconf: do not reconstruct tree store when a symbol is changed Masahiro Yamada
2025-06-24 15:05 ` [PATCH 49/66] kconfig: gconf: inline display_list() into set_view_mode() Masahiro Yamada
2025-06-24 15:05 ` [PATCH 50/66] kconfig: gconf: remove dead code in display_tree_part() Masahiro Yamada
2025-06-24 15:05 ` [PATCH 51/66] kconfig: gconf: rename display_tree_part() Masahiro Yamada
2025-06-24 15:05 ` [PATCH 52/66] kconfig: gconf: remove fixup_rootmenu() Masahiro Yamada
2025-06-27 12:46   ` Masahiro Yamada
2025-06-24 15:05 ` [PATCH 53/66] kconfig: gconf: use size_allocate event handler Masahiro Yamada
2025-06-29 17:56   ` Masahiro Yamada
2025-06-30  5:23     ` Randy Dunlap
2025-06-30  5:30       ` Masahiro Yamada
2025-06-24 15:05 ` [PATCH 54/66] kconfig: gconf: replace GDK_space with GDK_KEY_space Masahiro Yamada
2025-06-24 15:05 ` [PATCH 55/66] kconfig: gconf: replace GTK_STOCK_{OK,NO,CANCEL} Masahiro Yamada
2025-06-30  5:26   ` Randy Dunlap
2025-06-24 15:05 ` [PATCH 56/66] kconfig: gconf: remove "tooltips" property from glade Masahiro Yamada
2025-06-24 15:05 ` [PATCH 57/66] kconfig: gconf: replace "tooltip" property with "tooltip-text" Masahiro Yamada
2025-06-30  5:36   ` Randy Dunlap
2025-06-24 15:05 ` [PATCH 58/66] kconfig: gconf: remove unnecessary default message in text view Masahiro Yamada
2025-06-24 15:05 ` [PATCH 59/66] kconfig: gconf: use gtk_check_menu_item_get_active() accessor Masahiro Yamada
2025-06-24 15:05 ` [PATCH 60/66] kconfig: gconf: use gtk_dialog_get_content_area() accessor Masahiro Yamada
2025-06-24 15:05 ` [PATCH 61/66] kconfig: gconf: remove GtkHandleBox from glade Masahiro Yamada
2025-06-24 15:05 ` [PATCH 62/66] kconfig: gconf: rename gconf.glade to gconf.ui Masahiro Yamada
2025-06-24 15:05 ` [PATCH 63/66] kconfig: gconf: migrate to GTK 3 Masahiro Yamada
2025-06-24 15:05 ` [PATCH 64/66] kconfig: gconf: replace GtkVbox with GtkBox Masahiro Yamada
2025-06-24 15:05 ` [PATCH 65/66] kconfig: gconf: replace GdkColor with GdkRGBA Masahiro Yamada
2025-06-24 15:05 ` [PATCH 66/66] kconfig: gconf: show GTK version in About dialog Masahiro Yamada
2025-06-30  6:06   ` Randy Dunlap
2025-06-30  6:55 ` Randy Dunlap [this message]
2025-06-30 15:48   ` [PATCH 00/66] kconfig: improve xconfig and gconfig Masahiro Yamada
2025-06-30 23:43     ` Randy Dunlap

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cb9bd1e4-9424-4ed2-bdfa-49c883c60a66@infradead.org \
    --to=rdunlap@infradead.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).