p0deje / Maccy

Lightweight clipboard manager for macOS
https://maccy.app
MIT License
13.15k stars 553 forks source link

First impressions of a new user #165

Closed borekb closed 3 years ago

borekb commented 4 years ago

Hi, I'm trying Maccy after using Clipy on macOS and ClipX on Windows (a long time ago), wanted to post first impressions. It probably doesn't fit the usual issue in this repo so sorry if this is not appropriate but my hope is that some of the feedback would be useful.

In summary, I love the direction of the app, think the defaults could be better and there's some work around stability/reliability. But very nice overall 👍.

p0deje commented 4 years ago

Hi, thanks for the feedback! Let me provide some explanations over the defaults:

Why "C" (cmd-shift-c) for paste? I personally prefer cmd-alt-v but anything with "V" it in would feel more natural.

That's just what I used back then. I guess we can switch to use CMD+SHIFT+V by default - I agree it might be more intuitive.

Enter doesn't paste – why?

Why should it? I don't always paste when I select and I see no reason to change the behavior of the defaults - it's an easy settings switch.

Pinned items should be at the bottom by default, IMO, as the primary use case of the app is interacting with clipboard history, not pinned items.

I disagree on that. Everything you pin makes more sense to be visible all the time and is not far from being reached by arrow keys if need them. Again, and easy switch in settings.

Taking up the entire monitor height didn't feel very nice – limited "visible items" to something like 20 made it better.

I guess if we don't show everything by default, it might give an impression that "what you see is what is stored" which is wrong. I'd rather let user configure the visible to their own taste and display size.

I'd expect pinned items to be "numbered" A, B, C etc. so that e.g. pasting the 2nd pinned item is always cmd-shift-v → cmd-b (or cmd-shift-v → b → Enter).

Great idea, I'll implement that for all new pins.

Selecting 2nd item by default is a nice little touch in ClipX – since the first item is in system clipboard, the most likely item I'm going for to the clipboard manager is on the 2nd position.

Hm, this is something I haven't really considered. I rarely tend to select the previous copied item but I often use ALT+SHIFT+ENTER to paste the current item without formatting. I guess it would break the workflow for me, but that's no big deal. It would be great to hear other users on the topic though.

I've encountered several bugs during the past 3 days like image previews not being rendered correctly after scrolling.

macOS menus have a bunch of rendering glitches when the menu is big and loaded with items. I am not aware of any ways to mitigate that really as it's beyond the application scope.

Probably the most annoying was when Maccy stopped recording clipboard history for some reason – that's almost a "data loss" since I depend on clipboard manager so heavily

This deserves more details. There used to be crashes months ago, but the application should record the history reliably nowadays. It would be great if you could provide more information about this bug.

Stickyhavr commented 4 years ago

I am also a new user, so I thought I would provide my perspective as well: 1) "Why C?" C makes sense to me as a default because it's the clipboard manager, not the pasting manager. Plus the program has two c's in the title—Maccy—so c seems like an ok default. That being said, I ended up having to change mine to control+cmd+c because I use cmd+shift+c in Things3 to create a checklist and it's not easily changed. But I couldn't use cmd+shift+v either because I would have a conflict in another program. So I guess whatever is fine and I'm so glad it's customizable.

2) Enter does paste if you have "Paste Automatically" configured. It makes sense to me for this behavior to follow that setting.

3) I agree that pins on the bottom makes the list look more clean, but only if you have limited the number of shown items (which I have, to 40 lines). I have most of my pins memorized (see next item below) so needing quick access to them with the arrow keys is not necessary from my perspective. I would always use the hotkey. And I like how they stand out more clearly when there's space between them and the list of ⌘1-9.

However, I agree with p0deje that a new user might assume what they see is all that's stored, so it's good to not limit the number of lines shown by default, and therefore I think pin to top is also the correct default. It's so nice that it's customizable though—thank you!

On a side note: I have also experienced a bug occasionally, but not always, when pinning a new item when pins are on the bottom—it makes all the pins disappear from the list. I have never seen that same thing happen when pins are on the top. So that's another good reason for top to be the default, at least until that behavior is completely fixed. I'll make a separate thread about this if I can figure out how to recreate it. I also think I've noticed that while this same bug is happening, Maccy does not always keep track of new entries, so perhaps it the same bug Borekb is referring to. In every case, quitting and restarting Maccy has solved the issue.

4) When setting pins: Currently I just pin and unpin the item a bunch of times until I get the letter I want. :-) And I would miss this ability if the default changes to next available letter. I'm guessing that adding full customizability for pins is probably a lot of work and might add unnecessary complexity. If someday you do add that capability, it would be nice to also be able to label the pinned items. That way you could more easily know exactly what the pin is (for example, if you have two items pinned that are very similar and hard to tell apart at a glance). So naming them and being able to choose their hotkeys might be a nice thing for the future.

In the meantime though, I'm very happy with the pin/unpin until you get the letter you want workaround. I prefer that to having them be set automatically and not being able to change them.

5) Re: selecting 2nd item by default. I agree this might be a nice touch. I think it is safe to assume you're not usually going to Maccy for the most recent item. Maybe as an option?

