Git Product home page Git Product logo

Comments (2)

denilsonsa avatar denilsonsa commented on June 21, 2024

Relevant VLC source-code: (probably)

Relevant Feh source-code: (probably)

  • feh/src/winwidget.c

    Lines 294 to 309 in 1d02f90

    if (ret->full_screen) {
    Atom prop_fs = XInternAtom(disp, "_NET_WM_STATE_FULLSCREEN", False);
    Atom prop_state = XInternAtom(disp, "_NET_WM_STATE", False);
    memset(&ev, 0, sizeof(ev));
    ev.xclient.type = ClientMessage;
    ev.xclient.message_type = prop_state;
    ev.xclient.display = disp;
    ev.xclient.window = ret->win;
    ev.xclient.format = 32;
    ev.xclient.data.l[0] = 1;
    ev.xclient.data.l[1] = prop_fs;
    XChangeProperty(disp, ret->win, prop_state, XA_ATOM, 32,
    PropModeReplace, (unsigned char *) &prop_fs, 1);
    }
  • feh/src/winwidget.c

    Lines 344 to 353 in 1d02f90

    /* Size hints */
    if (ret->full_screen || opt.geom_flags) {
    XSizeHints xsz;
    xsz.flags = USPosition;
    xsz.x = x;
    xsz.y = y;
    XSetWMNormalHints(disp, ret->win, &xsz);
    XMoveWindow(disp, ret->win, x, y);
    }

Running xwininfo -wm on VLC (before and after entering full screen):

xwininfo: Window id: 0x5c0000c "rickroll.mp4 - VLC media player"

  Window manager hints:
      Client accepts input or input focus: Yes
      Initial state is Normal State
      Displayed on desktop 0
      Window type:
          Normal
      Process id: 545810 on host foobar
      Frame extents: 0, 0, 28, 0

xwininfo: Window id: 0x5c0000c "rickroll.mp4 - VLC media player"

  Window manager hints:
      Client accepts input or input focus: Yes
      Initial state is Normal State
      Displayed on desktop 0
      Window type:
          Normal
      Window state:
          Fullscreen
          Focused
      Process id: 545810 on host foobar
      Frame extents: 0, 0, 0, 0

Running xwininfo -wm on Feh (before and after entering full screen):

xwininfo: Window id: 0x6200001 "feh [1 of 8] - foobar.jpg"

  No window manager hints defined
  Window manager hints:
      Displayed on desktop 0
      Process id: 550205 on host foobar
      Frame extents: 0, 0, 28, 0

xwininfo: Window id: 0x6200005 "feh [1 of 8] - foobar.jpg"

  No window manager hints defined
  Window manager hints:
      Displayed on desktop 0
      Window state:
          Maximized Vert
          Maximized Horz
          Fullscreen
      Process id: 550205 on host foobar

Somehow, it says "No window manager hints defined" for Feh. This may be a hint to start understanding what is the root cause.

from feh.

denilsonsa avatar denilsonsa commented on June 21, 2024

When using xprop against both VLC and Feh, I noticed:

  • VLC had _NET_WM_STATE(ATOM) = when windowed.
  • Feh had _NET_WM_STATE(ATOM) = when windowed.
  • VLC had _NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN when full screen.
  • Feh had _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_FULLSCREEN when full screen.
  • VLC has _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL, while Feh didn't have that hint/prop.
  • VLC and Feh had different (hexadecimal) values for _MOTIF_WM_HINTS.

I don't know what else to do. If you can provide a patch (or a branch), I can try compiling it myself and observing if the behavior changes.

from feh.

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.