GithubHelp home page GithubHelp logo

emasab / shelltile Goto Github PK

View Code? Open in Web Editor NEW
648.0 648.0 42.0 1.54 MB

A tiling window extension for GNOME Shell

Home Page: https://extensions.gnome.org/extension/657/shelltile/

License: GNU General Public License v2.0

Shell 0.63% JavaScript 99.37%

shelltile's People

Contributors

ddnexus avatar dependabot[bot] avatar diego-rlima avatar emasab avatar gigitux avatar harmth avatar javierbg avatar lagerspetz avatar vantu5z avatar vistaus 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shelltile's Issues

Sensitivity

I have a desktop split into 2 windows, 50/50. When I accidentally click the top bar of a window, it immediately resizes. I think it might be nice if there is a certain pixel drag threshold here so only intended moving triggers resizing.

Group Windows Often Stuck in On Position

I often find that when I go to drag a window somewhere, Shelltile wants to group it with pretty much anything I move it over. I'm not holding down Ctrl, or any other shortcut key, yet it insists that I group it with another window. Often, this devolves into me having a bunch of windows that are way too narrow (height-wise or width-wise), and I get frustrated and turn Shelltile off. Sometimes I go in and disable grouping by following your steps to modify tiling.js, but that goes away with any updates.

I should mention that this isn't a constant/consistent problem, but it is frequent throughout the day.

I assume I'm having this problem because I'm running on Wayland, but I thought I'd let you know.

Does not work with the 'Workspaces to Dock' extension

The title says it all: when the Workspaces to Dock extension is enabled, the windows only occupy the left two-thirds of the screen rather than the entire screen, and they also behave in a bizzare way (disappearing suddenly, etc...) Disabling the abovementioned extension solves the problem.

This is, by the way, the extension I have been wishing for the most in Gnome Shell, thank you very much!

Allow both maximized and unaximized at the same time

Currently extension allows to have groups either maximized or not. It would be nice to have both groups at once.

I'm not sure how I'd like this to work, because right now maximising a window ungroups it. Perhaps it could be changed to Ctrl key (so you group, and ungroup window using the same key), and then maximizing and unmiximising window, would maximise or unmaximise group

Moving windows between workspaces takes the whole group

To reproduce:

Set up Gnome with more than one workspace.
Set up two windows in a tiling group (with ctrl-drag, whatever)
Alt tab such that one of those windows is focused.
Hit Ctrl-Shift-Alt-Arrow to move that window to the other workspace
Notice that both windows came to the new workspace
Hit Ctrl-Alt-Arrow to go back to the first workspace
Notice that neither window is on the first workspace anymore.

Feature Request

I need the ability to always have the window maximize when I drag up, there is a setting in Cinnamon from Linux Mint to achieve this that doesn't exist in shelltile.

Making tiled app fullscreen breaks tiling.

I encounter it a lot that I have firefox tiled, but then open some embedded video fullscreen in it, and when I come back, the tiling is messed up. Seems to be caused by Gnome 3 hiding the top bar in fullscreen -> tiling group gets resized to fit now bigger screen -> exiting fullscreen shows top bar again -> tiling group does not get sized back down properly. VLC for example does it too, so it's not firefox-specific.

For Emacs dragging to the size doesn't maximize to half of the screen (leaves space at bottom)

As the title says, I am only encountering this issue with Emacs, and it is the application that I use the most, so it gets a bit frustrating after a while.

Whenever I drag emacs to the sides (both right and left), it is supposed to maximize to cover such half of the screen. However, with Emacs it leaves a small
shelltile_example
shelltile_example2

space at the bottom. And it does not let me resize it. Also whenever I drag the window to the corners like top right or bottom right, for instance, it leaves a space at the bottom and at the right.

Window placement pre-tiling behavior

As instructed in the readme, I press CTRL (or super if I set it) and then move a window around, getting an orange area indicator (like the ones we get from the normal hot corner resizing, but inside the window)
My problem is that when I press ctrl and then start moving the window, I get a quick glimpse of where it would be placed before the orange indicator vanishes completely, requiring me to either try doing it without certainty (it works even if I don't see where it's going to be placed) or do it again and hope that it's already in a favorable position.
Also, dragging first and only then pressing ctrl works too, but I don't even get any orange area indicator

