GithubHelp home page GithubHelp logo

Comments (2)

diab0l avatar diab0l commented on July 28, 2024

will look into dwm and create some test applications.
maybe we can make applications play nice with the decorations.
we could also check whether glass is enabled, but on win8 this would have the same effect as just disabling the plugin. might be better than having it flicker like crazy 💃 (holy shit, there are emoticons)

from bbclean-xzero450.

diab0l avatar diab0l commented on July 28, 2024

In hopes somebody looks into this now that there's a bounty, here's some more info on the subject:
This issue is about bbLeanSkin, located in the source tree of this project under BlackBoxZero/plugins/BBLeanSkin.

bbLeanSkin uses window subclassing to draw the non-client area (window title, decorations).
Unskinned window's non-client areas have the windows classic look, skinned windows' non-client areas look and behave like they would in the *nix blackbox window manager (and are very customizable).

Since window subclassing doesn't work across threads (even less processes), bbLeanSkin injects an engine dll into other processes via global hooks.
The engine dll then goes on to install the subclasses for windows which are not excluded.

On a 64bit system, there's also a 32bit process which installs hooks for 32bit processes, but that's just a detail.

Recent versions of windows (starting with Vista) have introduced the DWM which also draws the non-client area of windows and interferes with bbLeanSkin.

In Vista and 7, the workaround was to either disable Aero or bbLeanSkin, but in Win8 you can't disable Aero anymore, so to be compatible we have to make bbLeanSkin DWM-aware.

In essence, we need a replacement which implements DWM custom frames, probably using the same subclass/hook mechanism.

The catch in all this is that of course, the custom frame should be drawn with the currently applicable blackbox style (which is the reason to have it in the first place :)

from bbclean-xzero450.

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.