gtkterm icon indicating copy to clipboard operation
gtkterm copied to clipboard

[Info] Migration to gtk4

Open wvdakker opened this issue 2 years ago • 8 comments

Hi,

I have started the migration to gtk4. The UI is from scratch rebuild. The basic UI works, but still is missing. I will add more in time. Planning is to finish the migration before the freeze of Bookworm (jan 2023).

GTKTerm is linked against vte-gtk4. Not all distros have the latest gtk4 libs. For now you have to create them.

- Download the vte source
- change meson._options.txt
option(
  'gtk4',
  type: 'boolean',
  value: false,
  description: 'Enable GTK+ 4.0 widget',
)
-build

Many functions from the old versions will be migrated later.

Note: If you test this version and you dont do a full install you have to copy the gschema.xml from the data directory to the /usr/share/glib-2.9/schema directory. After that a glib-compile-schemas is needed.

wvdakker avatar Jun 27 '22 19:06 wvdakker

Still building the foundation. What has changed:

  • configuration is a GObject and loading configuration is controlled by signal.
  • CLI is embedded in GApplication
  • CLI is directly updating the keyfile in memory
  • the keyfile is part of the application and terminals will copy their config.
  • menu and menu functions are updated
  • removed i18n.c and use N_ from glib.

To be continued ....

wvdakker avatar Aug 09 '22 09:08 wvdakker

Latest push has the following changes:

  • read configuration from keyfile into the terminal based on the chosen section
  • statusbar indicates configuration/status
  • splitsing gtkterm/gtktermwindow in separate files
  • complete keyfile with check and copy configuration (incl. adding signal)
  • add serial_port gobject (no reading/writing yet)

wvdakker avatar Aug 17 '22 09:08 wvdakker

The basics for the terminal communication is ready toi test. Standard terminal options are working. Configuration rom the CLI also. User signals also work. No menu options, macros or filetransfer is in this version available.

Before you can use 2.0 you have to convert the config file. It will backup the old config. Converting is done with gtkterm_conv. There are cli options for gtkterm to show the configuration from the cli. To see the options use: gtkterm --help-all

Any feedback is appreciated. Hopefully we can release 2.0 before Bookworm goes into freeze (januari 2023).

wvdakker avatar Sep 03 '22 07:09 wvdakker

Hello Willem,

thank you so much for all the work you put into GTKTerm, it is greatly appreciated. So far I have only tested that GTKTerm with GTK4 builds and starts up, but haven't tried anything more than that. Give me some time and I will do some proper tests and provide you with feedback, probably next weekend.

Kind regards, Florian

Jeija avatar Sep 03 '22 08:09 Jeija

Hi Florian,

Perfect. I am using it now as replacement for the 1.x so I test it along the way :)

Thanks!

Greetings, Willem

On Sat, 2022-09-03 at 01:24 -0700, Florian Euchner wrote:

Hello Willem,

thank you so much for all the work you put into GTKTerm, it is greatly appreciated. So far I have only tested that GTKTerm with GTK4 builds and starts up, but haven't tried anything more than that. Give me some time and I will do some proper tests and provide you with feedback, probably next weekend.

Kind regards, Florian

Am Mo., 27. Juni 2022 um 21:42 Uhr schrieb Willem van den Akker < @.***>:

Hi,

I have started the migration to gtk4. The UI is from scratch rebuild. The basic UI works, but still is missing. I will add more in time. Planning is to finish the migration before the freeze of Bookworm (jan 2023).

GTKTerm is linked against vte-gtk4. Not all distros have the latest gtk4 libs. For now you have to create them.

  • Download the vte source
  • change meson._options.txt option( 'gtk4', type: 'boolean', value: false, description: 'Enable GTK+ 4.0 widget', ) -build

Many functions from the old versions will be migrated later.

— Reply to this email directly, view it on GitHub https://github.com/Jeija/gtkterm/issues/48, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AAKAJXG22BIGZYK2GO 6EGH3VRH73PANCNFSM5Z7TCLQA> . You are receiving this because you are subscribed to this thread.Message ID: @.***>

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were assigned.Message ID: @.***>

wvdakker avatar Sep 03 '22 08:09 wvdakker

Hello Florian,

One additional remark. If you use macros can you see if the conversion is done ok? After converting you can dump the configuration to the cli with 'gtkterm -V [configuration]'.

Greetings, Willem

On Sat, 2022-09-03 at 10:47 +0200, Willem van den Akker wrote:

Hi Florian,

Perfect. I am using it now as replacement for the 1.x so I test it along the way :)

Thanks!

Greetings, Willem

On Sat, 2022-09-03 at 01:24 -0700, Florian Euchner wrote:

Hello Willem,

thank you so much for all the work you put into GTKTerm, it is greatly appreciated. So far I have only tested that GTKTerm with GTK4 builds and starts up, but haven't tried anything more than that. Give me some time and I will do some proper tests and provide you with feedback, probably next weekend.

Kind regards, Florian

Am Mo., 27. Juni 2022 um 21:42 Uhr schrieb Willem van den Akker < @.***>:

Hi,

I have started the migration to gtk4. The UI is from scratch rebuild. The basic UI works, but still is missing. I will add more in time. Planning is to finish the migration before the freeze of Bookworm (jan 2023).

GTKTerm is linked against vte-gtk4. Not all distros have the latest gtk4 libs. For now you have to create them.

  • Download the vte source
  • change meson._options.txt option( 'gtk4', type: 'boolean', value: false, description: 'Enable GTK+ 4.0 widget', ) -build

Many functions from the old versions will be migrated later.

— Reply to this email directly, view it on GitHub https://github.com/Jeija/gtkterm/issues/48, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AAKAJXG22BIGZYK2GO 6EGH3VRH73PANCNFSM5Z7TCLQA> . You are receiving this because you are subscribed to this thread.Message ID: @.***>

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were assigned.Message ID: @.***>

wvdakker avatar Sep 03 '22 08:09 wvdakker

Hi Willem,

I just wanted to confirm that I have tested your GTK 4 GTKTerm and that the bare minimum functionalities are there (VTE works, I can communicate over the serial port). Obviously there is still quite a lot of work still missing, so I'm not sure if this will be ready by January (I probably won't have much time to work on it, unfortunately...). I don't use macros, so I can't really test whether conversion works.

Kind regards, Florian

Jeija avatar Sep 22 '22 20:09 Jeija

Hi Florian,

Yes, as said, the basic functionality is working. All menu options have to be added. I will do it in the next months. At this moment I have less time to spend on it. For Bookworm concerns:  GtkTerm  is ready when it is ready :)

/Willem

On Thu, 2022-09-22 at 13:48 -0700, Florian Euchner wrote:

Hi Willem, I just wanted to confirm that I have tested your GTK 4 GTKTerm and that the bare minimum functionalities are there (VTE works, I can communicate over the serial port). Obviously there is still quite a lot of work still missing, so I'm not sure if this will be ready by January (I probably won't have much time to work on it, unfortunately...). I don't use macros, so I can't really test whether conversion works. Kind regards, Florian — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were assigned.Message ID: @.***>

wvdakker avatar Sep 23 '22 05:09 wvdakker