Code Monkey home page Code Monkey logo

Comments (19)

NsCDE avatar NsCDE commented on July 26, 2024

I have compiled this last one and tested:

I'm afraid that we have some regression here. With 2x2 DesktopSize, after opening window of each page, and going back to 0 0, on secondary screen Virtual-1, window from page "1 0" is visible, and when that page/window is selected on Virtual-0, on Virtual-1 "1 1" page is visible. Consistent on all desks.

Video: https://youtu.be/154CtQpZcsg

About restart: all windows are concentrated on current screen+desk, page 0 0, on the same geometry position, one below another.

Attach 1: FVWM test function used
Attach 2: non-unlinked .fs-restart from $FVWM_USERDIR

fvwm-func-test-scr-dsk-page.txt
fs-restart.txt

from fvwm3.

NsCDE avatar NsCDE commented on July 26, 2024

Notice: in fvwm-func-test-scr-dsk-page.txt "Virtual-0" should be replaced with $[pointer.screen]. My omission. Luckily, this doesn't change result of my testing (see video), because pointer has been on screen Virtual-0. I repeated tests and it shows the same output.

Looks like "left side" of the pages is reproduced on another screen.

Notice 2: When testing with pointer on another screen, which is --right-of Virtual-0, nothing wrong is reproduced on Virtual-0.

from fvwm3.

ThomasAdam avatar ThomasAdam commented on July 26, 2024

Hi,

Thanks -- I'm going to take a look at this now. The function you wrote is really useful for testing, so I'll be using that!

from fvwm3.

ThomasAdam avatar ThomasAdam commented on July 26, 2024

Right...

Please can you take a look at the commit (d23ff5c) which I've just pushed to ta/fix-gh-20, please? I think I've addressed the problem of moving windows (the WIP of getting windows/pages in the correct position after a reboot is still something I'm working on).

I've tested this only lightly, so please do give it your usual rigorous testing!

Thanks.

from fvwm3.

NsCDE avatar NsCDE commented on July 26, 2024

Hi Thomas,

There are no xterms from screen 0 on 1 and vice versa, but now we have another interesting situation: static information for pages and dynamic ($[page.nxy]) are out of sync. Somehow, page number 2 find it's place in DesktopSize 2x2 configuration, shift of static and dynamic information is not the same on Virtual-0 and Virtual-1.

Attachment 1: f_TestSDP FVWM function that I used: revisited for more readable information. Starts with screen argument because of comparation with dynamic information (example: f_TestSDP Virtual-0).

Attachment 2: screenshot with the WindowList after running f_TestSDP on both screens. From the window name, (all which starts with "echo STATIC") I think clear review can be made.

f_TestSDP.txt

f_TestSDP-WindowList

from fvwm3.

ThomasAdam avatar ThomasAdam commented on July 26, 2024

I also think I've fixed the restart issue -- can you check that as well?

I'll take a look at the page offset problem.

from fvwm3.

NsCDE avatar NsCDE commented on July 26, 2024

Restart: nope, not yet. All xterms are concentrated on desk 0, pages 0 0.

from fvwm3.

ThomasAdam avatar ThomasAdam commented on July 26, 2024

Really? That's weird; restarts are working fine for me. Can you take a screencast?

from fvwm3.

ThomasAdam avatar ThomasAdam commented on July 26, 2024

OK, please try again -- I've squashed in a fix for reporting the correct pages for $[page.nx] $[page.ny]. Just in case, please update as:

git fetch
git checkout ta/fix-gh-20
git reset --hard @{u}

from fvwm3.

NsCDE avatar NsCDE commented on July 26, 2024

Page indicators are now back in sync.
I'm producing screencast for Restart ...

from fvwm3.

ThomasAdam avatar ThomasAdam commented on July 26, 2024

Thanks -- looking forward to watching that. Just to recap then:

  1. Restarts are still broken -- will fix
  2. Page indicators are now fixed;
  3. GotoPage with DesktopConfiguration per-monitor is fixed?

What about:

  • DesktopConfiguation global? Is that doing the same thing across all monitors?
  • What happens if you add an additional monitor while fvwm is running? Do things continue to still work correctly?
  • I know that removing a monitor is broken -- I need to rework that as as a configurable function, but find a sensible default.

from fvwm3.

NsCDE avatar NsCDE commented on July 26, 2024
  1. Here is the screencast for restart after all desks and pages are filled with xterms with usual info: https://youtu.be/FzHkJg0WieY

Actually, while checking for your point 3, I have found that I have 64 xterms opened instead od 32. Looks like Restart is half working, because on other pages there are initial xterms which are belonging there according to info text in them. It just happens that on restart xterm windows are duplicated, but not that of the mate-terminal (one per screen is opened on d0 p 0 0).

  1. They are accurate now, yes.

  2. Looks like it is.

What happens if you add an additional monitor while fvwm is running? Do things continue to still work correctly?

I'm testing it like that. I add monitor while fvwm is active and turn it on with xrandr - as I have captured on video and describet in past issues.
Actually, now when you have mentioned this, I have tested by logging in while both monitors are on, and xterm for 0 0 ends up on 0 1, xterm for 1 0 end up on 1 1, and 1 1 who knows where and 0 0 is empty. Catching 1 1 with WindowList selects empty place on 0 0.

For DesktopConfiguration global, I will test in the morning. Have really to go to sleep now. :)

