Verb List generation.
I am trying to use the --verb feature so that I can open up Inkscape to a full screen, and have the page zoomed to the window. I can't produce the Verb-list so that I can identify the verbID I need. I did figure out the --verb=FullScreen will open Inkscape up to the full screen, but I have had little luck identifying other verbIDs. Either a list of the IDs or exactly how to produce this list would be greatly appreciated.
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Inkscape Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- su_v
- Solved:
- Last query:
- Last reply:
Revision history for this message
|
#1 |
> how to produce this list
depends on your OS, kind of.
Did you read the command line reference (menu 'Help > Command Line Options')?
recent InkscapeForum topic with links to the verb definitions in the source files:
<http://
<quoting http://
--verb-list
Lists all the verbs that are available in Inkscape by ID. This ID can be used in defining keymaps or menus. It can also be used with the --verb command line option.
</quote>
hth, ~suv
Revision history for this message
|
#2 |
I am using WIndows (XP,Vista) and I have used the 'Help' >Command Line Options to no avail. At this point, I would simply be happy to have a verb-list so that I could test the various verbs to see if I can accomplish what I want to do. I realize that there may be a few glitches but I don't think the commandline/verb implementation in IS is completely disfunctional.
Revision history for this message
|
#3 |
If you can test the various verbs on the command line why can't you then get the list with '--verb-list'? I don't understand your problem, honestly, but here it is (for Inkscape 0.46+devel r21953, on OS X 10.5.7):
LeWitt:mp suv$ /Volumes/
Xlib: extension "RANDR" missing on display "/tmp/launch-
FileNew: Create new document from the default template
FileOpen: Open an existing document
FileRevert: Revert to the last saved version of document (changes will be lost)
FileSave: Save document
FileSaveAs: Save document under a new name
FileSaveACopy: Save a copy of the document under a new name
FilePrint: Print document
FileVacuum: Remove unused definitions (such as gradients or clipping paths) from the <defs> of the document
FilePrintPreview: Preview document printout
FileImport: Import a bitmap or SVG image into this document
FileExport: Export this document or a selection as a bitmap image
FileImportFromOCAL: Import a document from Open Clip Art Library
FileExportToOCAL: Export this document to Open Clip Art Library
NextWindow: Switch to the next document window
PrevWindow: Switch to the previous document window
FileClose: Close this document window
FileQuit: Quit Inkscape
EditUndo: Undo last action
EditRedo: Do again the last undone action
EditCut: Cut selection to clipboard
EditCopy: Copy selection to clipboard
EditPaste: Paste objects from clipboard to mouse point, or paste text
EditPasteStyle: Apply the style of the copied object to selection
EditPasteSize: Scale selection to match the size of the copied object
EditPasteWidth: Scale selection horizontally to match the width of the copied object
EditPasteHeight: Scale selection vertically to match the height of the copied object
EditPasteSizeSe
EditPasteWidthS
EditPasteHeight
EditPasteInPlace: Paste objects from clipboard to the original location
PasteLivePathEf
RemoveLivePathE
RemoveFilter: Remove any filters from selected objects
EditDelete: Delete selection
EditDuplicate: Duplicate selected objects
EditClone: Create a clone (a copy linked to the original) of selected object
EditUnlinkClone: Cut the selected clones' links to the originals, turning them into standalone objects
EditRelinkClone: Relink the selected clones to the object currently on the clipboard
EditCloneSelect
ObjectsToMarker: Convert selection to a line marker
ObjectsToGuides: Convert selected objects to a collection of guidelines aligned with their edges
ObjectsToPattern: Convert selection to a rectangle with tiled pattern fill
ObjectsFromPattern: Extract objects from a tiled pattern fill
EditClearAll: Delete all objects from document
EditSelectAll: Select all objects or all nodes
EditSelectAllIn
EditInvert: Invert selection (unselect what is selected and select everything else)
EditInvertInAll
EditSelectNext: Select next object or node
EditSelectPrev: Select previous object or node
EditDeselect: Deselect any selected objects or nodes
EditGuidesAroun
EditNextPathEff
SelectionToFront: Raise selection to top
SelectionToBack: Lower selection to bottom
SelectionRaise: Raise selection one step
SelectionLower: Lower selection one step
SelectionGroup: Group selected objects
SelectionUnGroup: Ungroup selected groups
SelectionTextTo
SelectionTextFr
SelectionTextRe
SelectionUnion: Create union of selected paths
SelectionIntersect: Create intersection of selected paths
SelectionDiff: Create difference of selected paths (bottom minus top)
SelectionSymDiff: Create exclusive OR of selected paths (those parts that belong to only one path)
SelectionDivide: Cut the bottom path into pieces
SelectionCutPath: Cut the bottom path's stroke into pieces, removing fill
SelectionOffset: Outset selected paths
SelectionOffset
SelectionOffset
SelectionInset: Inset selected paths
SelectionInsetS
SelectionInsetS
SelectionDynOffset: Create a dynamic offset object
SelectionLinked
StrokeToPath: Convert selected object's stroke to paths
SelectionSimplify: Simplify selected paths (remove extra nodes)
SelectionReverse: Reverse the direction of selected paths (useful for flipping markers)
SelectionTrace: Create one or more paths from a bitmap by tracing it
SelectionCreate
SelectionCombine: Combine several paths into one
SelectionBreakA
DialogGridArrange: Arrange selected objects in a table
LayerNew: Create a new layer
LayerRename: Rename the current layer
LayerNext: Switch to the layer above the current
LayerPrev: Switch to the layer below the current
LayerMoveToNext: Move selection to the layer above the current
LayerMoveToPrev: Move selection to the layer below the current
LayerToTop: Raise the current layer to the top
LayerToBottom: Lower the current layer to the bottom
LayerRaise: Raise the current layer
LayerLower: Lower the current layer
LayerDuplicate: Duplicate an existing layer
LayerDelete: Delete the current layer
LayerSolo: Solo the current layer
ObjectRotate90: Rotate selection 90° clockwise
ObjectRotate90CCW: Rotate selection 90° counter-clockwise
ObjectRemoveTra
ObjectToPath: Convert selected object to path
ObjectFlowText: Put text into a frame (path or shape), creating a flowed text linked to the frame object
ObjectUnFlowText: Remove text from frame (creates a single-line text object)
ObjectFlowtextT
ObjectFlipHoriz
ObjectFlipVerti
ObjectSetMask: Apply mask to selection (using the topmost object as mask)
ObjectEditMask: Edit mask
ObjectUnSetMask: Remove mask from selection
ObjectSetClipPath: Apply clipping path to selection (using the topmost object as clipping path)
ObjectEditClipPath: Edit clipping path
ObjectUnSetClip
ToolSelector: Select and transform objects
ToolNode: Edit paths by nodes
ToolTweak: Tweak objects by sculpting or painting
ToolRect: Create rectangles and squares
Tool3DBox: Create 3D boxes
ToolArc: Create circles, ellipses, and arcs
ToolStar: Create stars and polygons
ToolSpiral: Create spirals
ToolPencil: Draw freehand lines
ToolPen: Draw Bezier curves and straight lines
ToolCalligraphic: Draw calligraphic or brush strokes
ToolText: Create and edit text objects
ToolGradient: Create and edit gradients
ToolZoom: Zoom in or out
ToolDropper: Pick colors from image
ToolConnector: Create diagram connectors
ToolPaintBucket: Fill bounded areas
ToolLPE: Edit Path Effect parameters
ToolEraser: Erase existing paths
ToolLPETool: Do geometric constructions
SelectPrefs: Open Preferences for the Selector tool
NodePrefs: Open Preferences for the Node tool
TweakPrefs: Open Preferences for the Tweak tool
RectPrefs: Open Preferences for the Rectangle tool
3DBoxPrefs: Open Preferences for the 3D Box tool
ArcPrefs: Open Preferences for the Ellipse tool
StarPrefs: Open Preferences for the Star tool
SpiralPrefs: Open Preferences for the Spiral tool
PencilPrefs: Open Preferences for the Pencil tool
PenPrefs: Open Preferences for the Pen tool
CalligraphicPrefs: Open Preferences for the Calligraphy tool
TextPrefs: Open Preferences for the Text tool
GradientPrefs: Open Preferences for the Gradient tool
ZoomPrefs: Open Preferences for the Zoom tool
DropperPrefs: Open Preferences for the Dropper tool
ConnectorPrefs: Open Preferences for the Connector tool
PaintBucketPrefs: Open Preferences for the Paint Bucket tool
EraserPrefs: Open Preferences for the Eraser tool
LPEToolPrefs: Open Preferences for the LPETool tool
ZoomIn: Zoom in
ZoomOut: Zoom out
ToggleRulers: Show or hide the canvas rulers
ToggleScrollbars: Show or hide the canvas scrollbars
ToggleGrid: Show or hide the grid
ToggleGuides: Show or hide guides (drag from a ruler to create a guide)
ToggleSnapGlobal: Toggle snapping on or off
ZoomNext: Next zoom (from the history of zooms)
ZoomPrev: Previous zoom (from the history of zooms)
Zoom1:0: Zoom to 1:1
Zoom1:2: Zoom to 1:2
Zoom2:1: Zoom to 2:1
FullScreen: Stretch this document window to full screen
FocusToggle: Remove excess toolbars to focus on drawing
ViewNew: Open a new window with the same document
ViewNewPreview: New View Preview
ViewModeNormal: Switch to normal display mode
ViewModeNoFilters: Switch to normal display without filters
ViewModeOutline: Switch to outline (wireframe) display mode
ViewModeToggle: Toggle between normal and outline display modes
ViewCmsToggle: Toggle color-managed display for this document window
ViewIconPreview: Open a window to preview objects at different icon resolutions
ZoomPage: Zoom to fit page in window
ZoomPageWidth: Zoom to fit page width in window
ZoomDrawing: Zoom to fit drawing in window
ZoomSelection: Zoom to fit selection in window
DialogPreferences: Edit global Inkscape preferences
DialogDocumentP
DialogMetadata: Edit document metadata (to be saved with the document)
DialogFillStroke: Edit objects' colors, gradients, stroke width, arrowheads, dash patterns...
DialogSwatches: Select colors from a swatches palette
DialogTransform: Precisely control objects' transformations
DialogAlignDist
DialogUndoHistory: Undo History
DialogText: View and select font family, font size and other text properties
DialogXMLEditor: View and edit the XML tree of the document
DialogFind: Find objects in document
DialogFindReplace: Find and replace text in document
DialogSpellcheck: Check spelling of text in document
DialogDebug: View debug messages
DialogScript: Run scripts
DialogsToggle: Show or hide all open dialogs
DialogClonetiler: Create multiple clones of selected object, arranging them into a pattern or scattering
DialogObjectPro
DialogInput: Configure extended input devices, such as a graphics tablet
DialogInput2: Configure extended input devices, such as a graphics tablet
org.inkscape.
DialogLayers: View Layers
DialogLivePathE
DialogFilterEff
DialogSVGFonts: Edit SVG fonts
HelpAboutExtens
HelpAboutMemory: Memory usage information
HelpAbout: Inkscape version, authors, license
TutorialsBasic: Getting started with Inkscape
TutorialsShapes: Using shape tools to create and edit shapes
TutorialsAdvanced: Advanced Inkscape topics
TutorialsTracing: Using bitmap tracing
TutorialsCallig
TutorialsDesign: Principles of design in the tutorial form
TutorialsTips: Miscellaneous tips and tricks
EffectLast: Repeat the last extension with the same settings
EffectLastPref: Repeat the last extension with new settings
FitCanvasToSele
FitCanvasToDrawing: Fit the page to the drawing
FitCanvasToSele
UnlockAll: Unlock all objects in the current layer
UnlockAllInAllL
UnhideAll: Unhide all objects in the current layer
UnhideAllInAllL
LinkColorProfile: Link an ICC color profile
RemoveColorProfile: Remove a linked ICC color profile
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.ekips.
org.ekips.
org.heathenx.
org.heathenx.
org.ekips.
org.ekips.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
com.vaxxine.
com.vaxxine.
se.lewerin.
se.lewerin.
org.ekips.
org.ekips.
il.fromtriangle: Draw From Triangle...
il.fromtriangle
org.greygreen.
org.greygreen.
org.ekips.
org.ekips.
org.inkscape.
org.inkscape.
org.ekips.
org.ekips.
org.greygreen.
org.greygreen.
org.ekips.
org.ekips.
org.inkscape.
org.inkscape.
org.ekips.
org.ekips.
org.inkscape.
org.inkscape.
org.ekips.
org.ekips.
grid.cartesian: Cartesian Grid...
grid.cartesian.
grids.polar: Polar Grid...
grids.polar.
org.inkscape.
org.inkscape.
org.ekips.
org.ekips.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.ekips.
org.ekips.
org.inkscape.
org.inkscape.
org.ekips.
org.ekips.
com.kaioa.
com.kaioa.
org.ekips.
org.ekips.
com.njhurst.
com.njhurst.
org.ekips.
org.ekips.
org.inkscape.
org.inkscape.
math.univ-
math.univ-
math.univ-
math.univ-
org.coswellprod
org.coswellprod
org.ekips.
org.ekips.
math.polyhedron.3d: 3D Polyhedron...
math.polyhedron
org.inkscape.
org.inkscape.
org.ekips.
org.ekips.
org.ekips.
org.ekips.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.ekips.
org.ekips.
math.univ-
math.univ-
org.ekips.
org.ekips.
org.ekips.
org.ekips.
org.ekips.
org.ekips.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
math.triangle: Triangle...
math.triangle.
org.inkscape.
org.inkscape.
org.inkscape.
org.inkscape.
org.ekips.
org.ekips.
LeWitt:mp suv$
Revision history for this message
|
#4 |
oops - delete the first line of the list
> Xlib: extension "RANDR" missing on display "/tmp/launch-
that's an X11 warning message I forgot to delete ;-(
Revision history for this message
|
#5 |
Thanks ~suv, that solved my question.
Revision history for this message
|
#6 |
Apologies if my comment about 'I don't understand' sounded unfriendly - wasn't meant to be and I hit the 'Add Comment' button too soon!
;-) ~suv
Revision history for this message
|
#7 |
I very much appreciate your response on this and the list you have provided me is exactly what I need. I have spent hours trying to generate this list and was using inkscapec.exe and trying to direct the output to file, but that did not work.
Revision history for this message
|
#8 |
I have no experience with Inkscape on Windows myself, but maybe these links are helpful:
How to Use Inkscape's Command Line Options on Win32 | kaioa.com:
<http://
How to Use Inkscape's Command Line Options on Win32 - Part 2 | kaioa.com:
<http://
inkscapec.exe - A Command Line Wrapper for Win32 | kaioa.com:
<http://
inkscape-devel mailing list: include inkscapec.exe ?
<http://
but probably you have read them already ;-)
Revision history for this message
|
#9 |
hi
I don't find the good way to use command line
I have a picture with a txt I would like to change this text by command line
I want to put "AAAA" in text3008
I tried :
inkscape dessin.svg --select=text3008 --verb=
I obtain a box message to change a text with an another but I would like in automatic with the command line ...
Do you know how I can do it ???
thank you
Revision history for this message
|
#10 |
excellent question, panterga, I got the exact same one :D