Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Info] Migration to gtk4 #48

Open
wvdakker opened this issue Jun 27, 2022 · 8 comments
Open

[Info] Migration to gtk4 #48

wvdakker opened this issue Jun 27, 2022 · 8 comments
Assignees
Milestone

Comments

@wvdakker
Copy link
Owner

wvdakker commented Jun 27, 2022

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 wvdakker changed the title Migration to gtk4 [Info] Migration to gtk4 Jun 27, 2022
@wvdakker
Copy link
Owner Author

wvdakker commented Aug 9, 2022

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
Copy link
Owner Author

wvdakker commented Aug 17, 2022

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 wvdakker self-assigned this Aug 17, 2022
@wvdakker wvdakker added this to the 2.0 milestone Aug 17, 2022
@wvdakker
Copy link
Owner Author

wvdakker commented Sep 3, 2022

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).

@Jeija
Copy link
Collaborator

Jeija commented Sep 3, 2022 via email

@wvdakker
Copy link
Owner Author

wvdakker commented Sep 3, 2022 via email

@wvdakker
Copy link
Owner Author

wvdakker commented Sep 3, 2022 via email

@Jeija
Copy link
Collaborator

Jeija commented Sep 22, 2022

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

@wvdakker
Copy link
Owner Author

wvdakker commented Sep 23, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants