GithubHelp home page GithubHelp logo

juliendelplanque / mirage Goto Github PK

View Code? Open in Web Editor NEW
34.0 5.0 4.0 1.11 MB

A windows switcher with a previewer for Pharo.

License: MIT License

Smalltalk 94.09% HTML 5.91%
pharo windows-switcher mirage previewer

mirage's Introduction

Mirage Build Status

Demo

Install

Stable version

To install the stable version, you can simply use the Catalog browser and search for 'WindowsPreviewer' or evaluate the following code snippet:

Pharo 6.1

Metacello new
    repository: 'github://JulienDelplanque/Mirage:v1.0.0/src';
    baseline: 'Mirage';
    load

Pharo 7.x

Metacello new
    repository: 'github://JulienDelplanque/Mirage:v2.1.0/src';
    baseline: 'Mirage';
    load

Development version (Pharo 8.0)

Simply evaluate the following code snippet:

Metacello new
    repository: 'github://JulienDelplanque/Mirage:dev/src';
    baseline: 'Mirage';
    load

Version management

This project use semantic versionning to define the releases. This mean that each stable release of the project will get associate a version number of the form vX.Y.Z.

  • X define the major version number
  • Y define the minor version number
  • Z define the patch version number

When a release contains only bug fixes, the patch number increase. When the release contains new features backward compatibles, the minor version increase. When the release contains breaking changes, the major version increase.

Thus, it should be safe to depend on a fixed major version and moving minor version of this project.

Setup

Go to the 'Settings browser' and check the 'Activate' button in 'Mirage' subgroup of 'Tools' group. Then, you can choose the view you want to use by checking the buttons corresponding.

  • If the default shortcut to open the previewer does not fit with you, you can change it from settings as well.
  • It is also possible to change the order used to display windows in the previewer by selecting one the method in "Windows management" setting.

Settings browser

How to use

Once you activated Mirage in the 'Settings browser' hit 'Ctrl+Tab' to open the previewer. You can now use left/right arrow to choose a window and hit the space key to open it.

Key Purpose
(Ctrl/Shift)+Tab Open the previewer (Ctrl for Linux, Shift for Windows and Mac OS).
Left arrow Select window on the left of the current window.
Right arrow/Tab Select the window on the right of the current window.
Space/Enter Set the window selected in the previewer on top.
Esc Quit the windows previewer without changing the current window.

Developers documentation

The wiki holds all the documentation needed to contribute to the project.

If you want to contribute to this project, please follow the contribution guidelines.

Here are some useful links:

mirage's People

Contributors

fortizpenaloza avatar juliendelplanque avatar macta avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mirage's Issues

Blinking window

It appears when a collapsed window's thumbnail is updated.

To fix it, just check if the window is collapsed before updating the thumbnail.
If so, don't update the thumbnail (if it is collapsed, the thumbnail of the window didn't changed).

Refresh thumbnails

Thumbnails of windows gets old and do not represent the window anymore after a certain time...

Implementing a system to update these thumbnails would be cool.

But regenerating all thumbnails at the same time takes time.

Is it possible Mirage causes the font glitch but in P7?

Lots of people are reporting a font glitch issue in Pharo - and it really is noticable in P7 where suddenly characters will be garbled on the screen. This seems to magnify when using Mirage - where I seem to get it every few minutes when Mirage is loaded in a small image (I am loading into OSX 64bit, 7.0.2) - then I load the dev version and then finally my Exercism project (also quite small - but it does drag in Mocketry).

As Mirage, does have an option to refresh thumbnails every x seconds - I wonder if this might exacperate this problem somehow?

I mention this in case it rings any bells.

The workaround is to save your image (or tick/untick trutype fonts in settings) - and this use to be a one off without Mirage loaded, but I find I have to save every 10-20 mins to cure it. (this is empirical, and needs more exploration)

Shortcut does not work

The default shortcut (shift-tab) doesn't trigger Mirage. Instead, tab characters get handled by whatever widget has the focus.

Can't save the Open Shortcut

In Pharo 7, you can't seem to change the open shortcut from Shift-Tab to anything else. If you type something in, and then try to save it it just adds meta-s as an additional shortcut.

Windows-like flipping

I tried Mirage finally and it is a big improvement. However, I was hoping to get it to work like Windows Alt-Tab (aka Flip) function which apparently is also in KDE, MacOS, iOS and Gnome.

First, I couldn't figure out how quickly to "go back to the last window I was in." The list of windows is absolute (rather than z-order), which seems to be part of the problem. Aha - I found the "World order" windows management setting.

As a use-case, I want to toggle between a Browser window and a Playground, because I'm copying/pasting bits of code. In Windows, you just hit "Alt-Tab-Tab (then release Alt)" and you can switch very quickly back and forth between two Windows. It's done with one hand.

In Mirage, there are many more keystrokes, and it also takes two hands:

  1. Ctrl-Tab (left hand, then you let go of Ctrl).
  2. Move (right hand) to arrow keys
  3. Press arrow keys until you find the window you want.
  4. Once you've highlighted the window, press return to select it.

So, I think it's basically asking for 1 thing to make it super ergonomic:

  1. Ctrl-Tab (or the key you configure) enters the switching mode, whereas releasing Ctrl exits it (maybe not possible in Pharo?). Successive Tab (or shift-Tab) without releasing Ctrl moves forward (or back) in the windows list.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.