Code Monkey home page Code Monkey logo

Comments (17)

QuarkZ26 avatar QuarkZ26 commented on June 12, 2024

To add a bit to this:

If I open, let's say, Firefox, then Dolphin, Firefox will get minimized.
Now if I minimize Dolphin, Firefox will come back up, then if I minimize Firefox, it works as intended and Dolphin doesn't come back up.
I'm thinking the option should keep Firefox minimized in the first place.

from floating-tiles.

nclarius avatar nclarius commented on June 12, 2024

I can't reproduce this, the scenario you described works as intended for me.

Which version of the script are you using?

from floating-tiles.

QuarkZ26 avatar QuarkZ26 commented on June 12, 2024

I'm currently using 5.6. I've also installed this system just a few days ago so it's fairly recent and untouched.

from floating-tiles.

nclarius avatar nclarius commented on June 12, 2024

Okay, I made some changes in my development version (which I was testing with) that might affect this. I'm planning to release the new version soon, which should solve that issue too. Thanks for making me aware of it.

from floating-tiles.

QuarkZ26 avatar QuarkZ26 commented on June 12, 2024

Awesome! Can't wait for the update.

I don't want to hijack my own thread, but just to confirm, it's not currently possible to exclude a particular windows from being minimized?
I'm asking this because I often use Teamviewer to remote into my machine, and realized than whatever i bring in the front causes Teamviewer to minimize which in turn gives out a message and prevents any other interaction.

from floating-tiles.

nclarius avatar nclarius commented on June 12, 2024

That's what the application filter in the configuration is meant to provide; does inserting teamviewer's window class in the list of background windows to except not achieve what you want?

from floating-tiles.

QuarkZ26 avatar QuarkZ26 commented on June 12, 2024

I guess I got a bit confused with those options. If i wanted to prevent one particular window to minimize, would that fall under the "When a window of the following is in the background, don't hide that window if overlapping other windows are in the foreground"?

I pretty much tried all the options but couldn't get the result I wanted, it's very possible that I don't have the right window, it might not exactly be a "window"

from floating-tiles.

nclarius avatar nclarius commented on June 12, 2024

Yes. That formulation is admittedly clumsy; if you have a better suggestion, it's welcome.

What can be put there is window classes, i.e. applications, and the settings will be applied to any window of that application. Furthermore you can generally ignore certain kinds of special windows. A more fine-grained distinction e.g. by window title, window type (normal vs. dialog etc.) or combinations of these properties to single out very specific windows is not possible, so your best bet is to put the window class for Teamviewer in the exclude list.

You can get the window class name of an application as follows: Open a window of that application > Right-click on the title bar > More actions > Configure special application settings > Window class (application): what's filled in there is the window class to be put in the script's configuration field.

from floating-tiles.

QuarkZ26 avatar QuarkZ26 commented on June 12, 2024

I think that's the problem, when remoting Teamviewer doesn't actually show a window, but it does act like it, so I have nothing to click on per se. To be honest, it's not a big deal, it's made me curious as to how the software works, others in the same category don't act that way, so I'll most likely ditch Teamviewer.

As far as the wording, I would gladly help, as long as I understand what they are supposed to do!

So as I understand it:

Apply overlap prevention on all except the following applications:
When a window of the following is in the foreground, don't hide overlapping other windows in the background
--> All windows listed here will never cause any background windows to minimize

When a window of the following is in the backgound, don't hide that window if overlapping other windows are in the foreground
--> All windows listed here will never be minimized by any foreground window

Apply overlap prevention on only the following applications:
When a window of the following is in the foreground, hide overlapping other windows in the background
--> Only the windows listed here will cause the background ones to minimize

When a window of the following is in the backgound, hide that window if overlapping other windows are in the foreground
--> Only the windows listed here will be minimized if they are covered by foreground windows

Am I correct? If so, I'll give some thought about some better wording.

from floating-tiles.

nclarius avatar nclarius commented on June 12, 2024

I don't use Teamviewer myself so don't know about the window you mean and the issue it might cause, but if you want to get further into it, you can help me by giving me debug information about the window and how the script reacts to it:

  1. Open a terminal and execute the following commands; afterwards do not close the terminal window yet:
     kwriteconfig5 --file kwinrc --group Script-floatingtiles --key debugMode true
     kwriteconfig5 --file kwinrc --group Script-floatingtiles --key fullDebugMode true
     qdbus org.kde.KWin /KWin reconfigure
     journalctl -g "floatingtiles" -f 2>&1 | tee floatingtiles.log
    
  2. Trigger the situation; titles of added windows will be logged, so make sure these contain no sensitive information
  3. Go back to the terminal and press Ctrl+C; you may close the terminal now
  4. If the log output was empty, try echo 'export QT_LOGGING_RULES="kwin_*.debug=true"' >> ~/.bash_profile and kwriteconfig5 --file startkderc --group General --key systemdBoot true, log out and in again, and repeat steps 1. to 3. You can later revert these changes by running the same commands with false respecitvely.
  5. Post the contents of the file ~/floatingtiles.log here. Thanks.

from floating-tiles.

nclarius avatar nclarius commented on June 12, 2024

Yes, your understanding is correct. I think already the paraphrases you gave might be better than the current wording; thanks for the suggestions.

from floating-tiles.

QuarkZ26 avatar QuarkZ26 commented on June 12, 2024

There you go.

So i put TeamViewer,konsole in option 2, never minimize
Steps are:

  • start the commands in console
  • connect teamviewer, which causes everything to go in the background, except konsole, as expected
  • click on firefox window, and then you can see Teamviewer being minimized while konsole is still being properly ignored
  • close teamviewer

Not sure what all the "activated TeamViewer / try minimize for TeamViewer" are about

Apr 27 20:22:45 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: activated Floating Tiles — System Settings
Apr 27 20:22:45 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: try minimize for Floating Tiles — System Settings
Apr 27 20:22:45 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles:
Apr 27 20:22:46 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: closed Floating Tiles — System Settings
Apr 27 20:22:46 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: reactivable: [~ : bash — Konsole,Home — Dolphin,KWin Scripts — System Settings,Automatically restore previously... Can't be disabled · Issue #4 · nclarius/floating-tiles — Mozilla Firefox,Desktop — Plasma,Plasma]
Apr 27 20:22:46 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: reactivating recent active ~ : bash — Konsole
Apr 27 20:22:46 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles:
Apr 27 20:22:46 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: activated ~ : bash — Konsole
Apr 27 20:22:46 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: try minimize for ~ : bash — Konsole
Apr 27 20:22:46 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles:
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: activated TeamViewer
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: try minimize for TeamViewer
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles:
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: added TeamViewer
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles:
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: activated TeamViewer
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: try minimize for TeamViewer
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles:
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: regeometrized TeamViewer
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: try minimize for TeamViewer
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles:
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: regeometrized TeamViewer
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: try minimize for TeamViewer
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles:
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: regeometrized TeamViewer
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: try minimize for TeamViewer
Apr 27 20:23:07 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles:
Apr 27 20:23:12 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: activated Automatically restore previously... Can't be disabled · Issue #4 · nclarius/floating-tiles — Mozilla Firefox
Apr 27 20:23:12 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: try minimize for Automatically restore previously... Can't be disabled · Issue #4 · nclarius/floating-tiles — Mozilla Firefox
Apr 27 20:23:12 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: minimizing TeamViewer
Apr 27 20:23:12 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: minimized TeamViewer
Apr 27 20:23:12 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles:
Apr 27 20:23:12 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles:
Apr 27 20:23:17 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: closed TeamViewer
Apr 27 20:23:17 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: reactivable: [Automatically restore previously... Can't be disabled · Issue #4 · nclarius/floating-tiles — Mozilla Firefox,~ : journalctl — Konsole,Home — Dolphin,KWin Scripts — System Settings,Desktop — Plasma,Plasma]
Apr 27 20:23:17 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: reactivating recent active Automatically restore previously... Can't be disabled · Issue #4 · nclarius/floating-tiles — Mozilla Firefox
Apr 27 20:23:17 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles:
Apr 27 20:23:19 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: activated ~ : journalctl — Konsole
Apr 27 20:23:19 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: try minimize for ~ : journalctl — Konsole
Apr 27 20:23:19 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: minimizing Automatically restore previously... Can't be disabled · Issue #4 · nclarius/floating-tiles — Mozilla Firefox
Apr 27 20:23:19 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles: minimized Automatically restore previously... Can't be disabled · Issue #4 · nclarius/floating-tiles — Mozilla Firefox
Apr 27 20:23:19 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles:
Apr 27 20:23:19 QuarkZ-Kubuntu kwin_x11[67877]: js: floatingtiles:

from floating-tiles.

nclarius avatar nclarius commented on June 12, 2024

I realized only now that the released version doesn't have all the debug information I needed; sorry to bother, but could you please do the following:

Open the file ~/.local/share/kwin/scripts/floatingtiles/contents/code/main.js

and between lines 204 and 205 add a new line

        var other = others[i];
        debug("check minimize", other.caption, other.resourceClass, config.excludedAppsBackground);
        if (overlap(active, other) && !other.minimized) {

then save the file, and do the logging process again.

Not sure what all the "activated TeamViewer / try minimize for TeamViewer" are about

That's the check for minimizing other windows when the TeamViewer window is activated. The line relevant to the problem you're facing is "try minimize for ... Firefox", which shouldn't cause the "minimizing TeamViewer" in the line after.

from floating-tiles.

QuarkZ26 avatar QuarkZ26 commented on June 12, 2024

So it seems that Teamviewer creates a different window when remoting

Apr 28 08:59:03 QuarkZ-Kubuntu kwin_x11[1730]: js: floatingtiles: minimizing TeamViewer <2>‎
Apr 28 08:59:03 QuarkZ-Kubuntu kwin_x11[1730]: js: floatingtiles: minimized TeamViewer <2>‎

which explains the problem, however I don't think I can add this since there's a space in the name?

from floating-tiles.

nclarius avatar nclarius commented on June 12, 2024

What you need is the window class (probably "teamviewer"), not the window title ("Team Viewer <2>"). See my previous comment on how to find the window class name to insert in the config.

from floating-tiles.

QuarkZ26 avatar QuarkZ26 commented on June 12, 2024

Unfortunately, as I said, there is no window to click on, it's some sort of overlay. I think Teamviewer is the actual UI but there's something else with <2> that is only here when I remote but I cannot see.
Either way, I ditched Teamviewer for something else and don't have that issue anymore. It's such a particular case that I don't think it's worth spending too much time on.

from floating-tiles.

nclarius avatar nclarius commented on June 12, 2024

Oh I see, I misunderstood the problem.

Ok, I'll leave everything as is then.

Check back for the new version release in a week of so.

from floating-tiles.

Related Issues (6)

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.