Commit Graph

110 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallee 56363e921c Fix the intrusive client screen detection
The code was just plain wrong.
2016-12-25 21:47:54 -05:00
Emmanuel Lepage Vallee dfae077cee Fix 2 deprecation warnings 2016-12-25 21:47:54 -05:00
Emmanuel Lepage Vallee f8aa39a8ab Fix client drag and drop (move) between screens
This is also the job of the request::tag handler to make sure it
works. Tyrannical didn't.
2016-12-25 21:47:54 -05:00
Emmanuel Lepage Vallee da9c371b61 Better detect when a screen has selected tags 2016-12-25 21:47:54 -05:00
Emmanuel Lepage Vallee a0fa9a4e35 Comply with the new official client creation sequence
Tyrannical now use awful.rules for more callbacks. It can be
better integrated, but that's enough for this commit.

This commit also drop the legacy and request sub-module, as the
legacy was dead code anyway amd requests are now mandatory.
2016-12-25 21:47:54 -05:00
Emmanuel Lepage Vallee b4df05fa1d Begin the Tyrannical 2.0 project
Goals:

 * Support changing screen configuration
 * Use the Awesome 3.6 request:: API
 * Make the code sane and documented again
2016-12-25 21:47:54 -05:00
Emmanuel Lepage Vallee be3305b857 Fix a screen boundary detection issue 2016-12-25 21:47:54 -05:00
Emmanuel Lepage Vallee 5e377938e8 Fix more multi-screen issues 2016-12-25 21:47:54 -05:00
Emmanuel Lepage Vallee 9d8ece095b Fix an assert() when using an invalid screen number 2016-12-25 21:47:54 -05:00
Emmanuel Lepage Vallee b307970373 Fix multiple deprecation warnings 2016-12-25 21:47:54 -05:00
Emmanuel Lepage Vallee 8a5b519da4 Adapt to new API changes 2016-12-25 21:47:54 -05:00
Emmanuel Lepage Vallee a82098b75a Begin to adapt Tyrannical for Awesome 3.6
I push this now because it no longer work thanks to Awesome API
changes.
2016-12-25 21:47:54 -05:00
Emmanuel Lepage Vallée 66e703067a Update README.md 2016-05-23 23:41:40 -04:00
Emmanuel Lepage Vallée d2b2cf5e91 Merge pull request #54 from getzze/patch
Change forgotten c.class to get_class(c)
2015-04-08 14:16:40 -04:00
getzze 4652ea457d Change forgotten c.class to get_class(c) 2015-04-08 19:10:13 +01:00
Emmanuel Lepage Vallée 009dee193d Merge pull request #52 from radi-ka/update-readme
Update readme with advanced client matching
2015-03-30 10:46:42 -04:00
radi-ka f0e8e43238 Update readme with advanced client matching
add FAQ entry for client matching based on other properties, like name etc.
2015-03-30 15:27:04 +02:00
Emmanuel Lepage Vallee ab0d7eda43 Add settings.tag, settings.client to set default values for properties 2014-11-12 01:15:27 -05:00
Emmanuel Lepage Vallee 7f3328df48 Add bash and zsh launchers
It is now possible to launch application with Tyrannical properties:

> tyr fullscreen=true,new_tag=true inkscape
2014-11-07 20:19:24 -05:00
Emmanuel Lepage Vallee 5038904ae1 Add a file with all recommanded shortcuts 2014-10-14 23:37:08 -04:00
Emmanuel Lepage Vallée dbaaec7d36 Add FAQ table of content
There was too many items, it will be easier to read with links
2014-09-29 00:14:09 -04:00
Emmanuel Lepage Vallee 603ff2ae14 Add 'callback' client property 2014-09-29 00:07:16 -04:00
Emmanuel Lepage Vallee c501fffbd5 Remove the 'clone_on' property
This feature never fully worked and cannot work. It is *impossible*
to implement it with the current Awesome core design.

While I know it is often requested, I cannot and will not support
it any longer. This belong to the Awesome API, not Tyrannical.
2014-09-28 23:28:49 -04:00
Emmanuel Lepage Vallee ab51c72484 Add `tag` client property and avoid keeping volatile tags in memory 2014-09-28 23:27:18 -04:00
Emmanuel Lepage Vallée 27d30c3ea3 Merge pull request #39 from freehaha/master
Allow setting custom class for clients to cooperate better with awful.rules
2014-08-07 14:30:10 -04:00
Freehaha ba9ad0ce43 reads awful.client property 'overwrite_class' for custom client class
names.

so in awful.rules.rules one can set
{
    rule = { class = "URxvt", name = "dev"  },
    callback = function(c)
	awful.client.property.set(c, "overwrite_class", "urxvt:dev")
    end
}

and define tyrannical rules with class = {"urxvt:dev"}

Another useful case is to match the google hangouts client that comes
with Chrome, which has the class 'Google-chrome' just like normal
browsing window so one really have to use other properties like 'role'
or 'name' to match these clients.
2014-06-18 22:36:21 +10:00
Emmanuel Lepage Vallee 09dee61938 Add the ability to use max_clients as a function
This also allow to change the tag layout before adding a new client [hack]
2014-05-23 14:19:29 -04:00
Emmanuel Lepage Vallee 3dd7439004 Fix readme (tabs accidently introduced by pull #27) 2014-05-23 13:15:40 -04:00
Emmanuel Lepage Vallee b955204bc5 Refactor some of pull request #27 improvments
* Restore the old README column width to avoid issues with some markdown
implementations

* Rename class_client and instance_client to c_rules as the old name isn't
  significative anymore.

* Merge copy/pasted code back into a single block

* Remove the unused `low`, `rules_c` and`rules_i` temporary variables
2014-05-23 13:13:02 -04:00
Richard Kolkovich 2f219d13c6 Update README with instance matching 2014-05-23 13:12:48 -04:00
Richard Kolkovich a4e263350b re-add instance matching with a proper 'instance' property 2014-05-23 13:12:28 -04:00
Emmanuel Lepage Vallee d97eff6ffa Add support for spawing with Tyrannical arguments (Finally!!!)
It is now possible to spawn with an array of properties, see the README.md
for more details. It require Awesome 3.5.3+, some patch will get into 3.5.6
to make this even better. I also added the 'new_tag' property to be used
with spawn.

* Also fix issue #37, sorry about that one...
2014-05-05 22:36:21 -04:00
Emmanuel Lepage Vallee c22a1e528c Move legacy code out of init.lua 2014-05-03 00:24:24 -04:00
Emmanuel Lepage Vallee 3697f28da8 Finally add documentation 2014-05-02 23:23:35 -04:00
Emmanuel Lepage Vallee 5a6c9abba7 Unify all focus code
It used to be all over the place and using tons of undocumented variables.
This commit is quite intrusive and change a lot of things (hopefully
for the better). Please report any regression.
2014-05-02 22:40:11 -04:00
Emmanuel Lepage Vallee 6dc147d3d6 Dynamically make a tag 'fallback' 2014-05-02 19:13:27 -04:00
Emmanuel Lepage Vallee d0a614d551 Add support for startup notification callbacks
It is now possible to set a function that will be called
when Tyrannical will manage a new client. This function
must return an array of client properties (ontop, floating,
...). The `tag` and `tags` properties will also work. The
key is a startup notification ID. awful.util.spawn will
return this as the second return value if the command was
a success.

Example:
local pid,snid = awful.util.spawn("firefox")
tyrannical.sn_callback[snid] = funtion return {ontop=true} end
2014-05-01 16:44:20 -04:00
Emmanuel Lepage Vallee 04c291cdc9 Add slave/master client properties 2014-05-01 16:34:20 -04:00
Emmanuel Lepage Vallée bfa3efbb91 Update README.md 2014-04-28 04:13:24 +02:00
Emmanuel Lepage Vallee 8ea89a0d97 Merge the fallback branch 2014-04-22 22:19:25 -04:00
Emmanuel Lepage Vallee 39df641b03 Add max_clients support 2014-04-18 23:04:13 -04:00
Emmanuel Lepage Vallee a3d3bc9ad6 Add support for locked tags 2014-04-18 22:47:30 -04:00
Emmanuel Lepage Vallee 8e1144f138 Fix issues with fallback tags 2014-04-15 20:46:27 -04:00
Emmanuel Lepage Vallee e6b6004cce Add support for fallback tags 2014-04-13 02:00:59 -04:00
Emmanuel Lepage Vallée 117bf645dd Merge pull request #35 from gotno/exec_once
Replace the old exec_once logic with a more useful one
2014-04-12 23:14:17 -04:00
gotno b44b436fb0 remove unused code 2014-04-12 17:45:48 -07:00
gotno 5f5c3ecf19 Restore shifty-like functionality to exec_once
exec_once always runs if the command isn't already running, regardless
of whether it's been run before in this session.
2014-04-12 17:31:58 -07:00
Emmanuel Lepage Vallée fb2ed202af Merge pull request #32 from junipergold/master
Fixed error in README. First value is instance, second class.
2014-04-07 10:49:52 -04:00
junipergold b8363fed48 Fixed error in README. First value is instance, second class. 2014-04-07 16:33:55 +02:00
Emmanuel Lepage Vallée f740aa1af4 Merge pull request #30 from SammysHP/patch-1
Fix typo in README
2014-04-05 15:17:24 -04:00