GithubHelp home page GithubHelp logo

Above fullscreen about glava HOT 16 CLOSED

jarcode-foss avatar jarcode-foss commented on August 11, 2024
Above fullscreen

from glava.

Comments (16)

RaitaroH avatar RaitaroH commented on August 11, 2024

Just to be clear: if I watch a video in fullscreen in browser or media player, it would be nice if glava wold be able to stay above those as well.

from glava.

jarcode-foss avatar jarcode-foss commented on August 11, 2024

#request addxwinstate "above" will accomplish this, but it means it will be above all windows, not just when a window is fullscreen. You should still be able to click through it if it's a desktop window, otherwise make sure #request setclickthrough true is set.

from glava.

RaitaroH avatar RaitaroH commented on August 11, 2024

#request addxwinstate "above" will accomplish this, but it means it will be above all windows, not just when a window is fullscreen. You should still be able to click through it if it's a desktop window, otherwise make sure #request setclickthrough true is set.

I did that before opening the issue, both in rc and kwin files. "below" is quoted too. Glava just doens't stay above fullscreens, nor does anything else that is "above". I just thought "above" was for above windows that are not fullscreen or something like that. Even if I set the above with kwin, wmctrl or in this case the config file. This is how it is in KDE Neon 5.13.5 (ubuntu 18.04).

EDIT: I can post my configs if that helps.

from glava.

jarcode-foss avatar jarcode-foss commented on August 11, 2024

@RaitaroH I'll spin up my KDE container later today and try to find something that works. It is really frustrating that the WM routinely misbehaves with EWMH hints and window types, perhaps a collection of these problems I have had with GLava should make their way into a KWin issue.

from glava.

jarcode-foss avatar jarcode-foss commented on August 11, 2024

Closing due to technical reasons making this impossible to implement elegantly, see my related comment in another issue.

from glava.

jarcode-foss avatar jarcode-foss commented on August 11, 2024

It was occurred to me that override_redirect may allow me to map GLava's window without the window manager even knowing, so there's still a chance that I could get this issue fixed.

from glava.

jarcode-foss avatar jarcode-foss commented on August 11, 2024

Alright, there's a special "unmanaged" window type that has been added in the above commit that may be able to get what you want, see the added comments in rc.glsl:

/*
   ...
   
   Alternatively, you can set this value to "!", which will cause
   the window to be unmanaged. If this is set, then `addxwinstate`
   will do nothing, but you can use "!+" and "!-" to stack on top
   or below other windows.
*/

So #request setxwintype "!+" will cause GLava to be ignored by the WM and will be above all other windows when created -- whether it stays there depends on the WM. If it's not staying, then #request setforceraised true will work (albeit with intervals) here without screwing with window focus.

"!+" windows also appear to display above fullscreen windows*, although some applications that also use override_redirect for fullscreen may have strange interactions.

Another thing worth noting is that this could allow GLava to work on the desktop with i3 (and i3-gaps) using "!-", see #6.

* not tested on KDE

from glava.

RaitaroH avatar RaitaroH commented on August 11, 2024

@wacossusca34 The windows stays above fullscreen... but it freezes. So is basically an unfocused overlay now instead of actually visualizing anything. I tried ! !+ !- with force raised and not, both in kwin and rc files and I couldn't get this to work. I am on nviida prop drivers, perhaps that could have something to do with it.

from glava.

jarcode-foss avatar jarcode-foss commented on August 11, 2024

@RaitaroH oh, I forgot to mention that you will also need to set #request setfullscreencheck false. This is supposed to prevent GLava from eating resources that fullscreen applications would normally use by halting the rendering, but in your case you will want it disabled.

from glava.

RaitaroH avatar RaitaroH commented on August 11, 2024

@wacossusca34 I added that too... still freezes.

Also, I do remember glava working without options... but now I get a crash.

▶ glava
Using backend: 'glx'
[1]    9574 segmentation fault  glava
▶ glava -d                    
Using backend: 'glx'
Loading module: 'bars'
found GLSL stage: '1.frag'
compiling: '1.frag'
Using default PulseAudio sink: compressor-stereo.monitor

from glava.

jarcode-foss avatar jarcode-foss commented on August 11, 2024

@RaitaroH crashes need to be debugged with make BUILD=debug and gdb glava. Posting your rc.glsl (and any other changed files) will help.

from glava.

RaitaroH avatar RaitaroH commented on August 11, 2024

Ok so...

▶ glava --verbose
Using backend: 'glx'
Assigning debug callback
[1]    16688 segmentation fault  glava --verbose

 SEGV(-11)

Works with -d

▶ glava -d -v              
Using backend: 'glx'
Assigning debug callback
Loading module: 'bars'
found GLSL stage: '1.frag'
compiling: '1.frag'
Using default PulseAudio sink: compressor-stereo.monitor

I did also build with debug but, glava crashes on start:

▶ gdb glava
GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from glava...done.
(gdb) run glava
Starting program: /usr/bin/glava glava
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Using backend: 'glx'
Assigning debug callback

Program received signal SIGSEGV, Segmentation fault.
0x000055555556258e in create_and_bind (name=0x5555557c4ab0 "GLava", class=0x55555559a529 "GLava", type=0x0, states=0x5555557c3940, states_sz=0, d=1920, 
    h=1080, x=0, y=0, version_major=3, version_minor=3, clickthrough=true) at glx_wcb.c:346
346         if (type[0] == '!') {
(gdb)

Here is my configs right now:
bars.txt
env_KWin.txt
rc.txt

from glava.

RaitaroH avatar RaitaroH commented on August 11, 2024

GLava (glava) v1.5.1-11-g353c3bd (stable, unix/fhs)
I am extremely sure I tried setforcedraised and setfullscreencheck to true before... Not sure what changed since #65 (comment)

Now I have in my kwin file looks like this. Thank you by the way.
EDIT: no minimize funny business either. So KDE stacking issues are gone for me.

#request setdecorated false
// #request setxwintype "normal"
#request setxwintype "!"
#request addxwinstate "undecorated"
#request addxwinstate "above"
// #request addxwinstate "below"
#request addxwinstate "skip_taskbar"
#request addxwinstate "skip_pager"
#request addxwinstate "pinned"
#request addxwinstate "sticky"
#request setclickthrough true
#request setforceraised true
#request setfullscreencheck false
#request setforceraised true

from glava.

coderobe avatar coderobe commented on August 11, 2024

Your GDB output is the default gdb startup banner, you have not yet started the program inside the debugger

from glava.

RaitaroH avatar RaitaroH commented on August 11, 2024

@coderobe ups. I fixed it.

from glava.

kirolos-mater avatar kirolos-mater commented on August 11, 2024

Watching video,
But glava will stay below...
It should be above.

Don't use "glava --desktop" command, only "glava" & #request setxwintype "dock"

from glava.

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.