Friday, March 29, 2024

Windowsization of MacOS

I'm killing it on the new project, so I felt comfortable to ask my boss for the MacBook, instead of buying it on my own, and have it as a work computer, since I'm attending quite a few meetings lately and it's a pain to look for a wall plug all the time.

To my surprise he didn't bat an eye and he even said it's better to go for a better SSD as well, so 16/512 it is. The only available color at that time was Starlight, which was my least favorite, but it was already ordered when I was told that.

The laptop arrived the next day and I was eager to try it. When I peeled off the protective sheet, I was quite stunned how beautiful the actually color is, basically silver with subtle gold accent. Looks so lavish and I love it! :-)

I had some basic experience with MacOS, so I wasn't ''that'' lost, but 30 years of daily driving Windows has it's toll. I started to look for ways how to make it feel more like “home” and apparently that's quite common thing among Windows users :-)

Document based, not Window based

Raycast, removed Rectangle

Double Commander

Mouse fix UnnaturalScrollWheel

AltTab for hidden windows, Shift instead of ShiftTab to go back is great!

App to remap keys

Tuesday, March 12, 2024

Help!!

I was really pleased how the integrated help turned out, so I expanded it more.

When I created help documents in a text processor, I always used shapes to focus the user to the part of GUI I was writing about, usually highlighting a button.

When doing this here I had basically three choices: Draw the shape directly in the picture and many variants of basically the same picture (and have to re-do all of them when GUI changes = bad!), omit the highlighting altogether or create some internal system for shapes.

The system wasn't that difficult, many shapes could be done just by styling DIVs, so it didn't take long to set it all up. Honestly, the most difficult part was to design markup to be simple and intuitive enough, but GPT designed nice regular expressions for this purpose, so it was quite painless and even I had to do some compromises, I'm happy with the outcome.

So now there are two modes for image markup: Simple and Complex. Simple, here with caption:

  1. Image:something.png Something

The same in complex mode:

  1. Image:{src:something.png, label:Something}

And now with shapes, defined as “rects”. You can use colon and equals sign interchangeably, as well as comma and semicolon, and you don't have to care much about whitespaces:

  1. Image:{src: something.png; label: Something; rect: {x=0,y=0,w=100,h=30,lc=red,ls=2,r=5}}

This will create a red rectangle on top of the image, with line 2px wide and 5px rounded corners. You can also specify a tooltip and an action, creating a clickable image. I was particularly happy about that, it will be very useful.

I wanted keys to be as space-saving as possible, so they're a bit cryptic, but if you know the abilities of a rect, it should be easy enough to guess them. I'm a bit disappointed I couldn't came up with a reasonable single letter key for everything though.