jliljebl / flowblade

Video Editor for Linux
GNU General Public License v3.0
2.65k stars 180 forks source link

windows always open off-center #1090

Closed alexmyczko closed 6 months ago

alexmyczko commented 1 year ago

Please include the following information. 1) Flowblade version (Help->About): 2.8.0.3 2) MLT version (Help->Runtime Environment): 7.12.0 3) Your distribution (Ubuntu, Debian, Mint etc.): Debian 12 4) If possible, try to provide step-by-step instructions on how to reproduce the issue. From developer point of view this is the easieast way to understand what is happening.:

Here's the details: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1037357

jliljebl commented 1 year ago

This is a height related issue on small screens that I believe has been fixed, but I can't test on the exact screen resolution that the user has. I'll close this some time after 2.10 release unless issue is reported to remain.

jliljebl commented 1 year ago

I'm actually convinced enough that this is fixed that I'm closing this. Open new Issue or comment in this closed issue if problem persists after 2.10.

perkelix commented 1 year ago

Nope. Not fixed as of 2.10.0.1

jliljebl commented 1 year ago

Okey, reopening.

Question, does hitting F11 key to fullscreen the app help?

This is still very likely height issue with 768px height screens with the app not fitting in the available space. The problem is that I can't test this with my current system (it does not have this resolution), and trying to fix this blind is practically impossible. I have one another screen I can try but not sure if that has the right resolution either.

perkelix commented 1 year ago

No, it doesn't help. I don't wanna run the app in full-screen mode. I want it maximized.

It does fit the available space. It simply doesn't restore it to a maximized status the next time it is run. It instead opens it partially off-screen as per the screenshot.

jliljebl commented 1 year ago

But you can maximize it, and it fits in the screen?

jliljebl commented 1 year ago

panel_gone

Also, one more question, the bottom right panel is gone now also, right?

jliljebl commented 1 year ago

Did some more testing.

Flowblade, Gimp and Rhythmbox all refuse to open maximixed even when closed in maximized state. I think Gnome Shell stopped respecting window.maximize() in some release recently because they think that in Wayland world applications can't maximize themselves, or something like that. I need to get more information on this, there might not be any solution before doing GTK 4 port.

The code doing the maximizing should be quite bullet proof.

  # Maximize if it seems that we exited maximized, else set size
  w, h = editorpersistance.prefs.exit_allocation
  if w != 0: # non-existing prefs file causes w and h to be 0
      if (float(w) / editorstate.SCREEN_WIDTH > 0.95) and (float(h) / editorstate.SCREEN_HEIGHT > 0.95):
          self.window.maximize()
perkelix commented 1 year ago

But you can maximize it, and it fits in the screen?

Yes, it initially fits the screen.

perkelix commented 1 year ago

panel_gone

Also, one more question, the bottom right panel is gone now also, right?

Yup. Gone.

perkelix commented 1 year ago

Did some more testing.

Flowblade, Gimp and Rhythmbox all refuse to open maximixed even when closed in maximized state. I think Gnome Shell stopped respecting window.maximize() in some release recently because they think that in Wayland world applications can't maximize themselves, or something like that. I need to get more information on this, there might not be any solution before doing GTK 4 port.

The code doing the maximizing should be quite bullet proof.

  # Maximize if it seems that we exited maximized, else set size
  w, h = editorpersistance.prefs.exit_allocation
  if w != 0: # non-existing prefs file causes w and h to be 0
      if (float(w) / editorstate.SCREEN_WIDTH > 0.95) and (float(h) / editorstate.SCREEN_HEIGHT > 0.95):
          self.window.maximize()

That's incorrect. Gimp opens maximized just fine. Right now, Flowblade is the only app that systematically fails at opening maximized.

jliljebl commented 11 months ago

Flowblade, Gimp and Rhythmbox all refuse to open maximixed even when closed in maximized state.

In Ubuntu 23.10 + Gnome 45 + Flowblade current repo version this Issue is now gone, in both X11 and Wayland.

I had it before, now it's gone my system. I did port Flowblade to use Gtk.Application main loop since last time working on this, that may have fixed this. Once 2.12 comes out I'll ask for further testing.

perkelix commented 11 months ago

Flowblade, Gimp and Rhythmbox all refuse to open maximixed even when closed in maximized state.

In Ubuntu 23.10 + Gnome 45 + Flowblade current repo version this Issue is now gone, in both X11 and Wayland.

I had it before, now it's gone my system. I did port Flowblade to use Gtk.Application main loop since last time working on this, that may have fixed this. Once 2.12 comes out I'll ask for further testing.

