From 944fc8685d4c1b2c6093fd3475d496b087e2f1ee Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Mon, 23 Dec 2024 02:41:40 -0600 Subject: builds and lists window names --- devilspie/Makefile | 4 ++-- devilspie/devilspie2.lua | 46 --------------------------------------- devilspie/lauxlib.h | 0 devilspie/lua/awesome.lua | 46 +++++++++++++++++++++++++++++++++++++++ devilspie/lua/file-header.lua | 29 ++++++++++++++++++++++++ devilspie/scripts/awesome.lua | 46 --------------------------------------- devilspie/scripts/file-header.lua | 29 ------------------------ 7 files changed, 77 insertions(+), 123 deletions(-) delete mode 100644 devilspie/devilspie2.lua delete mode 100644 devilspie/lauxlib.h create mode 100644 devilspie/lua/awesome.lua create mode 100644 devilspie/lua/file-header.lua delete mode 100644 devilspie/scripts/awesome.lua delete mode 100644 devilspie/scripts/file-header.lua diff --git a/devilspie/Makefile b/devilspie/Makefile index c9cae33..18636be 100644 --- a/devilspie/Makefile +++ b/devilspie/Makefile @@ -8,9 +8,9 @@ run: echo apt install lua-posix ./devilspie2 -l ./devilspie2 -w - sleep 3 - ./devilspie2 -d -e -f scripts + ./devilspie2 -d -e -f lua build: + reset gcc *.c -o devilspie2 ${PKGINC} \ -lwnck-3 -lgtk-3 -lgdk-3 -lz -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -llua5.1 -lX11 -lXinerama diff --git a/devilspie/devilspie2.lua b/devilspie/devilspie2.lua deleted file mode 100644 index dc11905..0000000 --- a/devilspie/devilspie2.lua +++ /dev/null @@ -1,46 +0,0 @@ --- Support Awesome 3.5 WM - -local posix = require("posix"); -local os = require("os"); - -local awesome = "/usr/bin/awesome-client" -if not posix.stat(awesome, "type") == "file" then - awesome = nil; -end - --- Check for tiling mode -function is_tiling() - if awesome then - return true; - end - return false; -end - --- Make window floating --- Parameters: state - true to make window floating, else make window tiled -function set_tile_floating( state ) - if not awesome then - return nil; - end - - if state then state = "true" else state = "false" end - - local xid = get_window_xid(); - - local command = "echo "; - command = command .. "'"; - command = command .. " local naughty = require(\"naughty\");"; - command = command .. " local awcl = require(\"awful.client\");"; - command = command .. " local client = require(\"client\");"; - command = command .. " for k, c in pairs( client.get() ) do"; - command = command .. " if c.window == " .. xid .. " then"; - command = command .. " awcl.floating.set(c, " .. state .. ");"; - command = command .. " end"; - command = command .. " end"; - command = command .. "'"; - command = command .. " | "; - command = command .. awesome; - - debug_print("Awesome floating: " .. command); - return os.execute( command ); -end diff --git a/devilspie/lauxlib.h b/devilspie/lauxlib.h deleted file mode 100644 index e69de29..0000000 diff --git a/devilspie/lua/awesome.lua b/devilspie/lua/awesome.lua new file mode 100644 index 0000000..dc11905 --- /dev/null +++ b/devilspie/lua/awesome.lua @@ -0,0 +1,46 @@ +-- Support Awesome 3.5 WM + +local posix = require("posix"); +local os = require("os"); + +local awesome = "/usr/bin/awesome-client" +if not posix.stat(awesome, "type") == "file" then + awesome = nil; +end + +-- Check for tiling mode +function is_tiling() + if awesome then + return true; + end + return false; +end + +-- Make window floating +-- Parameters: state - true to make window floating, else make window tiled +function set_tile_floating( state ) + if not awesome then + return nil; + end + + if state then state = "true" else state = "false" end + + local xid = get_window_xid(); + + local command = "echo "; + command = command .. "'"; + command = command .. " local naughty = require(\"naughty\");"; + command = command .. " local awcl = require(\"awful.client\");"; + command = command .. " local client = require(\"client\");"; + command = command .. " for k, c in pairs( client.get() ) do"; + command = command .. " if c.window == " .. xid .. " then"; + command = command .. " awcl.floating.set(c, " .. state .. ");"; + command = command .. " end"; + command = command .. " end"; + command = command .. "'"; + command = command .. " | "; + command = command .. awesome; + + debug_print("Awesome floating: " .. command); + return os.execute( command ); +end diff --git a/devilspie/lua/file-header.lua b/devilspie/lua/file-header.lua new file mode 100644 index 0000000..f09459c --- /dev/null +++ b/devilspie/lua/file-header.lua @@ -0,0 +1,29 @@ +--[[ + This file is part of devilspie2 + Copyright (C) 2023 Darren Salt + + This is an example primarily intended for use in your own + configuration files etc. without causing licence contamination. + As such, no licence conditions are attached; it may be modified and + redistributed freely. Essentially, do what you want with it. + + That said, retaining proper attribution would be appreciated. +]] +-- Optional, but probably useful. (Technical feedback would be helpful.) +set_adjust_for_decoration(true) +-- Set up some variables containing likely-to-be-referenced values +win_class = get_window_class() +win_role = get_window_role() +win_name = get_window_name() +app_name = get_application_name() +ins_name = get_class_instance_name() +if ins_name == nil then ins_name = '[nil]' end +grp_name = get_class_group_name() +if grp_name == nil then grp_name = '[nil]' end +-- Debug output ("devilspie2 -d") +decorated = get_window_is_decorated() and "yes" or "no" +debug_print("\nName: '" .. win_name .. "'\nApp: '" .. app_name .. "'\nClass: " .. win_class .. "\nRole: <" .. win_role .. ">") +debug_print ("Process: '" .. get_process_name() .. "'\nDecorated (jwc note. this is in the lua script): " .. decorated) +debug_print ("Instance: '" .. ins_name .. "' & '" .. grp_name .. "'") + +-- Add your stuff here! diff --git a/devilspie/scripts/awesome.lua b/devilspie/scripts/awesome.lua deleted file mode 100644 index dc11905..0000000 --- a/devilspie/scripts/awesome.lua +++ /dev/null @@ -1,46 +0,0 @@ --- Support Awesome 3.5 WM - -local posix = require("posix"); -local os = require("os"); - -local awesome = "/usr/bin/awesome-client" -if not posix.stat(awesome, "type") == "file" then - awesome = nil; -end - --- Check for tiling mode -function is_tiling() - if awesome then - return true; - end - return false; -end - --- Make window floating --- Parameters: state - true to make window floating, else make window tiled -function set_tile_floating( state ) - if not awesome then - return nil; - end - - if state then state = "true" else state = "false" end - - local xid = get_window_xid(); - - local command = "echo "; - command = command .. "'"; - command = command .. " local naughty = require(\"naughty\");"; - command = command .. " local awcl = require(\"awful.client\");"; - command = command .. " local client = require(\"client\");"; - command = command .. " for k, c in pairs( client.get() ) do"; - command = command .. " if c.window == " .. xid .. " then"; - command = command .. " awcl.floating.set(c, " .. state .. ");"; - command = command .. " end"; - command = command .. " end"; - command = command .. "'"; - command = command .. " | "; - command = command .. awesome; - - debug_print("Awesome floating: " .. command); - return os.execute( command ); -end diff --git a/devilspie/scripts/file-header.lua b/devilspie/scripts/file-header.lua deleted file mode 100644 index d38fa34..0000000 --- a/devilspie/scripts/file-header.lua +++ /dev/null @@ -1,29 +0,0 @@ ---[[ - This file is part of devilspie2 - Copyright (C) 2023 Darren Salt - - This is an example primarily intended for use in your own - configuration files etc. without causing licence contamination. - As such, no licence conditions are attached; it may be modified and - redistributed freely. Essentially, do what you want with it. - - That said, retaining proper attribution would be appreciated. -]] --- Optional, but probably useful. (Technical feedback would be helpful.) -set_adjust_for_decoration(true) --- Set up some variables containing likely-to-be-referenced values -win_class = get_window_class() -win_role = get_window_role() -win_name = get_window_name() -app_name = get_application_name() -ins_name = get_class_instance_name() -if ins_name == nil then ins_name = '[nil]' end -grp_name = get_class_group_name() -if grp_name == nil then grp_name = '[nil]' end --- Debug output ("devilspie2 -d") -decorated = get_window_is_decorated() and "yes" or "no" -debug_print("\nName: '" .. win_name .. "'\nApp: '" .. app_name .. "'\nClass: " .. win_class .. "\nRole: <" .. win_role .. ">") -debug_print ("Process: '" .. get_process_name() .. "'\nDecorated: " .. decorated) -debug_print ("Instance: '" .. ins_name .. "' & '" .. grp_name .. "'") - --- Add your stuff here! -- cgit v1.2.3