The stock Fairphone runs the stock full-blown Google spyware stack. Privacy isn't Fairphone's selling point: it's repairability.
You can install CalyxOS very easily on it however. That's what I'm rocking on my Fairphone 4, and it's great. I have no issues with it.
Yeah I read about others trying to make optically usable lenses. That would be great!
But my purpose was to print a dimensionally accurate template for my 3D-printed frames.
That went south because printing this object in one go with a FDM printer is almost impossible to print cleanly. So I gave up on that. But I was still curious to use it to find out if I could use acetone to reassemble two clean halves of it, and find out what kind of polish PLA can take.
You know, just out of curiosity π
Acetone is your friend
You might recall that I tried printing this fake lens last week and found it quite challenging.
So today for S&G, I figured I'd try to print it in two halves like so:
Then instead of gluing or epoxying them, I joined them with acetone: it's quite a thin profile, so it's a good test of the strength of the bond.
Well, I let it cure for half an hour just to make sure all the acetone inside the bond had evaporated, and it certainly is plenty strong! Strong enough to take a vigorous chemical polishing - with acetone also - while applying a fair amount of pressure and stay in one piece.
I polished it by hand for 5 minutes and it's even a bit lens-y now π
I'll let it cure for another 24 hours for good measure, then tomorrow I'll mount it in the lathe and I'll polish it some more with acetone, to see how clear I can make it.
It's never going to be any good of course, but it's interesting to see how much it can be improved, if only to find out what I can do with PLA.
I so wish he does that.
Then very, VERY quickly, Americans would start paying out the wazoo for the stuff they used to get for cheap - because Mexico and China sure as hell ain't footing the bill, something Trump very conveniently forgets to mention.
And then guess who'll they'll blame? The orange utan in the White House who promised to make them richer but instantly made them poorer instead.
Americans punished the democrats for economic issues that were largely out of their control, and they'll just as quickly turn against Trump if he makes their situation even worse. In fact, they'll turn against him even harder because he promised to fix the economy.
So yeah, please Donald, make my day. Do it!
This is how I shop for food, and how I dropped 110 lbs 15 years ago:
1/ Look at the food:
- If you recognize a fruit, veggie or egg, it's unprocessed.
- If you recognize a basic foodstuff like bread, butter, it's semi-processed.
- If you don't recognize the food, it's ultra-processed.
2/ Only buy unprocessed or semi-processed food. The more processed, the less you should buy it. If it's unprocessed, favor green veggies over tubers and nuts, and avoid fruits with too much sugar. If it's semi-processed, stay away from stuff that has fat or refined sugar in it as much as possible.
3/ Always read the calories label. Only one metric matters: kcal / 100g. Forget "per serving" and other deceitful metrics. If it's under 180 kcal / 100g, it's okay. If it's under 250 kcal / 100g, start looking for alternatives: the other brand right next to it on the shelf might have massively fewer or more calories for the same products for no discernable reason - a good rule of thumb is: store brands often have fewer calories than brand names. If it's over 250 kcal / 100g, avoid, with one exception: if it's a powerful condiment that requires very little to flavor food, like mustard, it's okay.
4/ Ban refined sugar - incl. juices - fat in all its forms (butter, oil...) and limit meat to once a week (a Sunday treat for example).
And if you want to see how this is going to end, watch this scene from the 1971 movie THX 1138.
rm -r *
Also, if you have to type that, don't use the numpad: / is only one key away from *. If you finger snags the / key on its way to * and you happen to be root, your root partition will go bye-bye.
You know who else disavowed what he wrote publicly to pacify his critics? Hitler with Mein Kampf. He kept repeating he wrote Mein Kampf in 1925 but had changed his views since. Guess what: he hadn't.
And surprise-surprise, the Orange Utan hasn't either. It's almost like we didn't see that one coming from a mile away...
And don't think for a second that I'm the only one to see the striking parallel.
Not patronizing Reddit and instead spend quality time trying to make Lemmy better.
I never thought of doing that in 40 years. It's a great idea actually. Thanks!
Here's a rule I learned the hard way a few decades ago:
- If you type "rm", take you hands off the keyboard and take one deliberate breath before continuing your command.
- If you then type "-r", do it again.
- If you then type "-f" do it again.
- In all cases, re-read what you wrote before hitting ENTER.
The more I look at it, the more I think that is in fact TPU. And in fact I've read somewhere that most varieties of TPU are in fact impervious to acetone. The one roll I have here isn't, but maybe this yellow piece is such a kind.
Interesting... I didn't know purge filament existed. In fact, I wondered what would happen if I ever ran something that truly gummed up the nozzle, if I'd have to replace it entirely or something.
Resin is well within reach of the casual hobbyist now - weβre talking a couple hundred dollars to get an entry level machine, and a little extra coin for the materials/consumables. I have a (now old) Mars 3 that is ticking along beautifully
I am very tempted by a resin printer. However - and this is going to sound weird - I actually like the limitations of FDM.
And this is why: I'm a hacker at heart (in the old sense, not the nasty illegal stuff) and I like to push the envelope of what our Prusa Mk4 printer can do. I've printed stuff with that thing that I had no right to print by working the workarounds in the model, playing with layer sizes and controlling the path of the nozzle so it ends up printing features that are right at the limit of what it can do. Hell, even the hinges in those specs of mine are kind of pushing it.
And it's fun! It provides hours of good fun trying this or that and finally getting the little printer to print something right.
A resin printer would make very good prints without anything to do, if that makes sense π
Also I want to work with different materials. I'm actually looking into getting a Prusa XL with several heads to combine TPU for flexible, hollow parts and PLA for the supports inside the parts. That's something a resin printer can't do: resin printers print... well, resin.
And finally, I'm always kind of designing parts with a view to making it available to anybody who has any old printer at home for them to print and enjoy. That approach entails designing for the lowest comon denominator (to a reasonable degree), something a resin printer is not.
So you see, while I would like a resin printer, I feel it's just not the right printer for me.
tweak and reprint the frame a bit to match the lenses. Thatβs not really the end of the world, but I donβt count on any opticians to understand that
Oh believe me, they understand perfectly.
Here's the thing - and I'm not inventing this: my current optician is a friend and she told me this verbatim: an optician's bread and butter is selling you frames, and the services around fitting the lenses on the frame and fitting the frame on you. Opticians make almost no money on the lenses - which they have made abroad in developing countries usually.
I don't deny that there's a lot of measuring prior to ordering lenses, counselling the customer, and then a lot of fiddling with the temples and the nose pads after the glasses are completed to make sure the glasses are comfortable and yada-yada. The services provided by opticians are definitely useful, particularly for young wearers and for people who change frames often.
But really, if you're a lifelong glasses wearer, you're reasonably handy and you settle on one frame geometry, those measurements never change and you just don't need the services.
Me, the last time I needed an optician's services was over 20 years ago when I made my first frames out of nickel silver. Since then, I've only made copies of those exact frames because I really like them - including those 3D-printed ones I drew a few weeks ago: they're a bit different to account for the nature of the 3D-printing process, but the key measurements are the same.
So whenever I go to an optician to order new lenses - which you almost have to because you can't order the lenses direct, even if you have all the measurements needed by the lens maker, the convo always goes something like this:
- Hello, I need a pair of lenses with these dimension (or for these frames), with this prescription. My pupillary distance is x, the vertical angle is y, the bevel is z all around and the optical axis is marked here. I don't want you to mount the lenses on the frames and I don't want you to fit me. How much and when?
- Well okay, the lenses are $something. But since you don't buy frames from us, we'll have to charge you an extra $something.
I kid you not, it's extortion. They hate it when you can do their job yourself so they charge you for the privilege. And since you don't have access to their suppliers (they look out for each other) you have to go through them.
That sounds like a great idea!
In fact, an even better idea would be to split the lens in the plane that contains the crest of the bevel (which isn't at the center of the edge all around). That way, the widest point would be on the bed for both halves, totally eliminating any overhang.
I'll try that tomorrow. Thanks for the idea!
Lol
Clearly that's progress π
Thanks for the offer! But actually I didn't model that part for me but for others who need a model of a finished lens. I already have real lenses myself.
The thing is, I shared the design of my glasses for others who might want to print themselves the same glasses too, and there seems to be enough interest that some folks printed them and went to their opticians with it, only to be turned away because the frames are unusual - or they didn't want to risk having lenses made using the lens template only to find out that the lenses are unusable in the final frames - and they didn't want to risk filing a notch in the lenses either, which is something that's not usually done to fit lenses to frames.
And I can understand the opticians too: if they agree to order lenses and they don't fit the frame, the loss is on them and they don't need the aggravation.
I wanted to provide a model of a lens that those folks could print out of PLA to convince the opticians that it's not sketchy or far-fetched. If this parts needs a resin machine - which, I agree with you, it absolutely looks like it does if you really want a quality part - then it sort of defeats the point of self-sufficiency of my little project.
Well, I toyed with the printer's temperature settings until I found a combination of nozzle temperature and bed temperature that finally made it spew out parts without making a disaster.
It seems to flow best at 260C, but then when it lands on the bed, it immediately shrinks as it cools and the part curls up and comes unstuck. I had to lower the temperature to 245C and raise the bed temperature to the maximum this printer does - 110C - for the part to stick enough to complete.
The nozzle clearly isn't hot enough because some layers on the final parts look like they're about to delaminate. But any hotter than that and the material curls up. And it doesn't matter what bed plate I use: that stuff doesn't seem to stick to anything properly.
I printed spectacles with that mystery filament. You can see how floppy it is here:
https://toobnix.org/w/qJJ1htb9eqmiHx7gSpq2RT
It looks like TPU alright, but the temperatures involved aren't really typical of TPU. Also, acetone does nothing to it whatsoever.
The material also doesn't like to be filed or sanded, and the best results for a nice finish without bits of material sticking out all over the place is to "polish" it by running a very sharp x-acto blade across the surface until all the junk is gone and the surface is shiny.
Weird filament. Kind of useless...
Help me identify a filament's material
I found a small length of filament in the parts bin. I don't know what it is, and nobody else here does, or remembers ordering it. I'm pretty sure it's a sample that was sent by Prusa when we ordered the printer, and it's probably not a special material.
It's feels "gummy" and a lot softer than PLA, but not really rubbery either. And I tried printing something with it at 230C as if it was PLA and it's clearly not hot enough: it's able to flow out of the nozzle but it barely sticks to the bed.
Any idea what it could be?
My personal benchy: this one really tests a printer's capabilities
In the process of refining the design for my 3D printed glasses (yes, I'm still at it π) and trying to streamline the lens ordering process a bit, because some folks have told me their optician, or their optician's lens supplier, didn't really want to mess with "unusual" things like this, I decided to draw and print a fake ophthalmic lens. You know, not optical-quality - or even see-through - but something that looks and feels like a lens, that can be mounted in my frames, to show an optician hands-on how it works and that it's not weird or delicate to work on.
I figured it would be a quick print in clear PLA, that would require only a bit of cleanup and mount right into the frames, complete with the bevel and the notch and everything. How wrong I was...
This part is almost impossible to print right:
-
It's modeled after a real bispherical lens with an offset optical axis. I mean it's optically incorrect, but it has everything a real lens would have: uneven edge thickness, one convex and one concave side.
You just can't set it flat on the bed in the slicer: none of it sits flat. The slicer has trouble generating support around the edge on the concave side that it interprets half of as overhang, and even if the beginning of the support doesn't get ripped off by the head and the print completes, the surfaces will be absolutely awful.
-
If you print it vertical - which frankly is the least bad option - then the bottom of the lens, under the support, will be a complete mess. The bevel won't even be visible. It takes quite some time to create supports that won't mess up the bottom of the lens too much
-
If you print it in clear PLA with only perimeters, it'll be transparent enough to see the spots were the perimeters are started at the next layer. And depending on your wall generation strategy, the spots where the printer tries to fill the voids will show up as round "halos" inside the lens.
The lens' thickness varies everywhere, so the slicer tries its best to fill each layer, but it's slightly different at every layer. At any rate, it reveals the slicer's idiosyncracies in tool path stragegy right away.
-
The bevel all around the lens is only 0.5mm high. If the printer is dialed in, the bevel will show as an actual 120-degree bevel near the front face of the lens, particular where the bevel is normal to the layer, about half-way up the lens if you print it vertically. If not, it will look like a barely-raised blob.
I've tried this print on 3 different printer and I just can't get a decent print. All I can do is play with the settings in the slicer until it comes out not too terrible.
So, that part is a bit frustrating for my original purpose, but it turns out to be a great part to test a printer and/or the slicer software! If you want to try it too, it's here:
https://github.com/Giraut/3D-printed_eyeglasses/raw/refs/heads/main/lens_example.3mf
There should be no need to pile on. Any one of those things would have been disqualifying in times past. Clinton almost got impeached over a blowjob. But Trump and all the things he said and done over the past 9 years is somehow okay. The mind boggles.
A post in all caps isn't doing the work you think it's doing.
What is "Frostbite"?
YouTube Video
Click to view this content.
Interesting account of what happens before amputation in the case of frostbite, why surgeons wait as long as possible to amputate and how they try to salvage as much limb as possible.
Finding a prosthetist is a lot like dating. This is an extremely important, even intimate relationship. Here's how I've learned to tell the princes from the frogs.
Custom case for my 3D-printed eyeglasses
I made this custom case for my 3D printed spectacles:
It holds the glasses by the edge of the frames, so the lenses are suspended above the bottom of the case without touching anything and no padding material is necessary to prevent scratching.
And being specially sized for those glasses, the case is no larger than it needs to be.
Did I mention that I love 3D printing? π
3D-printed eyeglasses in more detail
CAD files of my 3D-printed eyeglasses and instructions to order the lenses and mount them - Giraut/3D-printed_eyeglasses
You might recall last month that I posted about my 3D-printed spectacles.
Enough people asked me for the files and for details on how to order lenses and mount them into the frames that I figured I'd release everything with instructions - and also redesign the hinges a bit so the temples fold more compact, something I meant to do for some time.
3D-printed hole gauge block
You might find this little tool useful:
This is a block with a series of vertical and horizontal holes from β1 mm to β3.6 mm (nominal) in 0.1-mm increments. I print this block with any new printer / new material at the layer thickness and speed I use most often and keep the blocks as references.
Then, when I want to print a part with a hole in it that will end up printed at the final diameter without any rework (or very close, but usually it ends up exactly right) I use the gauge block I printed with the printer and the material I intend to print the part out of to find out which nominal diameter hole I need to use in the model for the hole.
For instance, the block in the photo was printed on a Prusa Mk4 with PLA at 0.2 mm layer thickness. If I want a β0.8-mm vertical hole with no interference in my final part in PLA out of that printer, I'll need to model a β1.2-mm hole. I know that because the shank of a 0.8-mm drillbit will slide freely in the vertical hole marked β1.2
in the block.
Or if I want a hole that I can screw an M3 screw into without having to run a tap through it, the block tells me I would have to use a β3.2-mm hole to fit a β3-mm pin in freely, and I back off 0.4 mm to get a hole in which the screw thread will engage well but reasonably lightly, or 0.5 mm for a tighter engagement (but with a bit more risk with horizontal holes near an edge, because the layers might separate) so I know I'll have to model a β2.8 or β2.7 hole in the model.
I use those gauge blocks all the time. They save me a lot of time on parts that I print often because I never have to ream or thread the holes: they come out the printer just right and ready to use.
This is an example of a 3D printed living hinge that also doubles as a spring made with PLA. The material isn't usually the best choice for flexible applications - especially when the living hinge ...
This is the worst possible setup to print living hinges: PLA isn't terribly flexible, and here the flexible bits have to be printed vertically, which really isn't ideal to withstand cracking.
Yet when the application isn't heavy-duty like in this clamp-on connector, even PLA printed "against the grain" works well too: this connector can spread its hooks linearly 3 mm apart and the living hinges don't crack or weaken even after many cycles.
Mobile hotspot with VPN: is GL.iNet the only game in town and is it trustworthy?
So I'm on the market for a 4G or 5G mobile hotspot with a build-in VPN client I can carry around in my backpack and connect my cellphone to. I've looked far and wide, and really the only manufacturer that seems to make what I want is GL.iNet.
The two battery-powered models they offer that interest me are the Mudi v2 and the Puli: they only do 4G and I wish they did 5G too, but I can live with that. Other than that, they really tick all the boxes for me.
From what I could read, the GL.iNet company also seems very open and very responsive. That's a plus too.
But I have one giant problem that prevents me from whipping out the credit card: GL.iNet is a Chinese company, and those products are sensitive applications. I know I can flash OpenWRT separately on those devices to ensure they're not doing stuff behind my back, but I don't really want to do that because I'd lose the GL.iNet plugins and custom UI. Not to mention, I have no free time for that. I'm looking for a ready-made solution if possible with this one.
Anybody knows if GL.iNet can be trusted?
Also, has anybody ordered from Europe using their EU store? They say they ship direct from Europe but they give no details.
And finally, what do you think of those two mobile VPN routers if you own one. Do they work well? I read somewhere that they can be buggy with certain VPN providers. Do they work in Europe? I assume they do since they sell EU plugs but maybe there are caveats.
Is WiFi calling a decent alternative to VoIP?
I'm investigating getting off the cell network permanently to avoid at least the constant triangulation of my position. I figured I'd look into getting a VoIP number and getting calls and texts over WiFi. I don't mind being unreachable when I'm not connected to a hotspot, so it's not a problem for me.
But before looking for a good VoIP provider, I decided to check if WiFi still worked in airplane mode. And indeed it works. But to my surprise, when I connected the WiFi, my cellphone provider's name also came right back up at the top right of the screen. In airplane mode? What the hell?
Long story short, after investigating a bit, I realized I had WiFi calling enabled. So I can in fact already get calls and texts without being on the cell network.
And I'm thinking, maybe that's good enough for privacy?
I mean I know SIMs leak information like ICCID / IMSI / IMEI so obviously they have no reason not to do that over WiFi also and that's not so hot.
But on the plus side, none of that information is linked to cell towers and location anymore - at least not precise location if I'm not on a VPN - the baseband processor is off and can't do whatever shady chit-chat it does with the SIM and the cell towers, and I can still use my normal phone numbers without having to change and tell a million people that I have new numbers if I go with VoIP.
Also, I don't store my contacts on my SIMs and I use a deGoogled Android. So I figure that limits how much adversarial software can exploit the SIMs to leak data.
So it seems to me that WiFi calling may be a good solution for me for better privacy without too many compromises.
Can you think of something I missed that I should know before using this feature?
Making Flameshot's "Choose an app to open the capture" option work in i3wm
If you use the Flameshot screenshot capture and annotation utility, you might have noticed that the Choose an app to open the capture (or Ctrl-O
) option doesn't work right: something flashes quickly on the screen but nothing happens.
That's Flameshot throwing a fit because it can't open a popup window with the size it wants in i3. So to make this option work, let it π
Add this line to your .config/i3/config
:
for_window [class="flameshot"] floating enable
As a bonus, it also makes the configuration screen look better.
During Disability Employee Awareness month, we call out the medical tech industry for fighting disabled people's right to repair or modify the tech that they own.
Please don't send me automated health advice
I finally have an appointment to get my problematic residual phalanges taken care of. The hospital created an account for me into their fancy-shmancy "My Recovery Path" online system, in which they told me I'd find messages about my care, imaging results, appointments and the likes.
So I logged in to check it out, and I found my first automated message in the inbox - a 5-page PDF that went something like this:
> Welcome to your My Recovery Path account! > > You've been referred to the Foot & Ankle team for RESIDUAL TOES REVISION. Before your first appointment for RESIDUAL TOES REVISION, here are helpful documents to help you deal with common toe problems. > > - Best footwear for bunions > - Avoiding blisters on hammertoes > - How to care for diabetic toes > - Trimming ingrown toenails safely > - Reducing hallux rigidus pain > - ...
Like... Really?
Clearly the word "toe" in my referral triggered the sending of this boilerplate.
I realize whoever programmed this system means well, and the hospital means well too. And I can see this system is convenient as a one-stop shop to get information about my problem and communicate with the doctors. But the automatic "helpful" advice is a bit depressing...
Cool feet with passive energy return
YouTube Video
Click to view this content.
Exoneo makes 2 prosthetic feet: the Mahi for moderate to high activity levels and the Upya for low activity.
Both have a spring block under the heel and spring-loaded "metatarsals", which helps push-off when walking:
https://youtu.be/YeZNaM0NaNc
You can even assemble and size them yourself:
https://youtu.be/XjdDyo69JJU
More interestingly, it seems the company has a lot of customers in developing countries, meaning there's a very good chance those feet are affordable. Sadly, I couldn't find prices and I didn't want to request a quote for nothing.
I did find an independent review of the Upya foot (in French here, automagic translation here, accompanying video here), so at least it's not like all the information I could find comes solely from the manufacturer.
The reviewer confirms that the foot was competitively priced: although he doesn't disclose how much he paid for his foot, he does say it's "a prowess considering the price at which it's sold". That bodes well.
Workspace assignment doesn't work with fullscreen apps
Before I open an issue, I'd like to know if anybody has encountered and solved this issue:
I want certain applications to open in a particular workspaces so naturally I have lines such as these in my ~/.config/i3/config
file:
assign [title="^.*LibreWolf.*$"] $ws1 assign [class="org.remmina.Remmina"] $ws2 assign [title="^.*Thunderbird.*$"] $ws4 assign [class="Signal"] $ws4 assign [title="^.*ssh tunnels.*$"] $ws5
This works fine for windowed applications, but it doesn't work for fullscreen ones. For example, if I have those two lines:
assign [title="Xephyr"] $ws3 assign [title="feh"] $ws3
and I start Xephyr or feh fullscreen with Xephyr :1 -fullscreen
or feh -F
, they will start fullscreen in whichever workspace I happen to be and won't be moved to workspace 3.
I did find a workaround by creating a .desktop file in which the command explicitely switches to the workspace I want to use the corresponding application in before invoking the command. For example for Xephyr, I made this .local/share/applications/Xephyr.desktop
file:
Name=Xephyr Exec=bash -c "i3-msg workspace 3; Xephyr :1 -fullscreen -reset -terminate -query localhost" Comment= Terminal=false Icon=xorg.png Type=Application
It works but it's really dirty and it's not great.
Does anybody know if there's a way to convince i3 to start a fullscreen app in the correct workspace cleanly without resorting to hacks like that?
Help me choose a 3D printer of my own
So I've been exploring the fabulous word of additive manufacturing for a few months now with my company's 3D printer - a Prusa Mk4 - that we employees are welcome to use for our own personal use when it's not busy printing tooling for work of course.
I've gotten really good at squeezing the most performance out of that thing: some of the functional parts I made with it at scales that are pushing the boundaries of what regular PLA out of a 0.4-mm nozzle can be coaxed into becoming, I'm properly proud of.
And I'm having a lot of fun finding ways to overcome the limitations of FDM. I don't really want a more precise printer: half the fun is witnessing a part that shouldn't exist come out of a printer that doesn't really have any right to be this good. Pushing the envelope... It's the spirit of hacking in the world of 3D printing and I love it!
But now I'm wanting a printer of my own. The company's printer is fine and all but when it's doing work-related things, I can't use it. And I have to wait to go back to work the next day to print something I modeled the evening before.
So I'm on the market for a good fast FDM printer that can print prints with different filaments at the same time, because I'd like to experiment with stretchy materials but keep using rigid and cheap materials for the supports, and also to play with colors. And I think I want a core XY printer because I've run into problems with big heavy prints with the company's bed slinger.
And finally, something that's really important for me: I want something as open source as possible that doesn't phone home, and ideally not made in China.
Money is not tight. The kids are out of the house and I have a well-paid job. I set my budget to 5k - dollars or euros.
So with those requirements in mind, from what I read, the best option for me is to stick with Prusa: it's more expensive for what it does but it's not sketchy Chinese spyware. Also, I know the brand already and I've been nothing but happy with it so far.
And in the Prusa line, I'm tempted by the XL with an the bells and whistles - namely 5 heads and an enclosure.
But here's the thing: I hear this machine has problems. Is it true? Would you have a better suggestion? Possibly another brand that I should consider?
Why is FreeCAD symmetry-stupid?
Maybe there's something I don't understand here. I'd love it if someone told me how to do the following.
Let's say I have some really complex shape in a sketch left of the Y axis: it takes me forever to get it just right. Then I need to mirror it on the right side of the Y axis and connect the two halves.
In SolidWorks, it's trivial: mirror the stuff, done. If you change the master shape on the left, the change is reflected on the right.
In FreeCAD, the best you can do is make a mirror copy of the left-hand side elements - which also makes copies of the constraints which are completely independent from the original constraints on the left-hand side - delete the stupid new right-hand side constraints and slowly, painfully constrain the right-hand side copies to the original left-hand side elements, trying to dodge the dreaded orange over-constraints all the time. It's long, it's painful, and the end-result is usually so fragile that if you change anything significant on the left-hand side, the sketch turns orange and then it's back to hunting broken constraints again.
Surely it can't be that painful. Am I missing something obvious?
Mouse click autorepeat
I have a need to repeatedly click in a application's window many times for testing purposes at work. Since I have not intention of doing that manually and developing RSI, I set up i3 to automate this for me.
You may find this useful too - for gaming, for instance.
Setup:
-
Install xdotool
-
Create a Bash script called
start_stop_autoclick.sh
somewhere (I have a~/scripts
directory in my home directory for that purpose):``` #!/bin/bash
DELAY=$1 BUTTON=$2 CMD=xdotool ARGS="click --delay $DELAY --repeat 99999999999999999 $BUTTON"
PID=$(ps -C $CMD -o pid,cmd | awk "/$ARGS/ {print \$1}") if [ "$PID" ]; then kill $PID else $CMD $ARGS fi ```
-
Edit
~/.config/i3/config
and add the following lines:```
Start / stop autoclick
bindsym $mod+Ctrl+button1 --whole-window exec --no-startup-id /bin/bash ~/scripts/start_stop_autoclick.sh 250 1 bindsym $mod+Ctrl+button2 --whole-window exec --no-startup-id bin/bash ~/scripts/start_stop_autoclick.sh 250 2 bindsym $mod+Ctrl+button3 --whole-window exec --no-startup-id /bin/bash ~/scripts/start_stop_autoclick.sh 250 3 ```
How to use it:
Hover over the button or element you want to click on repeatedly then press Ctrl+Meta and click with the button you want to autorepeat.
Be careful not to move the mouse otherwise it'll start autoclicking where you don't want and possibly wreak havoc in your windows.
To stop it, simply hit Ctrl+Meta until it stops.
How to modify it to suit your needs:
The three lines above in ~/.config/i3/config
enable autoclicking on the left, right and middle buttons. If you only want it on one button, ditch the lines you don't need.
By default, they autoclick with a delay of 250 ms between clicks (i.e. 4 times per second). If you need it to click slower or faster, change the value of 250 to the delay you need.
And of course, change the key modifiers to whatever you want if Ctrl+Meta doesn't work for you.