Looking forward to testing 2.12 and seeing whether that fixed it.

perkelix commented 10 months ago

Not fixed as of 2.12. Additionally, since flowblade still doesn't have a maximize window widget, this cannot be fixed on the fly either.

alexmyczko commented 6 months ago

@perkelix 2.14.0.1?

perkelix commented 6 months ago

@perkelix 2.14.0.1?

$ flowblade FLOWBLADE MOVIE EDITOR 2.14.0.1

Launch script dir: /usr/bin Running from installation... modules path: /usr/share/flowblade/Flowblade MLT found, version: 7.12.0 Failed to import module app.py to launch Flowblade! ERROR: No module named 'usb1' Installation was assumed to be at: /usr/share/flowblade/Flowblade

alexmyczko commented 6 months ago

did you read https://github.com/jliljebl/flowblade/blob/master/flowblade-trunk/docs/RELEASE_NOTES.md ?

perkelix commented 6 months ago

did you read https://github.com/jliljebl/flowblade/blob/master/flowblade-trunk/docs/RELEASE_NOTES.md ?

I just pointed the Debian maintainer towards that.

alexmyczko commented 6 months ago

@perkelix would not be that me?

perkelix commented 6 months ago

@perkelix would not be that me?

Are Alex and Gürkan the same person? In that case, yes. Your Debian package fails as reported.

alexmyczko commented 6 months ago

@perkelix same. i am on vac until sunday so cant test stuff but will do so next week…

jliljebl commented 6 months ago

On Debian installing python3-libusb1 manually should get things working, see https://github.com/jliljebl/flowblade/blob/master/flowblade-trunk/docs/DEPENDENCIES.md.

perkelix commented 6 months ago

On Debian installing python3-libusb1 manually should get things working, see https://github.com/jliljebl/flowblade/blob/master/flowblade-trunk/docs/DEPENDENCIES.md.

That indeed fixed the missing dependency.

As for the reported issue:


Player initialized with profile:  HD 1080p 30 fps
Panel positioning feature not available, too small screen.
Traceback (most recent call last):
  File "/usr/share/flowblade/Flowblade/app.py", line 358, in on_activate
    launch_player()
  File "/usr/share/flowblade/Flowblade/app.py", line 570, in launch_player
    editorstate.player.set_sdl_xwindow(gui.tline_display)
  File "/usr/share/flowblade/Flowblade/mltplayer.py", line 88, in set_sdl_xwindow
    os.putenv('SDL_WINDOWID', str(widget.get_window().get_xid()))
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'GdkWaylandWindow' object has no attribute 'get_xid'. Did you mean: 'get_width'?
Traceback (most recent call last):
  File "/usr/share/flowblade/Flowblade/utilsgtk.py", line 57, in _update
    self.action(self.data)
  File "/usr/share/flowblade/Flowblade/mltplayer.py", line 279, in _ticker_event
    if (self.consumer.is_stopped() or self.producer.get_speed() == 0):
        ^^^^^^^^^^^^^
AttributeError: 'Player' object has no attribute 'consumer'
GPU test results {'NVENC H.264 High Profile / .mp4': -11, 'NVENC HEVC / .mp4': -11, 'NVENC HEVC HDR / .mp4': -11, 'VAAPI H.264 / .mp4': 0}
jliljebl commented 6 months ago

You are running Wayland now. https://github.com/jliljebl/flowblade/blob/master/flowblade-trunk/docs/FAQ.md

Start app with command:

    GDK_BACKEND=x11 flowblade
perkelix commented 6 months ago

You are running Wayland now. https://github.com/jliljebl/flowblade/blob/master/flowblade-trunk/docs/FAQ.md

Start app with command:

    GDK_BACKEND=x11 flowblade
