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

Feature request: Mousewheel #2

Open
oliwarner opened this issue Dec 30, 2011 · 4 comments
Open

Feature request: Mousewheel #2

oliwarner opened this issue Dec 30, 2011 · 4 comments

Comments

@oliwarner
Copy link

GTK/Gedit seemingly dumped mouse-users and dropped mouse wheel support for changing tabs.

Is there any scope in this project for trying to bring it back?

@jefferyto
Copy link
Owner

Hi Oli,

Apologies for overlooking this :-( I think this would make more sense as a separate plugin; you can use the original GtkNotebook code and gnome-terminal's re-implementation as a starting point. I'll leave this open, in case someone would like to send patches / pull requests :-)

Jeff

@ubershmekel
Copy link

Sounds correct to me that this is a separate project as well. Scroll-wheel tab switching has always seemed like a bug to me.

@ferdnyc
Copy link

ferdnyc commented Aug 5, 2013

While I don't like mousewheel tab switching either, as a personal preference, it does seem like a pretty natural fit with this plugin for those who want it.

Don't forget that gedit plugins are configurable. (Though, of the 34 currently listed in the Plugins tab of my gedit installation, exactly three of them — Draw Spaces, Insert Date/Time, and Python Console — actually enable the Preferences button. It's definitely an underutilized feature.)

I suppose part of that may indicate a community bias towards just splitting features out into multiple plugins, instead of adding configurability, since it's "easier" to just enable/disable entire plugins as needed. I see the point there, but the many-plugins-from-many-disparate-sources model creates its own issues of maintainership: The more plugins you have, the more potential for upgrade problems due to out-of-date or abandoned code.

Regardless, the point is that mousewheel scrolling could be added as an optional feature to control-your-tabs; it doesn't need to be forced on everyone just because it's included.

@jefferyto
Copy link
Owner

@ferdnyc I don't disagree that this could be an optional feature, and patches / pull requests are welcome.

I understand from a user's perspective, this isn't a big deal (just one feature / preference setting). But from an author's point of view, it isn't as simple:

  • This isn't a feature I personally use / am missing. Switching tabs from the keyboard was an itch I had to scratch (like most open source software), so I'm willing spend time and energy implementing this. Doing so for other features becomes harder to justify (personally).
  • Maintaining features also takes effort. Even when it's optional to the user, I'd still need to make sure everything continues to work with each new Gedit release.
  • I'm not sure switching tabs using the mouse scrollwheel, from a user experience perspective, is the best idea. It would be too easy to accidentally switch tabs when you want to scroll the document, just because your mouse cursor was over the wrong place (the tab bar).

(I'd be more interested in scrolling the tabs, like in Firefox, but I'm not sure if this is even possible with the current Gtk notebook widget.)

As for small vs large plugins, there are arguments that can be made for either side. Personally I prefer smaller plugins because:

  • A larger plugin would be less likely to be updated in a timely manner, e.g. if it breaks after a new Gedit release, than a set of smaller plugins. A new release of a larger plugin would need to wait for the feature that takes the longest to fix, while already-fixed features wait in limbo. Smaller plugins can be updated and released individually.
  • Smaller plugins follow the Unix philosophy ("do one thing and do it well").

Just my 2 cents :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants