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

Windows from various pages are moved to page 0 0 on fvwm3 restart #694

Closed
NsCDE opened this issue Sep 17, 2022 · 11 comments · Fixed by #697
Closed

Windows from various pages are moved to page 0 0 on fvwm3 restart #694

NsCDE opened this issue Sep 17, 2022 · 11 comments · Fixed by #697
Assignees
Labels
type:bug Something's broken!
Milestone

Comments

@NsCDE
Copy link
Contributor

NsCDE commented Sep 17, 2022

  • Fvwm3 version (run: fvwm3 --version)

fvwm3 1.0.5 (1.0.4-136-gad9356be)
with support for: ReadLine, XPM, PNG, SVG, Shape, XShm, SM, Bidi text, XRandR, XRender, XCursor, XFT, NLS

It is from 6. 9. 2022, testing of #655 on @ThomasAdam request.

  • Linux distribution or BSD name/version

Debian 11

  • Platform (run: uname -sp)

Linux x86_64

Expected Behaviour

Windows put back on their pages and exact places after restart

Actual Behaviour

All windows (from pages 0 1, 1 0, 1 1 (it is 2x2 matrix)) are moved on the 0 0 page.

Steps to Reproduce

With NsCDE 2.2 default 4 desks, 2x2 pages configuration.

Extra Information

I vaguely remember this has been the problem 1-2 years ago, but I cannot find particular issue anymore, so I opened this one.

@NsCDE NsCDE added the type:bug Something's broken! label Sep 17, 2022
@ThomasAdam
Copy link
Member

ThomasAdam commented Sep 17, 2022

@NsCDE,

I've never been able to reproduce this consistently, and haven't seen this occur for some time.

One thing that would help me is if you can tell me:

  1. Which application(s) are moved from where they were -- are they always the same applications each time? I tend to test with xterm, for example.
  2. You will find under FVWM_USERDIR (which I think defaults to $HOME/.NsCDE for NsCDE?), a file which starts .fs-restart- as its filename. Can you attach that file to this bug report, and tell me from that file, which applications have been moved upon restart?
  3. Can you also attach a copy of the fvwm3-debug.log file? I believe you enable that by default in NsCDE? If not, please do, so I can marry up the information here, with the .fs-restart file.

The file from point 2., above, holds the associated state about each application so that fvwm can -- upon recapture of the window -- apply the appropriate state to it, such as which desk it's on, the page, etc.

@ThomasAdam ThomasAdam self-assigned this Sep 17, 2022
@ThomasAdam ThomasAdam added this to the 1.0.5 milestone Sep 17, 2022
@NsCDE
Copy link
Contributor Author

NsCDE commented Sep 17, 2022

Hi @ThomasAdam

All apps are moved: xterm, gtk, qt based ... no matter what. The size and position remains correct, but page is changed.

PFA screenshots before restart and after restart and fvwm.log (which is on by default as you know), but it looks like most of the things are in dot_xsession-errors (also in logs.zip). I cannot find .fs-restart file IN any dir, is there a way to force it to be preserved after restart?

logs.zip
Screenshot_after_restart
Screenshot_before_restart

@NsCDE
Copy link
Contributor Author

NsCDE commented Sep 17, 2022

@ThomasAdam

You forgot to tell me that .fs-restart* long time existance is configurable only in fvwm/fvwm3.c :-)

I have commented out unlink from there, so here is the file while restarting with windows on various pages.
dot_fs-restart.txt

@ThomasAdam
Copy link
Member

ThomasAdam commented Sep 17, 2022

@NsCDE

I've had fvwm3 in a reboot loop for the last 30 minutes, selecting random pages and adding windows to them. I did not observe fvwm3 losing windows, or moving them away from the positions they were in before fvwm restarted.

Are you able to reproduce this using just the default fvwm config?

You could perhaps try the ta/gh-694 branch to see if it helps.

@NsCDE
Copy link
Contributor Author

NsCDE commented Sep 19, 2022

Hi @ThomasAdam