add tiling overlay background color to settings dialog

while it's possible to set the default orangish color of the tiling overlay within the included css-file, i'd like to be able to do this within the settings dialog (by using a hex-value maybe), so my customizing won't disapperar after an update to the extension was applied

Only maximized windows remember their size

When window is groupped, snapped to corner, snapped to edge, when ungrouped/unsnapped, the size stays the same as in group/snapped one.
When maximizing by snapping to top edge, windows dragged away from it, resizes to its previous size.
If I use win+left, win+right, window remembers its previous size, but I presume that's because it's using standard gnome snapping for it.

Installed from gnome extensions. Does it have up-to-date version?

Shelltile disables keyboard commands for tiling

I have keyboard commands set for tiling using Settings>Keyboard>Keyboard Shortcuts. Shelltile both (A) deletes these settings and (B) prevents user from setting them again (no matter what is done, it resets to the default).

Snap to the edge

Would be cool if a window, when dragged or resized near to an edge could be snapped to the edge, so that one doesn't have to fiddle arount for really maximizing a window to the absolute border (because there are always some pixels left).

Add outer gap

It would be great if we could also define a "gap" for the outside of the windows.

So basically gaps outer as per i3.

Keybindings being overwritten >:(

I'm not sure if you're aware but your extension rebinds my super + (i, j, k, l) and is seriously frustrating. Super + L is default for lock screen btw, please check before you hard-code keybindings, or just don't.
I saw from your commits that you have fixed this but, unfortunately this is not reflecting even after re-installing. I like your extension but I really hate that you can just rebind things without warning -__-

I'd dig around to see the proper API for adding keybindings into the gnome settings menu.

Pls don't do it again.

Add Tiling mode

It would be awesome if it would be possible to activate a Tiling mode, to get a bit of default tiling.
E.g. open first application tile to fullscreen, add a second one tile first to the left and second one to the right, add a third one tile second to upper right and third to lower right.
I know shellshape does this, but it always crashes for me and it would be awesome to have it with your tiling implementation.

Thanks :)

Can't snap window to top

If I ctrl+drag a window to the bottom of an empty screen, a highlight appears that covers the lower 50% of that screen, and the window snaps to that area. If I ctrl+drag it to the top, the highlight only covers the whole screen, and the window can only be maximised. There seems to be no way to snap to the top half of an empty screen.

Gnome shell: 3.18.5 under Ubuntu 16.04

Hide Title bar by using extension Maximus2

Hi, I love tiling and I have a simple idea which may work out of the box to get rid of the title-bars everywhere in tiling mode (always a great feature):

the extension Maximums2 https://github.com/wilfm/GnomeExtensionMaximusTwo can on my gnome indeed not only vanish the title bar of fully maximized windows, but also of windows which are maximized by Super + Left or Super + Right to half of the screen.
Chances are that the same works for tiling

Maximus2 uses the _GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED feature to handle this, i.e. it seems that the windows only need the flag const MAXIMIZED = Meta.MaximizeFlags.BOTH; (or maybe vertical maximization is enough). Something along these lines

The respective code in Maximus2 can be found here https://github.com/wilfm/GnomeExtensionMaximusTwo/blob/master/maximus-two%40wilfinitlike.gmail.com/decoration.js#L137