$ GDK_BACKEND=x11 flowblade 
FLOWBLADE MOVIE EDITOR 2.14.0.1
-------------------------------
Launch script dir: /usr/bin
Running from installation...
modules path: /usr/share/flowblade/Flowblade
MLT found, version: 7.12.0
Application version: 2.14.0
OS: Debian GNU/Linux 12 (bookworm)
Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0]
GTK+ version: 3.24.38
Locale: fi_FI
Translations at /usr/share/locale were not found, using program root directory translations.
Use OS locale language.
Valid shortcut files found: ['flowblade.xml', 'premiere.xml']
Keyboard shortcuts file: flowblade.xml
Using Full Screen size for layout: 1366 x 768
Small height: True
Small width: True
Detecting environment...
---
video_codecs:
  - a64multi
  - a64multi5
  - alias_pix
  - amv
  - apng
  - asv1
  - asv2
  - avrp
  - avui
  - ayuv
  - bitpacked
  - bmp
  - cfhd
  - cinepak
  - cljr
  - dnxhd
  - dpx
  - dvvideo
  - exr
  - ffv1
  - ffvhuff
  - fits
  - flashsv
  - flashsv2
  - flv
  - gif
  - h261
  - h263
  - h263p
  - hap
  - huffyuv
  - jpeg2000
  - jpegls
  - ljpeg
  - magicyuv
  - mjpeg
  - mpeg1video
  - mpeg2video
  - mpeg4
  - msmpeg4v2
  - msmpeg4
  - msvideo1
  - pam
  - pbm
  - pcx
  - pfm
  - pgm
  - pgmyuv
  - phm
  - png
  - ppm
  - prores
  - prores_aw
  - prores_ks
  - qoi
  - qtrle
  - r10k
  - r210
  - rawvideo
  - roqvideo
  - rpza
  - rv10
  - rv20
  - sgi
  - smc
  - snow
  - speedhq
  - sunrast
  - svq1
  - targa
  - tiff
  - utvideo
  - v210
  - v308
  - v408
  - v410
  - vbn
  - vc2
  - wrapped_avframe
  - wmv1
  - wmv2
  - xbm
  - xface
  - xwd
  - y41p
  - yuv4
  - zlib
  - zmbv
  - libaom-av1
  - libjxl
  - libopenjpeg
  - librav1e
  - libsvtav1
  - libtheora
  - libvpx
  - libvpx-vp9
  - libwebp_anim
  - libwebp
  - libx264
  - libx264rgb
  - libx265
  - libxvid
  - h263_v4l2m2m
  - h264_nvenc
  - h264_omx
  - h264_qsv
  - h264_v4l2m2m
  - h264_vaapi
  - hevc_nvenc
  - hevc_qsv
  - hevc_v4l2m2m
  - hevc_vaapi
  - mjpeg_qsv
  - mjpeg_vaapi
  - mpeg2_qsv
  - mpeg2_vaapi
  - mpeg4_omx
  - mpeg4_v4l2m2m
  - vp8_v4l2m2m
  - vp8_vaapi
  - vp9_vaapi
  - vp9_qsv
...
---
audio_codecs:
  - comfortnoise
  - s302m
  - aac
  - ac3
  - ac3_fixed
  - alac
  - aptx
  - aptx_hd
  - dca
  - dfpwm
  - eac3
  - flac
  - g723_1
  - mlp
  - mp2
  - mp2fixed
  - nellymoser
  - opus
  - real_144
  - sbc
  - sonic
  - sonicls
  - truehd
  - tta
  - vorbis
  - wavpack
  - wmav1
  - wmav2
  - pcm_alaw
  - pcm_bluray
  - pcm_dvd
  - pcm_f32be
  - pcm_f32le
  - pcm_f64be
  - pcm_f64le
  - pcm_mulaw
  - pcm_s8
  - pcm_s8_planar
  - pcm_s16be
  - pcm_s16be_planar
  - pcm_s16le
  - pcm_s16le_planar
  - pcm_s24be
  - pcm_s24daud
  - pcm_s24le
  - pcm_s24le_planar
  - pcm_s32be
  - pcm_s32le
  - pcm_s32le_planar
  - pcm_s64be
  - pcm_s64le
  - pcm_u8
  - pcm_u16be
  - pcm_u16le
  - pcm_u24be
  - pcm_u24le
  - pcm_u32be
  - pcm_u32le
  - pcm_vidc
  - roq_dpcm
  - adpcm_adx
  - adpcm_argo
  - g722
  - g726
  - g726le
  - adpcm_ima_amv
  - adpcm_ima_alp
  - adpcm_ima_apm
  - adpcm_ima_qt
  - adpcm_ima_ssi
  - adpcm_ima_wav
  - adpcm_ima_ws
  - adpcm_ms
  - adpcm_swf
  - adpcm_yamaha
  - libcodec2
  - libgsm
  - libgsm_ms
  - libmp3lame
  - libopencore_amrnb
  - libopus
  - libshine
  - libspeex
  - libtwolame
  - libvo_amrwbenc
  - libvorbis
...
---
formats:
  - a64
  - ac3
  - adts
  - adx
  - aiff
  - alp
  - amr
  - amv
  - apm
  - apng
  - aptx
  - aptx_hd
  - argo_asf
  - argo_cvg
  - asf
  - ass
  - ast
  - asf_stream
  - au
  - avi
  - avif
  - avm2
  - avs2
  - avs3
  - bit
  - caf
  - cavsvideo
  - codec2
  - codec2raw
  - crc
  - dash
  - data
  - daud
  - dfpwm
  - dirac
  - dnxhd
  - dts
  - dv
  - eac3
  - f4v
  - ffmetadata
  - fifo
  - fifo_test
  - filmstrip
  - fits
  - flac
  - flv
  - framecrc
  - framehash
  - framemd5
  - g722
  - g723_1
  - g726
  - g726le
  - gif
  - gsm
  - gxf
  - h261
  - h263
  - h264
  - hash
  - hds
  - hevc
  - hls
  - ico
  - ilbc
  - image2
  - image2pipe
  - ipod
  - ircam
  - ismv
  - ivf
  - jacosub
  - kvag
  - latm
  - lrc
  - m4v
  - md5
  - matroska
  - matroska
  - microdvd
  - mjpeg
  - mlp
  - mmf
  - mov
  - mp2
  - mp3
  - mp4
  - mpeg
  - vcd
  - mpeg1video
  - dvd
  - svcd
  - mpeg2video
  - vob
  - mpegts
  - mpjpeg
  - mxf
  - mxf_d10
  - mxf_opatom
  - null
  - nut
  - obu
  - oga
  - ogg
  - ogv
  - oma
  - opus
  - alaw
  - mulaw
  - vidc
  - f64be
  - f64le
  - f32be
  - f32le
  - s32be
  - s32le
  - s24be
  - s24le
  - s16be
  - s16le
  - s8
  - u32be
  - u32le
  - u24be
  - u24le
  - u16be
  - u16le
  - u8
  - psp
  - rawvideo
  - rm
  - roq
  - rso
  - rtp
  - rtp_mpegts
  - rtsp
  - sap
  - sbc
  - scc
  - film_cpk
  - segment
  - stream_segment,ssegment
  - smjpeg
  - smoothstreaming
  - sox
  - spx
  - spdif
  - srt
  - streamhash
  - sup
  - swf
  - tee
  - 3g2
  - 3gp
  - mkvtimestamp_v2
  - truehd
  - tta
  - ttml
  - uncodedframecrc
  - vc1
  - vc1test
  - voc
  - w64
  - wav
  - webm
  - webm_dash_manifest
  - webm_chunk
  - webp
  - webvtt
  - wsaud
  - wtv
  - wv
  - yuv4mpegpipe
  - chromaprint
  - alsa
  - caca
  - fbdev
  - opengl
  - oss
  - pulse
  - sdl,sdl2
  - video4linux2,v4l2
  - xv
...
MLT detection succeeded, 184 formats, 122 video codecs and 86 audio codecs found.
688 MLT services found.
Loading render profiles...
ffmpeg version 5.1.4-0+deb12u1 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr --extra-version=0+deb12u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared
libavutil      57. 28.100 / 57. 28.100
libavcodec     59. 37.100 / 59. 37.100
libavformat    59. 27.100 / 59. 27.100
libavdevice    59.  7.100 / 59.  7.100
libavfilter     8. 44.100 /  8. 44.100
libswscale      6.  7.100 /  6.  7.100
libswresample   4.  7.100 /  4.  7.100
libpostproc    56.  6.100 / 56.  6.100
['ffmpeg', '-version']
return code: 0
ffmpeg CLI available
Loading filters...
MLT service frei0r.alpha0ps_alphagrad not found.
MLT service frei0r.alpha0ps_alphaspot not found.
MLT service frei0r.alpha0ps_alpha0ps not found.
Loading transitions...
G'MIC found
Player initialized with profile:  HD 1080p 30 fps
Panel positioning feature not available, too small screen.
Create SDL1 consumer...
Autosave started...
Saving project...
GPU test results {'NVENC H.264 High Profile / .mp4': -11, 'NVENC HEVC / .mp4': -11, 'NVENC HEVC HDR / .mp4': -11, 'VAAPI H.264 / .mp4': 0}
Nothing changed since last save.
Exiting app...
perkelix commented 6 months ago

I also tried from the desktop menu shortcut. It always opens maximized. Bonus: there's a maximize widget on the window frame.

Kuvakaappaus - 2024-04-03 10-26-55

Solved. Let's close this. Thanks!

jliljebl commented 6 months ago

Ok, great, closing.