Comments (5)
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.
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.
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.
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.
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)
- Pympress (1.5.1+dfsg-3build1) is not loading when using i3 HOT 7
- Pympress crashes on start on Fedora 38 beta. HOT 1
- get_primary_monitor() returns None HOT 2
- Notes are misaligned HOT 2
- Improve Annotations HOT 9
- Undo Clears Slide HOT 4
- Incorrect rendering of greek and math symbols on windows in plots generated with R HOT 14
- First slide in presenter mode. HOT 3
- [Windows] Not loading the proper language HOT 1
- Setup proper visual testing
- Support proper Hi-DPI on Windows HOT 2
- Annotation support for line breaks
- Allow configuring thresholds for colors on elapsed time for estimated time HOT 2
- Help needed for installation under nobara linux
- No video when note slide located at bottom of page HOT 7
- Slide deck overview missing every 2nd slide HOT 5
- Recomend using pipx instead of pip HOT 3
- Shortcuts page in version 1.7.1 shows wrong keys: Shift and Ctrl are mixed HOT 7
- Play gif via animate package does not start animation loop when displayed via Pympress HOT 9
- Save PDF with the Highlights HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pympress.