As a sidenote, one of the things that I was going to suggest as a feature request was to make ⌘V do the same things as ⌘1. As it is currently, if you try to paste while Maccy has focus, nothing happens and you have to hit escape first before cmd+v. It would be nice if cmd+v put the focus back into the previous app and pasted what was on the clipboard. The only downside I can see is people who have a pin with ⌘V already assigned.

Another suggestion of my own: a) The page down key takes the cursor all the way to the bottom of the footer (if it's enabled). It might be nice if the page down key went to the bottom of the list instead of the footer, or in the case of a really long list, down ~60 lines each time it's presser or something. The end key should still go to the bottom of the footer.

p0deje commented 4 years ago

I have also experienced a bug occasionally, but not always, when pinning a new item when pins are on the bottom—it makes all the pins disappear from the list.

Indeed I can reproduce this bug. I'll fix it.

Stickyhavr commented 4 years ago

Indeed I can reproduce this bug. I'll fix it.

It may be related to showing only a certain number of lines, but I'm not sure. Glad you could reproduce it. :-)

borekb commented 4 years ago

Thanks for your replies. Just quickly:

Here's Clipy's UI for reference – not saying it's ideal but it shows that there are ways to deal with long lists / performance / UI complexity.

Screenshot 2020-09-08 at 09 44 21

I should say that having 500 items is probably pretty extreme 😄; most people have their Clipy popup much smaller.

As for the bug (Maccy stops recording history), I think it happens after I paste my pinned item via a keyboard shortcut (cmd-m in my case). I'll keep watching it and post a separate issue if I can reliably reproduce this.

p0deje commented 4 years ago

cmd-shift-v is often used by apps for "paste without formatting", e.g., Google Docs. cmd-alt-v is safer.

This is probably why I haven't used it in the first place. I like @Stickyhavr explanation of CMD+SHIFT+C though, so let's keep it the way it is now.

About the pinned items: most clipboard managers have separate sections for them, which makes the most sense to me. Dealing with lots of items: there are several ways to do it, e.g., you can visually suggest that there are more items (e.g. add a "scroll to see more" menu item) or use nesting.

Unfortunately, it's not that simple to have scrolling. It's done automatically only when the menu can't fit into the screen. Nesting is inconvenient as you need to mouse over and I like to do everything with a keyboard.

Here's Clipy's UI for reference – not saying it's ideal but it shows that there are ways to deal with long lists / performance / UI complexity.

Sure, but I don't personally like this UI. I prefer a long list with fast search and keyboard-first actions over nesting and mouse-controlled behavior. It's perfectly fine to have Maccy its own way and not copy other apps.

As for the bug (Maccy stops recording history), I think it happens after I paste my pinned item via a keyboard shortcut (cmd-m in my case). I'll keep watching it and post a separate issue if I can reliably reproduce this.

Please, post more details if you face this issue again.

Stickyhavr commented 4 years ago

Please, post more details if you face this issue again.

It happened to me again today. I can't tell what's making it happen though. Maccy seems to always work perfectly when I just let it do its thing. When I have trouble and I notice it's not logging new copied items, it's usually when I've been playing with it. So, one thought is that it could be relate to having the Maccy preferences open. My other hunch is that it's somehow related to the pins on bottom bug because I've never had any trouble at all when pins are at the top. If I can pinpoint it further, I will definitely let you know! Thanks for all that you do.

Stickyhavr commented 4 years ago

Ok, I spent some time pounding on Maccy today and so far I haven't found a way to re-create whatever conditions cause it to stop adding copied items to the list. However, I did encounter something that, in the past, I probably confused for that buggy behavior:

Sometimes there's a delay from when an item is copied to when it shows up on Maccy's list. So, in other words, if I copy some text and then immediately show/open Maccy (using the hotkey), occasionally the last-copied item is not present on the list! However, if I then hit the hotkey twice (once to "close" Maccy, i.e. take the focus back to the previous app and then a second time to show/open Maccy again) then voilà—the item has appeared on the list. This only happens when I open Maccy very quickly after making the copy. So it's likely that some (but not all) of the times I thought Maccy wasn't copying, it was actually this behavior I was noticing.

I do still believe I have experienced the other bug and so I will continue to try to re-create it. I'll let you know if I find anything. The more I use the app, the more I love it—so thanks again for all of your hard work.

p0deje commented 4 years ago

This happens because by default Maccy checks for new copies every 1 second. So sometimes you can copy something and not see it immediately in Maccy. I'm thinking about decreasing this time to something like 100ms, but I need to make sure it doesn't create additional load.

Stickyhavr commented 4 years ago

Ok, great. An expected behavior. :-) I'm not a coder, so I hadn't looked through the code to see how Maccy gets info from the clipboard, but it makes sense that Maccy would be periodically looking at the clipboard and logging its contents.

Once per second actually seems pretty reasonable to me. I've never had a problem in everyday use, only when testing Maccy. I guess if there's no load penalty then it doesn't matter, but there's always a load penalty, right? ;-) Maybe 500ms?

