Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a proper way to set external application for pushing #674

Closed
ziggystar opened this issue Jan 15, 2016 · 11 comments · Fixed by #5024
Closed

Add a proper way to set external application for pushing #674

ziggystar opened this issue Jan 15, 2016 · 11 comments · Fixed by #5024
Labels
good first issue An issue intended for project-newcomers. Varies in difficulty. hacktoberfest Hacktoberfest tag. See https://hacktoberfest.digitalocean.com/faq/ for details. type: enhancement ui

Comments

@ziggystar
Copy link

I searched for 10 minutes how to change the external application for pushing from emacs to vim, when I finally found the drop-down next to the tool bar button.

Please add a proper way of changing this setting through a menu action. I think it's not good style to have an action only available through the tool bar.

@oscargus
Copy link
Contributor

What would you suggest to be a proper way?

@ziggystar
Copy link
Author

I think proper would be either having it within the settings or accessible by menu.

One intuitive way would be adding a menu entry (with a sub menu) right beside Tools -> Push Entries. I've looked through this menu several times.

And you're sure there is no other way to set this? Maybe I've just missed it.

@oscargus
Copy link
Contributor

You can edit the preferences file. :-)

I think the idea is that since one (typcially) press the button to push, having the setting exactly there is quite convenient. On the other hand, since most users do not change it continuously one can ask if it is needed. I think an additional dropdown in the preferences tab may make sense. Maybe a submenu below the "Push entries...". Let's see who implements it. :-)

@lenhard
Copy link
Member

lenhard commented Jan 26, 2016

related #382

@lenhard lenhard removed the JabCon label Jan 26, 2016
@ziggystar
Copy link
Author

How should this function work, suppose one were to implement it using Actions?

One action for pushing to each application

Pro

  • ability to configure hotkeys for each application

Con

  • you'd have more than one button and menu entry (one for push to emacs, one for push to vim...), requires some tricks to reduce burden on user (see below)

I think the current implementation partially belongs here, since you have this button with a selectable target application. But as I noted, the menu-way of accessing these actions is broken, since you cannot change the target of the menu action. The canonical way to transfer this to the menu would be a sub menu to select the target application to push to, but this is cumbersome.

One push action, select target application in preferences

Pro

  • obvious how to implement button, menu, hotkey
  • clear design

Con

  • cumbersome if you are working with multiple applications (actually I used both Vim and Emacs some weeks ago and wanted to insert references in both, but I suppose this is a rarely used feature)

Configurable push actions

Another approach would be to not have all available applications as possible targets, but to configure explicit targets. This could include Vim twice, but with different parameters.

This would enable using two different instances of Vim, and selectively pushing to each instance from Jabref, while never having to deal with other targets in the UI (only within the preferences.

Since this would reduce the number of targets (to one in most cases), one could have a dedicated button, configurable hotkey, or menu entry, for each target.

Pro

  • reduces number of targets (usually one, more for power users)
  • targeting different instances of the same application

Con

  • requires most changes to code base
  • unclear how default looks like; if no application is configured initially, the feature would become invisible in the UI

@koppor
Copy link
Member

koppor commented Jan 22, 2018

Screenshot of the dropdown:

grafik

@koppor koppor added good first issue An issue intended for project-newcomers. Varies in difficulty. and removed PE1718 labels Mar 9, 2018
@slyr91
Copy link

slyr91 commented Mar 27, 2018

Hello, is anyone working on this currently? If not I would like to take a stab at it.

@lenhard
Copy link
Member

lenhard commented Mar 27, 2018

@slyr91 That is great to hear! No one is currently working on this issue and you are very much invited to have a go at it.

You can find some information about JabRef development on these pages https://github.com/JabRef/jabref/wiki Especially here is some info on how to get started and get JabRef to compile: https://github.com/JabRef/jabref/wiki/Guidelines-for-setting-up-a-local-workspace

When you think you have something ready and want feedback on your code, you can open a pull request and we will review it.

@tobiasdiez
Copy link
Member

@slyr91 Feel free to work on it! 👍
Please base your pull request on the maintable-beta branch and not master. We are currently switching to JavaFX for the UI and in the progress made some changes to the menu and toolbar.

From the solutions @ziggystar proposes in #674 (comment), I like "Configurable push actions" the most, but "One push action, select target application in preferences" is already a good start.

@slyr91
Copy link

slyr91 commented Mar 29, 2018

Awesome! I will get started on this soon. Give it a good try this weekend. Should I open a pull request with the WIP title?

@Siedlerchr Siedlerchr added the hacktoberfest Hacktoberfest tag. See https://hacktoberfest.digitalocean.com/faq/ for details. label Oct 2, 2018
@tobiasdiez
Copy link
Member

Thanks to @calixtus this is now implemented in the latest development version. You can select the push to application now in the preferences. Could you please check the build from http://builds.jabref.org/master/. Thanks! Please remember to make a backup of your library before trying-out this version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue An issue intended for project-newcomers. Varies in difficulty. hacktoberfest Hacktoberfest tag. See https://hacktoberfest.digitalocean.com/faq/ for details. type: enhancement ui
Projects
None yet
8 participants