Comments (2)
It'll be interesting to come up with a solution for this. I really like the proposal you came up with and searching for UIRibbon
using enumprocessmodules
seems to be the best way to do it, especially considering I don't intend to support anything older than Server 2003/XP x64. Eventually I want NTStyle to be on the level of Windowblinds, where it can run alongside DWM and still draw over the glass frames, so any solution to fix this should ideally be temporary. If it takes me too long to find my holy drawing procedure, then I'll implement a hack for this. It's worth testing to see if this happens with a Windhawk mod called... DWMUnextendFrames? If I end up wrangling DWM further then that's the method I will follow.
from ntstyle.
The exact same behaviour can be seen in classic theme or basic theme with 9200+ UIRibbon and no DWM.
All that Windhawk mod does is hook public DWM APIs (like DwmIsCompositionEnabled
, DwmExtendFrameIntoClientArea
) and forces them to not call out to the real module. This basically forces applications to act as they would without DWM enabled. You can technically see the same thing if you force DWM to be killed on Windows 8 or 10 and open mspaint.
The latest UIRibbon binary I know of that handles DWM-less situations correctly is from the Windows 8 beta build 8032, which looks exactly like the Windows 7 version, but works in Explorer.
Of course, drawing over glass frames would work too, but be careful to not overdo it. DWM draws the entire window client area over its server-side decorations, which allows applications to draw any content over them (even custom titlebars). Many popular programs today use this approach (Discord, Visual Studio Code, Google Chrome, Mozilla Firefox, etc.), which could cause flickering or draw over application titlebars (sometimes this isn't desirable, particularly when they have custom buttons in the titlebar, think Office 2007).
Speaking of Office, I guess Office 2010 should be checked. Even though the UIRibbon code in Windows is directly taken from Office 2007, Office 2007 does use Office-specific naming for its module and window classes. This is probably also the case with Office 2010, but I don't have it installed to check.
from ntstyle.
Related Issues (7)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ntstyle.