Is something like this possible to implement?
(I myself unfortunately haven't worked at all with this api/javascript and would be glad if I can motivate someone else with more knowhow by pointing out the possibility =)

Don't arbitrarily change keybindings

Hi,

  • When activating shell-tile extension, my custom keybindings for Super+ArrowKey are changed without asking.

  • There are no configuration options (not even in dconf) to change the keybindings shelltile uses.

  • While shell-tile is active, keybindings for "maximize window" and "restore window" can't be changed so I can't manually restore my keybindings AND use shell-tile. (maximize/restore window keybindings are not needed anyway, since Super+Return already switches between these two states)

  • Even worse, when I disable shell-tile in frustration, my keybindings are NOT restored.

That is really bad behaviour and sours the experience of what would otherwise be a very helpful tool.

Tiling no longer works in Gnome Shell 3.26.1

First off. Amazing extension. Desktop experience on 21:9 monitors is fantastic with this enabled. So, thank you.

I upgraded to 3.26.1 today and noticed the hotkey tiling no longer functions. I can't see any errors in the journal.

Edge snapping still works, including corner and top-half.

How to disable Group windows?

I like the feature, but I want it to disable it, mainly because I drag the windows a lot using alt+click+drag (in my case super+click+drag) and it breaks my workflow...

Tiling on top starts too early

Dragging a window to the top starts tiling before the mouse touches the top edge. This doesn't really matter when you have panel on top, but if you have panel at bottom by using an extension like "Dash to Panel", then it becomes impossible to drag a window to the top (by using only mouse and not the window action key) without tiling it. I don't know if you have done this behaviour intentionally (for easier tiling) but it would be nice if tiling was happening only on the screen edge or add an option at preferences for users who want it that way. Maybe some milliseconds delay before tiling is activated would also be helpful.

Screenshot showing the problem:
screenshot from 2017-02-16 11-38-08

Fullscreen like mode?

Wow, just tried this extension, it's quite nice. If it's of interest I'd like to make a request, it would be even more cool if I could put both windows in a kind of fullscreen state side-by-side, I mean, without the gnome top menu nor the window borders.

Override super-left and super-right

The default gnome shell has this window-snapping thing bound to these keys. I'd prefer them to behave in the same way as super-dragging a window to either side works with shelltile; ie. still be resizable.

Shelltile resizing issue

I'm running gnome-shell 3.22 on Fedora 25 with the updates-testing repository enabled and am having some really strange bugs when using shelltile

If I group applications together they seem to not maintain proper spacing, not remain within the boundaries of the screen, and not resize accurately afterwards. Here is a gallery of numerous attempts to tile windows together:
https://imgur.com/gallery/FJcHA

Every one of those images was taken after using CTRL to hover one window over another which should have tiled them correctly. Instead it doesn't really work at all.

Fortunately, single window snapping to sides/corners still functions perfectly fine so I am still using it for that. As you can tell, I'm also using the dash-to-panel extension but I can't think of how or why that might be causing any issues.

Can't lock screen

Can't lock screen using SUPER+L after enabling ShellTile. SUPER+L now tiles windows like i3 commands, which may be fine for some users, but I need to be able to lock my screen. I've tried other keyboard shortcuts to lock the screen and for some reason they don't work with ShellTile enabled.
Would it be possible to add an option to disable those shortcuts so I can tile just by using the mouse?

Clicking a maximized window's titlebar unmaximize it

After the last upgrade, when I click a maximized window's titlebar, the window unmaximizes. This is very annoying since that si the way I normally switch windows with my mouse so every time I switch to a window that si maximized I have to go ahead re-maximize it again.

How to solve? for the moment just disabling the extension.

add three column layout

With very hight horizontal resolution monitors (>2880) it is common to have three columns of layout. It would be great if the extension supported this.

Odd results with multiple monitors

Thanks for a great extension.
I am having some issues with this extension when my laptop is connected to an external monitor. It seems that the screen edge triggers one the second monitor result in the window jumping back to the primary. The shaded window that shows position are drawn on the primary.

I do want to remark that I am running Gnome on Fedora 25 with Wayland and will test with X11 when I get a chance.

Thanks again

shelltile confuses secondary screens in a 3 screen setup

Hey,

I'm having an issue with a 3 screen setup (1 primary, 2 secondary screens).
ShellTile seems to confuse 2 of the 3 screens.
When dragging a window into the corner of the primary screen it gets placed into the corner on a secondary screen and vice versa.
Attached are 2 screenshots which show the issue.
The big screen is the primary screen.

Apart from that: Thanks a lot for that plugin! :)

