1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-27 03:57:21 +00:00
This commit is contained in:
Jeremy Ruston 2018-11-21 11:53:43 +00:00
commit 9d0083d8dc
6 changed files with 104 additions and 5 deletions

View File

@ -69,7 +69,7 @@ PageScroller.prototype.scrollIntoView = function(element,callback) {
// Get the client bounds of the element and adjust by the scroll position
var getBounds = function() {
var clientBounds = typeof callback === 'function' ? callback() : element.getBoundingClientRect(),
scrollPosition = $tw.utils.getScrollPosition();
scrollPosition = $tw.utils.getScrollPosition(srcWindow);
return {
left: clientBounds.left + scrollPosition.x,
top: clientBounds.top + scrollPosition.y - offset,

View File

@ -0,0 +1,12 @@
title: Keyboard Shortcut Tiddler
tags: Concepts
A ''Keyboard Shortcut Tiddler'' is made of three parts:
* The ''Tag'' <<tag-pill $:/tags/KeyboardShortcut>>
* The ''field'' `key` with a [[Keyboard Shortcut Descriptor]] as its ''value''
* Actions in its ''text'' field
If the [[Keyboard Shortcut Descriptor]] has the form `((my-shortcut))` it's a ''reference'' to a ''configuration Tiddler'' that stores the corresponding [[Keyboard Shortcut|KeyboardShortcuts]]
In order to make a ''shortcut'' editable through the <<.controlpanel-tab KeyboardShortcuts>> Tab in the $:/ControlPanel it's sufficient to create a tiddler `$:/config/ShortcutInfo/my-shortcut`, where the ''suffix'' is the ''reference'' used for the [[Keyboard Shortcut|KeyboardShortcuts]]

View File

@ -0,0 +1,47 @@
title: Keyboard Shortcut Descriptor
tags: Definitions
`Keyboard Shortcut Descriptors` are used by the [[KeyboardWidget]] and within Tiddlers tagged <<tag-pill $:/tags/KeyboardShortcut>> to link actions with a keyboard combination
A `Keyboard Shortcut Descriptor` has the following format:
```
ctrl+enter
ctrl+shift+alt+A
alt-shift-T
alt-Space
```
It can have multiple Key combinations:
```
ctrl+enter alt+shift+A ctrl+alt+9 alt-Space ctrl-Backspace
```
There are ''two ways'' Keyboard Shortcut Descriptors can be used:
* directly
** passing the attribute `key="ctrl-enter"` to the KeyboardWidget
** setting `ctrl-enter` as the ''value'' of the `key` ''field'' in a Tiddler tagged <<tag-pill $:/tags/KeyboardShortcut>>
* with a ''reference'' to a configuration Tiddler
** A ''configuration Tiddler'' for Keyboard Shortcuts follows some naming rules:
*** The title starts with `$:/config/`
*** Followed by either the string `shortcuts` or one of the following ''platform descriptors'':
**** <<.tid shortcuts-linux>>
**** <<.tid shortcuts-not-linux>>
**** <<.tid shortcuts-mac>>
**** <<.tid shortcuts-not-mac>>
**** <<.tid shortcuts-windows>>
**** <<.tid shortcuts-not-windows>>
*** The title ends with another `/` followed by a suffix that can be chosen freely
**** This suffix is the ''identifier'' for the `Keyboard Shortcut Descriptor` (A)
** The ''reference'' to the configuration Tiddler is made of `((` + the ''identifier'' (A) + `))`
*** Example: `((my-shortcut))` is the ''reference'' to these configuration Tiddlers:
**** <<.tid $:/config/shortcuts/my-shortcut>>
**** <<.tid $:/config/shortcuts-linux/my-shortcut>>
**** <<.tid $:/config/shortcuts-not-linux/my-shortcut>>
**** <<.tid $:/config/shortcuts-mac/my-shortcut>>
**** <<.tid $:/config/shortcuts-not-mac/my-shortcut>>
**** <<.tid $:/config/shortcuts-windows/my-shortcut>>
**** <<.tid $:/config/shortcuts-not-windows/my-shortcut>>
** Finally, the referenced configuration Tiddler stores the Keyboard Shortcut Descriptor in its ''text'' field

View File

@ -4,13 +4,24 @@ tags: Features [[Working with TiddlyWiki]]
title: KeyboardShortcuts
type: text/vnd.tiddlywiki
Keyboard shortcuts are available for common editing operations:
Keyboard shortcuts can either be used with the <<.wlink KeyboardWidget>> Widget or with [[Keyboard Shortcut Tiddlers|Keyboard Shortcut Tiddler]]
* Confirming changes to the draft tiddler containing the keyboard focus (defaults to <kbd>ctrl-Enter</kbd>
<<.tip """The <$macrocall $name=".wlink" to="KeyboardWidget"/> Widget makes the shortcuts accessible within an `input` or `textarea` field
A shortcut defined through a [[Keyboard Shortcut Tiddler]] makes the shortcut accessible globally""">>
Keyboard shortcuts are available for common editing operations within the Text Editor:
* Confirming changes to the draft tiddler containing the keyboard focus (defaults to <kbd>ctrl-Enter</kbd>)
* Abandoning changes to the draft tiddler containing the keyboard focus (defaults to <kbd>escape</kbd>)
* Formatting operations from the tiddler editing toolbar (see the tooltips)
The current shortcuts can be inspected and customised in the "Keyboard Shortcuts" tab of [[control panel|$:/ControlPanel]] {{$:/core/images/options-button}}.
<<.from-version 5.1.18>>: New ''global'' Keyboard shortcuts:
* Creating a new tiddler (defaults to <kbd>alt-N</kbd>)
* Creating a new journal (defaults to <kbd>alt-J</kbd>)
The current shortcuts can be inspected and customised in the "Keyboard Shortcuts" tab of the [[Control Panel|$:/ControlPanel]] {{$:/core/images/options-button}}.
!! Special Keys

View File

@ -0,0 +1,7 @@
caption: $:/tags/KeyboardShortcut
description: uses the text of tagged tiddler as keyboard shortcut actions
tags: SystemTags
title: SystemTag: $:/tags/KeyboardShortcut
type: text/vnd.tiddlywiki
The [[system tag|SystemTags]] `$:/tags/KeyboardShortcut` defines the tagged Tiddler as a [[Keyboard Shortcut Tiddler]], a ''container for actions'' that get triggered when its corresponding [[Keyboard Shortcut Descriptor]] in its `key` field matches a keyboard combination executed by the User

View File

@ -6,7 +6,7 @@ caption: text
! Introduction
The text widget displays plain text.
The text widget displays plain text without parsing it as [[WikiText]], opposite of [[WikifyWidget]].
! Content and Attributes
@ -14,3 +14,25 @@ The content of the `<$text>` widget is not used.
|!Attribute |!Description |
|text |The text to display |
! Example
```
<$vars string="//italic//">
* <<string>>
* <$text text=<<string>>/>
</$vars>
```
Displays as:
<<<
<$vars string="//italic//">
* <<string>>
* <$text text=<<string>>/>
</$vars>
<<<