Commit Graph

23 Commits

Author SHA1 Message Date
Drew Barbarello 557be7cf1b 5 1 new backport x11 fs rework (#1485)
* Use XRandR 1.2 to set fullscreen resolution for single output

Squash of roothorick's PR #497
(also includes Kyzentun's CMake changes from PR #716)

* Cherry-pick json c++1x stuff (b9e3d7174e)

* Cherry-pick c++11 support from 5bba5c0038 and 9f8b045309

* rework Linux (X11) fullscreen, improve display-related Graphics Options

Implement option to select between monitors for exclusive fullscreen mode
on X11 (using XRandR 1.2), or use a fullscreen borderless window.

Reimplement resolution/refresh rate/display mode-related option rows
using Lua, update choices dynamically so only known-good groupings of
resolution/refresh rate/aspect ratio can be selected.

Minimally update Windows/MacOS LowLevelWindow implementations to support
changes made for Linux side. Fullscreen Borderless Window/multi monitor
support from X11 not implemented for those in this commit.

* allow forcibly disabling xinerama use on Linux

When libXinerama is available, SM tries to use it to find the proper
monitor indexes to use to set _NET_WM_FULLSCREEN_MONITORS (on borderless
fullscreen). xfwm4 seems to assume that monitors are numbered in increasing
order from left to right (rather than using the Xinerama-assigned numbers),
so _NET_WM_FULLSCREEN_MONITORS misbehaves on Xfce.

This commit bypasses use of libXinerama, and instead forces SM to induce fullscreen
on the desired monitor in the backup, hacky way: remove all window hints, move window
to desired monitor, then add _NET_WM_STATE_FULLSCREEN hint. This works on
mutter and Xfce.

* Remove multiple warnings on redundant define.

This used to be hard-coded due to pthread related items, but now it's dynamically determined.

* fix _fallback menu behavior for unrecognized aspect ratios

* Fix error recreating existing FS texture

* Bump deployment target to 10.7 to use libc++ on XCode 8

* Add explicit casts to please clang

* Update changelog
2017-06-18 08:55:16 -07:00
Kyzentun 0d9897aed3 Added toasty example. 2015-05-08 11:19:14 -06:00
sigatrev c5451c98d5 Update AFT examples
Added a note to example 3 specifying that it was demonstrating the
"float" property.

Added information about functionality I only just realized existed: the
ability to draw outside of the screen's draw cycle.
2015-03-19 19:20:39 -05:00
sigatrev 3af895b1bf AFT examples
because it seem like I'm the only one who knows what these things do.
2015-03-17 21:46:22 -05:00
Kyzentun 1de3cce1cd Fixed quotes and spelling in new actor examples. Fixed RollingNumbers to do nothing instead of crashing if it's rendered before it loads its metrics. 2015-02-05 18:56:56 -07:00
YungDaVinci fa560d755c Create RollingNumbers.lua 2015-02-05 19:34:00 -05:00
YungDaVinci be89efe77a Create Quad.lua 2015-02-05 19:33:23 -05:00
YungDaVinci b8157ee1f0 Create BitmapText.lua 2015-02-05 19:32:10 -05:00
Kyzentun db1147abac Added ScreenHeartEntry example. 2014-09-30 19:16:21 -06:00
freem 64cd9f898d Various changes to things in the Docs folder:
* remove unused WindowsNotes.txt
* various sm-ssc -> StepMania (and similar) changes
* Rewrote a bit of recommended_practices.txt
* Fix a copy/paste typo in anatomy_of_an_actor.lua
* many other things I can't remember; namely newlines at the end of files
2014-09-14 19:17:17 -05:00
Kyzentun 13066518fe Renamed Header elements to ListHeader. Removed hungarian notation from ScreenMapControllers. 2014-09-04 17:03:11 -06:00
Kyzentun a41d9c0467 Changed GetAttrPath to not warn on optional paths. 2014-08-25 03:38:22 -06:00
freem 4ac7e2ad2d draft 2 of ActorScroller example; still needs work
* removed QuantizePixels because it's unused
* make note that the "BitmapText requires ActorFrame for coloring" bug has existed for a while
* mention what offset actually is in TransformFunction
2014-08-12 13:23:53 -05:00
freem 90b388c586 add first draft of ActorScroller example 2014-08-12 12:43:50 -05:00
Kyzentun a3e6cdbfa2 Added One_Screen_Example_Theme as a minimal example. 2014-08-10 16:17:03 -06:00
Kyzentun ef955bc4d4 A couple actor docs. 2014-08-04 20:27:49 -06:00
Kyzentun 32e5d7e90c Improved three-key support. Default theme should be completely usable with three-key cabinets if ThreeKeyNavigation pref is true. Added ThreeKeyNavigation pref. ScreenOptions:NavigationMode metric now uses that pref to decide between normal and toggle modes. Added GoToFirstOnStart to OptionRowHandlerLua so an option row can control that behavior. Rewrote input for default's ScreenSelectProfile to use an input callback to take advantage of menu button mapping. Fixed inconsistent indentation in ORHL documentation. 2014-07-25 14:33:15 -06:00
Kyzentun 69b5f1ae61 Fixed two typos. 2014-07-19 16:05:16 -06:00
Kyzentun 6cf23c4dc3 Changed many parts of GameCommand to improve error reporting. Fixed GameCommand setpref to not set when loading the command. Minor fix to ScreenOptionsExample.ini to explain that SongInCurrentSongGroup is unusable. CommonMetrics, CourseContentsList, HoldJudgent, OptionRowHandler all have minor changes to fix crashes on malformed theme data. 2014-07-14 15:41:04 -06:00
Kyzentun fb1a251b7a Changed many places that used RageException to use ReportScriptError instead. Wrote ScreenOptionsExample.ini as documentation example for the OptionRow system. Rewrote gamecommands.txt to include all GameCommands. Fixed Commands::GetOriginalCommandString to insert the semicolons that separated the original commands. Changed nonsensical boolean |= true statements in GameCommand.cpp to just use =. Added protection to ReportScriptError to keep it from recursing through itself when an error occurs in error reporting. Added UseAbort option to ReportScriptError for places that want to use an AbortRetryIgnore dialog to query the user. Added ScriptErrorMessage for places that need to handle the warning/dialog part separately. Added logging flag to MESSAGEMAN so that all messages broadcast can be logged when desired. Changed OptionRowHandler::LoadInternal to return a boolean success value as part of error handling. 2014-07-12 14:59:10 -06:00
Kyzentun dcf819d297 Moved all sanity checking for OptionRowHandlerLua to a separate function so that a malformed row does not crash StepMania, and instead prints an error to the log file, and creates a row that does nothing. Added AllowAnything arg to CheckEnum. 2014-06-25 12:08:57 -06:00
Kyzentun c02a17f393 Revised documentation example for OptionRowHandlerLua to make it slightly more clear. 2014-06-19 21:02:35 -06:00
Kyzentun 045e9edcdd Added ArbSpeedMods function for a better way of setting speed modifiers. Added NotifyHandlerOfSelection to OptionRowHandler to support this. Changed exceptions thrown by OptionRowHandlerLua into log warnings because crashing out is not helpful to themers. Fixed SetEnabledForPlayers in OptionRowHandlerLua to correctly read the PlayerNumber enum. Removed silly git add Docs/Themerdocs/Examples/OptionRowHandlerLua.lua and second check for ExportOnChange. 2014-06-19 06:41:18 -06:00