Trying to place the Firefox- window into upper-left corner of big screen:
screenshot from 2016-07-14 17-34-01
Trying to place the Terminal-window into left half of small screen:
screenshot from 2016-07-14 17-36-18

Override alt-tab and alt-grave behaviour

It'd be brilliant if any tiled window groups could behave as one "application" (one window group <==> one application) in gnome shell's alt-tab list and consequently be able to switch between windows in a window group using alt-grave. Not sure if it's possible to override the "application" of an existing window (and reset it when it is removed from the group), that would probably be the easiest implementation.

Wrong window size (height) after power safe mode with two screens

I am using Ubuntu 16.04 with GNOME, shelltile and two screens (differenct sizes).

If I place two windows side by side, it worked and looks nice. But if I set my computer into power safing mode and wake it up again, the "side by side windows" are a little bit higher than my screen. You can see this bug in this screenshot (compare it with the next, correct screenshot):
shelltitle-bug

If I change the size manually (for example only the width), the window height jumps back into the correct height and everything is displayed correctly. This is the workaround I am using every time the pc comes back from power safing mode:
shelltitle-bugfix

I am using NVIDIA X Server Settings. This is my setup:
xorg-config

Feature request: Option to change the background color of the grid

@emasab
First of all, this is a really nice GNOME Shell extension. Well done!

shelltile-blue-background-part

What do you think about a feature that allows the user to change the background color of the grid.
Currently, the color is set in the stylesheet.css file. I know I can adapt this file to my prefered color, but what about my mom? She doesn't know CSS 😄.

My proposal is as follows. The prefs.js could be adjusted so that a user can pick the background color and the border color of the grid using a Gtk color chooser widget with some kind of icon paint button.
Here is a mockup for this feature:

shelltile-mockup

Window tiling doesn't adapt to display resolution changes.

I currently have a laptop with a 1080p display, which I use while on the go, but when I'm at work I connect my laptop to a 4K display. I only use one display at a time.

When I switch between displays, the tiling I have set up does not adapt to the new screen size.

For example, if I create a tiling on the 1080p display and connect the 4K display, the windows now only take up the top left quarter of the display. I can still change the ratios between the windows, but I need to break the tiling and recreate it, to take advantage of the full display space.

Going the opposite way is worse (setting up a tiling on the 4K display and disconnecting it), the windows actually stay within the visible area of the screen, but the outermost windows, still stretch all the way our to where the display edge was before, meaning that most of the window content is off screen.

Feature Request - Keyboard commands for tiling

I'm used to only using keyboard commands to tile like Super-Left then Super-Down to move into the lower left quadrant (how Windows 10 does it). I try to avoid using the mouse if possible as it greatly slows me down.

The 'Super' key behaves like the 'Control' (it's a problem sometimes)

When I move a window with the 'Super' key pressed, the extension's behaviour is the same as if I kept the 'Control' pressed - tiling is enabled. It's a problem for me, since I use 'Super'+LeftMouseButton to move windows. I use Gnome 3.22.2. I think one should be able to choose which key they want to use.

Extension overrides Super+L (tiles active window)

Since the last release, Super+L (which I mapped to lock the screen) is overridden by ShellTile. With the extension enabled, Super+L causes the active window to be tiled to the right of the screen.

Reproduction steps

  1. Set the keyboard shortcut for Lock Screen to Super+L
  2. Enable ShellTile (default settings)
  3. Hit Super+L

My Stack

  • Ubuntu Gnome 16.04
  • Gnome 3.18.5

What about shortcuts?

Is it possible to assign keys to specific actions like moving windows to right or left?

Better yet, a way that the extensions handles windows automatically in the desktop, with the bindkeys to move windows, like i3wm

force window size, ignore app grids like terminals

would it be possible to force the window size instead of adhering to the snap requests from applications like gnome-terminal?

asfaiu these requests are just hints to the window manager, and they can be ignored.

tiles overlap bottom task bar

Hi,
If I have terminal open, I cannot see prompt because the bottom of the tiles are behind bottom task bar.
Thanks for fixing this.

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.