Now that I understand how it works I'm starting to doubt the existence of that other bug. I was just copying too quickly in my tests. I'll keep trying though.

p0deje commented 4 years ago

I've just pushed a lot of fixes related to how pinned items are handled when they are at the bottom. Those should definitely fix the folllowing:

I have also experienced a bug occasionally, but not always, when pinning a new item when pins are on the bottom—it makes all the pins disappear from the list. I have never seen that same thing happen when pins are on the top.

p0deje commented 4 years ago

As for the rest of the feedback, I'll need some time to think through everything you guys wrote and maybe create separate issues to track the work. Thanks for all the feedback!

Stickyhavr commented 4 years ago

Ugh, darn. After several flawless days of using the new version (0.16.0) I hadn't had any problems with Maccy so I was thinking everything was fixed. However, today I noticed that none of my copy actions were being logged in Maccy, the last one was from yesterday afternoon (fortunately, none of them were critical so no problem). I looked back through my email from yesterday and it appears that two things happened around the time it stopped: 1) I pasted one of my pins. 2)Then I put my Mac to sleep shortly thereafter. (I have a keyboard shortcut assigned to Sleep and so any time I'm going to be away from my computer for a while I put it to sleep). So I wonder if it has anything to do with either of those things. If I can ever make it happen, I will certainly let you know. That's all I've got for now.

p0deje commented 4 years ago
  1. Whenever this happens again, please grab defaults read org.p0deje.Maccy and post here.
  2. One thing that comes to my mind is that timer which checks for new copies got somehow broken after going to sleep. It's unlikely though.
  3. Can you check pasting all your pins? Maybe one of them has malformed data that somehow breaks Maccy?
p0deje commented 4 years ago

Nevermind, I've just reproduced the issue with pins. Will look into it.

Stickyhavr commented 4 years ago

Ah, it does seem to be pin related. Four of my pins are the make keyboard modifiers: ⌘⌥⌃⇧ and at first I thought they were the ones causing the problem, but upon further testing it seems like any of my pins can cause this to happen but only when pins are at the bottom. With pins at the top, I have not been able to make it happen. Here's the defaults at the time of the bug in case it helps, though it seems like you're already on the case:

Last login: Sat Sep 19 16:32:28 on ttys000 MacBook-Pro ~ % defaults read org.p0deje.Maccy { "KeyboardShortcuts_popup" = "{\"carbonModifiers\":4352,\"carbonKeyCode\":8}"; "NSStatusItem Preferred Position Item-0" = 319; "NSStatusItem Visible Item-0" = 1; "NSWindow Frame SUStatusFrame" = "696 726 400 129 0 0 1792 1097 "; "NSWindow Frame SUUpdateAlert" = "586 528 620 392 0 0 1792 1097 "; "NSWindow Frame com.sindresorhus.Preferences.FrameAutosaveName" = "584 354 486 528 0 0 1792 1097 "; SUEnableAutomaticChecks = 1; SUHasLaunchedBefore = 1; SULastCheckTime = "2020-09-16 16:44:28 +0000"; SUSendProfileInfo = 0; fuzzySearch = 1; hideFooter = 0; hideSearch = 0; hideTitle = 1; history = {length = 42, bytes = 0x62706c69 73743030 a0080000 00000000 ... 00000000 00000009 }; historySize = 196; ignoreEvents = 0; ignoredPasteboardTypes = ( "com.apple.flexo.consumerFFPasteboardUTI", "dyn.ah62d4rv4gu8zevnbnbczexpfqvy0c", "net.antelle.keeweb", "de.petermaurer.TransientPasteboardType", "com.typeit4me.clipping", REAPERMedia, "com.agilebits.onepassword", "Pasteboard generator type" ); imageMaxHeight = 100; maxMenuItems = 40; migrations = { "2020-02-22-history-item-add-copied-at" = 1; "2020-02-22-history-item-add-number-of-copies" = 1; "2020-04-18-switch-storage-to-core-data" = 1; "2020-04-25-allow-custom-ignored-types" = 1; "2020-06-19-use-keyboardshortcuts" = 1; "2020-09-01-ignore-keeweb" = 1; }; pasteByDefault = 1; pinTo = bottom; popupPosition = statusItem; removeFormattingByDefault = 1; showInStatusBar = 1; sortBy = lastCopiedAt; } MacBook-Pro ~ %

p0deje commented 4 years ago

The issue with pinned items is fixed in cd81ac0 and will be released in the next version.

Stickyhavr commented 4 years ago

Thanks so much for all that you do!

Stickyhavr commented 4 years ago

Hello. I've got one more pinned items issue to report; however, I am not able to re-create it so it's not a very useful report. Occasionally some (but not all) of my pinned items are not shown in the list! Quitting Maccy and restarting it resolves the issue. I will try to keep an eye out for what might be causing it to happen and will report back if I find anything useful. And yes, my pins are on the bottom. Thanks

p0deje commented 3 years ago

Most of the things described in the issue are now implemented and fixed. Please create new issues for anything that I've missed.

Thanks for all the feedback!