#125 [gtk 3.20] broke geometry of window

Next_release
open
nobody
None
1
2017-09-15
2016-04-11
Anonymous
No

After upgrate gtk 3.0 to version 3.20 (gtk 3.20 + vte 0.44), roxterm does not accept no more geometry settings of the window - window will appear always the smallest as possible.

also 'roxterm --geometry 120x30' does nothing

Discussion

1 2 > >> (Page 1 of 2)
  • 4javier

    4javier - 2016-04-12

    I second this one. I think this commit should be the culprit

    https://git.gnome.org/browse/gtk+/commit/?id=08974a1

    "Ignore the geometry widget passed to gtk_window_set_geometry_hints()."

     
  • Tony Houghton

    Tony Houghton - 2016-04-18

    Ugh, getting the window size right and keeping it right has always been difficult. So I either need to hack some rather complicated/fragile/wierd code, rewrite most of roxterm from scratch (which it needs anyway), or give up on it altogether :-(.

     
  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here

    Anonymous

    Anonymous - 2016-04-23

    It seems the geometry is now interpreted as pixels instead of character columns/rows, so as a temporary workaround you can specify the desired size in pixels.

    Interestingly gnome-terminal on the same system still supports character geometry, maybe you can check their code to see how to pass it along to libvte?

     
  • Tony Houghton

    Tony Houghton - 2016-04-23

    A comment in the GTK commit says that gnome-terminal was the only app that used the geometry widget; they overlooked poor old ROXTerm. The other common terminals mostly still use GTK2, but there's been mention of a new one called Terminix.

    gnome-terminal's code still assumes the use of a geometry widget in gtk_window_set_geometry_hints, so a quick fix for ROXterm isn't as simple as just copying whatever changes g-t made, because apparently they didn't make any for this. And it has its own history of window geometry bugs.

     
    • Lubo Diakov

      Lubo Diakov - 2016-05-15

      Tony,
      First thanks for making Roxterm, while I've only been using it for a year or two, it is much better for my needs than any alternatives. The killer feature for me is the ability to drag-drop files from the GUI and have it automatically insert the path into the CLI, like the OS X terminal. LXterm doesn't, nor any others I tried so far.

      Since I do not wish to go back to manually typing paths (this is the 21st century, right?) I also hope there is a way to get Roxterm working again. Can't help much myself, I'm a sysadmin not a programmer, except to troubleshoot/diagnose/test new builds.

      I found a workaround to this geometry bug #125, but it is tedious and has to be done on every invocation of the program. If it can be automated, for example by inclusion in the source code, or even by being the default behavior for libgtk 3.20+ as defined in the configuration files installed with the package, the problem will disappear, at least until they break something upstream again.

      Here is my suggested workaround: Open the Preferences menu, select Edit Current Profile. Adjust the Width of the window. One column up or down, either works. Voila, window now no longer small, but about the size expected +-1 column. To make sure it won't grow/shrink over time with repeated invocations, best to make it both increase and decrease 1 column per invocation, so the net effect is 0, it simply forces it to redraw at the right size.

       
      • Tony Houghton

        Tony Houghton - 2016-05-15

        The killer feature for me is the ability to drag-drop files from the GUI and have it automatically insert the path into the CLI, like the OS X terminal. LXterm doesn't, nor any others I tried so far.

        gnome-terminal does that too.

         
        • Comment has been marked as spam. 
          Undo

          You can see all pending comments posted by this user  here

          Anonymous

          Anonymous - 2016-05-15

          So does Terminator and Terminix (just for the record).

           
        • Lubo Diakov

          Lubo Diakov - 2016-05-15

          Thanks for your quick reply. I will give gnome-terminal a shot, based on your recommendation. A little apprehensive, I'll quote you, from this thread no less as to why I don't want to depend on it:

          "gnome-terminal... And it has its own history of window geometry bugs."

          i.e. you fix/workaround their bugs faster than they do :-)

           
  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here

    Anonymous

    Anonymous - 2016-04-23

    .

     
    Last edit: Egmont Koblinger 2016-04-23
  • Egmont Koblinger

    g-t doesn't have a fix committed yet, but allegedly the one in the bugtracker works. I haven't had the chance to verify it yet.

    Terminix doesn't do geometry (it doesn't make sense for a multiple-terminals-in-one-window app, there's just no way to get it right).

     
  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here

    Anonymous

    Anonymous - 2016-06-19

    Any updates on this?

     
  • Tony Houghton

    Tony Houghton - 2016-06-20

    Yes, roxterm is now discontinued I'm afraid. See [https://sourceforge.net/p/roxterm/discussion/422638/thread/60da6975/]

     
  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here

    Anonymous

    Anonymous - 2016-06-20

    Tony: Sad to see roxterm go, it was my favourite terminal emulator! Thanks for all the work on it!

     
  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here

    Anonymous

    Anonymous - 2016-07-16

    Don't know if this is helpful, however I implemented a geometry switch in Terminix a couple of months ago but did it in a way that was quite simple. Basically I just ignored the GTK support for geometry and relied on VTE to set the geometry in the exact same way that profile preferences does it, by setting the VTE width and height on startup via vte_terminal_set_size. The window then grows/shrinks automatically to accomodate the VTE.

    I haven't had any complaints about this implementation but I don't know how many folks are using it.

     
  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here

    Anonymous

    Anonymous - 2016-08-19

    Shane, come back!

     
  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here

    Anonymous

    Anonymous - 2016-09-23

    It still works fine once you set the geometry in pixels. (Which makes more sense than rows/columns anyways)

    Isn't it just a matter of changing the default to a pixel value?

    I realize theres other issues in the long term but I would really like to see RoxTerm continue! I've tested every terminal I can find and its the only one that does everything I need without some glitch on my setup

     
  • Egmont Koblinger

    I have just upgraded my gtk+ to 3.20 (actually the complete system from Xenial to Yakkety beta), and gnome-terminal's resize works fine, just as before.

    The details, patches etc. should be at the aforementioned gnome-terminal bug.

    I did not follow that thread and I don't know what was going on or how it was fixed, but there's a proof that it's fixable.

    Alas, roxterm is already removed from Yakkety.

    It'd be sad to see this project getting abandoned just because noone feels like implementing this one-time fix, even despite having access to the same fix for gnome-terminal.

     
    • Tony Houghton

      Tony Houghton - 2016-09-23

      I don't think it's that simple. I did look at what they'd done to gnome-terminal, but its interactions between the top-level window and vte are rather different from roxterm's and I didn't see anything there I could easily apply to roxterm's code. I couldn't even see that they'd had to make any changes at all to avoid suffering the same bug as roxterm.

      Besides this bug roxterm heavily relies on at least one related function that is now deprecated so I'd have to deal with that too. And there are several other outstanding bugs. The codebase is frankly a mess, somewhat compromised by its slow evolution, and there were always difficulties, not so much with getting windows to open at the right size, but to stay the right size. Tab sizing is a similar story. Successive versions of GTK tend to change these problems, but never stop them from being problems.

      I'm sorry, but I don't feel motivated to put in so much hard work to turn this code (most of which I've lost familiarity with by now) into something I can be proud of again, and it never felt like it had more than a small niche following.

      It feels like all the desktops and major apps are dying a slow death anyway.

       
  • FenyX

    FenyX - 2016-11-11

    Thank you for all your work on this project during years. I would rather say "It feels like everything on earth is dying a slow death anyway", lol. And programmers become family founders, have some more important things to do in real life as years are passing away, their centers of interest move and it's more sane for them than having a monolithic no-life coding 24/24.

    Good luck Tony, happy life! May all your professional and personal projects be successful!

    FOSS projects can die, but not our love for FOSS community

     
  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here

    Anonymous

    Anonymous - 2017-01-16

    Hi Tony,
    Don't give up, roxterm is great indeed.

     
  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here

    Anonymous

    Anonymous - 2017-01-19

    An interesting note: if you start roxterm in maximized or fullscreen mode (e.g. roxterm -m), then when you unmaximize it it has the correct size. This is not the case if you start it normally and enter either of those modes. Perhaps this will be a hint for a real fix.

    I'm willing to put some time into fixing this bug. I'm a C programmer though not a GTK programmer. I use roxterm because it is much faster for scrolling when lots of text is being printed than anything else I've tried; it beats xfce4-terminal hands down. Any interested in collaborating? -- dwksrc at gmail period com

     
  • Tony Houghton

    Tony Houghton - 2017-01-19

    If you need anything like a higher level of access to this project, or export to github, just ask.

     
1 2 > >> (Page 1 of 2)

Anonymous
Anonymous

Cancel  Add attachments