from fvwm3.

NsCDE avatar NsCDE commented on July 26, 2024

For a DesktopConfiguration global:

Case monitor added during FVWM session:
It behaves correctly for screen 0, but but if windows from the screen 0 are left opened, test on screen 1 passes ok for desk 0, but when moving to desk 1, suddenly like there is no "Wait" in a function, it starts to open all xterms on the first screen to the end of function.

Case second monitor exists during login:
Same as when added during FVWM session (test on screen 1 breaks Wait after 1st desk is populated), including page shift same as with per-monitor which I described 5 hours ago: "0 0" is empty, "1 0" gets xterm for "0 1", "0 1" gets xterm for "0 0", and "1 1" gets xterm for "1 0", desk 1 page "0 0" gets xterm for desk 0, page "1 1", desk 1 "1 0" gets xterm for "0 1", desk 1 "0 1" for desk 1 "0 0" ... and that order goes to the end.

Must go now, no time for screencast next 8 hours, use latest version of my function to test on DesktopSize 2x2, who knows how it will be on different setup.

from fvwm3.

NsCDE avatar NsCDE commented on July 26, 2024

Let me sumarize my last two posts:

  1. Only accurate thing presently for me is DesktopConfiguration per-monitor when secondary screen is turned on and configured during active FVWM3 session. If second screen is active prior to FVWM3 start, page shift described above occurs.

  2. For DesktopConfiguration global, both prior and after FVWM3 monitor states are currently inaccurate, as described above - it speeds up after desk 0 and places everything on the 0 0 page, plus page shift if monitor was active prior to FVWM3 startup.

  3. Restart duplicates xterm windows. Even if working with one monitor. But if I try with gvim on page 1 1 on desks 1 2 3, Restart will concentrate them all on desk 1.

from fvwm3.

ThomasAdam avatar ThomasAdam commented on July 26, 2024

OK. I'll concentrate on the restart issues for now. Thanks!

from fvwm3.

ThomasAdam avatar ThomasAdam commented on July 26, 2024

Hi @NsCDE,

Please can you update your repository:

git fetch
git checkout ta/fix-gh-20
git reset --hard @{u}

... and try again? I've tested with your scripts, and things seem to be working correctly now. I've tried with both global and per-desktop. There's a lot of moving parts here though, so I'm assuming I'll have broken something else along the way. :)

from fvwm3.

NsCDE avatar NsCDE commented on July 26, 2024

Hi Thomas,

Ok, situation is this:

  • Positions of windows (test: xterms) on screen on restart are now correct. There is no duplication nor inconsistencies. Looks like we can move to some other issue, since subject of #20 looks like fixed, but this other issues below should be then continued someware. Should I open new issue?

  • f_TestSDP works ok in one screen mode, in two screens mode it is working ok if second screen is added during FVWM3 session with xrandr, but if FVWM3 is restarted (or logout + login with secondary screen on), pages are still shifted: after f_TestSDP, on "0 0" there is nothing. On "0 1" tthere is "0 0", on "1 0" there is "0 1", and on "1 1" there is "1 0" - after another Restart, xterm from desk 3, page "1 1" is positioned on desk 0, page "0 0" but iconified. Same behaviour is observed in global and per-monitor mode. If second screen is forced --off with xrandr and FVWM3 restarted, f_TestSDP works again - until FVWM3 is restarted with secondary screen on. This occurs no matter on which page I'm positioned with terminal from which I call f_TestSDP. Screenshot attached here shows window list on Virtual-0 after running f_TestSDP in such conditions. In working state, window list is correct. Probably some buffer must be cleared or shifted back ... you will see this from the order on window list.
    Screenshot2

  • In global mode, f_TestSDP speeds up after finishing on desk 0, probably "Wait XTerm" is observing some other existing xterm mappig or moving. If I kill xterms from Virtual-0 prior to testing on Virtual-1, this "speedup" does not occur.

  • FvwmPager is not functional currently, other modules (like Backer) are not aware ... but this is probably you already know.

from fvwm3.

ThomasAdam avatar ThomasAdam commented on July 26, 2024

Hi @NsCDE,

Cool. Plesee open separate issues for your other observations, and I really appreciate your scripts, so any minimal configs I can use would really help me.

What I'll do is merge the changes to master and go from there.

from fvwm3.

ThomasAdam avatar ThomasAdam commented on July 26, 2024

As for FvwmPager, I'm well aware of that. :-)

from fvwm3.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.