Giter Club home page Giter Club logo

Comments (5)

Cimbali avatar Cimbali commented on June 14, 2024

From the warning you get, I suppose you only have 1 screen ? Then the "swap screens" functionality can't do anything indeed.

Let's check this, can you run the following in a python console? Also what's your Gtk version?

import gi
from gi.repository import Gdk
Gdk.Display.get_default().get_n_monitors()

We could disable that button or something in that case, but that means we need to watch for adding/removing screens events, which isn't really our role and were added in Gtk 3.22. Maybe an error message is enough.

from pympress.

 avatar commented on June 14, 2024

No, i have 2 screen, but my wm is i3wm

Python 3.6.4 (default, Jan 5 2018, 02:35:40)
[GCC 7.2.1 20171224] on linux
Type "help", "copyright", "credits" or "license" for more information.
import gi
from gi.repository import Gdk
main:1: PyGIWarning: Gdk was imported without specifying a version first. Use gi.require_version('Gdk', '3.0') before import to ensure that the right version gets loaded.
Gdk.Display.get_default().get_n_monitors()
2

from pympress.

Cimbali avatar Cimbali commented on June 14, 2024

So if you have the right amount of screens I'm guessing it's not responding to the way we place windows. We do it pretty straightforwardly: get the monitor position, move window to those coordinates.

As I don't have i3wm it's going to be hard to tell what that is caused by, but I'm guessing this is due to i3wm being a tiling window manager, so it just doesn't comply with our instructions in order to do its tiling thing. Gtk's documentation says about moving windows (empahsis mine):

Asks the window manager to move self to the given position. Window managers are free to ignore this; most window managers ignore requests for initial window positions (instead using a user-defined placement algorithm) and honor requests after the window has already been shown.

So it seems OK for window managers to ignore requests, meaning we probably can't fix this. However, the windows have different roles (see #54) so you could probably use that to setup your window manager to do the correct thing.

from pympress.

Cimbali avatar Cimbali commented on June 14, 2024

Well I'm afraid this is going to be hard to implement or even check. I don't have i3wm, my distro doesn't have it, and I even tried and failed to run my session with another tiling window manager, bspwm.

from pympress.

Cimbali avatar Cimbali commented on June 14, 2024

After looking into this, i3 doesn't respect the window managers indications, so there's nothing that pympress can do.

You can make shortcuts yourself in i3 though, e.g. for moving windows to monitors (or containers to ouputs, in their terminology). You can even make a command to swap two windows.

from pympress.

Related Issues (20)

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.