Giter Site home page Giter Site logo

dsalt / devilspie2 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gitgnu/gnu_devilspie2

120.0 120.0 11.0 937 KB

Devilspie2 is a window matching utility, allowing the user to perform scripted actions on windows as they are opened and closed.

License: GNU General Public License v3.0

Makefile 4.78% Roff 1.17% C 94.05%
x11 xorg

devilspie2's People

Contributors

a1346054 avatar dsalt avatar gusnan avatar helmutg avatar hifi avatar hmbr avatar hnsr avatar mowgli avatar ntd avatar rainorigami avatar rbarzic avatar rshadow avatar themylogin 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

devilspie2's Issues

add get_window_strut()

seems useful to have a matching getter for the existing setter "set_window_strut()"

(trying to tag this as a feature request ... obviously it's not a bug)

documentation: homepage, manual, man page, readme

https://www.nongnu.org/devilspie2/ says:

Also see the latest version of the complete README and the manual (WIP).

Manual link is 404. Attempted to find via site search but unsuccessful.

man devilspie2 is quite brief and suggests

More details in /usr/share/doc/devilspie2/README.
...
Script Commands
See the README or the manual linked from the homepage for a detailed description of the commands recognized by the Lua script.

The README is pretty extensive. Is there in fact another document? If yes then is it possible to make it available somewhere? Website should be update to fix the link or remove the reference from website and man page.

In either case I suggest adding the URL of the homepage to the man page for clarity. It is found at the bottom of the README but a person may not notice it.

Perhaps it would be worthwhile to put the README text directly into the man page since that is the standard location.

Makefile race condition

It's very unlikely, but got an automated report at https://bugs.gentoo.org/881473 where obj/ dir hadn't been created yet given using $(BIN)/$(NAME): $(OBJ) $(OBJECTS) rather than $(OBJECTS): $(OBJ) or so, and order isn't guaranteed.

Assembler messages:
Fatal error: can't create obj/devilspie2.o: No such file or directory
make: *** [Makefile:101: obj/devilspie2.o] Error 1 shuffle=2250841411

May or may not be able to reproduce if use GNU make-4.4 and its new shuffle option with the same seed:

GNUMAKEFLAGS="--shuffle=2250841411" make

missing error.h in src/script_functions.c

after installing the necessary additional packages to build on Oracle Linux 8, I find the make fails with:

src/script_functions.c:2312:7: note: ‘errno’ is defined in header ‘<errno.h>’; did you forget to ‘#include <errno.h>’?

After #include errno.h in the file, the make works.

Can't decorate initially-undecorated windows

Hello,

decorate_window() doesn't work on windows that are initially undecorated (such as Microsoft Teams). undecorate/decorate works fine on windows launched with decorations tho.

This problem has been observed using the Xfwm4 window manager.

Also see here.

Thanks!

systemd user service file

https://bugs.debian.org/933866

It would be wonderful to have Debian ship a systemd user service file for
devilspie2. I've searched the internet a bit and know a bit about systemd, but
don't know the exact configurations for said service file. My current attempts
are failing. If I get it to work, I'll follow-up to this bug report.

It'd be great to be able to:

systemctl --user enable devilspie2
systemctl --user start devilspie2

and have it work out of the box.

Being a Devuan user, I don't use systemd myself, so I'm in no position to add this. (I currently use Xfce4's application autostart to run devilspie2 on login.)

set_on_back()

Hi,
I'm looking for a method to set a new window at the back instead of the top
I've seen the method "set_on_top()", is it possible to have "set_on_back()"?
Thanks,
Eric

wayland

i assume there is NO way to make devilspie2 work under wayland, window placement etc?

[Question] geometry and maximization

Hello, thanks for this project!

I'm using it to position and create all the windows in the second screen, which in my case means: if x < 1920 then add 1920

The problem I'm having is that: if I unmaximize a window it goes back to the first screen, is there any property to change also the x of the "normal" geometry of maximized windows? Or some other way?

Thanks in advance

name = get_window_name()
type = get_window_type()
if (type ~= "WINDOW_TYPE_DESKTOP") then
    print("Name: "..name)
    print("Type: "..type)
    x, y, width, height = get_window_geometry()
    print("X: "..x..", Y: "..y..", width: "..width..", height: "..height)
    if (x < 1920) then
        -- set_window_position(x + 1920, y)
        -- set_window_geometry(x + 1920, y, width, height)
        set_window_geometry2(x + 1920, y, width, height)
    end
end

*edit:

As a workaround for the moment I take off the maximization, change x and then restore it, it seems to work, I'd still be interested if there are cleaner/easier solutions

    max = get_window_is_maximized()
    maxw = get_window_is_maximized_horizontally()
    maxh = get_window_is_maximized_vertically()
    if max or maxw or maxh then
        unmaximize()
    end
    if max then
        maximize()
    else
        if maxw then
            maximize_horizontally()
        end
        if maxh then
            maximize_vertically()
        end
    end

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.