Commit Graph

139 Commits

Author SHA1 Message Date
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
SammysHP 27133d19f4 Fix typo in README 2014-04-05 12:41:00 +02:00
Emmanuel Lepage Vallée 4f3962b265 Merge pull request #29 from ch3sh1r/patch-1
Typo in xephyr.sh comment
2014-03-31 22:23:21 -04:00
Alexey Bednyakov 5519a1ed55 Typo in xephyr.sh comment 2014-03-31 21:06:00 +04:00
Emmanuel Lepage Vallee 16e36332e5 Add Awesome 3.5.3 support 2014-03-30 01:21:24 -04:00
Emmanuel Lepage Vallee 8ae645c597 Improve documentation 2014-03-08 01:00:32 -05:00
Emmanuel Lepage Vallee ebf360dae8 Add settings.force_odd_as_intrusive option 2014-03-06 22:51:21 -05:00
Emmanuel Lepage Vallée a235f864f7 Merge pull request #24 from blueyed/match_client-dont-tag-with-nil
Do not tag clients with nil tag
2014-03-05 21:38:05 -05:00
Daniel Hahler e968109ddf Do not tag clients with nil tag
With no selected tag (e.g. during startup, as long as no client with a
rule has been processed), cur_tag would be nil and then the match for
exclusive would be ~= true.
2014-03-06 03:26:02 +01:00
Emmanuel Lepage Vallee 25ca673c41 Always add 'N/A' when the class is invalid 2013-11-26 07:35:57 -05:00
Emmanuel Lepage Vallee a7d62684ac Fix tag 'setscreen' 2013-10-11 00:08:58 -04:00
Freehaha 6c820481f0 Merge branch 'master' of github.com:freehaha/tyrannical 2013-09-13 23:41:49 +10:00
Freehaha a2931e0bb8 bugfix: new client not focused when not assigned to tags 2013-08-26 22:05:54 +10:00
haha 0c738ad6e5 fix auto focus 2013-08-25 15:22:28 +10:00
Freehaha c3f96594fd auto focus on new clients unless it has "no_autofocus" property 2013-08-24 00:42:14 +10:00
Emmanuel Lepage Vallee 83a69e0b19 Add more documentation about how to use the settings 2013-08-08 18:31:44 -04:00
Emmanuel Lepage Vallee 417c962a78 Be sure to set the right default layout 2013-08-08 18:28:06 -04:00
Emmanuel Lepage Vallee 45c7d23d88 Improve issue #20 2013-07-04 00:33:50 -04:00
Emmanuel Lepage Vallee ce21f1b09e Refactor code to make future startup notification 'launch with attributes' feature work 2013-06-23 21:51:06 -04:00
Emmanuel Lepage Vallee e5e1ec10b9 Support clients with multiple matches on multiple screens.
Honestly, I don't really like this commit, but I do agree that Tyrannical
cannot just ignore bugs to keep the code simple forever. I tried this code
for 1 week and it doesn't seem to cause regressions, so I commit it. Please
report bugs on github if you experience degraded functionalities.
2013-06-22 18:12:12 -04:00
Emmanuel Lepage Vallee 685e0e1cea Fix issue #20 2013-06-15 01:43:57 -04:00
Emmanuel Lepage Vallée 347293a846 Update documentation to say Tyrannical require Awesome 3.5+
Fix issue #19
2013-06-14 11:55:54 -04:00