I tried ta/gh-694, it doesn't fix this. Meanwhile, have discovered that this happens only in "shared" DesktopConfiguration mode, not in global or per-monitor. I saw this while testing something in one-monitor mode (which of course doesn't make sense for shared and per-monitor), but also in dual monitor mode now.

@ThomasAdam
Copy link
Member

Meanwhile, have discovered that this happens only in "shared" DesktopConfiguration mode

Right. This makes sense now. I'll have a fix for this in a bit.

ThomasAdam added a commit that referenced this issue Sep 19, 2022
When restarting fvwm2 in situ, don't mangle the windows' positions.

Fixes #694
@ThomasAdam
Copy link
Member

Hi @NsCDE

Not sure if I've completely got all the edge cases, but try looking at ta/gh-694 again.

@ThomasAdam
Copy link
Member

Scratch that -- I've just found another bug.

@NsCDE
Copy link
Contributor Author

NsCDE commented Sep 19, 2022

Yes, I see. Everything is global here.

@ThomasAdam
Copy link
Member

Hi @NsCDE

OK -- I've pushed a fix on top of what I had. Please test this.

I am not expecting this to be perfect, as I am sure there's plenty of corner-cases.

@NsCDE
Copy link
Contributor Author

NsCDE commented Sep 19, 2022

You did it Thomas.

Works as expected. Tried with dual and single monitor, with apps on pages and on another desks. It seems like Restart is now preserving everything in shared DesktopConfiguration mode.

ThomasAdam added a commit that referenced this issue Sep 19, 2022
When restarting fvwm2 in situ, don't mangle the windows' positions.

Fixes #694
@ThomasAdam ThomasAdam moved this from To do to PRs in FVWM3 Sep 19, 2022
@ThomasAdam ThomasAdam added this to the 1.0.5 milestone Sep 19, 2022
ThomasAdam added a commit that referenced this issue Sep 19, 2022
When restarting fvwm2 in situ, don't mangle the windows' positions.

Fixes #694
Repository owner moved this from PRs to Done in FVWM3 Sep 19, 2022
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Oct 19, 2022
(One of the more significant changes is that locking issues with libX11
1.8.1 are fixed.)

## [1.0.5](https://github.com/fvwmorg/fvwm3/tree/1.0.5) (2022-09-28)

[Full Changelog](fvwmorg/fvwm3@1.0.4...1.0.5)

**Breaking changes:**

