naelstrof / maim

maim (make image) takes screenshots of your desktop. It has options to take only a region, and relies on slop to query for regions. maim is supposed to be an improved scrot.
Other
2.13k stars 78 forks source link

Preserve cursor position when using selection mode #244

Open JShorthouse opened 2 years ago

JShorthouse commented 2 years ago

Right now the cursor gets superimposed onto the screenshot at the position it was when finishing the selection.

Which means every screenshot ends up with the cursor in the bottom right like this:

screenshot

I think what would be better is:

  1. When maim is started in selection mode, immediately save the cursor position
  2. Let the user make a selection
  3. Overlay the cursor using the initial position
foxpy commented 2 years ago
       -u, --hidecursor
              By default maim super-imposes the cursor onto the image, you can disable that behavior with this flag.

Copy-pasted straight from maim man page. If you didn't notice this flag, please close this issue, if you did and you actually mean something I don't understand, please take my apologies and try to elaborate a bit more.

JShorthouse commented 2 years ago

Ok I will try to explain better, with a diagram.

diagram

Lets say I am trying to make a screenshot showing my mouse over a specific button. I move my mouse to where the red cursor is, and press a hotkey to open maim.

This is the position where I would like my cursor to end up in the final screenshot. I would like maim to save the cursor coordinates as soon as it is launched.

Currently the cursor always ends up where the blue cursor is (the final position after making the selection), which I don't think is very useful.

foxpy commented 2 years ago

Oh, yeah, I see what you mean. Your issue is probably not a duplicate of, but definitely closely related to #193

JShorthouse commented 2 years ago

Yes I agree. This issue is much narrower in scope and (I imagine) would be much simpler to implement than #193. However feature-wise it's basically a subset of #193 so if #193 was implemented then this issue could be closed.

foxpy commented 2 years ago

I have some ideas how to implement #193 but I don't currently have any free time for that. Maybe during winter holidays… :thinking:

foxpy commented 2 years ago

I have some ideas how to implement #193

Little update: during digging through scrot source code I have realized scrot works well when using selection and freeze options, so I no longer have any reasons to use maim so I will not work on this feature.