Comments (7)
I think I'm going to leave this open. I'm glad this change works for you, but I'd still like to find a solution and it would be nice to have something open for people that are curious why this hasn't been fixed yet.
from i3.
Thanks for the very thorough issue!
This problem has been discussed in the past and is probably the last major hurdle functionally. In fact I already have a somewhat working solution that you can find here. It's not quite there because it crashes very easily. I assume this is a result of the pixmap being updated when that isn't expected.
I haven't looked into this further because, to be honest, it wouldn't be a feature I'd use. I'll push the change to a seperate branch and hopefully someone more motivated then me can track down what causes the crash.
from i3.
The changes are now on the shape-dev
branch, you can find them here.
The crash I'm referring to can be reproduced by following these steps:
- Create two windows
- Create another window in the opposite orientation (if the second window was horizontal, then the third window should be vertical or vice-versa)
- Create a forth window with the original orientation.
- Delete the last two windows
from i3.
I see, thank you. The crashes won't bother me too much and I'd actually try to help track it down if I was experienced with this sort of stuff. The strokes are mainly for aesthetic reasons, so they're not too important. I'll close this issue because of the changes you made available, thank you.
from i3.
Hello there ! I've been using your fork for the last day and can't live without the rounded corners now. ❤️
So here's the thing, I have plenty of time being confined and I would really like to push this issue further but I don't have much experience with C. Would you have some time for mentoring me in the next 5 or so weeks ?
from i3.
@MonsieurMan Love to hear when people are interested in working open source, even if they don't have the experience. Working on established code bases is how I learned anything about C so I think it's a great place to start!
As for suggestions:
- If you aren't that familiar with C you can learn a lot poking around and changing some variables. I'm sure there are a lot of resources online if you are more interested with that, but I have nothing to recommend.
- Hacking i3 is pretty much a required read (or at least reference)
- i3 communicates with X so you may want to get a basic overview of how its structured https://en.wikipedia.org/wiki/X_Window_System
- To communicate with X i3 uses xcb https://xcb.freedesktop.org/tutorial/
If you want to try to solve this issue in particular I would suggest just using the shape-dev
branch to start. If you create a fair amount of windows you'll see the issue pretty quickly. Things you may need to learn about to get some context:
- Read through and try to understand what is actually happening in
x_shape_window()
insrc/x.c
. Lots of the important logic is in there and the title reshaping. - Read up on the shape extension. The rounding is only possible using the functionality it provides.
I'm not in a place to actually mentor someone, but if you have any general questions feel free to DM me on twitter (@resloved) or on reddit (/u/resloves).
from i3.
@resloved, that was the kind of 'mentoring' I was looking for. I know time is a precious resource.
Thank you for trying to make me confident facing this big codebase aha !
I'll be sure to DM you on reddit if I make any significant progress or hit a wall. Thank again and see you soon.
from i3.
Related Issues (16)
- i3 polybar module memory leaks HOT 6
- Setting to turn off rounded corners when lone application HOT 5
- [Feature request] Please make it possible to modify the 'border_radius' via a shortcut. HOT 2
- Feature request – selectively disable/enable rounded corners HOT 1
- border_radius isn't recognized as a command even though i built the project from source HOT 4
- no roundness :( HOT 1
- Wont Compile HOT 6
- Conditional roundness
- Current state of fork
- Compile error HOT 1
- Use https for GitHub in PGKBUILD in AUR HOT 1
- Ignoring round borders when creating new window HOT 11
- Antialiasing on rounded corners HOT 1
- Setting border_radius 0 doesn't make corners square HOT 2
- "border none" breaks window resizing
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 i3.