- Function parser rewrite & Repeat command deprecation [\#642](fvwmorg/fvwm3#642)
- MapRequest: don't fake map/unmap events [\#703](fvwmorg/fvwm3#703) ([ThomasAdam](https://github.com/ThomasAdam))
- Rewrite function parser and remove the Repeat command [\#643](fvwmorg/fvwm3#643) ([ThomasAdam](https://github.com/ThomasAdam))
- Update and cleanup SnapAttract code. [\#641](fvwmorg/fvwm3#641) ([somiaj](https://github.com/somiaj))
- Doc: split manpages into sections [\#637](fvwmorg/fvwm3#637) ([ThomasAdam](https://github.com/ThomasAdam))
- Remove Efence and Dmalloc support [\#635](fvwmorg/fvwm3#635) ([ThomasAdam](https://github.com/ThomasAdam))

**Implemented enhancements:**

- A better ManualPlacement that allows drawing the geometry of the new window. [\#674](fvwmorg/fvwm3#674)
- expand: add monitor.prev variable [\#699](fvwmorg/fvwm3#699) ([ThomasAdam](https://github.com/ThomasAdam))
- Add AnyScreen to conditional in IconManClick [\#696](fvwmorg/fvwm3#696) ([somiaj](https://github.com/somiaj))
- \_NET\_WM\_NAME: update to fvwm3 [\#609](fvwmorg/fvwm3#609) ([ThomasAdam](https://github.com/ThomasAdam))

**Fixed bugs:**

- Style \* Icon cause Fvwm3 stuck in loading when restart. [\#681](fvwmorg/fvwm3#681)
- Recaptured windows can have a negative offset away from the page they should be on [\#678](fvwmorg/fvwm3#678)
- VLC still decorates its transient window even when explicitly given the NakedTransient style [\#673](fvwmorg/fvwm3#673)
- configuring with `--disable-png` causes builds to fail [\#669](fvwmorg/fvwm3#669)
- Emoji in window titles make FvwmIconMan stop showing window names. [\#654](fvwmorg/fvwm3#654)
- Unable to initialize RandR [\#650](fvwmorg/fvwm3#650)
- PipeRead when called from a function cannot grab pointer [\#610](fvwmorg/fvwm3#610)
- Man Pages Cleanup [\#554](fvwmorg/fvwm3#554)
- Windows from various pages are moved to page 0 0 on fvwm3 restart [\#694](fvwmorg/fvwm3#694)
- Separator in menu gets focus [\#675](fvwmorg/fvwm3#675)
- Unshading a window with WindowShade function sometimes makes the window lose "true input focus". [\#671](fvwmorg/fvwm3#671)
- When configured with `--disable-xft` fvwm3 fails to build. [\#667](fvwmorg/fvwm3#667)
- my fvwm config does not work with recent chromium [\#663](fvwmorg/fvwm3#663)
- FvwmEvent event new\_desk gets triggered multiple times in multi-monitor shared setup [\#655](fvwmorg/fvwm3#655)
- Windows with style "PositionPlacement Center" split between monitors [\#648](fvwmorg/fvwm3#648)
- FVWM branch dv/pager-noaspect crashes with core dump [\#647](fvwmorg/fvwm3#647)
- SnapAttraction prefers wrong window [\#631](fvwmorg/fvwm3#631)
- FvwmPrompt is installed unstripped [\#618](fvwmorg/fvwm3#618)
- DesktopName fails to set desktop name under described circumstances [\#606](fvwmorg/fvwm3#606)
- FvwmEvent event monitor\_focus broken in FVWM3 1.0.4 [\#604](fvwmorg/fvwm3#604)
- Building FvwmPrompt disables FvwmConsole, but still installs manual page. [\#597](fvwmorg/fvwm3#597)
- Wait command in configuration file can cause unexpected issues with GeometryWindow. [\#590](fvwmorg/fvwm3#590)
- "GeometryWindow Hide" doesn't work [\#589](fvwmorg/fvwm3#589)
- Special characters \(umlauts\) are sometimes not displayed correctly in the window title [\#482](fvwmorg/fvwm3#482)
- FvwmEvent: handle previous\_monitor and no longer passthrough ID  [\#701](fvwmorg/fvwm3#701) ([ThomasAdam](https://github.com/ThomasAdam))
- doc: don't build FvwmConsole.1 if FvwmPrompt enabled [\#700](fvwmorg/fvwm3#700) ([ThomasAdam](https://github.com/ThomasAdam))
- DesktopConfiguration shared: keep windows in-situ [\#697](fvwmorg/fvwm3#697) ([ThomasAdam](https://github.com/ThomasAdam))
- desk\_add: fix starting desk/monitor [\#689](fvwmorg/fvwm3#689) ([ThomasAdam](https://github.com/ThomasAdam))
- shared: fix flagging of new\_desk [\#687](fvwmorg/fvwm3#687) ([ThomasAdam](https://github.com/ThomasAdam))
- Fix for lock recusion in handle\_all\_expose\(\) [\#683](fvwmorg/fvwm3#683) ([mherrb](https://github.com/mherrb))
- Asciidoc fixes [\#676](fvwmorg/fvwm3#676) ([topcat001](https://github.com/topcat001))
- grow: ignore transient windows [\#627](fvwmorg/fvwm3#627) ([ThomasAdam](https://github.com/ThomasAdam))
- MoveToScreen: fix NULL-dereference [\#605](fvwmorg/fvwm3#605) ([ThomasAdam](https://github.com/ThomasAdam))
- Bugfix: fvwm-menu-desktop --get-menus [\#593](fvwmorg/fvwm3#593) ([somiaj](https://github.com/somiaj))

**Closed issues:**

- Code Cleanup: Codacy issues list [\#107](fvwmorg/fvwm3#107)

**Merged pull requests:**

- avoid sprintf\(%n\) [\#653](fvwmorg/fvwm3#653) ([omar-polo](https://github.com/omar-polo))
- FvwmPrompt: add GOFLAGS to build stripped [\#619](fvwmorg/fvwm3#619) ([Zirias](https://github.com/Zirias))
- Wait: don't run until windows are captured [\#592](fvwmorg/fvwm3#592) ([ThomasAdam](https://github.com/ThomasAdam))
- CMD\_GeometryWindow: Move NULL check. [\#591](fvwmorg/fvwm3#591) ([somiaj](https://github.com/somiaj))
- cleanup: address warnings [\#705](fvwmorg/fvwm3#705) ([ThomasAdam](https://github.com/ThomasAdam))
- modconf: disable debug [\#698](fvwmorg/fvwm3#698) ([ThomasAdam](https://github.com/ThomasAdam))
- GotoDesk: avoid over-eager matching [\#695](fvwmorg/fvwm3#695) ([ThomasAdam](https://github.com/ThomasAdam))
- update\_fvwm\_monitor: cosmetic change [\#692](fvwmorg/fvwm3#692) ([ThomasAdam](https://github.com/ThomasAdam))
- menuitem: set selectable when not a separator [\#690](fvwmorg/fvwm3#690) ([ThomasAdam](https://github.com/ThomasAdam))
- Windowshade: explicitly set input focus [\#672](fvwmorg/fvwm3#672) ([ThomasAdam](https://github.com/ThomasAdam))
- FvwmPrompt: update core modules [\#665](fvwmorg/fvwm3#665) ([ThomasAdam](https://github.com/ThomasAdam))
- FvwmPrompt: update vendor deps [\#664](fvwmorg/fvwm3#664) ([ThomasAdam](https://github.com/ThomasAdam))
- Fix selectable flag for the Resize window operation menu item [\#656](fvwmorg/fvwm3#656) ([topcat001](https://github.com/topcat001))
- Fix ExitFunction [\#651](fvwmorg/fvwm3#651) ([pghvlaans](https://github.com/pghvlaans))
- DisplayPosition: fix segfault [\#645](fvwmorg/fvwm3#645) ([ThomasAdam](https://github.com/ThomasAdam))
- convert UPDATE\_FVWM\_SCREEN from macro to function [\#644](fvwmorg/fvwm3#644) ([ThomasAdam](https://github.com/ThomasAdam))
- ta/dv logfile [\#640](fvwmorg/fvwm3#640) ([ThomasAdam](https://github.com/ThomasAdam))
- Resize: fix resize bounds [\#638](fvwmorg/fvwm3#638) ([ThomasAdam](https://github.com/ThomasAdam))
- ta/dv2 [\#636](fvwmorg/fvwm3#636) ([ThomasAdam](https://github.com/ThomasAdam))
- ta/dv misc [\#634](fvwmorg/fvwm3#634) ([ThomasAdam](https://github.com/ThomasAdam))
- Reject out of range windows for Move and Resize commands. [\#633](fvwmorg/fvwm3#633) ([ThomasAdam](https://github.com/ThomasAdam))
- FVWMMFL: ignore SIGPIPE [\#632](fvwmorg/fvwm3#632) ([ThomasAdam](https://github.com/ThomasAdam))
- ta/dv ifdev [\#630](fvwmorg/fvwm3#630) ([ThomasAdam](https://github.com/ThomasAdam))
- ta/from dv [\#629](fvwmorg/fvwm3#629) ([ThomasAdam](https://github.com/ThomasAdam))
- DesktopName: don't duplicate entries with same name [\#607](fvwmorg/fvwm3#607) ([ThomasAdam](https://github.com/ThomasAdam))
- Patches from Debian [\#599](fvwmorg/fvwm3#599) ([ThomasAdam](https://github.com/ThomasAdam))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:bug Something's broken!
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants