nir9 / lightwm Goto Github PK
View Code? Open in Web Editor NEWMinimalist Tiling Window Manager for Microsoft Windows
License: MIT License
Minimalist Tiling Window Manager for Microsoft Windows
License: MIT License
I watched your Youtube video, thanks for that ๐
I tried to do the same on my local environment.
I wrote both of the C files, compiled the code and ran the linker to have one exe and one dll files.
I'm having the same files as you, after cl
and link
commands
When I run the wm.exe
it just wait and I don't see it arranges the windows as they created.
Just to double check if I made a mistake when I'm writing the C files, I cloned this repo, used nmake all
to compile the project.
Everything seems fine, but when I run wm.exe
it doesn't arrange windows as they created.
Am I missing something here?
OS: Windows 11 26040.1000
Developer Command Prompt: Developer Command Prompt for VS 2022 Preview
This is the only warning I'm getting from the nmake
command;
wm.c
wm.c(16): warning C4113: 'FARPROC' differs in parameter lists from 'HOOKPROC'
GetProcAdress won't work with just a __dllspec dllexport (because of name mangling, you'll almost certainly get hit with a 127) you need a extern C and then some flags to tell cl
to conform to cpp standards.
I thought that we could add this in to the WM as it's slightly annoying having workspaces but not being able to move windows to them. I already implemented this feature in my repo but per your request to discuss new features before we make a pull req or add them into this repo I thought I should ask you first.
In my repo, I made it use Alt+Shift+[1-9]. It's a little buggy still with as it doesn't always move windows to the other workspace but it works well on my main machine running Windows 11.
You click the window you want to move, hit Alt+Shift+2 for example and it moves the window to that workspace and retiles the one you are in. After that you can hit Alt+2 and see the window in that workspace.
The release exe and dll that I compiled with these changes is 14.5KB combined and debug is 36KB. (minus ilk and pdb files which brings it to 1MB >)
This is my commit in my repo if you want to check my implementation out. I wanted to wait for your approval before I made a pull request.
EDIT: new commit, last one needed a clean up and I needed to set something back, I apologise. it now no longer shows the code I changed and added but I'll send the link to the files.
https://github.com/AFellowSpeedrunner/lightwm/blob/master/config.h
https://github.com/AFellowSpeedrunner/lightwm/blob/master/keyboard.c
https://github.com/AFellowSpeedrunner/lightwm/blob/master/tiling.h
https://github.com/AFellowSpeedrunner/lightwm/blob/master/tiling.c
(PS. I also fixed a function spelling error too. TOGGLE_FULLSCREEN_MODE_HOYKEY_ID -> TOGGLE_FULLSCREEN_MODE_HOTKEY_ID)
Thanks!
Windows Defender is incorrectly flagging lightwm_dll.dll as a Trojan (Trojan/Wacatac.H!ml). It's likely that some code within the DLL is triggering this false positive detection.
I recently installed a Windows Defender intelligence update today, but I don't believe this update is causing the detection issue.
I know that this type of false positive detection has been observed with numerous apps in the past, so I understand if this isn't that important.
Nevertheless, I wanted to report this issue to bring it to your attention.
Affected DLL is from release 0.1.0.
Thanks in advance!
As shown in the screenshot windows do not size correctly on a 4k display with global scaling set to 150%.
I'd wager this is a bug with the Windows API when handling the TileWindows function, not taking scaling into account.
We can get the device scaling factor with the GetScaleFactorForDevice
function.
MSDN
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.