X11 forwarding

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Gwarl
    Administrator
    • Jan 2017
    • 1025

    #16
    so this:

    refers to what I called 'virtual windows' in my last post?

    Odd that it refuses to run with any of the -mgcu subopts if so.

    Usage info for -mgcu is as follows:

    * angband -mgcu -- [-a] [-b] [-B] [-nN]
    *
    * -a Use ASCII walls
    * -b Big screen (equivalent to -n1)
    * -B Use brighter bold characters
    * -nN Use N terminals (up to 6)

    But I know from experience and reading through old threads here that there's only support for 4 terminals using a single curses window. So where is the 6 coming from there?

    I could probably eventually hack what looked like real subwindows out of it, I can at least try and make sure the virtual subwindows are available though.

    Comment

    • Pete Mack
      Prophet
      • Apr 2007
      • 6883

      #17
      For this T4NK's new terminal would be best. It uses panels rather than screens, which is easier for a web interface. In any case, i'd recommend sticking to a single screen.

      Comment

      • takkaria
        Veteran
        • Apr 2007
        • 1951

        #18
        Originally posted by Gwarl
        so this:

        refers to what I called 'virtual windows' in my last post?
        Yes, curses windows are 'virtual' windows - curses has to operate on any text output, including ones where there are no graphical windows.
        takkaria whispers something about options. -more-

        Comment

        • t4nk
          Swordsman
          • May 2016
          • 336

          #19
          Originally posted by Gwarl
          Looks like the x11 thing is a non-starter, but does anyone know what the problem might be with spawning extra terminals? All of the subopts for -mgcu (i.e. -B) give me the same error

          unable to prepare any 'display module'
          You're getting strange errors... The only thing I can think of is you're somehow entering "-mgcu -- -n5" as a single string, so Angband tries to find a module called literally "gcu -- -n5" (instead of "gcu")?

          Comment

          • Gwarl
            Administrator
            • Jan 2017
            • 1025

            #20
            Yup, you were right it was just my syntax. gcu subopts no longer cause a crash.

            To get this clear though, to have angband run in multiple windows requires either the x11 port (which seems defunct?) or the windows port? I know SDL happens on a single screen and the subwindows there are 'virtual'.

            How do people do it on linux? Does x11 work if you're running it locally?

            I'll make a note to look at textui2 at some point, skimming the thread it seems like a lot of the problems it solves would be exacerbated over a network.

            Could it be compiled into other variants? I think the ui code it's replacing is quite old, but I don't know if it's *that* old... Both the O and Z lines forked from 2.9.3 IIRC.

            Comment

            • Pete Mack
              Prophet
              • Apr 2007
              • 6883

              #21
              @Gwarl-- Multiple windows is an inferior model to multiple panels, so long as the panels can have different font sizes. The only trouble with panels is that there's no way to hide the title bars (if they are present) on smaller screens.

              Comment

              • Derakon
                Prophet
                • Dec 2009
                • 9022

                #22
                Originally posted by Pete Mack
                @Gwarl-- Multiple windows is an inferior model to multiple panels, so long as the panels can have different font sizes. The only trouble with panels is that there's no way to hide the title bars (if they are present) on smaller screens.
                False. The problem with multiple panels is that they are constrained to fit within a single rectangular window. Multiple windows allows you to arrange your play area in any conformation you want; indeed you could have a discontinuous play area. In particular, if you want to spread across multiple displays, having panels within a single window often doesn't work well.

                Or am I misunderstanding what you mean by panels?

                Comment

                • t4nk
                  Swordsman
                  • May 2016
                  • 336

                  #23
                  Originally posted by Gwarl
                  To get this clear though, to have angband run in multiple windows requires either the x11 port (which seems defunct?) or the windows port?
                  x11, windows, Cocoa (Macintosh) ports are the ones that support multiple windows, to my knowledge (well, and SDL2).

                  How do people do it on linux? Does x11 work if you're running it locally?
                  x11 client works. My impression is that most linux users prefer ncurses, perhaps because it has better performance and allows fullscreen mode.

                  Could it (textui2) be compiled into other variants?
                  Definitely not, it uses different API. Also, Angband's codebase has diverged very significantly from old variants, the "core" part was split from the "ui" part, and there are numerous other changes.

                  False. The problem with multiple panels is that they are constrained to fit within a single rectangular window. Multiple windows allows you to arrange your play area in any conformation you want;
                  Except for single-window, fullscreen mode. Based on my observations in the wild , this is how most people prefer to play videogames. So this is the default mode that should be supported. Multiple windows is an obscure little feature that is only of interest to rich people with xtra monitors

                  Comment

                  • Gwarl
                    Administrator
                    • Jan 2017
                    • 1025

                    #24
                    Originally posted by t4nk
                    Except for single-window, fullscreen mode. Based on my observations in the wild , this is how most people prefer to play videogames. So this is the default mode that should be supported. Multiple windows is an obscure little feature that is only of interest to rich people with xtra monitors
                    Okay I'm convinced. I'll go the ncurses way and think about building graphics on the client side later.

                    Comment

                    • Derakon
                      Prophet
                      • Dec 2009
                      • 9022

                      #25
                      Originally posted by t4nk
                      Except for single-window, fullscreen mode. Based on my observations in the wild , this is how most people prefer to play videogames. So this is the default mode that should be supported. Multiple windows is an obscure little feature that is only of interest to rich people with xtra monitors
                      Back in college I only had one monitor, and I played Angband with the game using up about 85% of the screen, and an IRC window in the remaining 15%. There's no good way to do that when your Angband play area is coerced to be rectangular.

                      I mean, I don't think that means Gwarl should be forced to support multi-window modalities, but nobody should ever think that the way they like to play is the right way to play.

                      Comment

                      • Pete Mack
                        Prophet
                        • Apr 2007
                        • 6883

                        #26
                        OK, OK. I stand corrected. But I suspect using multiple windows is the less common desired outcome. That said, I don't like headers on a split up canvass, because I like to use a notebook for angband. It has limited space. (I also like to use the left side of the screen for the toolbar*, which messes up the Anband default layout pretty badly. The main window ALWAYS starts under the toolbar, and shifting it covers up the monster list and equipment windows.)

                        * to increase vertical real estate (by using the side of the screen) and avoid accidentally closing windows (by using the left.)

                        Comment

                        • gameplay appreciator
                          Rookie
                          • Feb 2017
                          • 24

                          #27
                          I have never actually attempted this and I do not even know it's possible in stock angband, but it is possible for a single program to feed multiple terminals. The terminals are basically just file descriptors from the program's point of view. ncurses has support for this, so it could be done if someone is interested in making it happen. It is probably possible to use some kind of terminal multiplexing utility to split the terminal output according to regions you might get with panels packed into one terminal.

                          Once you start trying to do this over ssh, you're going to have to go beyond the standard capabilities of ssh, though of course whatever you do locally could be packed into a script users could run as a client for your service.

                          Worth remembering, though, that the panel interface is actually bad. Letting this weird UI tick interfere with getting an online service running is letting the bad be the enemy of the good.

                          Comment

                          • kandrc
                            Swordsman
                            • Dec 2007
                            • 299

                            #28
                            Originally posted by gameplay appreciator
                            I have never actually attempted this and I do not even know it's possible in stock angband, but it is possible for a single program to feed multiple terminals. The terminals are basically just file descriptors from the program's point of view. ncurses has support for this, so it could be done if someone is interested in making it happen. It is probably possible to use some kind of terminal multiplexing utility to split the terminal output according to regions you might get with panels packed into one terminal.

                            Once you start trying to do this over ssh, you're going to have to go beyond the standard capabilities of ssh, though of course whatever you do locally could be packed into a script users could run as a client for your service.

                            Worth remembering, though, that the panel interface is actually bad. Letting this weird UI tick interfere with getting an online service running is letting the bad be the enemy of the good.
                            Doing this over SSH would be no different than doing it locally, assuming you're working under X and you've turned on X forwarding. Fork some xterms, open() their associated /dev/ttys, profit.

                            Comment

                            Working...
                            😀
                            😂
                            🥰
                            😘
                            🤢
                            😎
                            😞
                            😡
                            👍
                            👎