Giter Club home page Giter Club logo

Comments (7)

resloved avatar resloved commented on August 23, 2024 3

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.

resloved avatar resloved commented on August 23, 2024

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.

resloved avatar resloved commented on August 23, 2024

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:

  1. Create two windows
  2. Create another window in the opposite orientation (if the second window was horizontal, then the third window should be vertical or vice-versa)
  3. Create a forth window with the original orientation.
  4. Delete the last two windows

from i3.

SamOphis avatar SamOphis commented on August 23, 2024

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.

MonsieurMan avatar MonsieurMan commented on August 23, 2024

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.

resloved avatar resloved commented on August 23, 2024

@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() in src/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.

MonsieurMan avatar MonsieurMan commented on August 23, 2024

@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)

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.